github.com/argoproj-labs/argocd-operator@v0.10.0/common/keys.go (about)

     1  // Copyright 2020 ArgoCD Operator Developers
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  // 	http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package common
    16  
    17  import (
    18  	corev1 "k8s.io/api/core/v1"
    19  )
    20  
    21  const (
    22  	// ArgoCDKeyAdminEnabled is the configuration key for the admin enabled setting..
    23  	ArgoCDKeyAdminEnabled = "admin.enabled"
    24  
    25  	// ArgoCDKeyApplicationInstanceLabelKey is the configuration key for the application instance label.
    26  	ArgoCDKeyApplicationInstanceLabelKey = "application.instanceLabelKey"
    27  
    28  	// ArgoCDKeyAdminPassword is the admin password key for labels.
    29  	ArgoCDKeyAdminPassword = "admin.password"
    30  
    31  	// ArgoCDKeyAdminPasswordMTime is the admin password last modified key for labels.
    32  	ArgoCDKeyAdminPasswordMTime = "admin.passwordMtime"
    33  
    34  	// ArgoCDKeyBackupKey is the "backup key" key for ConfigMaps.
    35  	ArgoCDKeyBackupKey = "backup.key"
    36  
    37  	// ArgoCDKeyConfigManagementPlugins is the configuration key for config management plugins.
    38  	ArgoCDKeyConfigManagementPlugins = "configManagementPlugins"
    39  
    40  	// ArgoCDKeyComponent is the resource component key for labels.
    41  	ArgoCDKeyComponent = "app.kubernetes.io/component"
    42  
    43  	// ArgoCDKeyDexOAuthRedirectURI is the key for the OAuth Redirect URI annotation.
    44  	ArgoCDKeyDexOAuthRedirectURI = "serviceaccounts.openshift.io/oauth-redirecturi.argocd"
    45  
    46  	// ArgoCDKeyDexConfig is the key for dex configuration.
    47  	ArgoCDKeyDexConfig = "dex.config"
    48  
    49  	// ArgoCDKeyFailureDomainZone is the failure-domain zone key for labels.
    50  	ArgoCDKeyFailureDomainZone = "failure-domain.beta.kubernetes.io/zone"
    51  
    52  	// ArgoCDKeyGATrackingID is the configuration key for the Google  Analytics Tracking ID.
    53  	ArgoCDKeyGATrackingID = "ga.trackingid"
    54  
    55  	// ArgoCDKeyGAAnonymizeUsers is the configuration key for the Google Analytics user anonymization.
    56  	ArgoCDKeyGAAnonymizeUsers = "ga.anonymizeusers"
    57  
    58  	// ArgoCDKeyHelpChatURL is the congifuration key for the help chat URL.
    59  	ArgoCDKeyHelpChatURL = "help.chatUrl"
    60  
    61  	// ArgoCDKeyHelpChatText is the congifuration key for the help chat text.
    62  	ArgoCDKeyHelpChatText = "help.chatText"
    63  
    64  	// ArgoCDKeyHostname is the resource hostname key for labels.
    65  	ArgoCDKeyHostname = "kubernetes.io/hostname"
    66  
    67  	// ArgoCDKeyIngressBackendProtocol is the backend-protocol key for labels.
    68  	ArgoCDKeyIngressBackendProtocol = "nginx.ingress.kubernetes.io/backend-protocol"
    69  
    70  	// ArgoCDKeyIngressClass is the ingress class key for labels.
    71  	ArgoCDKeyIngressClass = "kubernetes.io/ingress.class"
    72  
    73  	// ArgoCDKeyIngressSSLRedirect is the ssl force-redirect key for labels.
    74  	ArgoCDKeyIngressSSLRedirect = "nginx.ingress.kubernetes.io/force-ssl-redirect"
    75  
    76  	// ArgoCDKeyIngressSSLPassthrough is the ssl passthrough key for labels.
    77  	ArgoCDKeyIngressSSLPassthrough = "nginx.ingress.kubernetes.io/ssl-passthrough"
    78  
    79  	// ArgoCDKeyKustomizeBuildOptions is the configuration key for the kustomize build options.
    80  	ArgoCDKeyKustomizeBuildOptions = "kustomize.buildOptions"
    81  
    82  	// ArgoCDKeyMetrics is the resource metrics key for labels.
    83  	ArgoCDKeyMetrics = "metrics"
    84  
    85  	// ArgoCDKeyName is the resource name key for labels.
    86  	ArgoCDKeyName = "app.kubernetes.io/name"
    87  
    88  	// ArgoCDKeyOIDCConfig is the configuration key for the OIDC configuration.
    89  	ArgoCDKeyOIDCConfig = "oidc.config"
    90  
    91  	// ArgoCDKeyPartOf is the resource part-of key for labels.
    92  	ArgoCDKeyPartOf = "app.kubernetes.io/part-of"
    93  
    94  	// ArgoCDKeyManagedBy is the managed-by key for labels.
    95  	ArgoCDKeyManagedBy = "app.kubernetes.io/managed-by"
    96  
    97  	// ArgoCDKeyStatefulSetPodName is the resource StatefulSet Pod Name key for labels.
    98  	ArgoCDKeyStatefulSetPodName = "statefulset.kubernetes.io/pod-name"
    99  
   100  	// ArgoCDKeyPrometheus is the resource prometheus key for labels.
   101  	ArgoCDKeyPrometheus = "prometheus"
   102  
   103  	// ArgoCDKeyRBACPolicyCSV is the configuration key for the Argo CD RBAC policy CSV.
   104  	ArgoCDKeyRBACPolicyCSV = "policy.csv"
   105  
   106  	// ArgoCDKeyRBACPolicyDefault is the configuration key for the Argo CD RBAC default policy.
   107  	ArgoCDKeyRBACPolicyDefault = "policy.default"
   108  
   109  	// ArgoCDKeyRBACScopes is the configuration key for the Argo CD RBAC scopes.
   110  	ArgoCDKeyRBACScopes = "scopes"
   111  
   112  	// ArgoCDKeyRelease is the prometheus release key for labels.
   113  	ArgoCDKeyRelease = "release"
   114  
   115  	// ArgoCDKeyResourceExclusions is the configuration key for resource exclusions.
   116  	ArgoCDKeyResourceExclusions = "resource.exclusions"
   117  
   118  	// ArgoCDKeyResourceInclusions is the configuration key for resource inclusions.
   119  	ArgoCDKeyResourceInclusions = "resource.inclusions"
   120  
   121  	// ArgoCDKeyResourceTrackingMethod is the configuration key for resource tracking method
   122  	ArgoCDKeyResourceTrackingMethod = "application.resourceTrackingMethod"
   123  
   124  	// ArgoCDRepoImageEnvName is the environment variable used to get the image
   125  	// to used for the Dex container.
   126  	ArgoCDRepoImageEnvName = "ARGOCD_REPOSERVER_IMAGE"
   127  
   128  	// ArgoCDKeyRepositories is the configuration key for repositories.
   129  	ArgoCDKeyRepositories = "repositories"
   130  
   131  	// ArgoCDKeyRepositoryCredentials is the configuration key for repository.credentials.
   132  	ArgoCDKeyRepositoryCredentials = "repository.credentials"
   133  
   134  	// ArgoCDKeyServerSecretKey is the server secret key property name for the Argo secret.
   135  	ArgoCDKeyServerSecretKey = "server.secretkey"
   136  
   137  	// ArgoCDKeyServerURL is the key for server url.
   138  	ArgoCDKeyServerURL = "url"
   139  
   140  	// ArgoCDKeySSHKnownHosts is the resource ssh_known_hosts key for labels.
   141  	ArgoCDKeySSHKnownHosts = "ssh_known_hosts"
   142  
   143  	// ArgoCDKeyStatusBadgeEnabled is the configuration key for enabling the status badge.
   144  	ArgoCDKeyStatusBadgeEnabled = "statusbadge.enabled"
   145  
   146  	// ArgoCDKeyBannerContent is the configuration key for a banner message content.
   147  	ArgoCDKeyBannerContent = "ui.bannercontent"
   148  
   149  	// ArgoCDKeyBannerURL is the configuration key for a banner message URL.
   150  	ArgoCDKeyBannerURL = "ui.bannerurl"
   151  
   152  	// ArgoCDKeyTLSCACert is the key for TLS CA certificates.
   153  	ArgoCDKeyTLSCACert = "ca.crt"
   154  
   155  	// ArgoCDKeyTLSCert is the key for TLS certificates.
   156  	ArgoCDKeyTLSCert = corev1.TLSCertKey
   157  
   158  	// ArgoCDKeyTLSPrivateKey is the key for TLS private keys.
   159  	ArgoCDKeyTLSPrivateKey = corev1.TLSPrivateKeyKey
   160  
   161  	// ArgoCDPolicyMatcherMode is the key for matchers function for casbin.
   162  	// There are two options for this, 'glob' for glob matcher or 'regex' for regex matcher.
   163  	ArgoCDPolicyMatcherMode = "policy.matchMode"
   164  
   165  	// ArgoCDKeyTolerateUnreadyEndpounts is the resource tolerate unready endpoints key for labels.
   166  	ArgoCDKeyTolerateUnreadyEndpounts = "service.alpha.kubernetes.io/tolerate-unready-endpoints"
   167  
   168  	// ArgoCDKeyUsersAnonymousEnabled is the configuration key for anonymous user access.
   169  	ArgoCDKeyUsersAnonymousEnabled = "users.anonymous.enabled"
   170  
   171  	// ArgoCDDexImageEnvName is the environment variable used to get the image
   172  	// to used for the Dex container.
   173  	ArgoCDDexImageEnvName = "ARGOCD_DEX_IMAGE"
   174  
   175  	// ArgoCDImageEnvName is the environment variable used to get the image
   176  	// to used for the argocd container.
   177  	ArgoCDImageEnvName = "ARGOCD_IMAGE"
   178  
   179  	// ArgoCDKeycloakImageEnvName is the environment variable used to get the image
   180  	// to used for the Keycloak container.
   181  	ArgoCDKeycloakImageEnvName = "ARGOCD_KEYCLOAK_IMAGE"
   182  
   183  	// ArgoCDRedisHAProxyImageEnvName is the environment variable used to get the image
   184  	// to used for the Redis HA Proxy container.
   185  	ArgoCDRedisHAProxyImageEnvName = "ARGOCD_REDIS_HA_PROXY_IMAGE"
   186  
   187  	// ArgoCDRedisHAImageEnvName is the environment variable used to get the image
   188  	// to used for the the Redis container in HA mode.
   189  	ArgoCDRedisHAImageEnvName = "ARGOCD_REDIS_HA_IMAGE"
   190  
   191  	// ArgoCDRedisImageEnvName is the environment variable used to get the image
   192  	// to used for the Redis container.
   193  	ArgoCDRedisImageEnvName = "ARGOCD_REDIS_IMAGE"
   194  
   195  	// ArgoCDDeletionFinalizer is a finalizer to implement pre-delete hooks
   196  	ArgoCDDeletionFinalizer = "argoproj.io/finalizer"
   197  
   198  	// ArgoCDDefaultServer is the default server address
   199  	ArgoCDDefaultServer = "https://kubernetes.default.svc"
   200  
   201  	// ArgoCDSecretTypeLabel is needed for cluster secrets
   202  	ArgoCDSecretTypeLabel = "argocd.argoproj.io/secret-type"
   203  
   204  	// ArgoCDManagedByLabel is needed to identify namespace managed by an instance on ArgoCD
   205  	ArgoCDManagedByLabel = "argocd.argoproj.io/managed-by"
   206  
   207  	// ArgoCDManagedByClusterArgoCDLabel is needed to identify namespace mentioned as sourceNamespace on ArgoCD
   208  	ArgoCDManagedByClusterArgoCDLabel = "argocd.argoproj.io/managed-by-cluster-argocd"
   209  
   210  	// ArgoCDManagedByClusterArgoCDLabel is needed to identify namespace mentioned as sourceNamespace on ArgoCD
   211  	ArgoCDApplicationSetManagedByClusterArgoCDLabel = "argocd.argoproj.io/applicationset-managed-by-cluster-argocd"
   212  
   213  	// ArgoCDControllerClusterRoleEnvName is an environment variable to specify a custom cluster role for Argo CD application controller
   214  	ArgoCDControllerClusterRoleEnvName = "CONTROLLER_CLUSTER_ROLE"
   215  
   216  	// ArgoCDServerClusterRoleEnvName is an environment variable to specify a custom cluster role for Argo CD server
   217  	ArgoCDServerClusterRoleEnvName = "SERVER_CLUSTER_ROLE"
   218  
   219  	// ArgoCDDexSecretKey is used to reference Dex secret from Argo CD secret into Argo CD configmap
   220  	ArgoCDDexSecretKey = "oidc.dex.clientSecret"
   221  
   222  	// Label Selector is an env variable for ArgoCD instance reconcilliation.
   223  	ArgoCDLabelSelectorKey = "ARGOCD_LABEL_SELECTOR"
   224  )