v1alpha1

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the svn v1alpha1 API group +kubebuilder:object:generate=true +groupName=svn.k8s.oyasumi.club

Index

Constants

View Source
const (
	// PermissionNone means the group have no permission to the repository.
	PermissionNone = ""

	// PermissionR means the group only can read from the repository.
	PermissionR = "r"

	// PermissionRW means the group can both read from and write to the repository.
	PermissionRW = "rw"
)

Here is a list of allowed permissions. We do not define types like Permission because currently kubebuilder seems to not support kubebuilder:validation:Pattern with named types.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "svn.k8s.oyasumi.club", 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 Condition

type Condition struct {
	Type ConditionType `json:"type"`

	Reason string `json:"reason,omitempty"`

	// The time when the SVNServer's condition changed in RFC3339 format.
	TransitionTime string `json:"transitionTime"`
}

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionType

type ConditionType string
const (
	ConditionTypeNone   ConditionType = ""
	ConditionTypeSynced ConditionType = "Synced"
	ConditionTypeFailed ConditionType = "Failed"
)

type GroupRef

type GroupRef struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]*$"
	// Name is the name of the SVNGroup.
	Name string `json:"name,omitempty"`
}

GroupRef is a reference to SVNGroups.

func (*GroupRef) DeepCopy

func (in *GroupRef) DeepCopy() *GroupRef

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

func (*GroupRef) DeepCopyInto

func (in *GroupRef) DeepCopyInto(out *GroupRef)

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

type Permission

type Permission struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]*$"
	// The name of the SVNRepository to give access to.
	// The SVNRepository must reside in the same namespace as the SVNGroup.
	Repository string `json:"repository,omitempty"`

	// +kubebuilder:validation:Pattern="^(?:r|rw|)$"
	// The permission to access to the repository.
	Permission string `json:"permission,omitempty"`
}

func (*Permission) DeepCopy

func (in *Permission) DeepCopy() *Permission

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

func (*Permission) DeepCopyInto

func (in *Permission) DeepCopyInto(out *Permission)

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

type PodTemplate

