connectionsecret

package
v2.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProjectLabelKey string = "atlas.mongodb.com/project-id"
	ClusterLabelKey string = "atlas.mongodb.com/cluster-name"
	TypeLabelKey           = "atlas.mongodb.com/type"
	CredLabelVal           = "credentials"
)
View Source
const ConnectionSecretsEnsuredEvent = "ConnectionSecretsEnsured"

Variables

This section is empty.

Functions

func AddCredentialsToConnectionURL

func AddCredentialsToConnectionURL(connURL, userName, password string) (string, error)

func CreateOrUpdateConnectionSecrets

func CreateOrUpdateConnectionSecrets(ctx *workflow.Context, k8sClient client.Client, recorder record.EventRecorder, project akov2.AtlasProject, dbUser akov2.AtlasDatabaseUser) workflow.Result

func Ensure

func Ensure(ctx context.Context, client client.Client, namespace, projectName, projectID, clusterName string, data ConnectionData) (string, error)

Ensure creates or updates the connection Secret for the specific cluster and db user. Returns the name of the Secret created.

func FillPrivateConnStrings

func FillPrivateConnStrings(connStrings *mongodbatlas.ConnectionStrings, data *ConnectionData)

func GetAllServerless

func GetAllServerless(ctx *workflow.Context, projectID string) ([]*mongodbatlas.Cluster, error)

func IsCloudGovDomain

func IsCloudGovDomain(ctx *workflow.Context) bool

func ListByDeploymentName

func ListByDeploymentName(ctx context.Context, k8sClient client.Client, namespace, projectID, clusterName string) ([]corev1.Secret, error)

ListByDeploymentName returns all secrets in the specified namespace that have labels for 'projectID' and 'clusterName'

func ListByUserName

func ListByUserName(ctx context.Context, k8sClient client.Client, namespace, projectID, userName string) ([]corev1.Secret, error)

ListByUserName returns all secrets in the specified namespace that have label for 'projectID' and data for 'userName'

func RemoveStaleSecretsByUserName

func RemoveStaleSecretsByUserName(ctx context.Context, k8sClient client.Client, projectID, userName string, user akov2.AtlasDatabaseUser, log *zap.SugaredLogger) error

RemoveStaleSecretsByUserName removes the stale secrets when the database user name changes (as it's used as a part of Secret name)

Types

type ConnectionData

type ConnectionData struct {
	DBUserName      string
	Password        string
	ConnURL         string
	SrvConnURL      string
	PrivateConnURLs []PrivateLinkConnURLs
}

type PrivateLinkConnURLs

type PrivateLinkConnURLs struct {
	PvtConnURL      string
	PvtSrvConnURL   string
	PvtShardConnURL string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL