Sign inSign up

vitovan/drone-kubectl

By vitovan

•Updated almost 7 years ago

kubectl plugin for Drone CI

Image
0

503

vitovan/drone-kubectl repository overview

Drone Kubectl Icon

⁠drone-kubectl

This Drone⁠ plugin allows you to use kubectl without messing around with the authentication

⁠Usage

# drone 1.0 syntax
kind: pipeline
name: deploy

steps:
  - name: deploy
    image: vitovan/drone-kubectl
    settings:
      kubernetes_server:
        from_secret: k8s_server
      kubernetes_cert:
        from_secret: k8s_cert
      kubernetes_token:
        from_secret: k8s_token
    commands:
      - kubectl create -f job_foo.yaml
      - kubectl wait --for=condition=complete -f job_foo.yaml

Optional settings and defaults:

  • kubernetes_namespace: default
  • kubernetes_user: default

Will use --insecure-skip-tls-verify=true when kubernetes_cert is not set.

⁠How to get the credentials

First, you need to have a service account with proper privileges and service-account-token.

You can find out your server URL which looks like https://xxx.xxx.xxx.xxx by the command:

kubectl config view -o jsonpath='{range .clusters[*]}{.name}{"\t"}{.cluster.server}{"\n"}{end}'

If the service account is deploy, you would have a secret named deploy-token-xxxx (xxxx is some random characters). You can get your token and certificate by the following commands:

cert:

kubectl get secret deploy-token-xxxx -o jsonpath='{.data.ca\.crt}' && echo

token:

kubectl get secret deploy-token-xxxx -o jsonpath='{.data.token}' | base64 --decode && echo
⁠Special thanks

Inspired by drone-kubernetes⁠.

⁠Credits

Tag summary

Content type

Image

Digest

Size

55.5 MB

Last updated

almost 7 years ago

docker pull vitovan/drone-kubectl