github.com/gravitational/teleport/api@v0.0.0-20240507183017-3110591cbafc/types/common/constants.go (about)

     1  /*
     2  Copyright 2023 Gravitational, Inc.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package common
    18  
    19  const (
    20  	// TeleportNamespace is used as the namespace prefix for labels defined by Teleport which can
    21  	// carry metadata such as cloud AWS account or instance. Those labels can be used for RBAC.
    22  	//
    23  	// If a label with this prefix is used in a config file, the associated feature must take into
    24  	// account that the label might be removed, modified or could have been set by the user.
    25  	//
    26  	// See also types.TeleportInternalLabelPrefix and types.TeleportHiddenLabelPrefix.
    27  	TeleportNamespace = "teleport.dev"
    28  
    29  	// OriginLabel is a resource metadata label name used to identify a source
    30  	// that the resource originates from.
    31  	OriginLabel = TeleportNamespace + "/origin"
    32  
    33  	// OriginDefaults is an origin value indicating that the resource was
    34  	// constructed as a default value.
    35  	OriginDefaults = "defaults"
    36  
    37  	// OriginConfigFile is an origin value indicating that the resource is
    38  	// derived from static configuration.
    39  	OriginConfigFile = "config-file"
    40  
    41  	// OriginDynamic is an origin value indicating that the resource was
    42  	// committed as dynamic configuration.
    43  	OriginDynamic = "dynamic"
    44  
    45  	// OriginCloud is an origin value indicating that the resource was
    46  	// imported from a cloud provider.
    47  	OriginCloud = "cloud"
    48  
    49  	// OriginKubernetes is an origin value indicating that the resource was
    50  	// created from the Kubernetes Operator.
    51  	OriginKubernetes = "kubernetes"
    52  
    53  	// OriginOkta is an origin value indicating that the resource was
    54  	// created from the Okta service.
    55  	OriginOkta = "okta"
    56  
    57  	// OriginIntegrationAWSOIDC is an origin value indicating that the resource was
    58  	// created from the AWS OIDC Integration.
    59  	OriginIntegrationAWSOIDC = "integration_awsoidc"
    60  
    61  	// OriginDiscoveryKubernetes indicates that the resource was imported
    62  	// from kubernetes cluster by discovery service.
    63  	OriginDiscoveryKubernetes = "discovery-kubernetes"
    64  
    65  	// OriginEntraID indicates that the resource was imported
    66  	// from the Entra ID directory.
    67  	OriginEntraID = "entra-id"
    68  )
    69  
    70  // OriginValues lists all possible origin values.
    71  var OriginValues = []string{
    72  	OriginDefaults,
    73  	OriginConfigFile,
    74  	OriginDynamic,
    75  	OriginCloud,
    76  	OriginKubernetes,
    77  	OriginOkta,
    78  	OriginDiscoveryKubernetes,
    79  	OriginEntraID,
    80  }