type PodTemplate struct {
	// +kubebuilder:validation:Optional
	// Image specifies a container image of SVN server.
	// If not specified, the default value will be used.
	Image string `json:"image,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// +kubebuilder:validation:Optional
	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use. For example,
	// in the case of docker, only DockerConfig type secrets are honored.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// +kubebuilder:validation:Optional
	// If specified, the pod's scheduling constraints
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// +kubebuilder:validation:Optional
	// If specified, the pod's tolerations.
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

PodTemplate is an optional template to create SVN server pods.

func (*PodTemplate) DeepCopy

func (in *PodTemplate) DeepCopy() *PodTemplate

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

func (*PodTemplate) DeepCopyInto

func (in *PodTemplate) DeepCopyInto(out *PodTemplate)

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

type SVNGroup

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

	Spec   SVNGroupSpec   `json:"spec,omitempty"`
	Status SVNGroupStatus `json:"status,omitempty"`
}

SVNGroup is the Schema for the svngroups API

func (*SVNGroup) DeepCopy

func (in *SVNGroup) DeepCopy() *SVNGroup

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

func (*SVNGroup) DeepCopyInto

func (in *SVNGroup) DeepCopyInto(out *SVNGroup)

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

func (*SVNGroup) DeepCopyObject

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

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

type SVNGroupList

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

SVNGroupList contains a list of SVNGroup

func (*SVNGroupList) DeepCopy

func (in *SVNGroupList) DeepCopy() *SVNGroupList

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

func (*SVNGroupList) DeepCopyInto

func (in *SVNGroupList) DeepCopyInto(out *SVNGroupList)

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

func (*SVNGroupList) DeepCopyObject

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

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

type SVNGroupSpec

type SVNGroupSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]*$"
	// The name of the SVNServer
	SVNServer string `json:"svnServer,omitempty"`

	// +kubebuilder:validation:Required
	// The permissions that the group have.
	Permissions []Permission `json:"permissions,omitempty"`
}

SVNGroupSpec defines the desired state of SVNGroup

func (*SVNGroupSpec) DeepCopy

func (in *SVNGroupSpec) DeepCopy() *SVNGroupSpec

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

func (*SVNGroupSpec) DeepCopyInto

func (in *SVNGroupSpec) DeepCopyInto(out *SVNGroupSpec)

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

type SVNGroupStatus

type SVNGroupStatus struct {
	// +Kubebuilder:validation:Optional
	Conditions []Condition `json:"conditions"`
}

SVNGroupStatus defines the observed state of SVNGroup

func (*SVNGroupStatus) DeepCopy

func (in *SVNGroupStatus) DeepCopy() *SVNGroupStatus

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

func (*SVNGroupStatus) DeepCopyInto

func (in *SVNGroupStatus) DeepCopyInto(out *SVNGroupStatus)

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

type SVNRepository

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

	Spec   SVNRepositorySpec   `json:"spec,omitempty"`
	Status SVNRepositoryStatus `json:"status,omitempty"`
}

SVNRepository is the Schema for the svnrepositories API

The svn-operator does not delete actual repositories if SVNRepository resources are deleted. In such case, you can restore repositories by recreating SVNRepository resources. Currently we do not provide methods to configure this behavior.

func (*SVNRepository) DeepCopy

func (in *SVNRepository) DeepCopy() *SVNRepository

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

func (*SVNRepository) DeepCopyInto

func (in *SVNRepository) DeepCopyInto(out *SVNRepository)

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

func (*SVNRepository) DeepCopyObject

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

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

type SVNRepositoryList

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

SVNRepositoryList contains a list of SVNRepository

func (*SVNRepositoryList) DeepCopy

func (in *SVNRepositoryList) DeepCopy() *SVNRepositoryList

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

func (*SVNRepositoryList) DeepCopyInto

func (in *SVNRepositoryList) DeepCopyInto(out *SVNRepositoryList)

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

func (*SVNRepositoryList) DeepCopyObject

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

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

type SVNRepositorySpec

type SVNRepositorySpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]*$"
	// The name of the SVNServer
	SVNServer string `json:"svnServer,omitempty"`
}

SVNRepositorySpec defines the desired state of SVNRepository

func (*SVNRepositorySpec) DeepCopy

func (in *SVNRepositorySpec) DeepCopy() *SVNRepositorySpec

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

func (*SVNRepositorySpec) DeepCopyInto

func (in *SVNRepositorySpec) DeepCopyInto(out *SVNRepositorySpec)

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

type SVNRepositoryStatus

type SVNRepositoryStatus struct {
	// +Kubebuilder:validation:Optional
	Conditions []Condition `json:"conditions"`
}

SVNRepositoryStatus defines the observed state of SVNRepository

func (*SVNRepositoryStatus) DeepCopy

func (in *SVNRepositoryStatus) DeepCopy() *SVNRepositoryStatus

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

func (*SVNRepositoryStatus) DeepCopyInto

func (in *SVNRepositoryStatus) DeepCopyInto(out *SVNRepositoryStatus)

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

type SVNServer

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

	Spec   SVNServerSpec   `json:"spec,omitempty"`
	Status SVNServerStatus `json:"status,omitempty"`
}

SVNServer is the Schema for the svnservers API

func (*SVNServer) DeepCopy

func (in *SVNServer) DeepCopy() *SVNServer

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

func (*SVNServer) DeepCopyInto

func (in *SVNServer) DeepCopyInto(out *SVNServer)

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

func (*SVNServer) DeepCopyObject

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

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

type SVNServerList

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

SVNServerList contains a list of SVNServer

func (*SVNServerList) DeepCopy

func (in *SVNServerList) DeepCopy() *SVNServerList

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

func (*SVNServerList) DeepCopyInto

func (in *SVNServerList) DeepCopyInto(out *SVNServerList)

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

func (*SVNServerList) DeepCopyObject

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

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

type SVNServerSpec

type SVNServerSpec struct {
	// +kubebuilder:validation:Required
	// PodTemplate is a template to create Pods.
	PodTemplate PodTemplate `json:"podTemplate,omitempty"`

	// +kubebuilder:validation:Required
	// VolumeClaimTemplate is a PVC to store SVN repositories and configuration files in.
	VolumeClaimTemplate corev1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
}

SVNServerSpec defines the desired state of SVNServer

func (*SVNServerSpec) DeepCopy

func (in *SVNServerSpec) DeepCopy() *SVNServerSpec

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

func (*SVNServerSpec) DeepCopyInto

func (in *SVNServerSpec) DeepCopyInto(out *SVNServerSpec)

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

type SVNServerStatus

type SVNServerStatus struct {
	// +kubebuilder:validation:Optional
	Conditions []Condition `json:"conditions"`
}

SVNServerStatus defines the observed state of SVNServer

func (*SVNServerStatus) DeepCopy

func (in *SVNServerStatus) DeepCopy() *SVNServerStatus

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

func (*SVNServerStatus) DeepCopyInto

func (in *SVNServerStatus) DeepCopyInto(out *SVNServerStatus)

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

type SVNUser

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

	Spec   SVNUserSpec   `json:"spec,omitempty"`
	Status SVNUserStatus `json:"status,omitempty"`
}

SVNUser is the Schema for the svnusers API

func (*SVNUser) DeepCopy

func (in *SVNUser) DeepCopy() *SVNUser

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

func (*SVNUser) DeepCopyInto

func (in *SVNUser) DeepCopyInto(out *SVNUser)

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

func (*SVNUser) DeepCopyObject

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

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

type SVNUserList

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

SVNUserList contains a list of SVNUser

func (*SVNUserList) DeepCopy

func (in *SVNUserList) DeepCopy() *SVNUserList

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

func (*SVNUserList) DeepCopyInto

func (in *SVNUserList) DeepCopyInto(out *SVNUserList)

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

func (*SVNUserList) DeepCopyObject

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

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

type SVNUserSpec

type SVNUserSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]*$"
	// The name of the SVNServer
	SVNServer string `json:"svnServer,omitempty"`

	// Groups is a list of SVNGroups that the user belongs to.
	Groups []GroupRef `json:"groups,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9+/=.${}]+$"
	// EncryptedPassword is a password encrypted by `htpasswd`.
	// This must be computed elsewhere in order to avoid additional complexity of
	// letting controllers manage sensitive values.
	//
	// This field can be computed by the following command:
	//   $ htpasswd -nB USERNAME | cut -d : -f 2-
	//   New password: (TYPE YOUR PASSWORD HERE)
	//   Re-type new password: (TYPE YOUR PASSWORD HERE)
	//   $2y$05$Z9loUIkf0DynjbD0UMEpneKCSKYfkTCaE/pwY8wt7MtKQILxKRwjG (example output)
	//
	// See https://httpd.apache.org/docs/2.4/misc/password_encryptions.html for more information.
	EncryptedPassword string `json:"encryptedPassword,omitempty"`
}

SVNUserSpec defines the desired state of SVNUser

func (*SVNUserSpec) DeepCopy

func (in *SVNUserSpec) DeepCopy() *SVNUserSpec

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

func (*SVNUserSpec) DeepCopyInto

func (in *SVNUserSpec) DeepCopyInto(out *SVNUserSpec)

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

type SVNUserStatus

type SVNUserStatus struct {
	// +Kubebuilder:validation:Optional
	Conditions []Condition `json:"conditions"`
}

SVNUserStatus defines the observed state of SVNUser

func (*SVNUserStatus) DeepCopy

func (in *SVNUserStatus) DeepCopy() *SVNUserStatus

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

func (*SVNUserStatus) DeepCopyInto

func (in *SVNUserStatus) DeepCopyInto(out *SVNUserStatus)

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