Rough-draft upgrade settings documentation [#8]
This commit is contained in:
parent
cab3a8ae95
commit
3eb90651d1
87
docs/upgrade_settings.yml
Normal file
87
docs/upgrade_settings.yml
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: deploy
|
||||||
|
image: pelotech/drone-helm3
|
||||||
|
settings:
|
||||||
|
# Setting helm_command to "upgrade" is recommended, but not mandatory. If no command is given, the plugin
|
||||||
|
# infers "upgrade" when triggered by a push, tag, deployment, pull_request, promote, or rollback event.
|
||||||
|
helm_command: upgrade
|
||||||
|
|
||||||
|
# Mandatory.
|
||||||
|
# The chart to use for this release.
|
||||||
|
chart: ./charts/bloge
|
||||||
|
|
||||||
|
# Mandatory.
|
||||||
|
# Release name for Helm to use.
|
||||||
|
release: bloge
|
||||||
|
|
||||||
|
# Mandatory.
|
||||||
|
# API endpoint for the Kubernetes cluster.
|
||||||
|
api_server: https://k8s.mycompany.example.com/clusters/c-tr1sb
|
||||||
|
|
||||||
|
# Mandatory.
|
||||||
|
# Token to use when connecting to kubernetes.
|
||||||
|
kubernetes_token:
|
||||||
|
from_secret: deploybot_token
|
||||||
|
|
||||||
|
# Base-64 encoded TLS certificate used by the Kubernetes cluster's certificate authority.
|
||||||
|
kubernetes_certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t....
|
||||||
|
|
||||||
|
# Specific chart version to deploy.
|
||||||
|
chart_version: 1.2.3
|
||||||
|
|
||||||
|
# Simulate an upgrade without deploying it.
|
||||||
|
dry_run: true
|
||||||
|
|
||||||
|
# Wait until kubernetes resources are in a ready state before marking the release successful.
|
||||||
|
wait: true
|
||||||
|
|
||||||
|
# Timeout for any *individual* Kubernetes operation. The plugin's full runtime may exceed this duration.
|
||||||
|
timeout: 1m23s
|
||||||
|
|
||||||
|
# Force resource updates (helm upgrade --force).
|
||||||
|
force: true
|
||||||
|
|
||||||
|
# Values to set for this helm release. Keys and values must not contain commas.
|
||||||
|
values:
|
||||||
|
- image.tag=latest
|
||||||
|
- image.annotations.deployedDate="${DRONE_BUILD_CREATED}"
|
||||||
|
|
||||||
|
# String values to set for this helm release. Keys and values must not contain commas.
|
||||||
|
string_values: "notAnInt=5"
|
||||||
|
|
||||||
|
# Values files to use in this helm release. Filenames must not contain commas.
|
||||||
|
values_files:
|
||||||
|
- ./values/underrides.yml
|
||||||
|
- ./values/overrides.yml
|
||||||
|
|
||||||
|
# Reuse the values from a previous release.
|
||||||
|
reuse_values: true
|
||||||
|
|
||||||
|
# Put the kubernetes config file used for the deploy in an alternate location.
|
||||||
|
kube_config: /root/.spherernetes/config
|
||||||
|
|
||||||
|
# Produce debug output from drone-helm itself and send --debug to all helm commands.
|
||||||
|
debug: true
|
||||||
|
|
||||||
|
# Call `helm dependency update` before upgrading.
|
||||||
|
# Note: this setting is on the v1.0 roadmap, but not yet implemented.
|
||||||
|
update_dependencies: true
|
||||||
|
|
||||||
|
# Call `helm repo add` for each repo before upgrading. Repo names and urls must not contain commas.
|
||||||
|
# Note: this setting is on the v1.0 roadmap, but not yet implemented.
|
||||||
|
repos: "eDeath=https://github.com/bug/e-death,idMaker=https://github.com/nmarks/id-maker"
|
||||||
|
|
||||||
|
# Give the --namespace flag to all helm commands.
|
||||||
|
namespace: my_kube_subset
|
||||||
|
|
||||||
|
# Connect insecurely to the kubernetes server. Using this setting in production is inadvisable.
|
||||||
|
skip_tls_verify: true
|
||||||
|
|
||||||
|
# Service account to use when connecting to kubernetes. Defaults to "helm."
|
||||||
|
service_account: deploybot
|
||||||
|
from_secret: kubernetes_service_account
|
|
@ -67,6 +67,7 @@ func determineSteps(cfg Config) *func(Config) []Step {
|
||||||
return &help
|
return &help
|
||||||
default:
|
default:
|
||||||
switch cfg.DroneEvent {
|
switch cfg.DroneEvent {
|
||||||
|
// Note: These events are documented in docs/upgrade_settings.yml. Any changes here should be reflected there.
|
||||||
case "push", "tag", "deployment", "pull_request", "promote", "rollback":
|
case "push", "tag", "deployment", "pull_request", "promote", "rollback":
|
||||||
return &upgrade
|
return &upgrade
|
||||||
case "delete":
|
case "delete":
|
||||||
|
|
|
@ -25,6 +25,8 @@ func (u *Upgrade) Execute(_ Config) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare gets the Upgrade ready to execute.
|
// Prepare gets the Upgrade ready to execute.
|
||||||
|
// Note: mandatory settings are documented in README.md, and the full list of settings is in docs/upgrade_settings.yml.
|
||||||
|
// Any additions or deletions here should be reflected there.
|
||||||
func (u *Upgrade) Prepare(cfg Config) error {
|
func (u *Upgrade) Prepare(cfg Config) error {
|
||||||
if u.Chart == "" {
|
if u.Chart == "" {
|
||||||
return fmt.Errorf("chart is required")
|
return fmt.Errorf("chart is required")
|
||||||
|
|
Loading…
Reference in a new issue