v1alpha1

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2025 License: EUPL-1.2 Imports: 17 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=cpet.belastingdienst.nl

Index

Constants

View Source
const (
	// TypeReadyPaas represents the status of the Paas reconciliation
	TypeReadyPaas = "Ready"
	// TypeHasErrorsPaas represents the status used when the Paas reconciliation holds errors.
	TypeHasErrorsPaas = "HasErrors"
	// TypeDegradedPaas represents the status used when the Paas is deleted and the finalizer operations are yet to occur.
	TypeDegradedPaas = "Degraded"
)

Definitions to manage status conditions

View Source
const (
	// TypeActivePaasConfig represents whether this is the PaasConfig being used by the Paas operator
	TypeActivePaasConfig = "Active"
	// TypeHasErrorsPaasConfig represents the status used when the custom resource reconciliation holds errors.
	TypeHasErrorsPaasConfig = "HasErrors"
	// TypeDegradedPaasConfig represents the status used when the custom resource is deleted and the finalizer operations are yet to occur.
	TypeDegradedPaasConfig = "Degraded"
)

Definitions to manage status conditions

View Source
const (
	// TypeReadyPaasNs represents the status of the PaasNs reconciliation
	TypeReadyPaasNs = "Ready"
	// TypeHasErrorsPaasNs represents the status used when the PaasNs reconciliation holds errors.
	TypeHasErrorsPaasNs = "HasErrors"
	// TypeDegradedPaasNs represents the status used when the PaasNs is deleted and the finalizer operations are yet to occur.
	TypeDegradedPaasNs = "Degraded"
)

Definitions to manage status conditions

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cpet.belastingdienst.nl", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func ActivePaasConfigUpdated added in v1.0.0

func ActivePaasConfigUpdated() predicate.Predicate

ActivePaasConfigUpdated returns a predicate to be used in watches. We are only interested in changes to the active PaasConfig. because we determine the active PaasConfig based on a Condition, we must use the updateFunc as the status set is done via an update. We explicitly don't return deletions of the PaasConfig.

Types

type ConfigArgoPermissions deprecated added in v1.0.0

type ConfigArgoPermissions struct {
	// Deprecated: ArgoCD specific code will be removed from the operator
	// The optional default policy which is set in the ArgoCD instance
	// +kubebuilder:validation:Optional
	DefaultPolicy string `json:"default_policy"`

	// Deprecated: ArgoCD specific code will be removed from the operator
	// The name of the ArgoCD instance to apply ArgoPermissions to
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	ResourceName string `json:"resource_name"`

	// Deprecated: ArgoCD specific code will be removed from the operator
	// The name of the role to add to Groups set in ArgoPermissions
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Role string `json:"role"`

	// Deprecated: ArgoCD specific code will be removed from the operator
	// The header value to set in ArgoPermissions
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Header string `json:"header"`
}

Deprecated: ArgoCD specific code will be removed from the operator

func (*ConfigArgoPermissions) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigArgoPermissions.

func (*ConfigArgoPermissions) DeepCopyInto added in v1.0.0

func (in *ConfigArgoPermissions) DeepCopyInto(out *ConfigArgoPermissions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConfigArgoPermissions) FromGroups deprecated added in v1.0.0

func (ap ConfigArgoPermissions) FromGroups(groups []string) string

Deprecated: ArgoCD specific code will be removed from the operator

type ConfigCapPerm added in v1.0.0

type ConfigCapPerm map[string][]string

func (ConfigCapPerm) AsConfigRolesSas added in v1.0.0

func (ccp ConfigCapPerm) AsConfigRolesSas(add bool) ConfigRolesSas

func (ConfigCapPerm) DeepCopy added in v1.0.0

func (in ConfigCapPerm) DeepCopy() ConfigCapPerm

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigCapPerm.

func (ConfigCapPerm) DeepCopyInto added in v1.0.0

func (in ConfigCapPerm) DeepCopyInto(out *ConfigCapPerm)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConfigCapPerm) Roles added in v1.0.0

func (ccp ConfigCapPerm) Roles() []string

func (ConfigCapPerm) ServiceAccounts added in v1.0.0

func (ccp ConfigCapPerm) ServiceAccounts() []string

type ConfigCapabilities added in v1.0.0

