kubectl
binary container, with guidance for configuring credentials (including secrets) to issue commands to your cluster from a Codeship Pro step.
kubectl config view --flatten > kubeconfigdata # add --minify flag to reduce info to current context
docker run --rm -it -v $(pwd):/files codeship/env-var-helper cp kubeconfigdata:/root/.kube/config k8s-env
Check out the codeship/env-var-helper README for more information.
jet encrypt k8s-env k8s-env.encrypted
rm kubeconfigdata k8s-env
# codeship-services.yml
kubectl:
image: codeship/kubectl
encrypted_env_file: k8s-env.encrypted
# codeship-steps.yml
- name: check response to kubectl config
service: kubectl
command: kubectl config view
The same workflow outline above works with EKS, but use the codeship/eks-kubectl
image, which comes installed with aws-iam-authenticator
and an AWS-vendored copy of kubectl
.