diff --git a/api/v1alpha1/argorollouts_types.go b/api/v1alpha1/argorollouts_types.go index fc08313..009ef3e 100644 --- a/api/v1alpha1/argorollouts_types.go +++ b/api/v1alpha1/argorollouts_types.go @@ -57,10 +57,14 @@ type RolloutManagerSpec struct { Plugins Plugins `json:"plugins,omitempty"` } +// Plugin is used to integrate traffic management and metric plugins into the Argo Rollouts controller. For more information on these plugins, see the upstream Argo Rollouts documentation. type Plugin struct { - Name string `json:"name"` + // Name of the plugin, it must match the name required by the plugin so it can find its configuration + Name string `json:"name"` + // Location supports http(s):// urls and file://, though file:// requires the plugin be available on the filesystem Location string `json:"location"` - SHA256 string `json:"sha256,omitempty"` + // SHA256 is an optional sha256 checksum of the plugin executable + SHA256 string `json:"sha256,omitempty"` } type Plugins struct { diff --git a/bundle/manifests/argoproj.io_rolloutmanagers.yaml b/bundle/manifests/argoproj.io_rolloutmanagers.yaml index d399754..3c9a0a6 100644 --- a/bundle/manifests/argoproj.io_rolloutmanagers.yaml +++ b/bundle/manifests/argoproj.io_rolloutmanagers.yaml @@ -286,6 +286,65 @@ spec: type: object type: array type: object + plugins: + description: Plugins specify the traffic and metric plugins in Argo + Rollout + properties: + metric: + description: Metric holds a list of metric plugins used to gather + and report metrics during rollouts. + items: + description: Plugin is used to integrate traffic management + and metric plugins into the Argo Rollouts controller. For + more information on these plugins, see the upstream Argo Rollouts + documentation. + properties: + location: + description: Location supports http(s):// urls and file://, + though file:// requires the plugin be available on the + filesystem + type: string + name: + description: Name of the plugin, it must match the name + required by the plugin so it can find its configuration + type: string + sha256: + description: SHA256 is an optional sha256 checksum of the + plugin executable + type: string + required: + - location + - name + type: object + type: array + trafficManagement: + description: TrafficManagement holds a list of traffic management + plugins used to control traffic routing during rollouts. + items: + description: Plugin is used to integrate traffic management + and metric plugins into the Argo Rollouts controller. For + more information on these plugins, see the upstream Argo Rollouts + documentation. + properties: + location: + description: Location supports http(s):// urls and file://, + though file:// requires the plugin be available on the + filesystem + type: string + name: + description: Name of the plugin, it must match the name + required by the plugin so it can find its configuration + type: string + sha256: + description: SHA256 is an optional sha256 checksum of the + plugin executable + type: string + required: + - location + - name + type: object + type: array + type: object skipNotificationSecretDeployment: description: SkipNotificationSecretDeployment lets you specify if the argo notification secret should be deployed diff --git a/config/crd/bases/argoproj.io_rolloutmanagers.yaml b/config/crd/bases/argoproj.io_rolloutmanagers.yaml index cd4bd22..114f448 100644 --- a/config/crd/bases/argoproj.io_rolloutmanagers.yaml +++ b/config/crd/bases/argoproj.io_rolloutmanagers.yaml @@ -294,12 +294,23 @@ spec: description: Metric holds a list of metric plugins used to gather and report metrics during rollouts. items: + description: Plugin is used to integrate traffic management + and metric plugins into the Argo Rollouts controller. For + more information on these plugins, see the upstream Argo Rollouts + documentation. properties: location: + description: Location supports http(s):// urls and file://, + though file:// requires the plugin be available on the + filesystem type: string name: + description: Name of the plugin, it must match the name + required by the plugin so it can find its configuration type: string sha256: + description: SHA256 is an optional sha256 checksum of the + plugin executable type: string required: - location @@ -310,12 +321,23 @@ spec: description: TrafficManagement holds a list of traffic management plugins used to control traffic routing during rollouts. items: + description: Plugin is used to integrate traffic management + and metric plugins into the Argo Rollouts controller. For + more information on these plugins, see the upstream Argo Rollouts + documentation. properties: location: + description: Location supports http(s):// urls and file://, + though file:// requires the plugin be available on the + filesystem type: string name: + description: Name of the plugin, it must match the name + required by the plugin so it can find its configuration type: string sha256: + description: SHA256 is an optional sha256 checksum of the + plugin executable type: string required: - location