type ConfigCapabilities map[string]ConfigCapability

func (ConfigCapabilities) DeepCopy added in v1.0.0

func (in ConfigCapabilities) DeepCopy() ConfigCapabilities

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigCapabilities.

func (ConfigCapabilities) DeepCopyInto added in v1.0.0

func (in ConfigCapabilities) DeepCopyInto(out *ConfigCapabilities)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigCapability added in v1.0.0

type ConfigCapability struct {
	// Name of the ArgoCD ApplicationSet which manages this capability
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	AppSet string `json:"applicationset"`

	// Quota settings for this capability
	// +kubebuilder:validation:Required
	QuotaSettings ConfigQuotaSettings `json:"quotas"`

	// Extra permissions set for this capability
	// +kubebuilder:validation:Optional
	ExtraPermissions ConfigCapPerm `json:"extra_permissions"`

	// Default permissions set for this capability
	// +kubebuilder:validation:Optional
	DefaultPermissions ConfigCapPerm `json:"default_permissions"`

	// Settings to allow specific configuration specific to a capability
	CustomFields map[string]ConfigCustomField `json:"custom_fields,omitempty"`
}

func (*ConfigCapability) DeepCopy added in v1.0.0

func (in *ConfigCapability) DeepCopy() *ConfigCapability

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigCapability.

func (*ConfigCapability) DeepCopyInto added in v1.0.0

func (in *ConfigCapability) DeepCopyInto(out *ConfigCapability)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigCustomField added in v1.0.0

type ConfigCustomField struct {
	// Regular expression for validating input, defaults to ”, which means no validation.
	// +kubebuilder:validation:Optional
	Validation string `json:"validation"`
	// Set a default when no value is specified, defaults to ”.
	// Only applies when Required is false.
	// +kubebuilder:validation:Optional
	Default string `json:"default"`
	// Define if the value must be specified in the PaaS.
	// When set to true, and no value is set, PaasNs has error in status field, and capability is not built.
	// When set to false, and no value is set, Default is used.
	// +kubebuilder:validation:Optional
	Required bool `json:"required"`
}

func (*ConfigCustomField) DeepCopy added in v1.0.0

func (in *ConfigCustomField) DeepCopy() *ConfigCustomField

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigCustomField.

func (*ConfigCustomField) DeepCopyInto added in v1.0.0

func (in *ConfigCustomField) DeepCopyInto(out *ConfigCustomField)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigLdap added in v1.0.0

type ConfigLdap struct {
	// LDAP server hostname
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Host string `json:"host"`

	// LDAP server port
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Required
	Port int32 `json:"port"`
}

func (*ConfigLdap) DeepCopy added in v1.0.0

func (in *ConfigLdap) DeepCopy() *ConfigLdap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigLdap.

func (*ConfigLdap) DeepCopyInto added in v1.0.0

