Files
plugin-drone-kube-apply/README.md
T
2020-02-20 12:40:19 +11:00

2.6 KiB

drone-plugin-kube

A simple Drone plugin for updating Kubernetes Deployments from templates & ConfigMaps from files. 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.

This plugin supports deployments, configmaps, ingresses, and services.

Usage: See drone.md

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.

Config maps from files

In this case, you can create a template just like deployment.yaml but you can provide a file path (relative to the repo's root) in the plugin setting configmap_file. (Currently only accepts utf-8 encoded data). Like deployments, this will both create new or update existing configmaps (based on the configmap name).

Adding a service account to Kubernetes that can manage deployments

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

Notes:

  • The watching process is not currently reliable i.e. it doesn't properly wait for new deployments to become live. Not entirely sure how this should behave but I think behind a flag would make sense. PRs welcome.

Development notes

Acknowledgements

  • @vallard for the original plugin
  • @jbonzo for ingress, service support, improved error handling etc