- Clone this repo
- Initialize as a new git repo --
rm -rf .git && git init && git add . && git commit -m 'first commit'
Store your k8s configs to a single file
kubectl config view --minify --flatten > kubeconfigdata
Store the contents of the single kube config file to an environment variables file
docker run --rm -it -v $(pwd):/files codeship/env-var-helper cp kubeconfigdata:/root/.kube/config k8s-env
rm kubeconfigdata
View contents stored by codeship/env-var-helper tool
docker run --rm -it -v $(pwd):/files codeship/env-var-helper ls k8s-env
View individual file stored by codeship/env-var-helper tool
docker run --rm -it -v $(pwd):/files codeship/env-var-helper cat /root/.kube/config k8s-env
Remove an individual file stored by codeship/env-var-helper tool
docker run --rm -it -v $(pwd):/files codeship/env-var-helper rm /root/.kube/config k8s-env
Store file back to environment variable file
docker run --rm -it -v $(pwd):/files codeship/env-var-helper cp kubeconfigdata:/root/.kube/config k8s-env
Encrypt the environment variables file
- Install our jet cli tool on your local machine
- Setup your repository on your SCM of choice
- Grab the git url of the repository and create a Codeship Pro project
- From your Codeship 'Project Settings' > 'General' page, scroll down to AES key section and click 'Download Key'
- Move downloaded key to your project directory and rename to
codeship.aes
- Add
codeship.aes
to your .gitignore
file (!)
- Add any additional environment variables to the
codeship.env
file
- Run
jet encrypt k8s-env k8s-env.encrypted
- The
k8s-env.encrypted
will be safe to check into your git repository
- Remove the plaintext file from your project -->
rm k8s-env
- Run
jet steps
- Steps should pass, demonstrating that kubectl configurations are now accessible to the kubectl container