func (in *ConfigLdap) DeepCopyInto(out *ConfigLdap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigQuotaSettings added in v1.0.0

type ConfigQuotaSettings struct {
	// Is this a clusterwide quota or not
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Clusterwide bool `json:"clusterwide"`

	// The ratio of the requested quota which will be applied to the total quota
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format:=float
	// +kubebuilder:validation:Minimum:=0.0
	// +kubebuilder:validation:Maximum:=1.0
	Ratio float64 `json:"ratio"`

	// The default quota which the enabled capability gets
	// +kubebuilder:validation:Required
	DefQuota map[corev1.ResourceName]resourcev1.Quantity `json:"defaults"`

	// The minimum quota which the enabled capability gets
	// +kubebuilder:validation:Optional
	MinQuotas map[corev1.ResourceName]resourcev1.Quantity `json:"min"`

	// The maximum quota which the capability gets
	// +kubebuilder:validation:Optional
	MaxQuotas map[corev1.ResourceName]resourcev1.Quantity `json:"max"`
}

func (*ConfigQuotaSettings) DeepCopy added in v1.0.0

func (in *ConfigQuotaSettings) DeepCopy() *ConfigQuotaSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigQuotaSettings.

func (*ConfigQuotaSettings) DeepCopyInto added in v1.0.0

func (in *ConfigQuotaSettings) DeepCopyInto(out *ConfigQuotaSettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigRoleMappings added in v1.0.0

type ConfigRoleMappings map[string][]string

func (ConfigRoleMappings) DeepCopy added in v1.0.0

func (in ConfigRoleMappings) DeepCopy() ConfigRoleMappings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigRoleMappings.

func (ConfigRoleMappings) DeepCopyInto added in v1.0.0

func (in ConfigRoleMappings) DeepCopyInto(out *ConfigRoleMappings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConfigRoleMappings) Roles added in v1.0.0

func (crm ConfigRoleMappings) Roles(roleMaps []string) []string

type ConfigRolesSas added in v1.0.0

type ConfigRolesSas map[string]map[string]bool

This is a insoudeout representation of ConfigCapPerm, closer to rb representation

func (ConfigRolesSas) DeepCopy added in v1.0.0

func (in ConfigRolesSas) DeepCopy() ConfigRolesSas

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigRolesSas.

func (ConfigRolesSas) DeepCopyInto added in v1.0.0

func (in ConfigRolesSas) DeepCopyInto(out *ConfigRolesSas)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConfigRolesSas) Merge added in v1.0.0

func (crs ConfigRolesSas) Merge(other ConfigRolesSas) ConfigRolesSas

type NamespacedName added in v1.0.0

type NamespacedName struct {
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Namespace string `json:"namespace"`
}

func (*NamespacedName) DeepCopy added in v1.0.0

func (in *NamespacedName) DeepCopy() *NamespacedName

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedName.

func (*NamespacedName) DeepCopyInto added in v1.0.0

func (in *NamespacedName) DeepCopyInto(out *NamespacedName)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Paas

type Paas struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PaasSpec   `json:"spec,omitempty"`
	Status PaasStatus `json:"status,omitempty"`
}

Paas is the Schema for the paas API

func (Paas) AllCapNamespaces

func (p Paas) AllCapNamespaces() (ns map[string]bool)

func (Paas) AllEnabledNamespaces

func (p Paas) AllEnabledNamespaces() (ns map[string]bool)

func (Paas) AmIOwner

func (p Paas) AmIOwner(references []metav1.OwnerReference) bool

func (Paas) ClonedAnnotations

func (p Paas) ClonedAnnotations() map[string]string

func (Paas) ClonedLabels

func (p Paas) ClonedLabels() map[string]string

func (*Paas) DeepCopy

func (in *Paas) DeepCopy() *Paas

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Paas.

func (*Paas) DeepCopyInto

func (in *Paas) DeepCopyInto(out *Paas)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Paas) DeepCopyObject

func (in *Paas) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (Paas) GetConditions added in v1.0.0

func (p Paas) GetConditions() []metav1.Condition

func (Paas) GetNsSshSecrets

func (p Paas) GetNsSshSecrets(ns string) (secrets map[string]string)

func (Paas) GroupKey2GroupName added in v1.3.0

func (p Paas) GroupKey2GroupName(groupKey string) string

func (Paas) IsItMe

func (p Paas) IsItMe(reference metav1.OwnerReference) bool

func (Paas) ManagedByPaas added in v0.7.0

func (p Paas) ManagedByPaas() string

func (Paas) PrefixedAllCapNamespaces

func (p Paas) PrefixedAllCapNamespaces() (ns map[string]bool)

func (Paas) PrefixedAllEnabledNamespaces

func (p Paas) PrefixedAllEnabledNamespaces() (ns map[string]bool)

func (Paas) PrefixedBoolMap

func (p Paas) PrefixedBoolMap(m map[string]bool) map[string]bool

func (Paas) WithoutMe

func (p Paas) WithoutMe(references []metav1.OwnerReference) (withoutMe []metav1.OwnerReference)

type PaasCapabilities

type PaasCapabilities map[string]PaasCapability

func (PaasCapabilities) AddCapSshSecret added in v0.12.0

func (pcs PaasCapabilities) AddCapSshSecret(capability string, key string, value string) (err error)

func (PaasCapabilities) AsPrefixedMap

func (pcs PaasCapabilities) AsPrefixedMap(prefix string) PaasCapabilities

func (PaasCapabilities) DeepCopy

func (in PaasCapabilities) DeepCopy() PaasCapabilities

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasCapabilities.

func (PaasCapabilities) DeepCopyInto

