v1alpha1

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the directory v1alpha1 API group +kubebuilder:object:generate=true +groupName=directory.forgerock.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "directory.forgerock.io", 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

This section is empty.

Types

type DirectoryBackup

type DirectoryBackup struct {
	Enabled bool   `json:"enabled,required"`
	Path    string `json:"path,required"`
	Cron    string `json:"cron,required"`
	// +kubebuilder:default:=cloud-storage-credentials
	SecretName string `json:"secretName,omitempty"`
	//  +kubebuilder:default:=2400
	PurgeHours int32 `json:"purgeHours,omitempty"`
	// +kubebuilder:default:="40 0 * * *"
	PurgeCron string `json:"purgeCron,omitempty"`
}

DirectoryBackup defines how and where to backup DS to

func (*DirectoryBackup) DeepCopy

func (in *DirectoryBackup) DeepCopy() *DirectoryBackup

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

func (*DirectoryBackup) DeepCopyInto

func (in *DirectoryBackup) DeepCopyInto(out *DirectoryBackup)

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

type DirectoryBackupStatus

type DirectoryBackupStatus struct {
	// note DS returns these as string values. For status is ok
	StartTime string `json:"startTime"`
	EndTime   string `json:"endTime"`
	Status    string `json:"status"`
}

DirectoryBackupStatus provides the status of the backup

func (*DirectoryBackupStatus) DeepCopy

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

func (*DirectoryBackupStatus) DeepCopyInto

func (in *DirectoryBackupStatus) DeepCopyInto(out *DirectoryBackupStatus)

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

type DirectoryKeystores

type DirectoryKeystores struct {
	// The name of a secret containing the keystore
	// +kubebuilder:default:=ds
	SecretName string `json:"secretName,required"`
}

DirectoryKeystores provides a reference to the keystore secrets

func (*DirectoryKeystores) DeepCopy

func (in *DirectoryKeystores) DeepCopy() *DirectoryKeystores

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

func (*DirectoryKeystores) DeepCopyInto

func (in *DirectoryKeystores) DeepCopyInto(out *DirectoryKeystores)

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

type DirectoryPasswords

type DirectoryPasswords struct {
	// The name of a secret
	SecretName string `json:"secretName"`
	// The key within the secret
	Key string `json:"key"`
	// Create a random secret if true. Otherwise assumes the secret already exists
	Create bool `json:"create,omitempty"`
}

DirectoryPasswords is a reference to account secrets that contain passwords for the directory. The operator can set the passwords for accounts such as the uid=admin, uid=monitor and service accounts such as uid=idm-admin,ou=admins

func (*DirectoryPasswords) DeepCopy

func (in *DirectoryPasswords) DeepCopy() *DirectoryPasswords

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

func (*DirectoryPasswords) DeepCopyInto

func (in *DirectoryPasswords) DeepCopyInto(out *DirectoryPasswords)

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

type DirectoryProxy added in v0.0.6

type DirectoryProxy struct {
	Enabled bool `json:"enabled,required"`
	// Docker Image for the directory server.
	Image string `json:"image,required"`
	// Replicas is the number of directory server proxy instances to create
	// +kubebuilder:validation:Maximum:=8
	// +kubebuilder:validation:Minimum:=0
	Replicas int32 `json:"replicas,required"`
	// PrimaryGroupID specifies the group of servers the ds proxy should recognize as primary
	// If no value is provided, all available directory servers will be considered to be primary
	PrimaryGroupID string                      `json:"primaryGroupId,omitempty"`
	Resources      corev1.ResourceRequirements `json:"resources,omitempty"`
}

DirectoryProxy defines the settings of the directory proxy

func (*DirectoryProxy) DeepCopy added in v0.0.6

func (in *DirectoryProxy) DeepCopy() *DirectoryProxy

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

func (*DirectoryProxy) DeepCopyInto added in v0.0.6

