- To manually install the operator (on all its dependant resources) on default namespace
external-secrets-operator-systemwithout using OLM, you can use the following make target (which useskustomize):
$ make deploy- Then create any
OperatorConfigresource type (you can find an example here). - Once tested, delete created operator resources using the following make target:
$ make undeploy- If you want to install a specific version of the operator via OLM on a manual way, you can use for example the following command:
operator-sdk run bundle ghcr.io/external-secrets/external-secrets-helm-operator-bundle:0.3.8-alpha.3 --namespace external-secrets- Then create any
OperatorConfigresource type (you can find an example here). - If you want to test an operator upgrade of a newer version, execute for example:
operator-sdk run bundle-upgrade ghcr.io/external-secrets/external-secrets-helm-operator-bundle:0.3.8-alpha.4 --namespace external-secrets-
If you want to install the operator via OLM on an automatic way subscribing to a catalog, you can need to follow the following steps.
-
First you need to deploy an specific
CatalogSourcein which operator releases will be published:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: external-secrets-operator-catalog
namespace: external-secrets
spec:
sourceType: grpc
image: ghcr.io/external-secrets/external-secrets-helm-operator-catalog:latest
displayName: External Secrets Operator
updateStrategy:
registryPoll:
interval: 30m- Then you need to create an
OperatorGroup, so you set the target namespaces in which the external-secrets-operator will watch forOperatorConfigcustom resources (so it will be set operator ENVVARWATCH_NAMESPACE):
apiVersion: operators.coreos.com/v1alpha2
kind: OperatorGroup
metadata:
name: external-secrets
namespace: external-secrets
spec:
targetNamespaces:
- external-secrets- Finally create an operator
Subscriptionon a given channel (alpha/stable) withAutomatic/Manualinstallation (withManualit will ask you confirmation to install an operator upgrade):
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: external-secrets-operator
namespace: external-secrets
spec:
channel: alpha
installPlanApproval: Automatic
name: external-secrets-operator
source: external-secrets-operator-catalog
sourceNamespace: external-secrets- Now you can create any
OperatorConfigresource type (you can find an example here).