func (in PaasCapabilities) DeepCopyInto(out *PaasCapabilities)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PaasCapabilities) GetCapability added in v0.12.0

func (pcs PaasCapabilities) GetCapability(capability string) (cap PaasCapability, err error)

func (PaasCapabilities) IsCap

func (pcs PaasCapabilities) IsCap(name string) bool

func (PaasCapabilities) ResetCapSshSecret added in v0.12.0

func (pcs PaasCapabilities) ResetCapSshSecret(capability string) (err error)

type PaasCapability added in v0.12.0

type PaasCapability struct {
	// Do we want to use this capability, default false
	// +kubebuilder:validation:Optional
	Enabled bool `json:"enabled"`
	// The URL that contains the Applications / Application Sets to be used by this capability
	// +kubebuilder:validation:Optional
	GitUrl string `json:"gitUrl"`
	// The revision of the git repo that contains the Applications / Application Sets to be used by this capability
	// +kubebuilder:validation:Optional
	GitRevision string `json:"gitRevision"`
	// the path in the git repo that contains the Applications / Application Sets to be used by this capability
	// +kubebuilder:validation:Optional
	GitPath string `json:"gitPath"`
	// Custom fields to configure this specific Capability
	// +kubebuilder:validation:Optional
	CustomFields map[string]string `json:"custom_fields"`
	// This project has its own ClusterResourceQuota settings
	// +kubebuilder:validation:Optional
	Quota paas_quota.Quota `json:"quota"`
	// You can add ssh keys (which is a type of secret) for capability to use for access to bitBucket
	// They must be encrypted with the public key corresponding to the private key deployed together with the Paas operator
	// +kubebuilder:validation:Optional
	SshSecrets map[string]string `json:"sshSecrets"`
	// You can enable extra permissions for the service accounts belonging to this capability
	// Exact definitions is configured in Paas Configmap
	// +kubebuilder:validation:Optional
	ExtraPermissions bool `json:"extra_permissions"`
}

func (*PaasCapability) CapExtraFields added in v1.0.0

func (pc *PaasCapability) CapExtraFields(fieldConfig map[string]ConfigCustomField) (fields map[string]string, err error)

func (*PaasCapability) DeepCopy added in v0.12.0

func (in *PaasCapability) DeepCopy() *PaasCapability

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasCapability.

func (*PaasCapability) DeepCopyInto added in v0.12.0

func (in *PaasCapability) DeepCopyInto(out *PaasCapability)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PaasCapability) GetSshSecrets added in v0.12.0

func (pc PaasCapability) GetSshSecrets() map[string]string

func (*PaasCapability) IsEnabled added in v0.12.0

func (pc *PaasCapability) IsEnabled() bool

func (PaasCapability) Quotas added in v0.12.0

func (pc PaasCapability) Quotas() (pq paas_quota.Quota)

func (*PaasCapability) SetDefaults added in v0.12.0

func (pc *PaasCapability) SetDefaults()

func (*PaasCapability) SetSshSecret added in v0.12.0

func (pc *PaasCapability) SetSshSecret(key string, value string)

func (*PaasCapability) WithExtraPermissions added in v0.12.0

func (pc *PaasCapability) WithExtraPermissions() bool

type PaasConfig added in v1.0.0

type PaasConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PaasConfigSpec   `json:"spec,omitempty"`
	Status PaasConfigStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=paasconfig,scope=Cluster

func (*PaasConfig) DeepCopy added in v1.0.0

func (in *PaasConfig) DeepCopy() *PaasConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasConfig.

func (*PaasConfig) DeepCopyInto added in v1.0.0

func (in *PaasConfig) DeepCopyInto(out *PaasConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaasConfig) DeepCopyObject added in v1.0.0

func (in *PaasConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (PaasConfig) GetConditions added in v1.0.0

func (p PaasConfig) GetConditions() []metav1.Condition

type PaasConfigList added in v1.0.0

type PaasConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PaasConfig `json:"items"`
}

+kubebuilder:object:root=true PaasConfigList contains a list of PaasConfig

func (*PaasConfigList) DeepCopy added in v1.0.0

func (in *PaasConfigList) DeepCopy() *PaasConfigList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasConfigList.

func (*PaasConfigList) DeepCopyInto added in v1.0.0

