From 87c5c1a5a43d8c064532cf99ed23e4b367b5c5de Mon Sep 17 00:00:00 2001 From: "seanson@users.noreply.github.com" Date: Fri, 6 Sep 2019 12:32:41 +1000 Subject: [PATCH] Update argo-cd for 1.2.0 (#101) This updates the chart to the new deployment requirements of the 1.2.0 release. This involves the following changes: - UI init sidecar removed as no longer required for server - Application-controller metrics service moved to it's own yaml - Server metrics service created - CRDs updated - ConfigMap `app.kubernetes.io/part-of` locked to argocd as it is static - Chart version and application version bump --- charts/argo-cd/Chart.yaml | 4 +- ...plication-controller-metrics-service.yaml} | 0 charts/argo-cd/templates/argocd-cm.yaml | 2 +- charts/argo-cd/templates/argocd-rbac-cm.yaml | 2 +- .../templates/argocd-server-deployment.yaml | 11 +- .../templates/argocd-server-metrics.yaml | 19 + .../templates/crds/application-crd.yaml | 1052 +++++++++++------ .../templates/crds/appproject-crd.yaml | 400 ++++++- charts/argo-cd/values.yaml | 13 +- 9 files changed, 1090 insertions(+), 413 deletions(-) rename charts/argo-cd/templates/{argocd-metrics-service.yaml => argocd-application-controller-metrics-service.yaml} (100%) create mode 100755 charts/argo-cd/templates/argocd-server-metrics.yaml diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 9922f5ef..86bd0b34 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: "1.1.2" +appVersion: "1.2.0" description: A Helm chart for Argo-CD name: argo-cd -version: 0.3.0 \ No newline at end of file +version: 0.4.0 diff --git a/charts/argo-cd/templates/argocd-metrics-service.yaml b/charts/argo-cd/templates/argocd-application-controller-metrics-service.yaml similarity index 100% rename from charts/argo-cd/templates/argocd-metrics-service.yaml rename to charts/argo-cd/templates/argocd-application-controller-metrics-service.yaml diff --git a/charts/argo-cd/templates/argocd-cm.yaml b/charts/argo-cd/templates/argocd-cm.yaml index 2c8f2f36..98467bb8 100755 --- a/charts/argo-cd/templates/argocd-cm.yaml +++ b/charts/argo-cd/templates/argocd-cm.yaml @@ -7,7 +7,7 @@ metadata: helm.sh/chart: {{ include "argo-cd.chart" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} - app.kubernetes.io/part-of: {{ include "argo-cd.name" . }} + app.kubernetes.io/part-of: argocd data: {{- if .Values.config.helmRepositories }} helm.repositories: | diff --git a/charts/argo-cd/templates/argocd-rbac-cm.yaml b/charts/argo-cd/templates/argocd-rbac-cm.yaml index 7d3aa6ea..84e791da 100755 --- a/charts/argo-cd/templates/argocd-rbac-cm.yaml +++ b/charts/argo-cd/templates/argocd-rbac-cm.yaml @@ -7,7 +7,7 @@ metadata: helm.sh/chart: {{ include "argo-cd.chart" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} - app.kubernetes.io/part-of: {{ include "argo-cd.name" . }} + app.kubernetes.io/part-of: argocd data: {{- if .Values.rbac.policyDefault }} policy.default: {{ .Values.rbac.policyDefault }} diff --git a/charts/argo-cd/templates/argocd-server-deployment.yaml b/charts/argo-cd/templates/argocd-server-deployment.yaml index 0c4cb317..7613b0b3 100755 --- a/charts/argo-cd/templates/argocd-server-deployment.yaml +++ b/charts/argo-cd/templates/argocd-server-deployment.yaml @@ -28,14 +28,6 @@ spec: {{- end }} spec: serviceAccountName: argocd-server - initContainers: - - name: ui - image: {{ .Values.server.uiInitImage.repository }}:{{ .Values.server.uiInitImage.tag }} - imagePullPolicy: {{ .Values.server.uiInitImage.pullPolicy }} - command: [cp, -r, /app, /shared] - volumeMounts: - - mountPath: /shared - name: static-files containers: - name: argocd-server image: {{ .Values.server.image.repository }}:{{ .Values.server.image.tag }} @@ -48,13 +40,12 @@ spec: - {{. | quote }} {{- end }} volumeMounts: - - mountPath: /shared - name: static-files {{- if .Values.server.volumeMounts }} {{ toYaml .Values.server.volumeMounts | nindent 8 | trim }} {{- end }} ports: - containerPort: {{ .Values.server.containerPort }} + - containerPort: {{ .Values.server.metricsPort }} livenessProbe: httpGet: path: /healthz diff --git a/charts/argo-cd/templates/argocd-server-metrics.yaml b/charts/argo-cd/templates/argocd-server-metrics.yaml new file mode 100755 index 00000000..c1956906 --- /dev/null +++ b/charts/argo-cd/templates/argocd-server-metrics.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server + helm.sh/chart: {{ include "argo-cd.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/part-of: {{ include "argo-cd.name" . }} + app.kubernetes.io/component: server + name: argocd-server-metrics +spec: + ports: + - name: metrics + protocol: TCP + port: {{ .Values.server.servicePortHttp }} + targetPort: {{ .Values.server.metricsPort }} + selector: + app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server diff --git a/charts/argo-cd/templates/crds/application-crd.yaml b/charts/argo-cd/templates/crds/application-crd.yaml index 82283283..71864891 100644 --- a/charts/argo-cd/templates/crds/application-crd.yaml +++ b/charts/argo-cd/templates/crds/application-crd.yaml @@ -14,11 +14,12 @@ spec: kind: Application plural: applications shortNames: - - app - - apps + - app + - apps scope: Namespaced validation: openAPIV3Schema: + description: Application is a definition of Application resource. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -30,12 +31,359 @@ spec: object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string - metadata: {} + metadata: + properties: + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with + a resource that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + clusterName: + description: The name of the cluster which the object belongs to. This + is used to distinguish resources with same name and namespace in different + clusters. This field is not set anywhere right now and apiserver is + going to ignore it if set in create or update request. + type: string + deletionGracePeriodSeconds: + description: Number of seconds allowed for this object to gracefully + terminate before it will be removed from the system. Only set when + deletionTimestamp is also set. May only be shortened. Read-only. + format: int64 + type: integer + deletionTimestamp: + description: "DeletionTimestamp is RFC 3339 date and time at which this + resource will be deleted. This field is set by the server when a graceful + deletion is requested by the user, and is not directly settable by + a client. The resource is expected to be deleted (no longer visible + from resource lists, and not reachable by name) after the time in + this field, once the finalizers list is empty. As long as the finalizers + list contains items, deletion is blocked. Once the deletionTimestamp + is set, this value may not be unset or be set further into the future, + although it may be shortened or the resource may be deleted prior + to this time. For example, a user may request that a pod is deleted + in 30 seconds. The Kubelet will react by sending a graceful termination + signal to the containers in the pod. After that 30 seconds, the Kubelet + will send a hard termination signal (SIGKILL) to the container and + after cleanup, remove the pod from the API. In the presence of network + partitions, this object may still exist after this timestamp, until + an administrator or automated process can determine the resource is + fully terminated. If not set, graceful deletion of the object has + not been requested. \n Populated by the system when a graceful deletion + is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata" + format: date-time + type: string + finalizers: + description: Must be empty before the object is deleted from the registry. + Each entry is an identifier for the responsible component that will + remove the entry from the list. If the deletionTimestamp of the object + is non-nil, entries in this list can only be removed. + items: + type: string + type: array + generateName: + description: "GenerateName is an optional prefix, used by the server, + to generate a unique name ONLY IF the Name field has not been provided. + If this field is used, the name returned to the client will be different + than the name passed. This value will also be combined with a unique + suffix. The provided value has the same validation rules as the Name + field, and may be truncated by the length of the suffix required to + make the value unique on the server. \n If this field is specified + and the generated name exists, the server will NOT return a 409 - + instead, it will either return 201 Created or 500 with Reason ServerTimeout + indicating a unique name could not be found in the time allotted, + and the client should retry (optionally after the time indicated in + the Retry-After header). \n Applied only if Name is not specified. + More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency" + type: string + generation: + description: A sequence number representing a specific generation of + the desired state. Populated by the system. Read-only. + format: int64 + type: integer + initializers: + description: "An initializer is a controller which enforces some system + invariant at object creation time. This field is a list of initializers + that have not yet acted on this object. If nil or empty, this object + has been completely initialized. Otherwise, the object is considered + uninitialized and is hidden (in list/watch and get calls) from clients + that haven't explicitly asked to observe uninitialized objects. \n + When an object is created, the system will populate this list with + the current set of initializers. Only privileged users may set or + modify this list. Once it is empty, it may not be modified further + by any user. \n DEPRECATED - initializers are an alpha field and will + be removed in v1.15." + properties: + pending: + description: Pending is a list of initializers that must execute + in order before this object is visible. When the last pending + initializer is removed, and no failing result is set, the initializers + struct will be set to nil and the object is considered as initialized + and visible to all clients. + items: + properties: + name: + description: name of the process that is responsible for initializing + this object. + type: string + required: + - name + type: object + type: array + result: + description: If result is set with the Failure field, the object + will be persisted to storage and then deleted, ensuring that other + clients can observe the deletion. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this + representation of an object. Servers should convert recognized + schemas to the latest internal value, and may reject unrecognized + values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + code: + description: Suggested HTTP return code for this status, 0 if + not set. + format: int32 + type: integer + details: + description: Extended data associated with the reason. Each + reason may define its own extended details. This field is + optional and the data returned is not guaranteed to conform + to any schema except that defined by the reason type. + properties: + causes: + description: The Causes array includes more details associated + with the StatusReason failure. Not all StatusReasons may + provide detailed causes. + items: + properties: + field: + description: "The field of the resource that has caused + this error, as named by its JSON serialization. + May include dot and postfix notation for nested + attributes. Arrays are zero-indexed. Fields may + appear more than once in an array of causes due + to fields having multiple errors. Optional. \n Examples: + \ \"name\" - the field \"name\" on the current + resource \"items[0].name\" - the field \"name\" + on the first array entry in \"items\"" + type: string + message: + description: A human-readable description of the cause + of the error. This field may be presented as-is + to a reader. + type: string + reason: + description: A machine-readable description of the + cause of the error. If this value is empty there + is no information available. + type: string + type: object + type: array + group: + description: The group attribute of the resource associated + with the status StatusReason. + type: string + kind: + description: 'The kind attribute of the resource associated + with the status StatusReason. On some operations may differ + from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + name: + description: The name attribute of the resource associated + with the status StatusReason (when there is a single name + which can be described). + type: string + retryAfterSeconds: + description: If specified, the time in seconds before the + operation should be retried. Some errors may indicate + the client must take an alternate action - for those errors + this field may indicate how long to wait before taking + the alternate action. + format: int32 + type: integer + uid: + description: 'UID of the resource. (when there is a single + resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids' + type: string + type: object + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint + the client submits requests to. Cannot be updated. In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + message: + description: A human-readable description of the status of this + operation. + type: string + metadata: + description: 'Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + properties: + continue: + description: continue may be set if the user set a limit + on the number of items returned, and indicates that the + server has more data available. The value is opaque and + may be used to issue another request to the endpoint that + served this list to retrieve the next set of available + objects. Continuing a consistent list may not be possible + if the server configuration has changed or more than a + few minutes have passed. The resourceVersion field returned + when using this continue value will be identical to the + value in the first response, unless you have received + this token from an error message. + type: string + resourceVersion: + description: 'String that identifies the server''s internal + version of this object that can be used by clients to + determine when objects have changed. Value must be treated + as opaque by clients and passed unmodified back to the + server. Populated by the system. Read-only. More info: + https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' + type: string + selfLink: + description: selfLink is a URL representing this object. + Populated by the system. Read-only. + type: string + type: object + reason: + description: A machine-readable description of why this operation + is in the "Failure" status. If this value is empty there is + no information available. A Reason clarifies an HTTP status + code but does not override it. + type: string + status: + description: 'Status of the operation. One of: "Success" or + "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' + type: string + type: object + required: + - pending + type: object + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of + replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + managedFields: + description: "ManagedFields maps workflow-id and version to the set + of fields that are managed by that workflow. This is mostly for internal + housekeeping, and users typically shouldn't need to set or understand + this field. A workflow can be the user's name, a controller's name, + or the name of a specific apply path like \"ci-cd\". The set of fields + is always in the version that the workflow used when modifying the + object. \n This field is alpha and can be changed or removed without + notice." + items: + properties: + apiVersion: + description: APIVersion defines the version of this resource that + this field set applies to. The format is "group/version" just + like the top-level APIVersion field. It is necessary to track + the version of a field set because it cannot be automatically + converted. + type: string + fields: + additionalProperties: true + description: Fields identifies a set of fields. + type: object + manager: + description: Manager is an identifier of the workflow managing + these fields. + type: string + operation: + description: Operation is the type of operation which lead to + this ManagedFieldsEntry being created. The only valid values + for this field are 'Apply' and 'Update'. + type: string + time: + description: Time is timestamp of when these fields were set. + It should always be empty if Operation is 'Apply' + format: date-time + type: string + type: object + type: array + name: + description: 'Name must be unique within a namespace. Is required when + creating resources, although some resources may allow a client to + request the generation of an appropriate name automatically. Name + is primarily intended for creation idempotence and configuration definition. + Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + namespace: + description: "Namespace defines the space within each name must be unique. + An empty namespace is equivalent to the \"default\" namespace, but + \"default\" is the canonical representation. Not all objects are required + to be scoped to a namespace - the value of this field for those objects + will be empty. \n Must be a DNS_LABEL. Cannot be updated. More info: + http://kubernetes.io/docs/user-guide/namespaces" + type: string + ownerReferences: + description: List of objects depended by this object. If ALL objects + in the list have been deleted, this object will be garbage collected. + If this object is managed by a controller, then an entry in this list + will point to this controller, with the controller field set to true. + There cannot be more than one managing controller. + items: + properties: + apiVersion: + description: API version of the referent. + type: string + blockOwnerDeletion: + description: If true, AND if the owner has the "foregroundDeletion" + finalizer, then the owner cannot be deleted from the key-value + store until this reference is removed. Defaults to false. To + set this field, a user needs "delete" permission of the owner, + otherwise 422 (Unprocessable Entity) will be returned. + type: boolean + controller: + description: If true, this reference points to the managing controller. + type: boolean + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + uid: + description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' + type: string + required: + - apiVersion + - kind + - name + - uid + type: object + type: array + resourceVersion: + description: "An opaque value that represents the internal version of + this object that can be used by clients to determine when objects + have changed. May be used for optimistic concurrency, change detection, + and the watch operation on a resource or set of resources. Clients + must treat these values as opaque and passed unmodified back to the + server. They may only be valid for a particular resource or set of + resources. \n Populated by the system. Read-only. Value must be treated + as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency" + type: string + selfLink: + description: SelfLink is a URL representing this object. Populated by + the system. Read-only. + type: string + uid: + description: "UID is the unique in time and space value for this object. + It is typically generated by the server on successful creation of + a resource and is not allowed to change on PUT operations. \n Populated + by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + type: string + type: object operation: - description: Operation contains requested operation parameters. properties: sync: - description: SyncOperation contains sync operation details. properties: dryRun: description: DryRun will perform a `kubectl apply --dry-run` without @@ -54,7 +402,6 @@ spec: resources: description: Resources describes which resources to sync items: - description: SyncOperationResource contains resources to sync. properties: group: type: string @@ -63,8 +410,8 @@ spec: name: type: string required: - - kind - - name + - kind + - name type: object type: array revision: @@ -72,19 +419,18 @@ spec: to. If omitted, will use the revision specified in app spec. type: string source: - description: ApplicationSource contains information about github - repository, path within repository and target application environment. + description: Source overrides the source definition set in the application. + This is typically set in a Rollback operation and nil during a + Sync operation properties: directory: + description: Directory holds path/directory specific options properties: jsonnet: - description: ApplicationSourceJsonnet holds jsonnet specific - options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -93,14 +439,13 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -109,8 +454,8 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object @@ -118,13 +463,16 @@ spec: type: boolean type: object helm: - description: ApplicationSourceHelm holds helm specific options + description: Helm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: - description: HelmParameter is a parameter to a helm template properties: + forceString: + description: ForceString determines whether to tell + Helm to interpret booleans and numbers as strings + type: boolean name: description: Name is the name of the helm parameter type: string @@ -145,8 +493,7 @@ spec: type: array type: object ksonnet: - description: ApplicationSourceKsonnet holds ksonnet specific - options + description: Ksonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment @@ -156,7 +503,6 @@ spec: description: Parameters are a list of ksonnet component parameter override values items: - description: KsonnetParameter is a ksonnet component parameter properties: component: type: string @@ -165,34 +511,21 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object kustomize: - description: ApplicationSourceKustomize holds kustomize specific - options + description: Kustomize holds kustomize specific options properties: commonLabels: + additionalProperties: + type: string description: CommonLabels adds additional kustomize commonLabels type: object - imageTags: - description: ImageTags are kustomize 1.0 image tag overrides - items: - description: KustomizeImageTag is a kustomize image tag - properties: - name: - description: Name is the name of the image (e.g. nginx) - type: string - value: - description: Value is the value for the new tag (e.g. - 1.8.0) - type: string - type: object - type: array images: - description: Images are kustomize 2.0 image overrides + description: Images are kustomize image overrides items: type: string type: array @@ -206,9 +539,23 @@ spec: containing a type: string plugin: - description: ApplicationSourcePlugin holds config management + description: ConfigManagementPlugin holds config management plugin specific options properties: + env: + items: + properties: + name: + description: the name, usually uppercase + type: string + value: + description: the value + type: string + required: + - name + - value + type: object + type: array name: type: string type: object @@ -217,22 +564,20 @@ spec: manifests type: string targetRevision: - description: Environment is a ksonnet application environment - name TargetRevision defines the commit, tag, or branch in - which to sync the application to. If omitted, will sync to - HEAD + description: TargetRevision defines the commit, tag, or branch + in which to sync the application to. If omitted, will sync + to HEAD type: string required: - - repoURL - - path + - repoURL + - path type: object syncStrategy: - description: SyncStrategy controls the manner in which a sync is - performed + description: SyncStrategy describes how to perform the sync properties: apply: - description: SyncStrategyApply uses `kubectl apply` to perform - the apply + description: Apply wil perform a `kubectl apply` to perform + the sync. properties: force: description: Force indicates whether or not to supply the @@ -242,33 +587,24 @@ spec: type: boolean type: object hook: - description: SyncStrategyHook will perform a sync using hooks - annotations. If no hook annotation is specified falls back - to `kubectl apply`. + description: Hook will submit any referenced resources to perform + the sync. This is the default strategy properties: - SyncStrategyApply: - description: SyncStrategyApply uses `kubectl apply` to perform - the apply - properties: - force: - description: Force indicates whether or not to supply - the --force flag to `kubectl apply`. The --force flag - deletes and re-create the resource, when PATCH encounters - conflict and has retried for 5 times. - type: boolean - type: object + force: + description: Force indicates whether or not to supply the + --force flag to `kubectl apply`. The --force flag deletes + and re-create the resource, when PATCH encounters conflict + and has retried for 5 times. + type: boolean type: object type: object type: object type: object spec: - description: ApplicationSpec represents desired application state. Contains - link to repository with application definition and additional parameters - link definition revision. properties: destination: - description: ApplicationDestination contains deployment destination - information + description: Destination overrides the kubernetes server and namespace + defined in the environment ksonnet app.yaml properties: namespace: description: Namespace overrides the environment namespace value @@ -283,9 +619,6 @@ spec: description: IgnoreDifferences controls resources fields which should be ignored during comparison items: - description: ResourceIgnoreDifferences contains resource filter and - list of json paths which should be ignored during comparison with - live state. properties: group: type: string @@ -300,9 +633,9 @@ spec: namespace: type: string required: - - group - - kind - - jsonPointers + - group + - kind + - jsonPointers type: object type: array info: @@ -315,8 +648,8 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array project: @@ -324,19 +657,17 @@ spec: that application belongs to 'default' project. type: string source: - description: ApplicationSource contains information about github repository, - path within repository and target application environment. + description: Source is a reference to the location ksonnet application + definition properties: directory: + description: Directory holds path/directory specific options properties: jsonnet: - description: ApplicationSourceJsonnet holds jsonnet specific - options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -345,14 +676,13 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -361,8 +691,8 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object @@ -370,13 +700,16 @@ spec: type: boolean type: object helm: - description: ApplicationSourceHelm holds helm specific options + description: Helm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: - description: HelmParameter is a parameter to a helm template properties: + forceString: + description: ForceString determines whether to tell Helm + to interpret booleans and numbers as strings + type: boolean name: description: Name is the name of the helm parameter type: string @@ -397,7 +730,7 @@ spec: type: array type: object ksonnet: - description: ApplicationSourceKsonnet holds ksonnet specific options + description: Ksonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment @@ -407,7 +740,6 @@ spec: description: Parameters are a list of ksonnet component parameter override values items: - description: KsonnetParameter is a ksonnet component parameter properties: component: type: string @@ -416,34 +748,21 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object kustomize: - description: ApplicationSourceKustomize holds kustomize specific - options + description: Kustomize holds kustomize specific options properties: commonLabels: + additionalProperties: + type: string description: CommonLabels adds additional kustomize commonLabels type: object - imageTags: - description: ImageTags are kustomize 1.0 image tag overrides - items: - description: KustomizeImageTag is a kustomize image tag - properties: - name: - description: Name is the name of the image (e.g. nginx) - type: string - value: - description: Value is the value for the new tag (e.g. - 1.8.0) - type: string - type: object - type: array images: - description: Images are kustomize 2.0 image overrides + description: Images are kustomize image overrides items: type: string type: array @@ -457,9 +776,23 @@ spec: a type: string plugin: - description: ApplicationSourcePlugin holds config management plugin + description: ConfigManagementPlugin holds config management plugin specific options properties: + env: + items: + properties: + name: + description: the name, usually uppercase + type: string + value: + description: the value + type: string + required: + - name + - value + type: object + type: array name: type: string type: object @@ -468,41 +801,38 @@ spec: manifests type: string targetRevision: - description: Environment is a ksonnet application environment name - TargetRevision defines the commit, tag, or branch in which to - sync the application to. If omitted, will sync to HEAD + description: TargetRevision defines the commit, tag, or branch in + which to sync the application to. If omitted, will sync to HEAD type: string required: - - repoURL - - path + - repoURL + - path type: object syncPolicy: - description: SyncPolicy controls when a sync will be performed in response - to updates in git + description: SyncPolicy controls when a sync will be performed properties: automated: - description: SyncPolicyAutomated controls the behavior of an automated - sync + description: Automated will keep an application synced to the target + revision properties: prune: description: 'Prune will prune resources automatically as part of automated sync (default: false)' type: boolean + selfHeal: + description: 'SelfHeal enables auto-syncing if (default: false)' + type: boolean type: object type: object required: - - source - - destination - - project + - source + - destination + - project type: object status: - description: ApplicationStatus contains information about application sync, - health status properties: conditions: items: - description: ApplicationCondition contains details about current application - condition properties: message: description: Message contains human-readable message indicating @@ -512,8 +842,8 @@ spec: description: Type is an application condition type type: string required: - - type - - message + - type + - message type: object type: array health: @@ -525,30 +855,26 @@ spec: type: object history: items: - description: RevisionHistory contains information relevant to an application - deployment properties: - deployedAt: {} + deployedAt: + format: date-time + type: string id: format: int64 type: integer revision: type: string source: - description: ApplicationSource contains information about github - repository, path within repository and target application environment. properties: directory: + description: Directory holds path/directory specific options properties: jsonnet: - description: ApplicationSourceJsonnet holds jsonnet specific - options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -557,14 +883,13 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -573,8 +898,8 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object @@ -582,14 +907,16 @@ spec: type: boolean type: object helm: - description: ApplicationSourceHelm holds helm specific options + description: Helm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: - description: HelmParameter is a parameter to a helm - template properties: + forceString: + description: ForceString determines whether to tell + Helm to interpret booleans and numbers as strings + type: boolean name: description: Name is the name of the helm parameter type: string @@ -610,8 +937,7 @@ spec: type: array type: object ksonnet: - description: ApplicationSourceKsonnet holds ksonnet specific - options + description: Ksonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment @@ -621,8 +947,6 @@ spec: description: Parameters are a list of ksonnet component parameter override values items: - description: KsonnetParameter is a ksonnet component - parameter properties: component: type: string @@ -631,36 +955,21 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object kustomize: - description: ApplicationSourceKustomize holds kustomize specific - options + description: Kustomize holds kustomize specific options properties: commonLabels: + additionalProperties: + type: string description: CommonLabels adds additional kustomize commonLabels type: object - imageTags: - description: ImageTags are kustomize 1.0 image tag overrides - items: - description: KustomizeImageTag is a kustomize image - tag - properties: - name: - description: Name is the name of the image (e.g. - nginx) - type: string - value: - description: Value is the value for the new tag - (e.g. 1.8.0) - type: string - type: object - type: array images: - description: Images are kustomize 2.0 image overrides + description: Images are kustomize image overrides items: type: string type: array @@ -674,9 +983,23 @@ spec: containing a type: string plugin: - description: ApplicationSourcePlugin holds config management + description: ConfigManagementPlugin holds config management plugin specific options properties: + env: + items: + properties: + name: + description: the name, usually uppercase + type: string + value: + description: the value + type: string + required: + - name + - value + type: object + type: array name: type: string type: object @@ -685,36 +1008,37 @@ spec: manifests type: string targetRevision: - description: Environment is a ksonnet application environment - name TargetRevision defines the commit, tag, or branch in - which to sync the application to. If omitted, will sync + description: TargetRevision defines the commit, tag, or branch + in which to sync the application to. If omitted, will sync to HEAD type: string required: - - repoURL - - path + - repoURL + - path type: object required: - - revision - - deployedAt - - id + - revision + - deployedAt + - id type: object type: array - observedAt: {} + observedAt: + format: date-time + type: string operationState: - description: OperationState contains information about state of currently - performing operation on application. properties: - finishedAt: {} + finishedAt: + description: FinishedAt contains time of operation completion + format: date-time + type: string message: description: Message hold any pertinent messages when attempting to perform operation (typically errors). type: string operation: - description: Operation contains requested operation parameters. + description: Operation is the original requested operation properties: sync: - description: SyncOperation contains sync operation details. properties: dryRun: description: DryRun will perform a `kubectl apply --dry-run` @@ -733,8 +1057,6 @@ spec: resources: description: Resources describes which resources to sync items: - description: SyncOperationResource contains resources - to sync. properties: group: type: string @@ -743,8 +1065,8 @@ spec: name: type: string required: - - kind - - name + - kind + - name type: object type: array revision: @@ -753,21 +1075,20 @@ spec: specified in app spec. type: string source: - description: ApplicationSource contains information about - github repository, path within repository and target application - environment. + description: Source overrides the source definition set + in the application. This is typically set in a Rollback + operation and nil during a Sync operation properties: directory: + description: Directory holds path/directory specific + options properties: jsonnet: - description: ApplicationSourceJsonnet holds jsonnet - specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -776,15 +1097,14 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -793,8 +1113,8 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object @@ -802,16 +1122,18 @@ spec: type: boolean type: object helm: - description: ApplicationSourceHelm holds helm specific - options + description: Helm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: - description: HelmParameter is a parameter to a - helm template properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and numbers + as strings + type: boolean name: description: Name is the name of the helm parameter @@ -834,8 +1156,7 @@ spec: type: array type: object ksonnet: - description: ApplicationSourceKsonnet holds ksonnet - specific options + description: Ksonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application @@ -845,8 +1166,6 @@ spec: description: Parameters are a list of ksonnet component parameter override values items: - description: KsonnetParameter is a ksonnet component - parameter properties: component: type: string @@ -855,38 +1174,22 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object kustomize: - description: ApplicationSourceKustomize holds kustomize - specific options + description: Kustomize holds kustomize specific options properties: commonLabels: + additionalProperties: + type: string description: CommonLabels adds additional kustomize commonLabels type: object - imageTags: - description: ImageTags are kustomize 1.0 image tag - overrides - items: - description: KustomizeImageTag is a kustomize - image tag - properties: - name: - description: Name is the name of the image - (e.g. nginx) - type: string - value: - description: Value is the value for the new - tag (e.g. 1.8.0) - type: string - type: object - type: array images: - description: Images are kustomize 2.0 image overrides + description: Images are kustomize image overrides items: type: string type: array @@ -900,9 +1203,23 @@ spec: containing a type: string plugin: - description: ApplicationSourcePlugin holds config management + description: ConfigManagementPlugin holds config management plugin specific options properties: + env: + items: + properties: + name: + description: the name, usually uppercase + type: string + value: + description: the value + type: string + required: + - name + - value + type: object + type: array name: type: string type: object @@ -911,22 +1228,20 @@ spec: application manifests type: string targetRevision: - description: Environment is a ksonnet application environment - name TargetRevision defines the commit, tag, or branch - in which to sync the application to. If omitted, will - sync to HEAD + description: TargetRevision defines the commit, tag, + or branch in which to sync the application to. If + omitted, will sync to HEAD type: string required: - - repoURL - - path + - repoURL + - path type: object syncStrategy: - description: SyncStrategy controls the manner in which a - sync is performed + description: SyncStrategy describes how to perform the sync properties: apply: - description: SyncStrategyApply uses `kubectl apply` - to perform the apply + description: Apply wil perform a `kubectl apply` to + perform the sync. properties: force: description: Force indicates whether or not to supply @@ -937,22 +1252,16 @@ spec: type: boolean type: object hook: - description: SyncStrategyHook will perform a sync using - hooks annotations. If no hook annotation is specified - falls back to `kubectl apply`. + description: Hook will submit any referenced resources + to perform the sync. This is the default strategy properties: - SyncStrategyApply: - description: SyncStrategyApply uses `kubectl apply` - to perform the apply - properties: - force: - description: Force indicates whether or not - to supply the --force flag to `kubectl apply`. - The --force flag deletes and re-create the - resource, when PATCH encounters conflict and - has retried for 5 times. - type: boolean - type: object + force: + description: Force indicates whether or not to supply + the --force flag to `kubectl apply`. The --force + flag deletes and re-create the resource, when + PATCH encounters conflict and has retried for + 5 times. + type: boolean type: object type: object type: object @@ -960,16 +1269,17 @@ spec: phase: description: Phase is the current phase of the operation type: string - startedAt: {} + startedAt: + description: StartedAt contains time of operation start + format: date-time + type: string syncResult: - description: SyncOperationResult represent result of sync operation + description: SyncResult is the result of a Sync operation properties: resources: description: Resources holds the sync result of each individual resource items: - description: ResourceResult holds the operation result details - of a specific resource properties: group: type: string @@ -1003,32 +1313,29 @@ spec: version: type: string required: - - group - - version - - kind - - namespace - - name + - group + - version + - kind + - namespace + - name type: object type: array revision: description: Revision holds the git commit SHA of the sync type: string source: - description: ApplicationSource contains information about github - repository, path within repository and target application - environment. + description: Source records the application source information + of the sync, used for comparing auto-sync properties: directory: + description: Directory holds path/directory specific options properties: jsonnet: - description: ApplicationSourceJsonnet holds jsonnet - specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -1037,15 +1344,14 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -1054,8 +1360,8 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object @@ -1063,14 +1369,17 @@ spec: type: boolean type: object helm: - description: ApplicationSourceHelm holds helm specific options + description: Helm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: - description: HelmParameter is a parameter to a helm - template properties: + forceString: + description: ForceString determines whether to + tell Helm to interpret booleans and numbers + as strings + type: boolean name: description: Name is the name of the helm parameter type: string @@ -1091,8 +1400,7 @@ spec: type: array type: object ksonnet: - description: ApplicationSourceKsonnet holds ksonnet specific - options + description: Ksonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment @@ -1102,8 +1410,6 @@ spec: description: Parameters are a list of ksonnet component parameter override values items: - description: KsonnetParameter is a ksonnet component - parameter properties: component: type: string @@ -1112,37 +1418,22 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object kustomize: - description: ApplicationSourceKustomize holds kustomize - specific options + description: Kustomize holds kustomize specific options properties: commonLabels: + additionalProperties: + type: string description: CommonLabels adds additional kustomize commonLabels type: object - imageTags: - description: ImageTags are kustomize 1.0 image tag overrides - items: - description: KustomizeImageTag is a kustomize image - tag - properties: - name: - description: Name is the name of the image (e.g. - nginx) - type: string - value: - description: Value is the value for the new tag - (e.g. 1.8.0) - type: string - type: object - type: array images: - description: Images are kustomize 2.0 image overrides + description: Images are kustomize image overrides items: type: string type: array @@ -1156,9 +1447,23 @@ spec: containing a type: string plugin: - description: ApplicationSourcePlugin holds config management + description: ConfigManagementPlugin holds config management plugin specific options properties: + env: + items: + properties: + name: + description: the name, usually uppercase + type: string + value: + description: the value + type: string + required: + - name + - value + type: object + type: array name: type: string type: object @@ -1167,28 +1472,27 @@ spec: manifests type: string targetRevision: - description: Environment is a ksonnet application environment - name TargetRevision defines the commit, tag, or branch - in which to sync the application to. If omitted, will - sync to HEAD + description: TargetRevision defines the commit, tag, or + branch in which to sync the application to. If omitted, + will sync to HEAD type: string required: - - repoURL - - path + - repoURL + - path type: object required: - - revision + - revision type: object required: - - operation - - phase - - startedAt + - operation + - phase + - startedAt type: object - reconciledAt: {} + reconciledAt: + format: date-time + type: string resources: items: - description: ResourceStatus holds the current sync and health status - of a resource properties: group: type: string @@ -1207,6 +1511,8 @@ spec: type: string namespace: type: string + requiresPruning: + type: boolean status: type: string version: @@ -1230,16 +1536,10 @@ spec: type: array type: object sync: - description: SyncStatus is a comparison result of application spec and - deployed application. properties: comparedTo: - description: ComparedTo contains application source and target which - was used for resources comparison properties: destination: - description: ApplicationDestination contains deployment destination - information properties: namespace: description: Namespace overrides the environment namespace @@ -1251,21 +1551,16 @@ spec: type: string type: object source: - description: ApplicationSource contains information about github - repository, path within repository and target application - environment. properties: directory: + description: Directory holds path/directory specific options properties: jsonnet: - description: ApplicationSourceJsonnet holds jsonnet - specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -1274,15 +1569,14 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: - description: JsonnetVar is a jsonnet variable properties: code: type: boolean @@ -1291,8 +1585,8 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object @@ -1300,14 +1594,17 @@ spec: type: boolean type: object helm: - description: ApplicationSourceHelm holds helm specific options + description: Helm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: - description: HelmParameter is a parameter to a helm - template properties: + forceString: + description: ForceString determines whether to + tell Helm to interpret booleans and numbers + as strings + type: boolean name: description: Name is the name of the helm parameter type: string @@ -1328,8 +1625,7 @@ spec: type: array type: object ksonnet: - description: ApplicationSourceKsonnet holds ksonnet specific - options + description: Ksonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment @@ -1339,8 +1635,6 @@ spec: description: Parameters are a list of ksonnet component parameter override values items: - description: KsonnetParameter is a ksonnet component - parameter properties: component: type: string @@ -1349,37 +1643,22 @@ spec: value: type: string required: - - name - - value + - name + - value type: object type: array type: object kustomize: - description: ApplicationSourceKustomize holds kustomize - specific options + description: Kustomize holds kustomize specific options properties: commonLabels: + additionalProperties: + type: string description: CommonLabels adds additional kustomize commonLabels type: object - imageTags: - description: ImageTags are kustomize 1.0 image tag overrides - items: - description: KustomizeImageTag is a kustomize image - tag - properties: - name: - description: Name is the name of the image (e.g. - nginx) - type: string - value: - description: Value is the value for the new tag - (e.g. 1.8.0) - type: string - type: object - type: array images: - description: Images are kustomize 2.0 image overrides + description: Images are kustomize image overrides items: type: string type: array @@ -1393,9 +1672,23 @@ spec: containing a type: string plugin: - description: ApplicationSourcePlugin holds config management + description: ConfigManagementPlugin holds config management plugin specific options properties: + env: + items: + properties: + name: + description: the name, usually uppercase + type: string + value: + description: the value + type: string + required: + - name + - value + type: object + type: array name: type: string type: object @@ -1404,26 +1697,31 @@ spec: manifests type: string targetRevision: - description: Environment is a ksonnet application environment - name TargetRevision defines the commit, tag, or branch - in which to sync the application to. If omitted, will - sync to HEAD + description: TargetRevision defines the commit, tag, or + branch in which to sync the application to. If omitted, + will sync to HEAD type: string required: - - repoURL - - path + - repoURL + - path type: object required: - - source - - destination + - source + - destination type: object revision: type: string status: type: string required: - - status + - status type: object type: object + required: + - metadata + - spec type: object - version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true \ No newline at end of file diff --git a/charts/argo-cd/templates/crds/appproject-crd.yaml b/charts/argo-cd/templates/crds/appproject-crd.yaml index ebe038b6..4048d2be 100644 --- a/charts/argo-cd/templates/crds/appproject-crd.yaml +++ b/charts/argo-cd/templates/crds/appproject-crd.yaml @@ -14,11 +14,16 @@ spec: kind: AppProject plural: appprojects shortNames: - - appproj - - appprojs + - appproj + - appprojs scope: Namespaced validation: openAPIV3Schema: + description: 'AppProject provides a logical grouping of applications, providing + controls for: * where the apps may deploy to (cluster whitelist) * what may + be deployed (repository whitelist, resource whitelist/blacklist) * who can + access these applications (roles, OIDC group claims bindings) * and what they + can do (RBAC policies) * automation access to these roles (JWT tokens)' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -30,14 +35,371 @@ spec: object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string - metadata: {} + metadata: + properties: + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with + a resource that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + clusterName: + description: The name of the cluster which the object belongs to. This + is used to distinguish resources with same name and namespace in different + clusters. This field is not set anywhere right now and apiserver is + going to ignore it if set in create or update request. + type: string + deletionGracePeriodSeconds: + description: Number of seconds allowed for this object to gracefully + terminate before it will be removed from the system. Only set when + deletionTimestamp is also set. May only be shortened. Read-only. + format: int64 + type: integer + deletionTimestamp: + description: "DeletionTimestamp is RFC 3339 date and time at which this + resource will be deleted. This field is set by the server when a graceful + deletion is requested by the user, and is not directly settable by + a client. The resource is expected to be deleted (no longer visible + from resource lists, and not reachable by name) after the time in + this field, once the finalizers list is empty. As long as the finalizers + list contains items, deletion is blocked. Once the deletionTimestamp + is set, this value may not be unset or be set further into the future, + although it may be shortened or the resource may be deleted prior + to this time. For example, a user may request that a pod is deleted + in 30 seconds. The Kubelet will react by sending a graceful termination + signal to the containers in the pod. After that 30 seconds, the Kubelet + will send a hard termination signal (SIGKILL) to the container and + after cleanup, remove the pod from the API. In the presence of network + partitions, this object may still exist after this timestamp, until + an administrator or automated process can determine the resource is + fully terminated. If not set, graceful deletion of the object has + not been requested. \n Populated by the system when a graceful deletion + is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata" + format: date-time + type: string + finalizers: + description: Must be empty before the object is deleted from the registry. + Each entry is an identifier for the responsible component that will + remove the entry from the list. If the deletionTimestamp of the object + is non-nil, entries in this list can only be removed. + items: + type: string + type: array + generateName: + description: "GenerateName is an optional prefix, used by the server, + to generate a unique name ONLY IF the Name field has not been provided. + If this field is used, the name returned to the client will be different + than the name passed. This value will also be combined with a unique + suffix. The provided value has the same validation rules as the Name + field, and may be truncated by the length of the suffix required to + make the value unique on the server. \n If this field is specified + and the generated name exists, the server will NOT return a 409 - + instead, it will either return 201 Created or 500 with Reason ServerTimeout + indicating a unique name could not be found in the time allotted, + and the client should retry (optionally after the time indicated in + the Retry-After header). \n Applied only if Name is not specified. + More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency" + type: string + generation: + description: A sequence number representing a specific generation of + the desired state. Populated by the system. Read-only. + format: int64 + type: integer + initializers: + description: "An initializer is a controller which enforces some system + invariant at object creation time. This field is a list of initializers + that have not yet acted on this object. If nil or empty, this object + has been completely initialized. Otherwise, the object is considered + uninitialized and is hidden (in list/watch and get calls) from clients + that haven't explicitly asked to observe uninitialized objects. \n + When an object is created, the system will populate this list with + the current set of initializers. Only privileged users may set or + modify this list. Once it is empty, it may not be modified further + by any user. \n DEPRECATED - initializers are an alpha field and will + be removed in v1.15." + properties: + pending: + description: Pending is a list of initializers that must execute + in order before this object is visible. When the last pending + initializer is removed, and no failing result is set, the initializers + struct will be set to nil and the object is considered as initialized + and visible to all clients. + items: + properties: + name: + description: name of the process that is responsible for initializing + this object. + type: string + required: + - name + type: object + type: array + result: + description: If result is set with the Failure field, the object + will be persisted to storage and then deleted, ensuring that other + clients can observe the deletion. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this + representation of an object. Servers should convert recognized + schemas to the latest internal value, and may reject unrecognized + values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + code: + description: Suggested HTTP return code for this status, 0 if + not set. + format: int32 + type: integer + details: + description: Extended data associated with the reason. Each + reason may define its own extended details. This field is + optional and the data returned is not guaranteed to conform + to any schema except that defined by the reason type. + properties: + causes: + description: The Causes array includes more details associated + with the StatusReason failure. Not all StatusReasons may + provide detailed causes. + items: + properties: + field: + description: "The field of the resource that has caused + this error, as named by its JSON serialization. + May include dot and postfix notation for nested + attributes. Arrays are zero-indexed. Fields may + appear more than once in an array of causes due + to fields having multiple errors. Optional. \n Examples: + \ \"name\" - the field \"name\" on the current + resource \"items[0].name\" - the field \"name\" + on the first array entry in \"items\"" + type: string + message: + description: A human-readable description of the cause + of the error. This field may be presented as-is + to a reader. + type: string + reason: + description: A machine-readable description of the + cause of the error. If this value is empty there + is no information available. + type: string + type: object + type: array + group: + description: The group attribute of the resource associated + with the status StatusReason. + type: string + kind: + description: 'The kind attribute of the resource associated + with the status StatusReason. On some operations may differ + from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + name: + description: The name attribute of the resource associated + with the status StatusReason (when there is a single name + which can be described). + type: string + retryAfterSeconds: + description: If specified, the time in seconds before the + operation should be retried. Some errors may indicate + the client must take an alternate action - for those errors + this field may indicate how long to wait before taking + the alternate action. + format: int32 + type: integer + uid: + description: 'UID of the resource. (when there is a single + resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids' + type: string + type: object + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint + the client submits requests to. Cannot be updated. In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + message: + description: A human-readable description of the status of this + operation. + type: string + metadata: + description: 'Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + properties: + continue: + description: continue may be set if the user set a limit + on the number of items returned, and indicates that the + server has more data available. The value is opaque and + may be used to issue another request to the endpoint that + served this list to retrieve the next set of available + objects. Continuing a consistent list may not be possible + if the server configuration has changed or more than a + few minutes have passed. The resourceVersion field returned + when using this continue value will be identical to the + value in the first response, unless you have received + this token from an error message. + type: string + resourceVersion: + description: 'String that identifies the server''s internal + version of this object that can be used by clients to + determine when objects have changed. Value must be treated + as opaque by clients and passed unmodified back to the + server. Populated by the system. Read-only. More info: + https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' + type: string + selfLink: + description: selfLink is a URL representing this object. + Populated by the system. Read-only. + type: string + type: object + reason: + description: A machine-readable description of why this operation + is in the "Failure" status. If this value is empty there is + no information available. A Reason clarifies an HTTP status + code but does not override it. + type: string + status: + description: 'Status of the operation. One of: "Success" or + "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' + type: string + type: object + required: + - pending + type: object + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of + replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + managedFields: + description: "ManagedFields maps workflow-id and version to the set + of fields that are managed by that workflow. This is mostly for internal + housekeeping, and users typically shouldn't need to set or understand + this field. A workflow can be the user's name, a controller's name, + or the name of a specific apply path like \"ci-cd\". The set of fields + is always in the version that the workflow used when modifying the + object. \n This field is alpha and can be changed or removed without + notice." + items: + properties: + apiVersion: + description: APIVersion defines the version of this resource that + this field set applies to. The format is "group/version" just + like the top-level APIVersion field. It is necessary to track + the version of a field set because it cannot be automatically + converted. + type: string + fields: + additionalProperties: true + description: Fields identifies a set of fields. + type: object + manager: + description: Manager is an identifier of the workflow managing + these fields. + type: string + operation: + description: Operation is the type of operation which lead to + this ManagedFieldsEntry being created. The only valid values + for this field are 'Apply' and 'Update'. + type: string + time: + description: Time is timestamp of when these fields were set. + It should always be empty if Operation is 'Apply' + format: date-time + type: string + type: object + type: array + name: + description: 'Name must be unique within a namespace. Is required when + creating resources, although some resources may allow a client to + request the generation of an appropriate name automatically. Name + is primarily intended for creation idempotence and configuration definition. + Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + namespace: + description: "Namespace defines the space within each name must be unique. + An empty namespace is equivalent to the \"default\" namespace, but + \"default\" is the canonical representation. Not all objects are required + to be scoped to a namespace - the value of this field for those objects + will be empty. \n Must be a DNS_LABEL. Cannot be updated. More info: + http://kubernetes.io/docs/user-guide/namespaces" + type: string + ownerReferences: + description: List of objects depended by this object. If ALL objects + in the list have been deleted, this object will be garbage collected. + If this object is managed by a controller, then an entry in this list + will point to this controller, with the controller field set to true. + There cannot be more than one managing controller. + items: + properties: + apiVersion: + description: API version of the referent. + type: string + blockOwnerDeletion: + description: If true, AND if the owner has the "foregroundDeletion" + finalizer, then the owner cannot be deleted from the key-value + store until this reference is removed. Defaults to false. To + set this field, a user needs "delete" permission of the owner, + otherwise 422 (Unprocessable Entity) will be returned. + type: boolean + controller: + description: If true, this reference points to the managing controller. + type: boolean + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + uid: + description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' + type: string + required: + - apiVersion + - kind + - name + - uid + type: object + type: array + resourceVersion: + description: "An opaque value that represents the internal version of + this object that can be used by clients to determine when objects + have changed. May be used for optimistic concurrency, change detection, + and the watch operation on a resource or set of resources. Clients + must treat these values as opaque and passed unmodified back to the + server. They may only be valid for a particular resource or set of + resources. \n Populated by the system. Read-only. Value must be treated + as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency" + type: string + selfLink: + description: SelfLink is a URL representing this object. Populated by + the system. Read-only. + type: string + uid: + description: "UID is the unique in time and space value for this object. + It is typically generated by the server on successful creation of + a resource and is not allowed to change on PUT operations. \n Populated + by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + type: string + type: object spec: - description: AppProjectSpec is the specification of an AppProject properties: clusterResourceWhitelist: description: ClusterResourceWhitelist contains list of whitelisted cluster level resources - items: {} + items: + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object type: array description: description: Description contains optional project description @@ -46,8 +408,6 @@ spec: description: Destinations contains list of destinations available for deployment items: - description: ApplicationDestination contains deployment destination - information properties: namespace: description: Namespace overrides the environment namespace value @@ -62,13 +422,21 @@ spec: namespaceResourceBlacklist: description: NamespaceResourceBlacklist contains list of blacklisted namespace level resources - items: {} + items: + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object type: array roles: description: Roles are user defined RBAC roles associated with this project items: - description: ProjectRole represents a role that has access to a project properties: description: description: Description is a description of the role @@ -83,8 +451,6 @@ spec: description: JWTTokens are a list of generated JWT tokens bound to this role items: - description: JWTToken holds the issuedAt and expiresAt values - of a token properties: exp: format: int64 @@ -93,7 +459,7 @@ spec: format: int64 type: integer required: - - iat + - iat type: object type: array name: @@ -106,7 +472,7 @@ spec: type: string type: array required: - - name + - name type: object type: array sourceRepos: @@ -116,5 +482,11 @@ spec: type: string type: array type: object + required: + - metadata + - spec type: object - version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true \ No newline at end of file diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index 6055ac86..f0f784b1 100644 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -3,23 +3,20 @@ applicationController: servicePort: 8082 image: repository: argoproj/argocd - tag: v1.1.2 + tag: v1.2.0 pullPolicy: Always volumeMounts: [] volumes: [] server: containerPort: 8080 + metricsPort: 8083 servicePortHttp: 80 servicePortHttps: 443 serviceAnnotations: {} image: repository: argoproj/argocd - tag: v1.1.2 - pullPolicy: Always - uiInitImage: - repository: argoproj/argocd-ui - tag: v1.1.2 + tag: v1.2.0 pullPolicy: Always extraArgs: [] volumeMounts: [] @@ -31,7 +28,7 @@ repoServer: servicePort: 8081 image: repository: argoproj/argocd - tag: v1.1.2 + tag: v1.2.0 pullPolicy: Always volumeMounts: [] volumes: [] @@ -47,7 +44,7 @@ dexServer: pullPolicy: Always initImage: repository: argoproj/argocd - tag: v1.1.2 + tag: v1.2.0 pullPolicy: Always volumeMounts: [] volumes: []