Various plugins for kustomize. These are ones I needed, YMMV on how useful they are. They are all released under Apache 2.0 license.
Install: cp -pr agilicus ~/.config/kustomize/plugin/
You will also need a newer version of pyyaml (5.1.2):
pip3 install -U --user pyyaml
pip3 install -U --user ruamel.yaml
(you can also install live, e.g. ln -s $PWD/agilicus ~/.config/kustomize/plugin/
)
More info on the blog post.
This takes a config file like:
---
apiVersion: agilicus/v1
kind: NamespaceGenerator
metadata:
name: not-used
labels:
a1: val1
a2: val2 b
namespaces:
- ns1
- ns2
and generates the namespaces requested with the labels given.
This is a very simple sed
. It runs over 100 of the input,
applying the sed expressions given (as OneLiner or as input file).
It takes a config file like:
apiVersion: agilicus/v1
kind: ValueTransformer
metadata:
name: not-really-used
argsOneLiner: s/500.500.500.500/35.203.108.37/g
#argsFromFile: sed-input.txt
This will auto-generate an istio VirtualService + Gateway + Certificate. Use with cert-manager to have Istio behave the same as nginx-ingress.
Prevent users from applying a set of yaml when not on master
Change all certificates to e.g. Let's Encrypt Staging
Enable private registry in a namespace
Add grafana dashboards from json
Prevent operation on the wrong Kubernetes context.
Modify secrets inline w/ sops
Merge secrets w/ more from sops
Create a secret from sops
Select only CRD from certain input files (for a 2-pass install using same source)
Add namespaces
Image pins done simply.
Generate annotation of who applied what when, as a configmap
Add certificates
Convert base64 to string for later merging