Dron8s

Yet another Kubernetes plugin for Drone using dynamic Server Side Apply to achieve kubectl apply -f multi-configs.yaml parity for your CI-CD pipelines.

Example configuration using in-cluster Kubernetes Runner:

kind: pipeline
type: kubernetes
name: dron8s-in-cluster-example

steps:
- name: dron8s
  image: bh90210/dron8s:latest
  settings:
    yaml: ./config.yaml

Before use you need to manually create a clusterrolebinding resource to allow cluster edit access for Drone.

Assuming you installed Drone/Kubernetes Runner using Drone provided Helm charts run:

$ kubectl create clusterrolebinding dron8s --clusterrole=edit --serviceaccount=drone:default --namespace=drone


Example configuration using out-of-cluster Docker Runner with secret:

kind: pipeline
type: docker
name: dron8s-out-of-cluster-example

steps:
- name: dron8s
  image: bh90210/dron8s:latest
  settings:
    yaml: ./config.yaml
    kubeconfig:
        from_secret: kubeconfig

Parameter Reference

yaml
Yaml containing configs (required).
kubeconfig
Needed for out-of-cluster use. If not present plugin will default to in-cluster configuration. You can find kubeconfig under ~/.kube/config.