2019-06-06 12:48:54 +10:00
2019-04-03 10:59:05 +11:00
2019-03-29 11:02:34 +11:00
2019-05-20 19:00:19 +10:00
...
2019-05-29 15:33:09 +10:00
...
2019-05-29 15:33:09 +10:00
...
2019-05-29 15:33:09 +10:00
2019-05-29 12:32:42 +10:00
2019-06-06 12:48:54 +10:00

drone-plugin-kube

A simple Drone plugin for updating Kubernetes deployments. Follows from vallard/drone-kube but with dependency management, up-to-date client-go, docs updated to Drone 1.0.0 syntax, examples and a different structure. This plugin will create a deployment if it doesn't currently exist.

Usage

Add the following build step to your drone pipeline definition. Currently this plugin only updates deployments, it does not create them. I can add this behaviour or I will accept pull requests to introduce it.

drone.yaml partial example

- name: Deploy app
  image: danielgormly/drone-plugin-kube
  settings:
    template: path/to/deployment.yaml # within repo
    ca: LS0tLS1... # BASE64 encoded string of the K8s CA cert
    server: https://10.0.0.20:6443 # K8s master node address
    token:
      from_secret: kubernetes_token # Service account token to a service account that can manage deployments
    namespace: custom # [Optional] Kubernetes namespace to use (defaults to `default`)
    [example_custom_key]: string # [Optional, example] Any additional values you label here will be available for template interpolation (lower case key names only!)

Deployment templates

Deployment config files are first interpreted by aymerick/raymond (handlebarsjs equivalent). You can use all available raymond expressions and anything you put in settings will be made available in your deployment template e.g. {{namespace}}. See example/deployment.template.yaml for a complete example.

Adding a service account to Kubernetes that can manage deployments

See example/Role.yaml, example/ServiceAccount.yaml, example/RoleBinding.yaml.

Development notes

S
Description
No description provided
Readme 6.2 MiB
Languages
Go 90.7%
Shell 8.9%
Dockerfile 0.4%