func (in *DirectoryProxy) DeepCopyInto(out *DirectoryProxy)

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

type DirectoryProxyStatus added in v0.0.6

type DirectoryProxyStatus struct {
	Replicas      int32  `json:"replicas,omitempty"`
	ReadyReplicas int32  `json:"readyReplicas,omitempty"`
	ServerMessage string `json:"serverMessage,omitempty"`
}

DirectoryProxyStatus defines the observed state of DirectoryService Proxy

func (*DirectoryProxyStatus) DeepCopy added in v0.0.6

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

func (*DirectoryProxyStatus) DeepCopyInto added in v0.0.6

func (in *DirectoryProxyStatus) DeepCopyInto(out *DirectoryProxyStatus)

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

type DirectoryRestore

type DirectoryRestore struct {
	Enabled bool `json:"enabled,required"`
	// Path to the backup location (could be a gcp or s3 bucket)
	Path string `json:"path,required"`
	// +kubebuilder:default:=cloud-storage-credentials
	SecretName string `json:"secretName,omitempty"`
}

DirectoryRestore defines how to restore a new directory from a backup

func (*DirectoryRestore) DeepCopy

func (in *DirectoryRestore) DeepCopy() *DirectoryRestore

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

func (*DirectoryRestore) DeepCopyInto

func (in *DirectoryRestore) DeepCopyInto(out *DirectoryRestore)

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

type DirectoryService

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

	Spec   DirectoryServiceSpec   `json:"spec,omitempty"`
	Status DirectoryServiceStatus `json:"status,omitempty"`
}

DirectoryService is the Schema for the directoryservices API

func (*DirectoryService) DeepCopy

func (in *DirectoryService) DeepCopy() *DirectoryService

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

func (*DirectoryService) DeepCopyInto

func (in *DirectoryService) DeepCopyInto(out *DirectoryService)

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

func (*DirectoryService) DeepCopyObject

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

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

func (*DirectoryService) Default

func (r *DirectoryService) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*DirectoryService) SecretNameForDN

func (ds *DirectoryService) SecretNameForDN(pathRef string) string

SecretNameForDN looks up the secret name for the given dn (example, uid=admin)

func (*DirectoryService) SetupWebhookWithManager

func (r *DirectoryService) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager registers the webhook with the manager

func (*DirectoryService) ValidateCreate

func (r *DirectoryService) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*DirectoryService) ValidateDelete

func (r *DirectoryService) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*DirectoryService) ValidateUpdate

func (r *DirectoryService) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type DirectoryServiceList

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

DirectoryServiceList contains a list of DirectoryService

func (*DirectoryServiceList) DeepCopy

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

func (*DirectoryServiceList) DeepCopyInto

func (in *DirectoryServiceList) DeepCopyInto(out *DirectoryServiceList)

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

func (*DirectoryServiceList) DeepCopyObject

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

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

type DirectoryServiceSpec

type DirectoryServiceSpec struct {

	// Docker Image for the directory server.
	Image string `json:"image,required"`
	// Replicas is the number of directory server instances to create
	// +kubebuilder:validation:Maximum:=8
	// +kubebuilder:default:=1
	Replicas *int32 `json:"replicas,required"`

	// GroupID is the value used to identify this group of directory servers (default: "default")
	// This field can be set to $(POD_NAME) to allocate each ds server to its own group.
	GroupID string `json:"groupID,omitempty"`

	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// The account secrets. The key is the DN of the secret (example, uid=admin)
	Passwords map[string]DirectoryPasswords `json:"passwords"`
	// Keystore references
	Keystore DirectoryKeystores `json:"keystore,omitempty"`

	// Truststore - for mTLS connections
	TrustStore TrustStore `json:"truststore,omitempty"`

	// +kubebuilder:default:="100Gi"
	Storage string `json:"storage"`

	// If specified, create the PVC from the volume snapshot specified in the name.
	// If the name "latest" is used - attempt to calculate the latest snapshot the operator took.
	// +kubebuilder:validation:Optional
	InitializeFromSnapshotName string `json:"initializeFromSnapshotName"`

	// +kubebuilder:validation:Optional
	StorageClassName string `json:"storageClassName,omitempty"`

	// Snapshots
	Snapshots DirectorySnapshotSpec `json:"snapshots,omitempty"`
	// Backup
	Backup DirectoryBackup `json:"backup,omitempty"`
	// Restore
	Restore DirectoryRestore `json:"restore,omitempty"`
	// Proxy configurations
	Proxy DirectoryProxy `json:"proxy,omitempty"`
}

