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"