diff --git a/bundle/manifests/argoproj.io_argocds.yaml b/bundle/manifests/argoproj.io_argocds.yaml index 99f457ed9..844b6b12e 100644 --- a/bundle/manifests/argoproj.io_argocds.yaml +++ b/bundle/manifests/argoproj.io_argocds.yaml @@ -450,14 +450,342 @@ spec: description: ArgoCDAgent defines configurations for the ArgoCD Agent component. properties: + agent: + description: Agent defines configurations for the Agent component + of Argo CD Agent. + properties: + client: + description: Client defines the client options for the Agent + component. + properties: + enableCompression: + description: EnableCompression is the flag to enable compression + while sending data between Principal and Agent using + gRPC + type: boolean + enableWebSocket: + description: EnableWebSocket is the flag to enable WebSocket + for event streaming + type: boolean + keepAliveInterval: + description: KeepAliveInterval is the interval for keep-alive + pings to the principal + type: string + mode: + description: Mode is the operational mode for the agent + (managed or autonomous) + type: string + principalServerAddress: + description: PrincipalServerAddress is the remote address + of the principal server to connect to. + type: string + principalServerPort: + description: PrincipalServerPort is the remote port of + the principal server to connect to. + type: string + type: object + creds: + description: Creds is the credential identifier for the agent + authentication + type: string + enabled: + description: Enabled is the flag to enable the Agent component + during Argo CD installation. (optional, default `false`) + type: boolean + env: + description: Env lets you specify environment for agent pods + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the name of Argo CD Agent image + type: string + logFormat: + description: LogFormat refers to the log format used by the + Agent component. + type: string + logLevel: + description: LogLevel refers to the log level used by the + Agent component. + type: string + redis: + description: Redis defines the Redis options for the Agent + component. + properties: + serverAddress: + description: ServerAddress is the address of the Redis + server to be used by the PrincAgentipal component. + type: string + type: object + tls: + description: TLS defines the TLS options for the Agent component. + properties: + insecure: + description: Insecure is the flag to skip TLS certificate + validation when connecting to the principal (insecure, + for development only) + type: boolean + rootCASecretName: + description: RootCASecretName is the name of the secret + containing the root CA certificate + type: string + secretName: + description: SecretName is the name of the secret containing + the agent client TLS certificate + type: string + type: object + type: object principal: description: Principal defines configurations for the Principal component of Argo CD Agent. properties: + auth: + description: Auth is the authentication method for the Principal + component. + type: string enabled: description: Enabled is the flag to enable the Principal component during Argo CD installation. (optional, default `false`) type: boolean + env: + description: Env lets you specify environment for principal + pods + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the name of Argo CD Agent image + type: string jwt: description: JWT defines the JWT options for the Principal component. @@ -472,6 +800,14 @@ spec: the JWT signing key. type: string type: object + logFormat: + description: LogFormat refers to the log format used by the + Principal component. + type: string + logLevel: + description: LogLevel refers to the log level used by the + Principal component. + type: string namespace: description: Namespace is the configuration for the Principal component namespace. @@ -528,152 +864,39 @@ spec: description: Server defines the server options for the Principal component. properties: - auth: - description: Auth is the authentication method for the - Principal component. - type: string enableWebSocket: description: EnableWebSocket is the flag to enable the WebSocket on gRPC to stream events to the Agent. type: boolean - env: - description: Env lets you specify environment for principal - pods - items: - description: EnvVar represents an environment variable - present in a Container. - properties: - name: - description: Name of the environment variable. Must - be a C_IDENTIFIER. - type: string - value: - description: |- - Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in the container and - any service environment variables. If a variable cannot be resolved, - the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. - "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether the variable - exists or not. - Defaults to "". - type: string - valueFrom: - description: Source for the environment variable's - value. Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select - in the specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for - volumes, optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format - of the exposed resources, defaults to - "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the - pod's namespace - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - image: - description: Image is the name of Argo CD Agent image - type: string keepAliveMinInterval: description: KeepAliveMinInterval is the minimum interval between keep-alive messages sent by the Agent to the Principal. type: string - logFormat: - description: LogFormat refers to the log format used by - the Principal component. - type: string - logLevel: - description: LogLevel refers to the log level used by - the Principal component. - type: string + route: + description: |- + Route defines the options for the Route backing the ArgoCD Agent component. + Route is disabled only when explicitly configured with Enabled: false + properties: + enabled: + description: |- + Enabled will toggle the creation of the OpenShift Route, ignored in case of non OpenShift cluster. + Route is disabled only when explicitly configured with false + type: boolean + type: object + service: + description: |- + Service defines the options for the Service backing the ArgoCD Agent component. + If not set, type ClusterIP will be used by default. + properties: + type: + description: |- + Type is the ServiceType to use for the Service resource. + If not set, type ClusterIP will be used by default. + type: string + required: + - type + type: object type: object tls: description: TLS defines the TLS options for the Principal @@ -1786,6 +2009,13 @@ spec: More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object + sourceNamespaces: + description: SourceNamespaces is a list of namespaces from which + the notifications controller will watch for ArgoCD Application + resources. + items: + type: string + type: array version: description: Version is the Argo CD Notifications image tag. (optional) type: string @@ -10407,23 +10637,351 @@ spec: description: WildcardPolicy if any for the route. Currently only 'Subdomain' or 'None' is allowed. type: string - required: - - enabled + required: + - enabled + type: object + type: object + type: object + argoCDAgent: + description: ArgoCDAgent defines configurations for the ArgoCD Agent + component. + properties: + agent: + description: Agent defines configurations for the Agent component + of Argo CD Agent. + properties: + client: + description: Client defines the client options for the Agent + component. + properties: + enableCompression: + description: EnableCompression is the flag to enable compression + while sending data between Principal and Agent using + gRPC + type: boolean + enableWebSocket: + description: EnableWebSocket is the flag to enable WebSocket + for event streaming + type: boolean + keepAliveInterval: + description: KeepAliveInterval is the interval for keep-alive + pings to the principal + type: string + mode: + description: Mode is the operational mode for the agent + (managed or autonomous) + type: string + principalServerAddress: + description: PrincipalServerAddress is the remote address + of the principal server to connect to. + type: string + principalServerPort: + description: PrincipalServerPort is the remote port of + the principal server to connect to. + type: string + type: object + creds: + description: Creds is the credential identifier for the agent + authentication + type: string + enabled: + description: Enabled is the flag to enable the Agent component + during Argo CD installation. (optional, default `false`) + type: boolean + env: + description: Env lets you specify environment for agent pods + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the name of Argo CD Agent image + type: string + logFormat: + description: LogFormat refers to the log format used by the + Agent component. + type: string + logLevel: + description: LogLevel refers to the log level used by the + Agent component. + type: string + redis: + description: Redis defines the Redis options for the Agent + component. + properties: + serverAddress: + description: ServerAddress is the address of the Redis + server to be used by the PrincAgentipal component. + type: string + type: object + tls: + description: TLS defines the TLS options for the Agent component. + properties: + insecure: + description: Insecure is the flag to skip TLS certificate + validation when connecting to the principal (insecure, + for development only) + type: boolean + rootCASecretName: + description: RootCASecretName is the name of the secret + containing the root CA certificate + type: string + secretName: + description: SecretName is the name of the secret containing + the agent client TLS certificate + type: string type: object type: object - type: object - argoCDAgent: - description: ArgoCDAgent defines configurations for the ArgoCD Agent - component. - properties: principal: description: Principal defines configurations for the Principal component of Argo CD Agent. properties: + auth: + description: Auth is the authentication method for the Principal + component. + type: string enabled: description: Enabled is the flag to enable the Principal component during Argo CD installation. (optional, default `false`) type: boolean + env: + description: Env lets you specify environment for principal + pods + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the name of Argo CD Agent image + type: string jwt: description: JWT defines the JWT options for the Principal component. @@ -10438,6 +10996,14 @@ spec: the JWT signing key. type: string type: object + logFormat: + description: LogFormat refers to the log format used by the + Principal component. + type: string + logLevel: + description: LogLevel refers to the log level used by the + Principal component. + type: string namespace: description: Namespace is the configuration for the Principal component namespace. @@ -10494,152 +11060,39 @@ spec: description: Server defines the server options for the Principal component. properties: - auth: - description: Auth is the authentication method for the - Principal component. - type: string enableWebSocket: description: EnableWebSocket is the flag to enable the WebSocket on gRPC to stream events to the Agent. type: boolean - env: - description: Env lets you specify environment for principal - pods - items: - description: EnvVar represents an environment variable - present in a Container. - properties: - name: - description: Name of the environment variable. Must - be a C_IDENTIFIER. - type: string - value: - description: |- - Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in the container and - any service environment variables. If a variable cannot be resolved, - the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. - "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether the variable - exists or not. - Defaults to "". - type: string - valueFrom: - description: Source for the environment variable's - value. Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select - in the specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for - volumes, optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format - of the exposed resources, defaults to - "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the - pod's namespace - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - image: - description: Image is the name of Argo CD Agent image - type: string keepAliveMinInterval: description: KeepAliveMinInterval is the minimum interval between keep-alive messages sent by the Agent to the Principal. type: string - logFormat: - description: LogFormat refers to the log format used by - the Principal component. - type: string - logLevel: - description: LogLevel refers to the log level used by - the Principal component. - type: string + route: + description: |- + Route defines the options for the Route backing the ArgoCD Agent component. + Route is disabled only when explicitly configured with Enabled: false + properties: + enabled: + description: |- + Enabled will toggle the creation of the OpenShift Route, ignored in case of non OpenShift cluster. + Route is disabled only when explicitly configured with false + type: boolean + type: object + service: + description: |- + Service defines the options for the Service backing the ArgoCD Agent component. + If not set, type ClusterIP will be used by default. + properties: + type: + description: |- + Type is the ServiceType to use for the Service resource. + If not set, type ClusterIP will be used by default. + type: string + required: + - type + type: object type: object tls: description: TLS defines the TLS options for the Principal @@ -16665,6 +17118,13 @@ spec: More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object + sourceNamespaces: + description: SourceNamespaces is a list of namespaces from which + the notifications controller will watch for ArgoCD Notification + resources. + items: + type: string + type: array version: description: Version is the Argo CD Notifications image tag. (optional) type: string diff --git a/config/crd/bases/argoproj.io_argocds.yaml b/config/crd/bases/argoproj.io_argocds.yaml index c89f73a5d..6863d86fa 100644 --- a/config/crd/bases/argoproj.io_argocds.yaml +++ b/config/crd/bases/argoproj.io_argocds.yaml @@ -439,14 +439,342 @@ spec: description: ArgoCDAgent defines configurations for the ArgoCD Agent component. properties: + agent: + description: Agent defines configurations for the Agent component + of Argo CD Agent. + properties: + client: + description: Client defines the client options for the Agent + component. + properties: + enableCompression: + description: EnableCompression is the flag to enable compression + while sending data between Principal and Agent using + gRPC + type: boolean + enableWebSocket: + description: EnableWebSocket is the flag to enable WebSocket + for event streaming + type: boolean + keepAliveInterval: + description: KeepAliveInterval is the interval for keep-alive + pings to the principal + type: string + mode: + description: Mode is the operational mode for the agent + (managed or autonomous) + type: string + principalServerAddress: + description: PrincipalServerAddress is the remote address + of the principal server to connect to. + type: string + principalServerPort: + description: PrincipalServerPort is the remote port of + the principal server to connect to. + type: string + type: object + creds: + description: Creds is the credential identifier for the agent + authentication + type: string + enabled: + description: Enabled is the flag to enable the Agent component + during Argo CD installation. (optional, default `false`) + type: boolean + env: + description: Env lets you specify environment for agent pods + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the name of Argo CD Agent image + type: string + logFormat: + description: LogFormat refers to the log format used by the + Agent component. + type: string + logLevel: + description: LogLevel refers to the log level used by the + Agent component. + type: string + redis: + description: Redis defines the Redis options for the Agent + component. + properties: + serverAddress: + description: ServerAddress is the address of the Redis + server to be used by the PrincAgentipal component. + type: string + type: object + tls: + description: TLS defines the TLS options for the Agent component. + properties: + insecure: + description: Insecure is the flag to skip TLS certificate + validation when connecting to the principal (insecure, + for development only) + type: boolean + rootCASecretName: + description: RootCASecretName is the name of the secret + containing the root CA certificate + type: string + secretName: + description: SecretName is the name of the secret containing + the agent client TLS certificate + type: string + type: object + type: object principal: description: Principal defines configurations for the Principal component of Argo CD Agent. properties: + auth: + description: Auth is the authentication method for the Principal + component. + type: string enabled: description: Enabled is the flag to enable the Principal component during Argo CD installation. (optional, default `false`) type: boolean + env: + description: Env lets you specify environment for principal + pods + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the name of Argo CD Agent image + type: string jwt: description: JWT defines the JWT options for the Principal component. @@ -461,6 +789,14 @@ spec: the JWT signing key. type: string type: object + logFormat: + description: LogFormat refers to the log format used by the + Principal component. + type: string + logLevel: + description: LogLevel refers to the log level used by the + Principal component. + type: string namespace: description: Namespace is the configuration for the Principal component namespace. @@ -517,152 +853,39 @@ spec: description: Server defines the server options for the Principal component. properties: - auth: - description: Auth is the authentication method for the - Principal component. - type: string enableWebSocket: description: EnableWebSocket is the flag to enable the WebSocket on gRPC to stream events to the Agent. type: boolean - env: - description: Env lets you specify environment for principal - pods - items: - description: EnvVar represents an environment variable - present in a Container. - properties: - name: - description: Name of the environment variable. Must - be a C_IDENTIFIER. - type: string - value: - description: |- - Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in the container and - any service environment variables. If a variable cannot be resolved, - the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. - "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether the variable - exists or not. - Defaults to "". - type: string - valueFrom: - description: Source for the environment variable's - value. Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select - in the specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for - volumes, optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format - of the exposed resources, defaults to - "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the - pod's namespace - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - image: - description: Image is the name of Argo CD Agent image - type: string keepAliveMinInterval: description: KeepAliveMinInterval is the minimum interval between keep-alive messages sent by the Agent to the Principal. type: string - logFormat: - description: LogFormat refers to the log format used by - the Principal component. - type: string - logLevel: - description: LogLevel refers to the log level used by - the Principal component. - type: string + route: + description: |- + Route defines the options for the Route backing the ArgoCD Agent component. + Route is disabled only when explicitly configured with Enabled: false + properties: + enabled: + description: |- + Enabled will toggle the creation of the OpenShift Route, ignored in case of non OpenShift cluster. + Route is disabled only when explicitly configured with false + type: boolean + type: object + service: + description: |- + Service defines the options for the Service backing the ArgoCD Agent component. + If not set, type ClusterIP will be used by default. + properties: + type: + description: |- + Type is the ServiceType to use for the Service resource. + If not set, type ClusterIP will be used by default. + type: string + required: + - type + type: object type: object tls: description: TLS defines the TLS options for the Principal @@ -1775,6 +1998,13 @@ spec: More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object + sourceNamespaces: + description: SourceNamespaces is a list of namespaces from which + the notifications controller will watch for ArgoCD Application + resources. + items: + type: string + type: array version: description: Version is the Argo CD Notifications image tag. (optional) type: string @@ -10396,23 +10626,351 @@ spec: description: WildcardPolicy if any for the route. Currently only 'Subdomain' or 'None' is allowed. type: string - required: - - enabled + required: + - enabled + type: object + type: object + type: object + argoCDAgent: + description: ArgoCDAgent defines configurations for the ArgoCD Agent + component. + properties: + agent: + description: Agent defines configurations for the Agent component + of Argo CD Agent. + properties: + client: + description: Client defines the client options for the Agent + component. + properties: + enableCompression: + description: EnableCompression is the flag to enable compression + while sending data between Principal and Agent using + gRPC + type: boolean + enableWebSocket: + description: EnableWebSocket is the flag to enable WebSocket + for event streaming + type: boolean + keepAliveInterval: + description: KeepAliveInterval is the interval for keep-alive + pings to the principal + type: string + mode: + description: Mode is the operational mode for the agent + (managed or autonomous) + type: string + principalServerAddress: + description: PrincipalServerAddress is the remote address + of the principal server to connect to. + type: string + principalServerPort: + description: PrincipalServerPort is the remote port of + the principal server to connect to. + type: string + type: object + creds: + description: Creds is the credential identifier for the agent + authentication + type: string + enabled: + description: Enabled is the flag to enable the Agent component + during Argo CD installation. (optional, default `false`) + type: boolean + env: + description: Env lets you specify environment for agent pods + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the name of Argo CD Agent image + type: string + logFormat: + description: LogFormat refers to the log format used by the + Agent component. + type: string + logLevel: + description: LogLevel refers to the log level used by the + Agent component. + type: string + redis: + description: Redis defines the Redis options for the Agent + component. + properties: + serverAddress: + description: ServerAddress is the address of the Redis + server to be used by the PrincAgentipal component. + type: string + type: object + tls: + description: TLS defines the TLS options for the Agent component. + properties: + insecure: + description: Insecure is the flag to skip TLS certificate + validation when connecting to the principal (insecure, + for development only) + type: boolean + rootCASecretName: + description: RootCASecretName is the name of the secret + containing the root CA certificate + type: string + secretName: + description: SecretName is the name of the secret containing + the agent client TLS certificate + type: string type: object type: object - type: object - argoCDAgent: - description: ArgoCDAgent defines configurations for the ArgoCD Agent - component. - properties: principal: description: Principal defines configurations for the Principal component of Argo CD Agent. properties: + auth: + description: Auth is the authentication method for the Principal + component. + type: string enabled: description: Enabled is the flag to enable the Principal component during Argo CD installation. (optional, default `false`) type: boolean + env: + description: Env lets you specify environment for principal + pods + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the name of Argo CD Agent image + type: string jwt: description: JWT defines the JWT options for the Principal component. @@ -10427,6 +10985,14 @@ spec: the JWT signing key. type: string type: object + logFormat: + description: LogFormat refers to the log format used by the + Principal component. + type: string + logLevel: + description: LogLevel refers to the log level used by the + Principal component. + type: string namespace: description: Namespace is the configuration for the Principal component namespace. @@ -10483,152 +11049,39 @@ spec: description: Server defines the server options for the Principal component. properties: - auth: - description: Auth is the authentication method for the - Principal component. - type: string enableWebSocket: description: EnableWebSocket is the flag to enable the WebSocket on gRPC to stream events to the Agent. type: boolean - env: - description: Env lets you specify environment for principal - pods - items: - description: EnvVar represents an environment variable - present in a Container. - properties: - name: - description: Name of the environment variable. Must - be a C_IDENTIFIER. - type: string - value: - description: |- - Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in the container and - any service environment variables. If a variable cannot be resolved, - the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. - "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether the variable - exists or not. - Defaults to "". - type: string - valueFrom: - description: Source for the environment variable's - value. Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select - in the specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for - volumes, optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format - of the exposed resources, defaults to - "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the - pod's namespace - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - image: - description: Image is the name of Argo CD Agent image - type: string keepAliveMinInterval: description: KeepAliveMinInterval is the minimum interval between keep-alive messages sent by the Agent to the Principal. type: string - logFormat: - description: LogFormat refers to the log format used by - the Principal component. - type: string - logLevel: - description: LogLevel refers to the log level used by - the Principal component. - type: string + route: + description: |- + Route defines the options for the Route backing the ArgoCD Agent component. + Route is disabled only when explicitly configured with Enabled: false + properties: + enabled: + description: |- + Enabled will toggle the creation of the OpenShift Route, ignored in case of non OpenShift cluster. + Route is disabled only when explicitly configured with false + type: boolean + type: object + service: + description: |- + Service defines the options for the Service backing the ArgoCD Agent component. + If not set, type ClusterIP will be used by default. + properties: + type: + description: |- + Type is the ServiceType to use for the Service resource. + If not set, type ClusterIP will be used by default. + type: string + required: + - type + type: object type: object tls: description: TLS defines the TLS options for the Principal @@ -16654,6 +17107,13 @@ spec: More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object + sourceNamespaces: + description: SourceNamespaces is a list of namespaces from which + the notifications controller will watch for ArgoCD Notification + resources. + items: + type: string + type: array version: description: Version is the Argo CD Notifications image tag. (optional) type: string diff --git a/go.mod b/go.mod index e4c396799..ff808ec7b 100644 --- a/go.mod +++ b/go.mod @@ -4,8 +4,8 @@ go 1.24.6 require ( github.com/argoproj-labs/argo-rollouts-manager v0.0.7-0.20251105123110-0c547c7a7765 - github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251105202113-2a10f87771b9 - github.com/argoproj/argo-cd/v3 v3.1.8 + github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251111193025-5e0aa4e8458c + github.com/argoproj/argo-cd/v3 v3.1.9 github.com/argoproj/gitops-engine v0.7.1-0.20250905160054-e48120133eec github.com/go-logr/logr v1.4.3 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index d0802412d..cfdb6594b 100644 --- a/go.sum +++ b/go.sum @@ -31,10 +31,10 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/argoproj-labs/argo-rollouts-manager v0.0.7-0.20251105123110-0c547c7a7765 h1:zVN+W/nQrRB/kB63YcvcCseuiE//sEzNw6Oa8rqiFOs= github.com/argoproj-labs/argo-rollouts-manager v0.0.7-0.20251105123110-0c547c7a7765/go.mod h1:WPyZkNHZjir/OTt8mrRwcUZKe1euHrHPJsRv1Wp/F/0= -github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251105202113-2a10f87771b9 h1:v/iZr/sGwdHoqIcdSVZKoXaJ/ivv+2u85OFjyNGLDH0= -github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251105202113-2a10f87771b9/go.mod h1:ABtgKWsvMlUp6Xys8BVi0CHKdT9ZoFP+rYCqRsY0wvg= -github.com/argoproj/argo-cd/v3 v3.1.8 h1:NkLPiRI5qGkV+q1EN3O7/0Wb9O/MVl62vadKteZqMUw= -github.com/argoproj/argo-cd/v3 v3.1.8/go.mod h1:ZHb/LOz/hr88VWMJiVTd8DGYL7MheHCAT8S6DgYOBFo= +github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251111193025-5e0aa4e8458c h1:CP/mjwUUVDMy60dy75lrJ/99d/zKA5BIF03GRsFoxOY= +github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251111193025-5e0aa4e8458c/go.mod h1:pi8DWrcB1D1RZcDRa1Km9oLYnMjCxV8LLvgikss8bn4= +github.com/argoproj/argo-cd/v3 v3.1.9 h1:9P9vJKo1RGWu6mtQnGu61r+0h3XKlA2j3kVhwogUQ/0= +github.com/argoproj/argo-cd/v3 v3.1.9/go.mod h1:ZHb/LOz/hr88VWMJiVTd8DGYL7MheHCAT8S6DgYOBFo= github.com/argoproj/gitops-engine v0.7.1-0.20250905160054-e48120133eec h1:rNAwbRQFvRIuW/e2bU+B10mlzghYXsnwZedYeA7Drz4= github.com/argoproj/gitops-engine v0.7.1-0.20250905160054-e48120133eec/go.mod h1:aIBEG3ohgaC1gh/sw2On6knkSnXkqRLDoBj234Dqczw= github.com/argoproj/pkg v0.13.7-0.20250305113207-cbc37dc61de5 h1:YBoLSjpoaJXaXAldVvBRKJuOPvIXz9UOv6S96gMJM/Q= diff --git a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go index c9ee8fb9c..5bad8fdd8 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go @@ -87,7 +87,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { // These variables need to be maintained according to the component matrix: https://spaces.redhat.com/display/GITOPS/GitOps+Component+Matrix expected_kustomizeVersion := "v5.7.0" expected_helmVersion := "v3.18.4" - expected_argocdVersion := "v3.1.1" + expected_argocdVersion := "v3.1.9" var expected_dexVersion string var expected_redisVersion string @@ -95,12 +95,12 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { if os.Getenv("CI") == "prow" { // when running against openshift-ci expected_dexVersion = "v2.43.0" - expected_redisVersion = "7.2.7" + expected_redisVersion = "7.2.11" } else { // when running against RC/ released version of gitops expected_dexVersion = "v2.41.1" - expected_redisVersion = "7.2.7" + expected_redisVersion = "7.2.11" } By("locating pods containing toolchain in openshift-gitops") diff --git a/test/openshift/e2e/ginkgo/sequential/1-105_validate_label_selector_test.go b/test/openshift/e2e/ginkgo/sequential/1-105_validate_label_selector_test.go index 8bd04f5c5..93553c545 100644 --- a/test/openshift/e2e/ginkgo/sequential/1-105_validate_label_selector_test.go +++ b/test/openshift/e2e/ginkgo/sequential/1-105_validate_label_selector_test.go @@ -22,8 +22,10 @@ var _ = Describe("GitOps Operator Sequential E2E Tests", func() { Context("1-105_validate_label_selector", func() { var ( - ctx context.Context - k8sClient client.Client + ctx context.Context + k8sClient client.Client + ns *corev1.Namespace + cleanupFunc func() ) BeforeEach(func() { @@ -33,6 +35,14 @@ var _ = Describe("GitOps Operator Sequential E2E Tests", func() { ctx = context.Background() }) + AfterEach(func() { + defer cleanupFunc() + + fixture.OutputDebugOnFail(ns) + + fixture.RestoreSubcriptionToDefault() + }) + It("ensures that ARGOCD_LABEL_SELECTOR controls which ArgoCD CRs are reconciled via operator", func() { if fixture.EnvLocalRun() { @@ -43,13 +53,9 @@ var _ = Describe("GitOps Operator Sequential E2E Tests", func() { By("adding ARGOCD_LABEL_SELECTOR foo=bar to Operator") fixture.SetEnvInOperatorSubscriptionOrDeployment("ARGOCD_LABEL_SELECTOR", "foo=bar") - defer func() { // Restore subscription to default after test - fixture.RestoreSubcriptionToDefault() - }() - - By("creating new namespace-scoped ArgoCD instance in test-argocd") + By("creating new namespace-scoped ArgoCD instance") - ns := fixture.CreateNamespace("test-argocd") + ns, cleanupFunc = fixture.CreateRandomE2ETestNamespaceWithCleanupFunc() argoCD := &argov1beta1api.ArgoCD{ ObjectMeta: metav1.ObjectMeta{