mirror of
https://github.com/outbackdingo/kamaji.git
synced 2026-01-27 10:19:29 +00:00
During reconciliation, the bootstrap provider copies the content from the secret provided by Kamaji, named `<cluster>-admin-kubeconfig` into a `cluster-info` configmap of tenant cluster, which then used by kubeadm to join nodes. This change introduces a new annotation, `kamaji.clastix.io/kubeconfig-secret-key`, for the TenantControlPlane resource. This annotation instructs kamaji to read the kubeconfig from a specific key (the default one is super-admin.conf). Example: ``` kamaji.clastix.io/kubeconfig-secret-key: super-admin.svc ``` This will instruct the system to use `super-admin.svc` a kubeconfig with a local service FQDN (introduced by https://github.com/clastix/kamaji/pull/403). Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
39 lines
1.6 KiB
Go
39 lines
1.6 KiB
Go
// Copyright 2022 Clastix Labs
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package v1alpha1
|
|
|
|
import corev1 "k8s.io/api/core/v1"
|
|
|
|
// +kubebuilder:validation:Enum=AlwaysAdmit;AlwaysDeny;AlwaysPullImages;CertificateApproval;CertificateSigning;CertificateSubjectRestriction;DefaultIngressClass;DefaultStorageClass;DefaultTolerationSeconds;DenyEscalatingExec;DenyExecOnPrivileged;DenyServiceExternalIPs;EventRateLimit;ExtendedResourceToleration;ImagePolicyWebhook;LimitPodHardAntiAffinityTopology;LimitRanger;MutatingAdmissionWebhook;NamespaceAutoProvision;NamespaceExists;NamespaceLifecycle;NodeRestriction;OwnerReferencesPermissionEnforcement;PersistentVolumeClaimResize;PersistentVolumeLabel;PodNodeSelector;PodSecurity;PodSecurityPolicy;PodTolerationRestriction;Priority;ResourceQuota;RuntimeClass;SecurityContextDeny;ServiceAccount;StorageObjectInUseProtection;TaintNodesByCondition;ValidatingAdmissionWebhook
|
|
type AdmissionController string
|
|
|
|
type AdmissionControllers []AdmissionController
|
|
|
|
func (a AdmissionControllers) ToSlice() []string {
|
|
out := make([]string, len(a))
|
|
|
|
for i, v := range a {
|
|
out[i] = string(v)
|
|
}
|
|
|
|
return out
|
|
}
|
|
|
|
// +kubebuilder:validation:Enum=systemd;cgroupfs
|
|
type CGroupDriver string
|
|
|
|
func (c CGroupDriver) String() string {
|
|
return (string)(c)
|
|
}
|
|
|
|
const (
|
|
ServiceTypeLoadBalancer = (ServiceType)(corev1.ServiceTypeLoadBalancer)
|
|
ServiceTypeClusterIP = (ServiceType)(corev1.ServiceTypeClusterIP)
|
|
ServiceTypeNodePort = (ServiceType)(corev1.ServiceTypeNodePort)
|
|
KubeconfigSecretKeyAnnotation = "kamaji.clastix.io/kubeconfig-secret-key"
|
|
)
|
|
|
|
// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer
|
|
type ServiceType corev1.ServiceType
|