func (in *PaasConfigList) DeepCopyInto(out *PaasConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaasConfigList) DeepCopyObject added in v1.0.0

func (in *PaasConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PaasConfigSpec added in v1.0.0

type PaasConfigSpec struct {
	// DecryptKeysSecret is a reference to the secret containing the DecryptKeys
	// +kubebuilder:validation:Required
	DecryptKeysSecret NamespacedName `json:"decryptKeySecret"`

	// Enable debug information generation or not
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Debug bool `json:"debug"`

	// A map with zero or more ConfigCapability
	// +kubebuilder:validation:Optional
	Capabilities ConfigCapabilities `json:"capabilities"`

	// Deprecated: GroupSyncList code will be removed from the operator to make it more generic
	// A reference to a configmap containing a groupsynclist of LDAP groups to be synced using LDAP sync
	// +kubebuilder:validation:Required
	GroupSyncList NamespacedName `json:"groupsynclist"`

	// Deprecated: GroupSyncListKey code will be removed from the operator to make it more generic
	// A key in the configures GroupSyncList which will contain the LDAP groups to be synced using LDAP sync
	// +kubebuilder:default:=groupsynclist.txt
	// +kubebuilder:validation:Optional
	GroupSyncListKey string `json:"groupsynclist_key"`

	// LDAP configuration for the operator to add to Groups
	// +kubebuilder:validation:Optional
	LDAP ConfigLdap `json:"ldap"`

	// Deprecated: ArgoCD specific code will be removed from the operator
	// Permissions to set for ArgoCD instance
	// +kubebuilder:validation:Optional
	ArgoPermissions ConfigArgoPermissions `json:"argopermissions"`

	// Namespace in which a clusterwide ArgoCD can be found for managing capabilities and appProjects
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	ClusterWideArgoCDNamespace string `json:"clusterwide_argocd_namespace"`

	// Label which is added to clusterquotas
	// +kubebuilder:default:=clusterquotagroup
	// +kubebuilder:validation:Optional
	QuotaLabel string `json:"quota_label"`

	// Name of the label used to define who is the contact for this resource
	// +kubebuilder:default:=requestor
	// +kubebuilder:validation:Optional
	RequestorLabel string `json:"requestor_label"`

	// Name of the label used to define by whom the resource is managed.
	// +kubebuilder:default:=argocd.argoproj.io/managed-by
	// +kubebuilder:validation:Optional
	ManagedByLabel string `json:"managed_by_label"`

	// Deprecated: ArgoCD specific code will be removed from the operator
	// Name of an ApplicationSet to be set as ignored in the ArgoCD bootstrap Application
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	ExcludeAppSetName string `json:"exclude_appset_name"`

	// Grant permissions to all groups according to config in configmap and role selected per group in paas.
	// +kubebuilder:validation:Optional
	RoleMappings ConfigRoleMappings `json:"rolemappings"`
}

func (PaasConfigSpec) CapabilityK8sName added in v1.0.0

func (config PaasConfigSpec) CapabilityK8sName(capability string) (as types.NamespacedName)

func (*PaasConfigSpec) DeepCopy added in v1.0.0

func (in *PaasConfigSpec) DeepCopy() *PaasConfigSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasConfigSpec.

func (*PaasConfigSpec) DeepCopyInto added in v1.0.0

func (in *PaasConfigSpec) DeepCopyInto(out *PaasConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PaasConfigStatus added in v1.0.0

type PaasConfigStatus struct {
	// Conditions of this resource
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

func (*PaasConfigStatus) DeepCopy added in v1.0.0

func (in *PaasConfigStatus) DeepCopy() *PaasConfigStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasConfigStatus.

func (*PaasConfigStatus) DeepCopyInto added in v1.0.0

func (in *PaasConfigStatus) DeepCopyInto(out *PaasConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PaasGroup

type PaasGroup struct {
	// A fully qualified LDAP query which will be used by the Group Sync Operator to sync users to the defined group.
	//
	// When set in combination with `users`, the Group Sync Operator will overwrite the manually assigned users.
	// Therefore, this field is mutually exclusive with `group.users`.
	// +kubebuilder:validation:Optional
	Query string `json:"query"`
	// A list of LDAP users which are added to the defined group.
	//
	// When set in combination with `users`, the Group Sync Operator will overwrite the manually assigned users.
	// Therefore, this field is mutually exclusive with `group.query`.
	// +kubebuilder:validation:Optional
	Users []string `json:"users"`
	// List of roles, as defined in the `PaasConfig` which the users in this group get assigned via a rolebinding.
	// +kubebuilder:validation:Optional
	Roles []string `json:"roles"`
}

func (*PaasGroup) DeepCopy

func (in *PaasGroup) DeepCopy() *PaasGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasGroup.

func (*PaasGroup) DeepCopyInto

func (in *PaasGroup) DeepCopyInto(out *PaasGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PaasGroup) Name

func (pg PaasGroup) Name(defName string) string

type PaasGroups

type PaasGroups map[string]PaasGroup

func (PaasGroups) AsGroups

func (pgs PaasGroups) AsGroups() groups.Groups

func (PaasGroups) DeepCopy

func (in PaasGroups) DeepCopy() PaasGroups

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasGroups.

func (PaasGroups) DeepCopyInto

func (in PaasGroups) DeepCopyInto(out *PaasGroups)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PaasGroups) Filtered added in v0.6.0

func (pgs PaasGroups) Filtered(groups []string) PaasGroups

Filtered returns a list of PaasGroups which have a key that is in the list of groups, specified as string.

func (PaasGroups) Key2Name

func (pgs PaasGroups) Key2Name(key string) string

func (PaasGroups) Keys

func (pgs PaasGroups) Keys() (keys []string)

Keys() returns the keys of the PaasGroups

func (PaasGroups) LdapQueries

func (pgs PaasGroups) LdapQueries() []string

func (PaasGroups) Names

func (pgs PaasGroups) Names() (groups []string)

func (PaasGroups) Roles added in v0.6.0

func (pgs PaasGroups) Roles() map[string][]string

Roles returns a map of groupKeys with the roles defined within that groupKey

type PaasList

type PaasList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Paas `json:"items,omitempty"`
}

PaasList contains a list of Paas

func (*PaasList) DeepCopy

func (in *PaasList) DeepCopy() *PaasList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasList.

func (*PaasList) DeepCopyInto

func (in *PaasList) DeepCopyInto(out *PaasList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaasList) DeepCopyObject

func (in *PaasList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PaasNS

type PaasNS struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PaasNSSpec   `json:"spec,omitempty"`
	Status PaasNsStatus `json:"status,omitempty"`
}

PaasNS is the Schema for the PaasNS API

func (PaasNS) AmIOwner added in v0.6.0

func (p PaasNS) AmIOwner(references []metav1.OwnerReference) bool

func (PaasNS) ClonedLabels

func (p PaasNS) ClonedLabels() map[string]string

func (*PaasNS) DeepCopy

func (in *PaasNS) DeepCopy() *PaasNS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasNS.

func (*PaasNS) DeepCopyInto

func (in *PaasNS) DeepCopyInto(out *PaasNS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaasNS) DeepCopyObject

func (in *PaasNS) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (PaasNS) GetConditions added in v1.0.0

func (p PaasNS) GetConditions() []metav1.Condition

func (PaasNS) IsItMe added in v0.6.0

func (p PaasNS) IsItMe(reference metav1.OwnerReference) bool

func (PaasNS) NamespaceName

func (pns PaasNS) NamespaceName() string

type PaasNSList

type PaasNSList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PaasNS `json:"items"`
}

PaasNSList contains a list of PaasNS

func (*PaasNSList) DeepCopy

func (in *PaasNSList) DeepCopy() *PaasNSList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasNSList.

func (*PaasNSList) DeepCopyInto

func (in *PaasNSList) DeepCopyInto(out *PaasNSList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaasNSList) DeepCopyObject

func (in *PaasNSList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PaasNSSpec

type PaasNSSpec struct {
	// The `metadata.name` of the Paas which created the namespace in which this PaasNS is applied
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Paas string `json:"paas"`
	// Keys of the groups, as defined in the related `paas`, which should get access to the namespace created by this PaasNS.
	// When not set, all groups as defined in the related `paas` get access to the namespace created by this PaasNS.
	// +kubebuilder:validation:Optional
	Groups []string `json:"groups"`
	// SshSecrets which should exist in the namespace created through this PaasNS, the values are the encrypted secrets through Crypt
	// +kubebuilder:validation:Optional
	SshSecrets map[string]string `json:"sshSecrets"`
}

PaasNSSpec defines the desired state of PaasNS

func (*PaasNSSpec) DeepCopy

func (in *PaasNSSpec) DeepCopy() *PaasNSSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasNSSpec.

func (*PaasNSSpec) DeepCopyInto

func (in *PaasNSSpec) DeepCopyInto(out *PaasNSSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PaasNsStatus added in v0.5.0

type PaasNsStatus struct {
	// Deprecated: use paasns.status.conditions instead
	// +kubebuilder:validation:Optional
	Messages []string `json:"messages"`
	// +kubebuilder:validation:Optional
	Conditions []metav1.Condition `json:"conditions" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

PaasStatus defines the observed state of Paas

func (*PaasNsStatus) DeepCopy added in v0.6.1

func (in *PaasNsStatus) DeepCopy() *PaasNsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasNsStatus.

func (*PaasNsStatus) DeepCopyInto added in v0.6.1

func (in *PaasNsStatus) DeepCopyInto(out *PaasNsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaasNsStatus) GetMessages deprecated added in v0.6.0

func (ps *PaasNsStatus) GetMessages() []string

Deprecated: use paasns.status.conditions instead

func (*PaasNsStatus) Truncate deprecated added in v0.5.0

func (ps *PaasNsStatus) Truncate()

Deprecated: use paasns.status.conditions instead

type PaasSpec

type PaasSpec struct {
	// Capabilities is a subset of capabilities that will be available in this Paas Project
	// +kubebuilder:validation:Optional
	Capabilities PaasCapabilities `json:"capabilities"`

	// Requestor is an informational field which decides on the requestor (also application responsible)
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Requestor string `json:"requestor"`

	// Groups define k8s groups, based on an LDAP query or a list of LDAP users, which get access to the namespaces
	// belonging to this Paas. Per group, RBAC roles can be defined.
	// +kubebuilder:validation:Optional
	Groups PaasGroups `json:"groups"`

	// Quota defines the quotas which should be set on the cluster resource quota as used by this Paas project
	// +kubebuilder:validation:Required
	Quota paas_quota.Quota `json:"quota"`

	// Namespaces can be used to define extra namespaces to be created as part of this Paas project
	// +kubebuilder:validation:Optional
	Namespaces []string `json:"namespaces"`
	// You can add ssh keys (which is a type of secret) for ArgoCD to use for access to bitBucket
	// They must be encrypted with the public key corresponding to the private key deployed together with the Paas operator
	// +kubebuilder:validation:Optional
	SshSecrets map[string]string `json:"sshSecrets"`

	// Indicated by which 3rd party Paas's ArgoCD this Paas is managed
	// +kubebuilder:validation:Optional
	ManagedByPaas string `json:"managedByPaas"`
}

PaasSpec defines the desired state of Paas

func (*PaasSpec) DeepCopy

func (in *PaasSpec) DeepCopy() *PaasSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasSpec.

func (*PaasSpec) DeepCopyInto

func (in *PaasSpec) DeepCopyInto(out *PaasSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PaasStatus

type PaasStatus struct {
	// Deprecated: use paasns.status.conditions instead
	// +kubebuilder:validation:Optional
	Messages []string `json:"messages"`
	// Deprecated: will not be set and removed in a future release
	// +kubebuilder:validation:Optional
	Quota map[string]paas_quota.Quota `json:"quotas"`
	// +kubebuilder:validation:Optional
	Conditions []metav1.Condition `json:"conditions" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

PaasStatus defines the observed state of Paas

func (*PaasStatus) DeepCopy

func (in *PaasStatus) DeepCopy() *PaasStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaasStatus.

func (*PaasStatus) DeepCopyInto

func (in *PaasStatus) DeepCopyInto(out *PaasStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaasStatus) GetMessages deprecated added in v0.6.0

func (ps *PaasStatus) GetMessages() []string

Deprecated: use paasns.status.conditions instead

func (*PaasStatus) Truncate deprecated

func (ps *PaasStatus) Truncate()

Deprecated: use paas.status.conditions instead

Jump to

Keyboard shortcuts

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