Documentation ¶
Index ¶
- Constants
- func CreateManageSecretRole(appName, roleName string, secretNames []string, ...) *auth.Role
- func GetRoleBindingGroups(groups []string) []auth.Subject
- func GetRolebindingToClusterRole(appName, roleName string, groups []string) *auth.RoleBinding
- func GetRolebindingToClusterRoleForServiceAccountWithLabels(roleName, serviceAccountName, serviceAccountNamespace string, ...) *auth.RoleBinding
- func GetRolebindingToClusterRoleForSubjects(appName, roleName string, subjects []auth.Subject) *auth.RoleBinding
- func GetRolebindingToClusterRoleForSubjectsWithLabels(roleName string, subjects []auth.Subject, labels map[string]string) *auth.RoleBinding
- func GetRolebindingToClusterRoleWithLabels(roleName string, groups []string, labels map[string]string) *auth.RoleBinding
- func GetRolebindingToRole(appName, roleName string, groups []string) *auth.RoleBinding
- func GetRolebindingToRoleForServiceAccountWithLabels(roleName, serviceAccountName, serviceAccountNamespace string, ...) *auth.RoleBinding
- func GetRolebindingToRoleForSubjectsWithLabels(appName, roleName string, subjects []auth.Subject, labels map[string]string) *auth.RoleBinding
- func GetRolebindingToRoleWithLabels(roleName string, groups []string, labels map[string]string) *auth.RoleBinding
- func GetRolebindingToRoleWithLabelsForSubjects(roleName string, subjects []auth.Subject, labels map[string]string) *auth.RoleBinding
- type Kube
- func (k *Kube) ApplyClusterRole(clusterrole *auth.ClusterRole) error
- func (k *Kube) ApplyClusterRoleBinding(clusterrolebinding *auth.ClusterRoleBinding) error
- func (k *Kube) ApplyClusterRoleToServiceAccount(roleName string, serviceAccount *corev1.ServiceAccount, ...) error
- func (kubeutil *Kube) ApplyDeployment(namespace string, currentDeployment *appsv1.Deployment, ...) error
- func (kubeutil *Kube) ApplyIngress(namespace string, ingress *networkingv1beta1.Ingress) error
- func (k *Kube) ApplyLimitRange(namespace string, limitRange *corev1.LimitRange) error
- func (kubeutil *Kube) ApplyNamespace(name string, labels map[string]string, ownerRefs []metav1.OwnerReference) error
- func (k *Kube) ApplyRole(namespace string, role *auth.Role) error
- func (k *Kube) ApplyRoleBinding(namespace string, role *auth.RoleBinding) error
- func (k *Kube) ApplySecret(namespace string, secret *corev1.Secret) (savedSecret *corev1.Secret, err error)
- func (k *Kube) ApplyService(namespace string, service *corev1.Service) error
- func (kubeutil *Kube) ApplyServiceAccount(serviceAccount corev1.ServiceAccount) (*corev1.ServiceAccount, error)
- func (k *Kube) BuildLimitRange(namespace, name, appName string, ...) *corev1.LimitRange
- func (k *Kube) DeleteClusterRoleBinding(name string) error
- func (k *Kube) DeleteRole(namespace, name string) error
- func (k *Kube) DeleteRoleBinding(namespace, name string) error
- func (k *Kube) DeleteSecret(namespace, secretName string) error
- func (kubeutil *Kube) DeleteServiceAccount(namespace, name string) error
- func (kubeutil *Kube) GetClusterName() (string, error)
- func (k *Kube) GetClusterRole(name string) (*auth.ClusterRole, error)
- func (kubeutil *Kube) GetConfigMap(namespace, name string) (*corev1.ConfigMap, error)
- func (kubeutil *Kube) GetContainerRegistry() (string, error)
- func (kubeutil *Kube) GetDeployment(namespace, name string) (*appsv1.Deployment, error)
- func (kubeutil *Kube) GetEnvironment(name string) (*v1.RadixEnvironment, error)
- func (kubeutil *Kube) GetRadixDeployment(namespace, name string) (*v1.RadixDeployment, error)
- func (kubeutil *Kube) GetRegistration(name string) (*v1.RadixRegistration, error)
- func (k *Kube) GetRole(namespace, name string) (*auth.Role, error)
- func (k *Kube) GetRoleBinding(namespace, name string) (*auth.RoleBinding, error)
- func (k *Kube) GetSecret(namespace, name string) (*corev1.Secret, error)
- func (k *Kube) ListClusterRoleBindings(namespace string) ([]*auth.ClusterRoleBinding, error)
- func (k *Kube) ListClusterRoles(namespace string) ([]*auth.ClusterRole, error)
- func (kubeutil *Kube) ListDeployments(namespace string) ([]*appsv1.Deployment, error)
- func (kubeutil *Kube) ListEnvironments() ([]*v1.RadixEnvironment, error)
- func (kubeutil *Kube) ListIngresses(namespace string) ([]*networkingv1beta1.Ingress, error)
- func (kubeutil *Kube) ListIngressesWithSelector(namespace string, labelSelectorString *string) ([]*networkingv1beta1.Ingress, error)
- func (k *Kube) ListJobs(namespace string) ([]*batchv1.Job, error)
- func (kubeutil *Kube) ListRadixDeployments(namespace string) ([]*v1.RadixDeployment, error)
- func (kubeutil *Kube) ListRegistrations() ([]*v1.RadixRegistration, error)
- func (k *Kube) ListRoleBindings(namespace string) ([]*auth.RoleBinding, error)
- func (k *Kube) ListRoleBindingsWithSelector(namespace string, labelSelectorString *string) ([]*auth.RoleBinding, error)
- func (k *Kube) ListRoles(namespace string) ([]*auth.Role, error)
- func (k *Kube) ListRolesWithSelector(namespace string, labelSelectorString *string) ([]*auth.Role, error)
- func (k *Kube) ListSecrets(namespace string) ([]*v1.Secret, error)
- func (k *Kube) ListSecretsWithSelector(namespace string, labelSelectorString *string) ([]*v1.Secret, error)
- func (k *Kube) ListServices(namespace string) ([]*corev1.Service, error)
- func (k *Kube) SecretExists(namespace, secretName string) bool
- func (kubeutil *Kube) WaitForCompletionOf(job *batchv1.Job) error
- type NamespaceWatcher
- type NamespaceWatcherImpl
Constants ¶
const ( RadixBranchAnnotation = "radix-branch" RadixComponentImagesAnnotation = "radix-component-images" RadixDeploymentNameAnnotation = "radix-deployment-name" // See https://github.com/equinor/radix-velero-plugin/blob/master/velero-plugins/deployment/restore.go RestoredStatusAnnotation = "equinor.com/velero-restored-status" )
Radix Annotations
const ( RadixAppLabel = "radix-app" RadixEnvLabel = "radix-env" RadixComponentLabel = "radix-component" RadixComponentTypeLabel = "radix-component-type" RadixJobNameLabel = "radix-job-name" RadixBuildLabel = "radix-build" RadixCommitLabel = "radix-commit" RadixImageTagLabel = "radix-image-tag" RadixJobTypeLabel = "radix-job-type" RadixJobTypeJob = "job" // Outer job RadixJobTypeBuild = "build" RadixJobTypeCloneConfig = "clone-config" RadixJobTypeJobSchedule = "job-scheduler" RadixAppAliasLabel = "radix-app-alias" RadixExternalAliasLabel = "radix-app-external-alias" RadixActiveClusterAliasLabel = "radix-app-active-cluster-alias" RadixMountTypeLabel = "mount-type" RadixGpuLabel = "radix-node-gpu" RadixGpuCountLabel = "radix-node-gpu-count" // Only for backward compatibility RadixBranchDeprecated = "radix-branch" )
Radix Labels
Variables ¶
This section is empty.
Functions ¶
func CreateManageSecretRole ¶ added in v1.3.0
func CreateManageSecretRole(appName, roleName string, secretNames []string, customLabels *map[string]string) *auth.Role
CreateManageSecretRole creates a role that can manage a secret with predifined set of verbs
func GetRoleBindingGroups ¶
GetRoleBindingGroups Get subjects for list of ad groups
func GetRolebindingToClusterRole ¶ added in v1.3.0
func GetRolebindingToClusterRole(appName, roleName string, groups []string) *auth.RoleBinding
GetRolebindingToClusterRole Get role binding object
func GetRolebindingToClusterRoleForServiceAccountWithLabels ¶ added in v1.3.0
func GetRolebindingToClusterRoleForServiceAccountWithLabels(roleName, serviceAccountName, serviceAccountNamespace string, labels map[string]string) *auth.RoleBinding
GetRolebindingToClusterRoleForServiceAccountWithLabels Get role binding object
func GetRolebindingToClusterRoleForSubjects ¶ added in v1.5.0
func GetRolebindingToClusterRoleForSubjects(appName, roleName string, subjects []auth.Subject) *auth.RoleBinding
GetRolebindingToClusterRoleForSubjects Get role binding object for list of subjects
func GetRolebindingToClusterRoleForSubjectsWithLabels ¶ added in v1.5.0
func GetRolebindingToClusterRoleForSubjectsWithLabels(roleName string, subjects []auth.Subject, labels map[string]string) *auth.RoleBinding
GetRolebindingToClusterRoleForSubjectsWithLabels Get role binding object for list of subjects with labels set
func GetRolebindingToClusterRoleWithLabels ¶ added in v1.3.0
func GetRolebindingToClusterRoleWithLabels(roleName string, groups []string, labels map[string]string) *auth.RoleBinding
GetRolebindingToClusterRoleWithLabels Get role binding object
func GetRolebindingToRole ¶ added in v1.3.0
func GetRolebindingToRole(appName, roleName string, groups []string) *auth.RoleBinding
GetRolebindingToRole Get role binding object
func GetRolebindingToRoleForServiceAccountWithLabels ¶ added in v1.3.0
func GetRolebindingToRoleForServiceAccountWithLabels(roleName, serviceAccountName, serviceAccountNamespace string, labels map[string]string) *auth.RoleBinding
GetRolebindingToRoleForServiceAccountWithLabels Get role binding object
func GetRolebindingToRoleForSubjectsWithLabels ¶ added in v1.5.0
func GetRolebindingToRoleForSubjectsWithLabels(appName, roleName string, subjects []auth.Subject, labels map[string]string) *auth.RoleBinding
GetRolebindingToRoleForSubjectsWithLabels Get role binding object for list of subjects with labels set
func GetRolebindingToRoleWithLabels ¶ added in v1.3.0
func GetRolebindingToRoleWithLabels(roleName string, groups []string, labels map[string]string) *auth.RoleBinding
GetRolebindingToRoleWithLabels Get role binding object
func GetRolebindingToRoleWithLabelsForSubjects ¶ added in v1.5.0
func GetRolebindingToRoleWithLabelsForSubjects(roleName string, subjects []auth.Subject, labels map[string]string) *auth.RoleBinding
GetRolebindingToRoleWithLabelsForSubjects Get rolebinding object with subjects as input
Types ¶
type Kube ¶
type Kube struct { RrLister v1Lister.RadixRegistrationLister ReLister v1Lister.RadixEnvironmentLister RdLister v1Lister.RadixDeploymentLister NamespaceLister coreListers.NamespaceLister ConfigMapLister coreListers.ConfigMapLister SecretLister coreListers.SecretLister DeploymentLister appsv1Listers.DeploymentLister IngressLister networkingListers.IngressLister ServiceLister coreListers.ServiceLister RoleBindingLister rbacListers.RoleBindingLister ClusterRoleBindingLister rbacListers.ClusterRoleBindingLister RoleLister rbacListers.RoleLister ClusterRoleLister rbacListers.ClusterRoleLister ServiceAccountLister coreListers.ServiceAccountLister LimitRangeLister coreListers.LimitRangeLister JobLister batchListers.JobLister // contains filtered or unexported fields }
Kube Stuct for accessing lower level kubernetes functions
func New ¶
func New(client kubernetes.Interface, radixClient radixclient.Interface) (*Kube, error)
New Constructor
func NewWithListers ¶
func NewWithListers(client kubernetes.Interface, radixclient radixclient.Interface, kubeInformerFactory kubeinformers.SharedInformerFactory, radixInformerFactory informers.SharedInformerFactory) (*Kube, error)
NewWithListers Constructor
func (*Kube) ApplyClusterRole ¶
func (k *Kube) ApplyClusterRole(clusterrole *auth.ClusterRole) error
ApplyClusterRole Creates or updates cluster-role
func (*Kube) ApplyClusterRoleBinding ¶
func (k *Kube) ApplyClusterRoleBinding(clusterrolebinding *auth.ClusterRoleBinding) error
ApplyClusterRoleBinding Creates or updates cluster-role-binding
func (*Kube) ApplyClusterRoleToServiceAccount ¶
func (k *Kube) ApplyClusterRoleToServiceAccount(roleName string, serviceAccount *corev1.ServiceAccount, ownerReference []metav1.OwnerReference) error
ApplyClusterRoleToServiceAccount Creates cluster-role-binding as a link between role and service account
func (*Kube) ApplyDeployment ¶
func (kubeutil *Kube) ApplyDeployment(namespace string, currentDeployment *appsv1.Deployment, desiredDeployment *appsv1.Deployment) error
ApplyDeployment Create or update deployment in provided namespace
func (*Kube) ApplyIngress ¶
func (kubeutil *Kube) ApplyIngress(namespace string, ingress *networkingv1beta1.Ingress) error
ApplyIngress Will create or update ingress in provided namespace
func (*Kube) ApplyLimitRange ¶
func (k *Kube) ApplyLimitRange(namespace string, limitRange *corev1.LimitRange) error
ApplyLimitRange Applies limit range to namespace
func (*Kube) ApplyNamespace ¶
func (kubeutil *Kube) ApplyNamespace(name string, labels map[string]string, ownerRefs []metav1.OwnerReference) error
ApplyNamespace Creates a new namespace, if not exists allready
func (*Kube) ApplyRoleBinding ¶
func (k *Kube) ApplyRoleBinding(namespace string, role *auth.RoleBinding) error
ApplyRoleBinding Creates or updates role
func (*Kube) ApplySecret ¶
func (k *Kube) ApplySecret(namespace string, secret *corev1.Secret) (savedSecret *corev1.Secret, err error)
ApplySecret Creates or updates secret to namespace
func (*Kube) ApplyService ¶ added in v1.4.1
ApplyService Will create or update service in provided namespace
func (*Kube) ApplyServiceAccount ¶
func (kubeutil *Kube) ApplyServiceAccount(serviceAccount corev1.ServiceAccount) (*corev1.ServiceAccount, error)
ApplyServiceAccount Creates or updates service account
func (*Kube) BuildLimitRange ¶
func (k *Kube) BuildLimitRange(namespace, name, appName string, defaultResourceCPU, defaultResourceMemory, defaultRequestCPU, defaultRequestMemory resource.Quantity) *corev1.LimitRange
BuildLimitRange Builds a limit range spec
func (*Kube) DeleteClusterRoleBinding ¶ added in v1.5.0
DeleteClusterRoleBinding Deletes a clusterrolebinding
func (*Kube) DeleteRole ¶ added in v1.5.0
DeleteRole Deletes a role in a namespace
func (*Kube) DeleteRoleBinding ¶ added in v1.5.0
DeleteRoleBinding Deletes a rolebinding in a namespace
func (*Kube) DeleteSecret ¶ added in v1.5.2
DeleteSecret Deletes a secret in a namespace
func (*Kube) DeleteServiceAccount ¶ added in v1.5.0
DeleteServiceAccount Deletes service account
func (*Kube) GetClusterName ¶
GetClusterName Gets the global name of the cluster from config map in default namespace
func (*Kube) GetClusterRole ¶ added in v1.4.2
func (k *Kube) GetClusterRole(name string) (*auth.ClusterRole, error)
GetClusterRole Gets cluster role
func (*Kube) GetConfigMap ¶
GetConfigMap Gets config map by name
func (*Kube) GetContainerRegistry ¶
GetContainerRegistry Gets the container registry from config map in default namespace
func (*Kube) GetDeployment ¶ added in v1.5.17
func (kubeutil *Kube) GetDeployment(namespace, name string) (*appsv1.Deployment, error)
func (*Kube) GetEnvironment ¶ added in v1.5.5
func (kubeutil *Kube) GetEnvironment(name string) (*v1.RadixEnvironment, error)
GetEnvironment Gets environment using lister from cache if present
func (*Kube) GetRadixDeployment ¶
func (kubeutil *Kube) GetRadixDeployment(namespace, name string) (*v1.RadixDeployment, error)
GetRadixDeployment Gets deployment using lister if present
func (*Kube) GetRegistration ¶
func (kubeutil *Kube) GetRegistration(name string) (*v1.RadixRegistration, error)
GetRegistration Gets registration using lister if present
func (*Kube) GetRoleBinding ¶ added in v1.5.2
func (k *Kube) GetRoleBinding(namespace, name string) (*auth.RoleBinding, error)
GetRoleBinding Gets rolebinding
func (*Kube) ListClusterRoleBindings ¶ added in v1.4.2
func (k *Kube) ListClusterRoleBindings(namespace string) ([]*auth.ClusterRoleBinding, error)
ListClusterRoleBindings List cluster roles
func (*Kube) ListClusterRoles ¶ added in v1.4.2
func (k *Kube) ListClusterRoles(namespace string) ([]*auth.ClusterRole, error)
ListClusterRoles List cluster roles
func (*Kube) ListDeployments ¶ added in v1.4.2
func (kubeutil *Kube) ListDeployments(namespace string) ([]*appsv1.Deployment, error)
ListDeployments List deployments
func (*Kube) ListEnvironments ¶ added in v1.5.5
func (kubeutil *Kube) ListEnvironments() ([]*v1.RadixEnvironment, error)
ListEnvironments lists environments from cache if lister is present
func (*Kube) ListIngresses ¶ added in v1.4.0
func (kubeutil *Kube) ListIngresses(namespace string) ([]*networkingv1beta1.Ingress, error)
ListIngresses lists ingresses
func (*Kube) ListIngressesWithSelector ¶ added in v1.4.0
func (kubeutil *Kube) ListIngressesWithSelector(namespace string, labelSelectorString *string) ([]*networkingv1beta1.Ingress, error)
ListIngressesWithSelector lists ingresses
func (*Kube) ListRadixDeployments ¶
func (kubeutil *Kube) ListRadixDeployments(namespace string) ([]*v1.RadixDeployment, error)
ListRadixDeployments Gets deployments using lister if present
func (*Kube) ListRegistrations ¶
func (kubeutil *Kube) ListRegistrations() ([]*v1.RadixRegistration, error)
ListRegistrations lists registrations
func (*Kube) ListRoleBindings ¶ added in v1.4.1
func (k *Kube) ListRoleBindings(namespace string) ([]*auth.RoleBinding, error)
ListRoleBindings Lists role bindings from cache or from cluster
func (*Kube) ListRoleBindingsWithSelector ¶ added in v1.4.1
func (k *Kube) ListRoleBindingsWithSelector(namespace string, labelSelectorString *string) ([]*auth.RoleBinding, error)
ListRoleBindingsWithSelector Lists role bindings from cache or from cluster using a selector
func (*Kube) ListRolesWithSelector ¶ added in v1.4.2
func (k *Kube) ListRolesWithSelector(namespace string, labelSelectorString *string) ([]*auth.Role, error)
ListRolesWithSelector List roles
func (*Kube) ListSecrets ¶ added in v1.4.3
ListSecrets secrets in namespace
func (*Kube) ListSecretsWithSelector ¶ added in v1.4.3
func (k *Kube) ListSecretsWithSelector(namespace string, labelSelectorString *string) ([]*v1.Secret, error)
ListSecretsWithSelector secrets in namespace
func (*Kube) ListServices ¶ added in v1.4.1
ListServices Lists services from cache or from cluster
func (*Kube) SecretExists ¶
SecretExists Checks if secret already exists
type NamespaceWatcher ¶
NamespaceWatcher Watcher to wait for namespace to be created
type NamespaceWatcherImpl ¶
type NamespaceWatcherImpl struct {
// contains filtered or unexported fields
}
NamespaceWatcherImpl Implementation of watcher
func NewNamespaceWatcherImpl ¶
func NewNamespaceWatcherImpl(client kubernetes.Interface) NamespaceWatcherImpl
NewNamespaceWatcherImpl Constructor
func (NamespaceWatcherImpl) WaitFor ¶
func (watcher NamespaceWatcherImpl) WaitFor(namespace string) error
WaitFor Waits for namespace to appear