TL;DR:
- Installing, updating or removing follows Kubestack's GitOps flow.
- Instructions assume the default repository layout.
- Bases can be consumed as-is or customized.
- Step-by-step instructions are framework specific but bases can be used independently.
Install
Vendor the base
# Run these commands from the root of your Kubestack infra repositorywget https://storage.googleapis.com/catalog.kubestack.com/cert-manager-v1.1.0-kbst.0.zipunzip -d manifests/bases/ cert-manager-v1.1.0-kbst.0.ziprm cert-manager-v1.1.0-kbst.0.zipInclude resource in apps overlay
cd manifests/overlays/appskustomize edit add resource ../../bases/cert-manager/baseCommit and push
cd -git checkout -b add-cert-managergit add manifests/bases/cert-manager manifests/overlays/apps/kustomization.yamlgit commit -m "Add cert-manager v1.1.0-kbst.0 base"git push origin add-cert-managerReview PR and merge
Finally, review and merge the PR into master. Once it's been successfully applied against the Ops-Cluster set a prod-deploy tag to also apply the change against the Apps-Cluster.
Update
To update the operator delete the previously vendored base and then vendor the new version.
Delete the previous vendored version
# Run these commands from the root of your Kubestack infra repositoryrm -r manifests/bases/cert-managerVendor the new version
# Run these commands from the root of your Kubestack infra repositorywget https://storage.googleapis.com/catalog.kubestack.com/cert-manager-v1.1.0-kbst.0.zipunzip -d manifests/bases/ cert-manager-v1.1.0-kbst.0.ziprm cert-manager-v1.1.0-kbst.0.zipCommit and push
git checkout -b update-cert-managergit add manifests/bases/cert-managergit commit -m "Update cert-manager base to v1.1.0-kbst.0"git push origin update-cert-manager
Remove
Operators often create resources based on custom objects. When removing an operator, follow a two-step process to ensure operator provisioned resources are purged properly.
- Remove all the operator's custom objects.
- Once the operator had time to de-provision all resources it created, follow the instructions below to remove the operator itself.
Remove resource from apps overlay
cd manifests/overlays/appskustomize edit remove resource ../../bases/cert-manager/baseDelete the vendored base from your repository
cd -# Run these commands from the root of your Kubestack infra repositoryrm -r manifests/bases/cert-managerCommit and push
git checkout -b remove-cert-managergit add manifests/bases/cert-managergit commit -m "Remove cert-manager base"git push origin remove-cert-manager