github.com/verrazzano/verrazzano-monitoring-operator@v0.0.30/pkg/constants/constants.go (about) 1 // Copyright (C) 2020, 2022, Oracle and/or its affiliates. 2 // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. 3 4 package constants 5 6 import ( 7 "time" 8 9 corev1 "k8s.io/api/core/v1" 10 ) 11 12 // DefaultImagePullPolicy default pull policy for images 13 const DefaultImagePullPolicy = corev1.PullIfNotPresent 14 15 // NobodyUID UID for user nobody 16 const NobodyUID = 65534 17 18 // VMOStatus string for status 19 type VMOStatus string 20 21 // Status values for VMO 22 const ( 23 Running = VMOStatus("Running") 24 ) 25 26 // VMOGroup group name for an instance resource 27 const VMOGroup = "verrazzano.io" 28 29 // VMOVersion version of instance resource 30 const VMOVersion = "v1" 31 32 // VMOLabel label for an instance resource 33 const VMOLabel = "vmo." + VMOVersion + "." + VMOGroup 34 35 // VMOKind kind for an instance resource 36 const VMOKind = "VerrazzanoMonitoringInstance" 37 38 // VMOPlural plural name for an instance resource 39 const VMOPlural = "verrazzanomonitoringinstances" 40 41 // VMOFullname full name for an instance resource 42 const VMOFullname = VMOPlural + "." + VMOGroup 43 44 // ServiceAccountName service account name for VMO 45 const ServiceAccountName = "verrazzano-monitoring-operator" 46 47 // RoleBindingForVMOInstance rolebinding name for VMO instance 48 const RoleBindingForVMOInstance = "verrazzano-monitoring-operator" 49 50 // ClusterRoleForVMOInstances clusterrole name for VMO instance 51 const ClusterRoleForVMOInstances = "vmi-cluster-role" 52 53 // ResyncPeriod (re-list time period) for VMO Controller 54 const ResyncPeriod = 30 * time.Second 55 56 // VMOServiceNamePrefix to be applied to all VMO services 57 const VMOServiceNamePrefix = "vmi-" 58 59 // VMODefaultName is the default value (and currently only possible value) for the VMO name 60 const VMODefaultName = "system" 61 62 // VerrazzanoSystemNamespace is the Verrazzano System namespace 63 const VerrazzanoSystemNamespace = "verrazzano-system" 64 65 // StorageVolumeName constant for storage volume 66 const StorageVolumeName = "storage-volume" 67 68 // DefaultNamespace constant for default namespace 69 const DefaultNamespace = "default" 70 71 // ServiceAppLabel label name for service app 72 const ServiceAppLabel = "app" 73 74 // ClusterInitialMasterNodes is the parameter for the OpenSearch cluster initial master nodes 75 const ClusterInitialMasterNodes = "cluster.initial_master_nodes" 76 77 // K8SAppLabel label name for k8s app 78 const K8SAppLabel = "k8s-app" 79 80 // HyperOperatorModeLabel label name for hyper mode 81 const HyperOperatorModeLabel = "hyper-mode" 82 83 // in order to create a VMO one needs to provide a k8s secret with keys 84 // various secrets needed by vmo 85 86 // VMOSecretUsernameField constant for username 87 const VMOSecretUsernameField = "username" 88 89 // VMOSecretPasswordField constant for password 90 const VMOSecretPasswordField = "password" 91 92 // TLSCRTName constant for tls crt 93 const TLSCRTName = "tls.crt" 94 95 // TLSKeyName constant for tls key 96 const TLSKeyName = "tls.key" 97 98 // MetricsNameSpace constant for metrics namespace 99 const MetricsNameSpace = "vmo_operator" 100 101 // OSHTTPPort default OpenSearch HTTP port 102 const OSHTTPPort = 9200 103 104 // OSTransportPort default OpenSearch transport port 105 const OSTransportPort = 9300 106 107 // OSDashboardsHTTPPort default OpenSearch Dashboards HTTP port 108 const OSDashboardsHTTPPort = 5601 109 110 // OidcProxyPort default OidcProxy HTTP port 111 const OidcProxyPort = 8775 112 113 // DefaultDevProfileESMemArgs default Elasticsearch dev mode memory settings 114 const DefaultDevProfileESMemArgs = "-Xms700m -Xmx700m" 115 116 // DefaultESIngestMemArgs default Elasticsearch IngestNodes memory settings 117 const DefaultESIngestMemArgs = "-Xms2g -Xmx2g" 118 119 // DefaultESDataMemArgs default Elasticsearch DataNodes memory settings 120 const DefaultESDataMemArgs = "-Xms4g -Xmx4g" 121 122 // K8sTaintNoScheduleEffect constant for Noschedule 123 const K8sTaintNoScheduleEffect = "NoSchedule" 124 125 // K8sReadyCondition constant for Ready 126 const K8sReadyCondition = "Ready" 127 128 // K8sZoneLabel constant used for affinity 129 const K8sZoneLabel = "failure-domain.beta.kubernetes.io/zone" 130 131 // DashboardConfig dashboards config 132 const DashboardConfig = "dashboards" 133 134 // DatasourceConfig dashboard datasource config 135 const DatasourceConfig = "datasource" 136 137 // ExternalDNSTTLSeconds value used for ingress annotation 138 const ExternalDNSTTLSeconds = 60 139 140 // NginxClientMaxBodySize value used for ingress annotation 141 const NginxClientMaxBodySize = "6M" 142 143 // NginxProxyReadTimeoutForKibana value used for ingress annotation 144 const NginxProxyReadTimeoutForKibana = "210s" 145 146 // DefaultElasticsearchDataReplicas default replicas for ESData 147 const DefaultElasticsearchDataReplicas = 1 148 149 // DefaultElasticsearchMasterReplicas default replicas for ESMaster 150 const DefaultElasticsearchMasterReplicas = 1 151 152 // DefaultElasticsearchIngestReplicas default replicas for ESIngest 153 const DefaultElasticsearchIngestReplicas = 1 154 155 // Storage-related constants 156 157 // OciFlexVolumeProvisioner flex volume provisioner for OCI 158 const OciFlexVolumeProvisioner = "oracle.com/oci" 159 160 // OciAvailabilityDomainLabel availability domain for OCI 161 const OciAvailabilityDomainLabel = "oci-availability-domain" 162 163 // K8sDefaultStorageClassAnnotation annotation for default storage class 164 const K8sDefaultStorageClassAnnotation = "storageclass.kubernetes.io/is-default-class" 165 166 // K8sDefaultStorageClassBetaAnnotation annotation for default storage class beta flavor 167 const K8sDefaultStorageClassBetaAnnotation = "storageclass.beta.kubernetes.io/is-default-class" 168 169 // MonitoringNamespace Monitoring namespace 170 const MonitoringNamespace = "monitoring" 171 172 // MCRegistrationSecret - the name of the secret that contains the cluster registration information 173 const MCRegistrationSecret = "verrazzano-cluster-registration" //nolint:gosec //#gosec G101 174 175 // MCLocalRegistrationSecret - the name of the secret that contains the local cluster info (used when the cluster 176 // is not registered as a managed cluster) 177 const MCLocalRegistrationSecret = "verrazzano-local-registration" //nolint:gosec //#gosec G101 178 179 // ClusterNameData - the field name in MCRegistrationSecret that contains this managed cluster's name 180 const ClusterNameData = "managed-cluster-name" 181 182 // KeycloakURLData - the field name in MCRegistrationSecret that contains the admin cluster's Keycloak endpoint's URL 183 const KeycloakURLData = "keycloak-url" 184 185 // KeycloakCABundleData - the field name in MCRegistrationSecret that contains the admin cluster's Keycloak ca-bundle 186 const KeycloakCABundleData = "ca-bundle" 187 188 // GrafanaAdminSecret is the name of the secret used to to start Grafana 189 const GrafanaAdminSecret = "grafana-admin" //nolint:gosec //#gosec G101 190 191 const ( 192 // Constants required for updating Opensearch keystore 193 VerrazzanoBackupScrtName = "verrazzano-backup" 194 ObjectStoreAccessKeyVarName = "OBJECT_STORE_ACCESS_KEY_ID" 195 ObjectStoreAccessKey = "object_store_access_key" 196 ObjectStoreCustomerKeyVarName = "OBJECT_STORE_SECRET_KEY_ID" 197 ObjectStoreCustomerKey = "object_store_secret_key" 198 ) 199 200 // ComponentLabel - the label for a specific component 201 const ComponentLabel = "verrazzano-component" 202 203 // ComponentOpenSearchValue - the value for opensearch component 204 const ComponentOpenSearchValue = "opensearch" 205 206 // NodeGroupLabel for specifying a node's group 207 const NodeGroupLabel = "node-group"