The External Secrets Inc. Agent is product suite is a premium product. It requires a specific subscription. Contact us for more information.
By default, the agent will automatically monitor for new External Secrets Operator versions and deploy them in your environment. This is done to make sure your setup is always up-to-date. This behavior is configurable, and this guide will show how to set it up for other policies.

Agent Update Policies

The Agent has four update Policies: Auto, MajorAuto, MinorAuto, Fixed:

Auto Update Policy

This is the default policy, and with it, the Agent will always deploy External Secrets Operator to its latest available version. This means it will also deploy from 1.0.0 to 2.0.0.

MajorAuto Update Policy

With this Policy, Major version bumps (from 1.0.0 to 2.0.0) must be performed manually.”
With this policy, the agent will deploy any new minor versions or patches within the same major version. This means the agent will update from 1.0.0 to 1.0.1 and from 1.0.0 to 1.1.0, minor version bumps taking priority.

MinorAuto Update Policy

With this Policy, both Major version bumps (from 1.0.0 to 2.0.0) and Minor version bumps (from 1.0.0 to 1.1.0) must be performed manually.”
With this policy, the agent will deploy any patches within the same major version. This means the agent will update from 1.0.0 to 1.0.1 but not from 1.0.0 to 1.1.0.

Fixed Update Policy

With this Policy, updates are not automatically deployed”
With this policy, the agent will only deploy the exact version configured in it.

Setting up Different Update Policies

You can have multiple ESODeployments with different Update Policies within the same cluster.
Setting up Update policies can be achieved within the ESODeployment Custom Resource:
apiVersion: eso.externalsecrets.com/v1
kind: EsoDeployment
metadata:
  labels:
    app.kubernetes.io/name: esodeployment-sample
    app.kubernetes.io/managed-by: esi-agent
  name: esodeployment-sample
spec:
  autoUpdateConfig:
    strategy: Auto # Deploys latest available version
  matchLabel:
    eso-deploy: "true"
  scope: Cluster
  haEnabled: true
  resources:
    requests:
      memory: "64Mi"
      cpu: "100m"
    limits:
      memory: "128Mi"
      cpu: "100m"