util

package
v0.5.0-b33f0 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2022 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KubeNamespace          = "kube-system"
	ApiGatewayNamespace    = "api-gateway-system"
	IngressNginxNamespace  = "ingress-nginx"
	ArgoNamespace          = "argocd"
	HyperregistryNamespace = "hyperregistry"
	OpenSearchNamespace    = "kube-logging"
)
View Source
const (
	ProviderAws     = "AWS"

	ProviderVsphere     = "VSPHERE"

	ProviderUnknown = "Unknown"
)
View Source
const (
	ClmSecretTypeKubeconfig = "kubeconfig"
	ClmSecretTypeArgo       = "argocd"
	ClmSecretTypeSAToken    = "token"
)
View Source
const (
	ArgoApiGroup                  = "argocd.argoproj.io"
	ArgoServiceAccount            = "argocd-manager"
	ArgoServiceAccountTokenSecret = "argocd-manager-token"
	ArgoClusterRole               = "argocd-manager-role"
	ArgoClusterRoleBinding        = "argocd-manager-role-binding"
	ArgoSecretTypeCluster         = "cluster"
	ArgoSecretTypeGit             = "repo"
	ArgoAppTypeAppOfApp           = "app-of-apps"
	ArgoIngressName               = "argocd-server-ingress"
)
View Source
const (
	AnnotationKeyOwner   = "owner"
	AnnotationKeyCreator = "creator"

	AnnotationKeyArgoClusterSecret = "argocd.argoproj.io/cluster.secret"
	AnnotationKeyArgoManagedBy     = "managed-by"

	AnnotationKeyTraefikServerTransport = "traefik.ingress.kubernetes.io/service.serverstransport"
	AnnotationKeyTraefikEntrypoints     = "traefik.ingress.kubernetes.io/router.entrypoints"
	AnnotationKeyTraefikMiddlewares     = "traefik.ingress.kubernetes.io/router.middlewares"
	AnnotationKeyTraefikServerScheme    = "traefik.ingress.kubernetes.io/service.serversscheme"
)
View Source
const (
	LabelKeyHypercloudIngress = "ingress.tmaxcloud.org/name"

	LabelKeyClmSecretType = "cluster.tmax.io/clm-secret-type"

	LabelKeyArgoSecretType  = "argocd.argoproj.io/secret-type"
	LabelKeyCapiClusterName = "cluster.x-k8s.io/cluster-name"

	// LabelKeyArgoTargetCluster = "cluster.tmax.io/cluster"
	LabelKeyArgoTargetCluster = "cluster"
	LabelKeyArgoAppType       = "appType"
)
View Source
const (
	ArgoDescriptionPrivateRegistry              = "target registry 주소로 변경"
	ArgoDescriptionConsoleSubdomain             = "Console의 Subdomain으로 변경"
	ArgoDescriptionHyperAuthSubdomain           = "HyperAuth의 Subdomain으로 변경"
	ArgoDescriptionKibanaSubdomain              = "Kibana의 Subdomain으로 변경"
	ArgoDescriptionGrafanaSubdomain             = "Grafana의 Subdomain으로 변경"
	ArgoDescriptionJaegerSubdomain              = "Jaeger의 Subdomain으로 변경"
	ArgoDescriptionKialiSubdomain               = "Kiali의 Subdomain으로 변경"
	ArgoDescriptionCicdSubdomain                = "Cicd webhook의 Subdomain으로 변경"
	ArgoDescriptionOpensearchSubdomain          = "Opensearch dashboard의 Subdomain으로 변경"
	ArgoDescriptionHyperregistrySubdomain       = "Hyperregistry-core의 Subdomain으로 변경"
	ArgoDescriptionHyperregistryNotarySubdomain = "Hyperregistry-notary의 Subdomain으로 변경"
	ArgoDescriptionHyperregistryStorageClass    = "Hyperregistry가 사용할 StorageClass로 변경(aws의 경우 efs-sc-0, 그외에는 nfs)"
	ArgoDescriptionHyperregistryDBStorageClass  = "Hyperregistry의 DB가 사용할 StorageClass로 변경(aws의 경우 efs-sc-999, 그외에는 nfs)"
	ArgoDescriptionGitRepo                      = "Git repo 주소를 입력(gitlab의 경우 주소맨뒤에 .git을 입력)"
	ArgoDescriptionGitRevision                  = "Git target revision(branch, tag)를 입력"
)
View Source
const (
	HARBOR_SERVICE_SET_OIDC_CONFIG = "/api/v2.0/configurations"
)
View Source
const (
	// defunct
	// MultiApiServerServiceSelectorKey   = "hypercloud4"
	// MultiApiServerServiceSelectorValue = "multi-api-server"
	IngressNginxName = "ingress-nginx-controller"
)
View Source
const (
	KubeconfigSuffix = "-kubeconfig"
)

Variables

This section is empty.

Functions

func CreateSuffixString

func CreateSuffixString() string

func Delete

func Delete(namespace, cluster string) error

func GetK8sClient

func GetK8sClient() (*kubernetes.Clientset, error)

func GetProviderName

func GetProviderName(provider string) (string, error)

func GetRemoteK8sClient

func GetRemoteK8sClient(secret *coreV1.Secret) (*kubernetes.Clientset, error)

func GetRemoteK8sClientByKubeConfig

func GetRemoteK8sClientByKubeConfig(kubeConfig []byte) (*kubernetes.Clientset, error)

func Insert

func Insert(clusterManager *clusterV1alpha1.ClusterManager) error

func IsOK

func IsOK(check int) bool

func List

func List(namespace, cluster string) ([]byte, error)

func LowestNonZeroResult

func LowestNonZeroResult(i, j ctrl.Result) ctrl.Result

LowestNonZeroResult compares two reconciliation results and returns the one with lowest requeue time.

func MergeJson

func MergeJson(dest []byte, source []byte) []byte

func SetHyperregistryOIDC

func SetHyperregistryOIDC(config OidcConfig, secret *coreV1.Secret, hostpath string) error

func SetHyperregistryServiceURI

func SetHyperregistryServiceURI(hostpath string, serviceName string, urlParameter map[string]string) string

func URIToSecretName

func URIToSecretName(uriType, uri string) (string, error)

Types

type OidcConfig

type OidcConfig struct {
	AuthMode         string `json:"auth_mode,omitempty"`
	OidcAdminGroup   string `json:"oidc_admin_group,omitempty"`
	OidcAutoOnBoard  bool   `json:"oidc_auto_onboard,omitempty"`
	OidcClientId     string `json:"oidc_client_id,omitempty"`
	OidcClientSecret string `json:"oidc_client_secret,omitempty"`
	OidcEndpoint     string `json:"oidc_endpoint,omitempty"`
	OidcGroupsClaim  string `json:"oidc_groups_claim,omitempty"`
	OidcName         string `json:"oidc_name,omitempty"`
	OidcScope        string `json:"oidc_scope,omitempty"`
	OidcUserClaim    string `json:"oidc_user_claim,omitempty"`
	OidcVerifyCert   bool   `json:"oidc_verify_cert,omitempty"`
}

Jump to

Keyboard shortcuts

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