DirectoryServiceSpec defines the desired state of DirectoryService

func (*DirectoryServiceSpec) DeepCopy

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

func (*DirectoryServiceSpec) DeepCopyInto

func (in *DirectoryServiceSpec) DeepCopyInto(out *DirectoryServiceSpec)

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

type DirectoryServiceStatus

type DirectoryServiceStatus struct {
	// +optional
	Active                             []corev1.ObjectReference `json:"active,omitempty"`
	CurrentReplicas                    *int32                   `json:"currentReplicas,omitempty"`
	ServiceAccountPasswordsUpdatedTime int64                    `json:"serviceAccountPasswordsUpdatedTime,omitempty"`
	BackupStatus                       []DirectoryBackupStatus  `json:"backupStatus,omitempty"`
	ServerMessage                      string                   `json:"serverMessage,omitempty"`
	ProxyStatus                        DirectoryProxyStatus     `json:"proxyStatus,omitempty"`
	SnapshotStatus                     SnapshotStatus           `json:"snapshotStatus,omitempty"`
}

DirectoryServiceStatus defines the observed state of DirectoryService

func (*DirectoryServiceStatus) DeepCopy

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

func (*DirectoryServiceStatus) DeepCopyInto

func (in *DirectoryServiceStatus) DeepCopyInto(out *DirectoryServiceStatus)

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

type DirectorySnapshotSpec added in v0.0.7

type DirectorySnapshotSpec struct {
	// +kubebuilder:default:=false
	Enabled bool `json:"enabled,required"`
	// +kubebuilder:default:=30
	PeriodMinutes int32 `json:"periodMinutes,required"`
	// +kubebuilder:default:=10
	SnapshotsRetained int32 `json:"snapshotsRetained,required"`
	// +kubebuilder:default:=ds-snapshot-class
	VolumeSnapshotClassName string `json:"volumeSnapshotClassName,required"`
}

func (*DirectorySnapshotSpec) DeepCopy added in v0.0.7

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

func (*DirectorySnapshotSpec) DeepCopyInto added in v0.0.7

func (in *DirectorySnapshotSpec) DeepCopyInto(out *DirectorySnapshotSpec)

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

type SnapshotStatus added in v0.0.7

type SnapshotStatus struct {
	LastSnapshotTimeStamp int64 `json:"lastSnapshotTimeStamp"`
}

func (*SnapshotStatus) DeepCopy added in v0.0.7

func (in *SnapshotStatus) DeepCopy() *SnapshotStatus

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

func (*SnapshotStatus) DeepCopyInto added in v0.0.7

func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)

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

type TrustStore added in v0.0.10

type TrustStore struct {
	// The name of a secret
	SecretName string `json:"secretName,required"`
	KeyName    string `json:"keyName,omitempty"`
	// Create a random secret if true. Otherwise assumes the secret already exists
	// Not currently supported
	Create bool `json:"create,omitempty"`
}

TrustStore defines a CA key pair

func (*TrustStore) DeepCopy added in v0.0.10

func (in *TrustStore) DeepCopy() *TrustStore

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

func (*TrustStore) DeepCopyInto added in v0.0.10

func (in *TrustStore) DeepCopyInto(out *TrustStore)

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

Jump to

Keyboard shortcuts

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