Deploys our Kubernetes manifests to a fresh cluster
Deploys our manifests from GitHub to Kubernetes.
Development Status Currently, kubernetes-deployment is only intended
for internal use, so expect bigger changes at anytime.
There is a complete built-in help, which is probably more up to date, than this README:
kubernetes-deployment help
There are different sources of retrieving parameter. They are loaded in the following order. Each item overwrites the previous one:
~/.rebuy/kubernetes-deployment/default.[yaml|toml|json|hcl]
(eg kubeconfig
)KUBECONFIG
)--kubeconfig
)The key names in the configuration files always equals the long command line flags. You can generate a complete config with kubectl dump-config
.
Example
# ~/.rebuy/kubernetes-deployment/default.yaml
filename: github.com/rebuy-de/cloud-infrastructure/deployments.yaml
github-token: aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
All Kubernetes manifests will be rendered with the Golang template engine.
The following functions are provided:
ToLower
- converts the string to lowercase charsToUpper
- converts the string to uppercase chars`Identifier
- converts the string to a valid Kubernetes identifier (eg for the meta.name
field)kubernetes-deployment
uses variables which are inherited in a specific order. Each item overwrites the previous one:
default.variables
.services[i].variables
.These are the generated values:
gitBranchName
- The branch name from GitHub, eg master
.gitCommitID
- The full git commit hash, eg afad13cf1941af4ad3101bdf30f087f7dfe27c99
. Useful for image tags.
go get k8s.io/client-go@kubernetes-1.14.2
go get k8s.io/apimachinery@release-1.14