github.com/argoproj-labs/argocd-operator@v0.10.0/deploy/olm-catalog/argocd-operator/0.0.14/argoproj.io_argocds_crd.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1beta1 2 kind: CustomResourceDefinition 3 metadata: 4 name: argocds.argoproj.io 5 spec: 6 group: argoproj.io 7 names: 8 kind: ArgoCD 9 listKind: ArgoCDList 10 plural: argocds 11 singular: argocd 12 scope: Namespaced 13 subresources: 14 status: {} 15 validation: 16 openAPIV3Schema: 17 description: ArgoCD is the Schema for the argocds API 18 properties: 19 apiVersion: 20 description: 'APIVersion defines the versioned schema of this representation 21 of an object. Servers should convert recognized schemas to the latest 22 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 23 type: string 24 kind: 25 description: 'Kind is a string value representing the REST resource this 26 object represents. Servers may infer this from the endpoint the client 27 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 28 type: string 29 metadata: 30 type: object 31 spec: 32 description: ArgoCDSpec defines the desired state of ArgoCD 33 properties: 34 applicationInstanceLabelKey: 35 description: ApplicationInstanceLabelKey is the key name where Argo 36 CD injects the app name as a tracking label. 37 type: string 38 configManagementPlugins: 39 description: ConfigManagementPlugins is used to specify additional config 40 management plugins. 41 type: string 42 controller: 43 description: Controller defines the Application Controller options for 44 ArgoCD. 45 properties: 46 appSync: 47 description: "AppSync is used to control the sync frequency, by 48 default the ArgoCD controller polls Git every 3m by default. \n 49 Set this to a duration, e.g. 10m or 600s to control the synchronisation 50 frequency." 51 type: string 52 processors: 53 description: Processors contains the options for the Application 54 Controller processors. 55 properties: 56 operation: 57 description: Operation is the number of application operation 58 processors. 59 format: int32 60 type: integer 61 status: 62 description: Status is the number of application status processors. 63 format: int32 64 type: integer 65 type: object 66 resources: 67 description: Resources defines the Compute Resources required by 68 the container for the Application Controller. 69 properties: 70 limits: 71 additionalProperties: 72 anyOf: 73 - type: integer 74 - type: string 75 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 76 x-kubernetes-int-or-string: true 77 description: 'Limits describes the maximum amount of compute 78 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 79 type: object 80 requests: 81 additionalProperties: 82 anyOf: 83 - type: integer 84 - type: string 85 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 86 x-kubernetes-int-or-string: true 87 description: 'Requests describes the minimum amount of compute 88 resources required. If Requests is omitted for a container, 89 it defaults to Limits if that is explicitly specified, otherwise 90 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 91 type: object 92 type: object 93 type: object 94 dex: 95 description: Dex defines the Dex server options for ArgoCD. 96 properties: 97 config: 98 description: Config is the dex connector configuration. 99 type: string 100 image: 101 description: Image is the Dex container image. 102 type: string 103 openShiftOAuth: 104 description: OpenShiftOAuth enables OpenShift OAuth authentication 105 for the Dex server. 106 type: boolean 107 resources: 108 description: Resources defines the Compute Resources required by 109 the container for Dex. 110 properties: 111 limits: 112 additionalProperties: 113 anyOf: 114 - type: integer 115 - type: string 116 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 117 x-kubernetes-int-or-string: true 118 description: 'Limits describes the maximum amount of compute 119 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 120 type: object 121 requests: 122 additionalProperties: 123 anyOf: 124 - type: integer 125 - type: string 126 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 127 x-kubernetes-int-or-string: true 128 description: 'Requests describes the minimum amount of compute 129 resources required. If Requests is omitted for a container, 130 it defaults to Limits if that is explicitly specified, otherwise 131 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 132 type: object 133 type: object 134 version: 135 description: Version is the Dex container image tag. 136 type: string 137 type: object 138 gaAnonymizeUsers: 139 description: GAAnonymizeUsers toggles user IDs being hashed before sending 140 to google analytics. 141 type: boolean 142 gaTrackingID: 143 description: GATrackingID is the google analytics tracking ID to use. 144 type: string 145 grafana: 146 description: Grafana defines the Grafana server options for ArgoCD. 147 properties: 148 enabled: 149 description: Enabled will toggle Grafana support globally for ArgoCD. 150 type: boolean 151 host: 152 description: Host is the hostname to use for Ingress/Route resources. 153 type: string 154 image: 155 description: Image is the Grafana container image. 156 type: string 157 ingress: 158 description: Ingress defines the desired state for an Ingress for 159 the Grafana component. 160 properties: 161 annotations: 162 additionalProperties: 163 type: string 164 description: Annotations is the map of annotations to apply 165 to the Ingress. 166 type: object 167 enabled: 168 description: Enabled will toggle the creation of the Ingress. 169 type: boolean 170 path: 171 description: Path used for the Ingress resource. 172 type: string 173 tls: 174 description: TLS configuration. Currently the Ingress only supports 175 a single TLS port, 443. If multiple members of this list specify 176 different hosts, they will be multiplexed on the same port 177 according to the hostname specified through the SNI TLS extension, 178 if the ingress controller fulfilling the ingress supports 179 SNI. 180 items: 181 description: IngressTLS describes the transport layer security 182 associated with an Ingress. 183 properties: 184 hosts: 185 description: Hosts are a list of hosts included in the 186 TLS certificate. The values in this list must match 187 the name/s used in the tlsSecret. Defaults to the wildcard 188 host setting for the loadbalancer controller fulfilling 189 this Ingress, if left unspecified. 190 items: 191 type: string 192 type: array 193 secretName: 194 description: SecretName is the name of the secret used 195 to terminate SSL traffic on 443. Field is left optional 196 to allow SSL routing based on SNI hostname alone. If 197 the SNI host in a listener conflicts with the "Host" 198 header field used by an IngressRule, the SNI host is 199 used for termination and value of the Host header is 200 used for routing. 201 type: string 202 type: object 203 type: array 204 required: 205 - enabled 206 type: object 207 resources: 208 description: Resources defines the Compute Resources required by 209 the container for Grafana. 210 properties: 211 limits: 212 additionalProperties: 213 anyOf: 214 - type: integer 215 - type: string 216 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 217 x-kubernetes-int-or-string: true 218 description: 'Limits describes the maximum amount of compute 219 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 220 type: object 221 requests: 222 additionalProperties: 223 anyOf: 224 - type: integer 225 - type: string 226 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 227 x-kubernetes-int-or-string: true 228 description: 'Requests describes the minimum amount of compute 229 resources required. If Requests is omitted for a container, 230 it defaults to Limits if that is explicitly specified, otherwise 231 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 232 type: object 233 type: object 234 route: 235 description: Route defines the desired state for an OpenShift Route 236 for the Grafana component. 237 properties: 238 annotations: 239 additionalProperties: 240 type: string 241 description: Annotations is the map of annotations to use for 242 the Route resource. 243 type: object 244 enabled: 245 description: Enabled will toggle the creation of the OpenShift 246 Route. 247 type: boolean 248 path: 249 description: Path the router watches for, to route traffic for 250 to the service. 251 type: string 252 tls: 253 description: TLS provides the ability to configure certificates 254 and termination for the Route. 255 properties: 256 caCertificate: 257 description: caCertificate provides the cert authority certificate 258 contents 259 type: string 260 certificate: 261 description: certificate provides certificate contents 262 type: string 263 destinationCACertificate: 264 description: destinationCACertificate provides the contents 265 of the ca certificate of the final destination. When 266 using reencrypt termination this file should be provided 267 in order to have routers use it for health checks on the 268 secure connection. If this field is not specified, the 269 router may provide its own destination CA and perform 270 hostname validation using the short service name (service.namespace.svc), 271 which allows infrastructure generated certificates to 272 automatically verify. 273 type: string 274 insecureEdgeTerminationPolicy: 275 description: "insecureEdgeTerminationPolicy indicates the 276 desired behavior for insecure connections to a route. 277 While each router may make its own decisions on which 278 ports to expose, this is normally port 80. \n * Allow 279 - traffic is sent to the server on the insecure port (default) 280 * Disable - no traffic is allowed on the insecure port. 281 * Redirect - clients are redirected to the secure port." 282 type: string 283 key: 284 description: key provides key file contents 285 type: string 286 termination: 287 description: termination indicates termination type. 288 type: string 289 required: 290 - termination 291 type: object 292 wildcardPolicy: 293 description: WildcardPolicy if any for the route. Currently 294 only 'Subdomain' or 'None' is allowed. 295 type: string 296 required: 297 - enabled 298 type: object 299 size: 300 description: Size is the replica count for the Grafana Deployment. 301 format: int32 302 type: integer 303 version: 304 description: Version is the Grafana container image tag. 305 type: string 306 required: 307 - enabled 308 type: object 309 ha: 310 description: HA options for High Availability support for the Redis 311 component. 312 properties: 313 enabled: 314 description: Enabled will toggle HA support globally for Argo CD. 315 type: boolean 316 redisProxyImage: 317 description: RedisProxyImage is the Redis HAProxy container image. 318 type: string 319 redisProxyVersion: 320 description: RedisProxyVersion is the Redis HAProxy container image 321 tag. 322 type: string 323 required: 324 - enabled 325 type: object 326 helpChatText: 327 description: HelpChatText is the text for getting chat help, defaults 328 to "Chat now!" 329 type: string 330 helpChatURL: 331 description: HelpChatURL is the URL for getting chat help, this will 332 typically be your Slack channel for support. 333 type: string 334 image: 335 description: Image is the ArgoCD container image for all ArgoCD components. 336 type: string 337 import: 338 description: Import is the import/restore options for ArgoCD. 339 properties: 340 name: 341 description: Name of an ArgoCDExport from which to import data. 342 type: string 343 namespace: 344 description: Namespace for the ArgoCDExport, defaults to the same 345 namespace as the ArgoCD. 346 type: string 347 required: 348 - name 349 type: object 350 initialRepositories: 351 description: InitialRepositories to configure Argo CD with upon creation 352 of the cluster. 353 type: string 354 initialSSHKnownHosts: 355 description: InitialSSHKnownHosts defines the SSH known hosts data upon 356 creation of the cluster for connecting Git repositories via SSH. 357 properties: 358 excludedefaulthosts: 359 description: ExcludeDefaultHosts describes whether you would like 360 to include the default list of SSH Known Hosts provided by ArgoCD. 361 type: boolean 362 keys: 363 description: Keys describes a custom set of SSH Known Hosts that 364 you would like to have included in your ArgoCD server. 365 type: string 366 type: object 367 kustomizeBuildOptions: 368 description: KustomizeBuildOptions is used to specify build options/parameters 369 to use with `kustomize build`. 370 type: string 371 oidcConfig: 372 description: OIDCConfig is the OIDC configuration as an alternative 373 to dex. 374 type: string 375 prometheus: 376 description: Prometheus defines the Prometheus server options for ArgoCD. 377 properties: 378 enabled: 379 description: Enabled will toggle Prometheus support globally for 380 ArgoCD. 381 type: boolean 382 host: 383 description: Host is the hostname to use for Ingress/Route resources. 384 type: string 385 ingress: 386 description: Ingress defines the desired state for an Ingress for 387 the Prometheus component. 388 properties: 389 annotations: 390 additionalProperties: 391 type: string 392 description: Annotations is the map of annotations to apply 393 to the Ingress. 394 type: object 395 enabled: 396 description: Enabled will toggle the creation of the Ingress. 397 type: boolean 398 path: 399 description: Path used for the Ingress resource. 400 type: string 401 tls: 402 description: TLS configuration. Currently the Ingress only supports 403 a single TLS port, 443. If multiple members of this list specify 404 different hosts, they will be multiplexed on the same port 405 according to the hostname specified through the SNI TLS extension, 406 if the ingress controller fulfilling the ingress supports 407 SNI. 408 items: 409 description: IngressTLS describes the transport layer security 410 associated with an Ingress. 411 properties: 412 hosts: 413 description: Hosts are a list of hosts included in the 414 TLS certificate. The values in this list must match 415 the name/s used in the tlsSecret. Defaults to the wildcard 416 host setting for the loadbalancer controller fulfilling 417 this Ingress, if left unspecified. 418 items: 419 type: string 420 type: array 421 secretName: 422 description: SecretName is the name of the secret used 423 to terminate SSL traffic on 443. Field is left optional 424 to allow SSL routing based on SNI hostname alone. If 425 the SNI host in a listener conflicts with the "Host" 426 header field used by an IngressRule, the SNI host is 427 used for termination and value of the Host header is 428 used for routing. 429 type: string 430 type: object 431 type: array 432 required: 433 - enabled 434 type: object 435 route: 436 description: Route defines the desired state for an OpenShift Route 437 for the Prometheus component. 438 properties: 439 annotations: 440 additionalProperties: 441 type: string 442 description: Annotations is the map of annotations to use for 443 the Route resource. 444 type: object 445 enabled: 446 description: Enabled will toggle the creation of the OpenShift 447 Route. 448 type: boolean 449 path: 450 description: Path the router watches for, to route traffic for 451 to the service. 452 type: string 453 tls: 454 description: TLS provides the ability to configure certificates 455 and termination for the Route. 456 properties: 457 caCertificate: 458 description: caCertificate provides the cert authority certificate 459 contents 460 type: string 461 certificate: 462 description: certificate provides certificate contents 463 type: string 464 destinationCACertificate: 465 description: destinationCACertificate provides the contents 466 of the ca certificate of the final destination. When 467 using reencrypt termination this file should be provided 468 in order to have routers use it for health checks on the 469 secure connection. If this field is not specified, the 470 router may provide its own destination CA and perform 471 hostname validation using the short service name (service.namespace.svc), 472 which allows infrastructure generated certificates to 473 automatically verify. 474 type: string 475 insecureEdgeTerminationPolicy: 476 description: "insecureEdgeTerminationPolicy indicates the 477 desired behavior for insecure connections to a route. 478 While each router may make its own decisions on which 479 ports to expose, this is normally port 80. \n * Allow 480 - traffic is sent to the server on the insecure port (default) 481 * Disable - no traffic is allowed on the insecure port. 482 * Redirect - clients are redirected to the secure port." 483 type: string 484 key: 485 description: key provides key file contents 486 type: string 487 termination: 488 description: termination indicates termination type. 489 type: string 490 required: 491 - termination 492 type: object 493 wildcardPolicy: 494 description: WildcardPolicy if any for the route. Currently 495 only 'Subdomain' or 'None' is allowed. 496 type: string 497 required: 498 - enabled 499 type: object 500 size: 501 description: Size is the replica count for the Prometheus StatefulSet. 502 format: int32 503 type: integer 504 required: 505 - enabled 506 type: object 507 rbac: 508 description: RBAC defines the RBAC configuration for Argo CD. 509 properties: 510 defaultPolicy: 511 description: DefaultPolicy is the name of the default role which 512 Argo CD will falls back to, when authorizing API requests (optional). 513 If omitted or empty, users may be still be able to login, but 514 will see no apps, projects, etc... 515 type: string 516 policy: 517 description: 'Policy is CSV containing user-defined RBAC policies 518 and role definitions. Policy rules are in the form: p, subject, 519 resource, action, object, effect Role definitions and bindings 520 are in the form: g, subject, inherited-subject See https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md 521 for additional information.' 522 type: string 523 scopes: 524 description: 'Scopes controls which OIDC scopes to examine during 525 rbac enforcement (in addition to `sub` scope). If omitted, defaults 526 to: ''[groups]''.' 527 type: string 528 type: object 529 redis: 530 description: Redis defines the Redis server options for ArgoCD. 531 properties: 532 image: 533 description: Image is the Redis container image. 534 type: string 535 resources: 536 description: Resources defines the Compute Resources required by 537 the container for Redis. 538 properties: 539 limits: 540 additionalProperties: 541 anyOf: 542 - type: integer 543 - type: string 544 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 545 x-kubernetes-int-or-string: true 546 description: 'Limits describes the maximum amount of compute 547 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 548 type: object 549 requests: 550 additionalProperties: 551 anyOf: 552 - type: integer 553 - type: string 554 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 555 x-kubernetes-int-or-string: true 556 description: 'Requests describes the minimum amount of compute 557 resources required. If Requests is omitted for a container, 558 it defaults to Limits if that is explicitly specified, otherwise 559 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 560 type: object 561 type: object 562 version: 563 description: Version is the Redis container image tag. 564 type: string 565 type: object 566 repo: 567 description: Repo defines the repo server options for Argo CD. 568 properties: 569 mountsatoken: 570 description: MountSAToken describes whether you would like to have 571 the Repo server mount the service account token 572 type: boolean 573 resources: 574 description: Resources defines the Compute Resources required by 575 the container for Redis. 576 properties: 577 limits: 578 additionalProperties: 579 anyOf: 580 - type: integer 581 - type: string 582 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 583 x-kubernetes-int-or-string: true 584 description: 'Limits describes the maximum amount of compute 585 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 586 type: object 587 requests: 588 additionalProperties: 589 anyOf: 590 - type: integer 591 - type: string 592 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 593 x-kubernetes-int-or-string: true 594 description: 'Requests describes the minimum amount of compute 595 resources required. If Requests is omitted for a container, 596 it defaults to Limits if that is explicitly specified, otherwise 597 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 598 type: object 599 type: object 600 serviceaccount: 601 description: ServiceAccount defines the ServiceAccount user that 602 you would like the Repo server to use 603 type: string 604 type: object 605 repositoryCredentials: 606 description: RepositoryCredentials are the Git pull credentials to configure 607 Argo CD with upon creation of the cluster. 608 type: string 609 resourceCustomizations: 610 description: 'ResourceCustomizations customizes resource behavior. Keys 611 are in the form: group/Kind.' 612 type: string 613 resourceExclusions: 614 description: ResourceExclusions is used to completely ignore entire 615 classes of resource group/kinds. 616 type: string 617 resourceInclusions: 618 description: ResourceInclusions is used to only include specific group/kinds 619 in the reconciliation process. 620 type: string 621 server: 622 description: Server defines the options for the ArgoCD Server component. 623 properties: 624 autoscale: 625 description: Autoscale defines the autoscale options for the Argo 626 CD Server component. 627 properties: 628 enabled: 629 description: Enabled will toggle autoscaling support for the 630 Argo CD Server component. 631 type: boolean 632 hpa: 633 description: HPA defines the HorizontalPodAutoscaler options 634 for the Argo CD Server component. 635 properties: 636 maxReplicas: 637 description: upper limit for the number of pods that can 638 be set by the autoscaler; cannot be smaller than MinReplicas. 639 format: int32 640 type: integer 641 minReplicas: 642 description: minReplicas is the lower limit for the number 643 of replicas to which the autoscaler can scale down. It 644 defaults to 1 pod. minReplicas is allowed to be 0 if 645 the alpha feature gate HPAScaleToZero is enabled and at 646 least one Object or External metric is configured. Scaling 647 is active as long as at least one metric value is available. 648 format: int32 649 type: integer 650 scaleTargetRef: 651 description: reference to scaled resource; horizontal pod 652 autoscaler will learn the current resource consumption 653 and will set the desired number of pods by using its Scale 654 subresource. 655 properties: 656 apiVersion: 657 description: API version of the referent 658 type: string 659 kind: 660 description: 'Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"' 661 type: string 662 name: 663 description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' 664 type: string 665 required: 666 - kind 667 - name 668 type: object 669 targetCPUUtilizationPercentage: 670 description: target average CPU utilization (represented 671 as a percentage of requested CPU) over all the pods; if 672 not specified the default autoscaling policy will be used. 673 format: int32 674 type: integer 675 required: 676 - maxReplicas 677 - scaleTargetRef 678 type: object 679 required: 680 - enabled 681 type: object 682 grpc: 683 description: GRPC defines the state for the Argo CD Server GRPC 684 options. 685 properties: 686 host: 687 description: Host is the hostname to use for Ingress/Route resources. 688 type: string 689 ingress: 690 description: Ingress defines the desired state for the Argo 691 CD Server GRPC Ingress. 692 properties: 693 annotations: 694 additionalProperties: 695 type: string 696 description: Annotations is the map of annotations to apply 697 to the Ingress. 698 type: object 699 enabled: 700 description: Enabled will toggle the creation of the Ingress. 701 type: boolean 702 path: 703 description: Path used for the Ingress resource. 704 type: string 705 tls: 706 description: TLS configuration. Currently the Ingress only 707 supports a single TLS port, 443. If multiple members of 708 this list specify different hosts, they will be multiplexed 709 on the same port according to the hostname specified through 710 the SNI TLS extension, if the ingress controller fulfilling 711 the ingress supports SNI. 712 items: 713 description: IngressTLS describes the transport layer 714 security associated with an Ingress. 715 properties: 716 hosts: 717 description: Hosts are a list of hosts included in 718 the TLS certificate. The values in this list must 719 match the name/s used in the tlsSecret. Defaults 720 to the wildcard host setting for the loadbalancer 721 controller fulfilling this Ingress, if left unspecified. 722 items: 723 type: string 724 type: array 725 secretName: 726 description: SecretName is the name of the secret 727 used to terminate SSL traffic on 443. Field is left 728 optional to allow SSL routing based on SNI hostname 729 alone. If the SNI host in a listener conflicts with 730 the "Host" header field used by an IngressRule, 731 the SNI host is used for termination and value of 732 the Host header is used for routing. 733 type: string 734 type: object 735 type: array 736 required: 737 - enabled 738 type: object 739 type: object 740 host: 741 description: Host is the hostname to use for Ingress/Route resources. 742 type: string 743 ingress: 744 description: Ingress defines the desired state for an Ingress for 745 the Argo CD Server component. 746 properties: 747 annotations: 748 additionalProperties: 749 type: string 750 description: Annotations is the map of annotations to apply 751 to the Ingress. 752 type: object 753 enabled: 754 description: Enabled will toggle the creation of the Ingress. 755 type: boolean 756 path: 757 description: Path used for the Ingress resource. 758 type: string 759 tls: 760 description: TLS configuration. Currently the Ingress only supports 761 a single TLS port, 443. If multiple members of this list specify 762 different hosts, they will be multiplexed on the same port 763 according to the hostname specified through the SNI TLS extension, 764 if the ingress controller fulfilling the ingress supports 765 SNI. 766 items: 767 description: IngressTLS describes the transport layer security 768 associated with an Ingress. 769 properties: 770 hosts: 771 description: Hosts are a list of hosts included in the 772 TLS certificate. The values in this list must match 773 the name/s used in the tlsSecret. Defaults to the wildcard 774 host setting for the loadbalancer controller fulfilling 775 this Ingress, if left unspecified. 776 items: 777 type: string 778 type: array 779 secretName: 780 description: SecretName is the name of the secret used 781 to terminate SSL traffic on 443. Field is left optional 782 to allow SSL routing based on SNI hostname alone. If 783 the SNI host in a listener conflicts with the "Host" 784 header field used by an IngressRule, the SNI host is 785 used for termination and value of the Host header is 786 used for routing. 787 type: string 788 type: object 789 type: array 790 required: 791 - enabled 792 type: object 793 insecure: 794 description: Insecure toggles the insecure flag. 795 type: boolean 796 resources: 797 description: Resources defines the Compute Resources required by 798 the container for the Argo CD server component. 799 properties: 800 limits: 801 additionalProperties: 802 anyOf: 803 - type: integer 804 - type: string 805 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 806 x-kubernetes-int-or-string: true 807 description: 'Limits describes the maximum amount of compute 808 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 809 type: object 810 requests: 811 additionalProperties: 812 anyOf: 813 - type: integer 814 - type: string 815 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 816 x-kubernetes-int-or-string: true 817 description: 'Requests describes the minimum amount of compute 818 resources required. If Requests is omitted for a container, 819 it defaults to Limits if that is explicitly specified, otherwise 820 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 821 type: object 822 type: object 823 route: 824 description: Route defines the desired state for an OpenShift Route 825 for the Argo CD Server component. 826 properties: 827 annotations: 828 additionalProperties: 829 type: string 830 description: Annotations is the map of annotations to use for 831 the Route resource. 832 type: object 833 enabled: 834 description: Enabled will toggle the creation of the OpenShift 835 Route. 836 type: boolean 837 path: 838 description: Path the router watches for, to route traffic for 839 to the service. 840 type: string 841 tls: 842 description: TLS provides the ability to configure certificates 843 and termination for the Route. 844 properties: 845 caCertificate: 846 description: caCertificate provides the cert authority certificate 847 contents 848 type: string 849 certificate: 850 description: certificate provides certificate contents 851 type: string 852 destinationCACertificate: 853 description: destinationCACertificate provides the contents 854 of the ca certificate of the final destination. When 855 using reencrypt termination this file should be provided 856 in order to have routers use it for health checks on the 857 secure connection. If this field is not specified, the 858 router may provide its own destination CA and perform 859 hostname validation using the short service name (service.namespace.svc), 860 which allows infrastructure generated certificates to 861 automatically verify. 862 type: string 863 insecureEdgeTerminationPolicy: 864 description: "insecureEdgeTerminationPolicy indicates the 865 desired behavior for insecure connections to a route. 866 While each router may make its own decisions on which 867 ports to expose, this is normally port 80. \n * Allow 868 - traffic is sent to the server on the insecure port (default) 869 * Disable - no traffic is allowed on the insecure port. 870 * Redirect - clients are redirected to the secure port." 871 type: string 872 key: 873 description: key provides key file contents 874 type: string 875 termination: 876 description: termination indicates termination type. 877 type: string 878 required: 879 - termination 880 type: object 881 wildcardPolicy: 882 description: WildcardPolicy if any for the route. Currently 883 only 'Subdomain' or 'None' is allowed. 884 type: string 885 required: 886 - enabled 887 type: object 888 service: 889 description: Service defines the options for the Service backing 890 the ArgoCD Server component. 891 properties: 892 type: 893 description: Type is the ServiceType to use for the Service 894 resource. 895 type: string 896 required: 897 - type 898 type: object 899 type: object 900 statusBadgeEnabled: 901 description: StatusBadgeEnabled toggles application status badge feature. 902 type: boolean 903 tls: 904 description: TLS defines the TLS options for ArgoCD. 905 properties: 906 ca: 907 description: CA defines the CA options. 908 properties: 909 configMapName: 910 description: ConfigMapName is the name of the ConfigMap containing 911 the CA Certificate. 912 type: string 913 secretName: 914 description: SecretName is the name of the Secret containing 915 the CA Certificate and Key. 916 type: string 917 type: object 918 initialCerts: 919 additionalProperties: 920 type: string 921 description: InitialCerts defines custom TLS certificates upon creation 922 of the cluster for connecting Git repositories via HTTPS. 923 type: object 924 type: object 925 usersAnonymousEnabled: 926 description: UsersAnonymousEnabled toggles anonymous user access. The 927 anonymous users get default role permissions specified argocd-rbac-cm. 928 type: boolean 929 version: 930 description: Version is the tag to use with the ArgoCD container image 931 for all ArgoCD components. 932 type: string 933 type: object 934 status: 935 description: ArgoCDStatus defines the observed state of ArgoCD 936 properties: 937 applicationController: 938 description: 'ApplicationController is a simple, high-level summary 939 of where the Argo CD application controller component is in its lifecycle. 940 There are five possible ApplicationController values: Pending: The 941 Argo CD application controller component has been accepted by the 942 Kubernetes system, but one or more of the required resources have 943 not been created. Running: All of the required Pods for the Argo CD 944 application controller component are in a Ready state. Failed: At 945 least one of the Argo CD application controller component Pods had 946 a failure. Unknown: For some reason the state of the Argo CD application 947 controller component could not be obtained.' 948 type: string 949 dex: 950 description: 'Dex is a simple, high-level summary of where the Argo 951 CD Dex component is in its lifecycle. There are five possible dex 952 values: Pending: The Argo CD Dex component has been accepted by the 953 Kubernetes system, but one or more of the required resources have 954 not been created. Running: All of the required Pods for the Argo CD 955 Dex component are in a Ready state. Failed: At least one of the Argo 956 CD Dex component Pods had a failure. Unknown: For some reason the 957 state of the Argo CD Dex component could not be obtained.' 958 type: string 959 phase: 960 description: 'Phase is a simple, high-level summary of where the ArgoCD 961 is in its lifecycle. There are five possible phase values: Pending: 962 The ArgoCD has been accepted by the Kubernetes system, but one or 963 more of the required resources have not been created. Available: All 964 of the resources for the ArgoCD are ready. Failed: At least one resource 965 has experienced a failure. Unknown: For some reason the state of the 966 ArgoCD phase could not be obtained.' 967 type: string 968 redis: 969 description: 'Redis is a simple, high-level summary of where the Argo 970 CD Redis component is in its lifecycle. There are five possible redis 971 values: Pending: The Argo CD Redis component has been accepted by 972 the Kubernetes system, but one or more of the required resources have 973 not been created. Running: All of the required Pods for the Argo CD 974 Redis component are in a Ready state. Failed: At least one of the Argo 975 CD Redis component Pods had a failure. Unknown: For some reason the 976 state of the Argo CD Redis component could not be obtained.' 977 type: string 978 repo: 979 description: 'Repo is a simple, high-level summary of where the Argo 980 CD Repo component is in its lifecycle. There are five possible repo 981 values: Pending: The Argo CD Repo component has been accepted by the 982 Kubernetes system, but one or more of the required resources have 983 not been created. Running: All of the required Pods for the Argo CD 984 Repo component are in a Ready state. Failed: At least one of the Argo 985 CD Repo component Pods had a failure. Unknown: For some reason the 986 state of the Argo CD Repo component could not be obtained.' 987 type: string 988 server: 989 description: 'Server is a simple, high-level summary of where the Argo 990 CD server component is in its lifecycle. There are five possible server 991 values: Pending: The Argo CD server component has been accepted by 992 the Kubernetes system, but one or more of the required resources have 993 not been created. Running: All of the required Pods for the Argo CD 994 server component are in a Ready state. Failed: At least one of the Argo 995 CD server component Pods had a failure. Unknown: For some reason the 996 state of the Argo CD server component could not be obtained.' 997 type: string 998 type: object 999 type: object 1000 version: v1alpha1 1001 versions: 1002 - name: v1alpha1 1003 served: true 1004 storage: true