v1alpha1

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

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

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

	Spec   AliasSpec   `json:"spec,omitempty"`
	Status AliasStatus `json:"status,omitempty"`
}

Alias is the Schema for the aliases API

func (*Alias) DeepCopy

func (in *Alias) DeepCopy() *Alias

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

func (*Alias) DeepCopyInto

func (in *Alias) DeepCopyInto(out *Alias)

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

func (*Alias) DeepCopyObject

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

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

type AliasList

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

AliasList contains a list of Alias

func (*AliasList) DeepCopy

func (in *AliasList) DeepCopy() *AliasList

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

func (*AliasList) DeepCopyInto

func (in *AliasList) DeepCopyInto(out *AliasList)

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

func (*AliasList) DeepCopyObject

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

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

type AliasSpec

type AliasSpec struct {
	// Name part of e-mail address 'name@domain'.
	Name string `json:"name"`
	// Domain part of e-mail address 'name@domain'.
	Domain string `json:"domain"`
	// Comment is a custom comment for the alias.
	Comment string `json:"comment,omitempty"`
	// Destination is a list of destinations for e-mails to 'name@domain'.
	// +kubebuilder:default={}
	Destination []string `json:"destination,omitempty"`
	// Wildcard must be set to 'true' if the name contains the wildcard character '%'.
	// +kubebuilder:default=false
	Wildcard bool `json:"wildcard,omitempty"`
}

AliasSpec defines the desired state of Alias

func (*AliasSpec) DeepCopy

func (in *AliasSpec) DeepCopy() *AliasSpec

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

func (*AliasSpec) DeepCopyInto

func (in *AliasSpec) DeepCopyInto(out *AliasSpec)

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

type AliasStatus

type AliasStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

AliasStatus defines the observed state of Alias

func (*AliasStatus) DeepCopy

func (in *AliasStatus) DeepCopy() *AliasStatus

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

func (*AliasStatus) DeepCopyInto

func (in *AliasStatus) DeepCopyInto(out *AliasStatus)

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

type Domain

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

	Spec   DomainSpec   `json:"spec,omitempty"`
	Status DomainStatus `json:"status,omitempty"`
}

Domain is the Schema for the domains API

func (*Domain) DeepCopy

func (in *Domain) DeepCopy() *Domain

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

func (*Domain) DeepCopyInto

func (in *Domain) DeepCopyInto(out *Domain)

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

func (*Domain) DeepCopyObject

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

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

type DomainList

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

DomainList contains a list of Domain

func (*DomainList) DeepCopy

func (in *DomainList) DeepCopy() *DomainList

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

func (*DomainList) DeepCopyInto

func (in *DomainList) DeepCopyInto(out *DomainList)

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

func (*DomainList) DeepCopyObject

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

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

type DomainSpec

type DomainSpec struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Domain name.
	Name string `json:"name"`
	// Comment is a custom comment for the domain.
	Comment string `json:"comment,omitempty"`
	// MaxUsers, default -1 for unlimited.
	// +kubebuilder:default=-1
	MaxUsers int `json:"maxUsers,omitempty"`
	// MaxAliases, default -1 for unlimited.
	// +kubebuilder:default=-1
	MaxAliases int `json:"maxAliases,omitempty"`
	// MaxQuotaBytes, default 0 for unlimited.
	// +kubebuilder:default=0
	MaxQuotaBytes int `json:"maxQuotaBytes,omitempty"`
	// SignupEnabled allows users to self-signup for this domain.
	// +kubebuilder:default=false
	SignupEnabled bool `json:"signupEnabled,omitempty"`
	// Alternatives contains alternative domain names.
	// +kubebuilder:default={}
	Alternatives []string `json:"alternatives,omitempty"`
}

DomainSpec defines the desired state of Domain

func (*DomainSpec) DeepCopy

func (in *DomainSpec) DeepCopy() *DomainSpec

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

func (*DomainSpec) DeepCopyInto

func (in *DomainSpec) DeepCopyInto(out *DomainSpec)

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

type DomainStatus

type DomainStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

DomainStatus defines the observed state of Domain

func (*DomainStatus) DeepCopy

func (in *DomainStatus) DeepCopy() *DomainStatus

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

func (*DomainStatus) DeepCopyInto

func (in *DomainStatus) DeepCopyInto(out *DomainStatus)

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

type User

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

	Spec   UserSpec   `json:"spec,omitempty"`
	Status UserStatus `json:"status,omitempty"`
}

User is the Schema for the users API

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject

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

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

type UserList

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

UserList contains a list of User

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject

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

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

type UserSpec

type UserSpec struct {
	// Name part of e-mail address 'name@domain'.
	Name string `json:"name"`
	// Domain part of e-mail address 'name@domain'.
	Domain string `json:"domain"`
	// AllowSpoofing allows this user to send e-mails with any sender.
	// +kubebuilder:default=false
	AllowSpoofing bool `json:"allowSpoofing,omitempty"`
	// ChangePassword requires the user to change the password on next login.
	// +kubebuilder:default=false
	ChangePassword bool `json:"changePassword,omitempty"`
	// Comment is a custom comment for the user.
	Comment string `json:"comment,omitempty"`
	// DisplayName is the name displayed for this user.
	// +kubebuilder:default=""
	DisplayedName string `json:"displayedName,omitempty"`
	// Enabled states the status of this user account.
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`
	// EnableIMAP states if IMAP is available to the user.
	// +kubebuilder:default=false
	EnableIMAP bool `json:"enableIMAP,omitempty"`
	// EnablePOP states if POP3 is available to the user.
	// +kubebuilder:default=false
	EnablePOP bool `json:"enablePOP,omitempty"`
	// ForwardEnabled states if e-mails are forwarded.
	// +kubebuilder:default=false
	ForwardEnabled bool `json:"forwardEnabled,omitempty"`
	// ForwardDestination states the destination(s) to forward e-mail to.
	// +kubebuilder:default={}
	ForwardDestination []string `json:"forwardDestination,omitempty"`
	// ForwardKeep states if forwarded e-mail should be kept in the mailbox.
	// +kubebuilder:default=false
	ForwardKeep bool `json:"forwardKeep,omitempty"`
	// GlobalAdmin states if the user has global admin privileges.
	// +kubebuilder:default=false
	GlobalAdmin bool `json:"globalAdmin,omitempty"`
	// PasswordSecret is the name of the secret which contains the password.
	PasswordSecret string `json:"passwordSecret,omitempty"`
	// PasswordKey is the key in the secret that contains the password.
	PasswordKey string `json:"passwordKey,omitempty"`
	// QuotaBytes defines the storage quota, default -1 for unlimited.
	// +kubebuilder:default=-1
	QuotaBytes int64 `json:"quotaBytes,omitempty"`
	// RawPassword is the plaintext password for user creation.
	RawPassword string `json:"rawPassword,omitempty"`
	// ReplyEnabled states if e-mails should be auto-replied to.
	// +kubebuilder:default=false
	ReplyEnabled bool `json:"replyEnabled,omitempty"`
	// ReplySubject is the subject for auto-reply e-mails.
	// +kubebuilder:default=""
	ReplySubject string `json:"replySubject,omitempty"`
	// ReplyBody is the body for auto-reply e-mails.
	// +kubebuilder:default=""
	ReplyBody string `json:"replyBody,omitempty"`
	// ReplyStartDate is the date from which on auto-reply e-mails should be sent.
	// +kubebuilder:validation:Format=date
	// +kubebuilder:default="1900-01-01"
	ReplyStartDate string `json:"replyStartDate,omitempty"`
	// ReplyEndDate is the date until which auto-reply e-mails should be sent.
	// +kubebuilder:validation:Format=date
	// +kubebuilder:default="2999-12-31"
	ReplyEndDate string `json:"replyEndDate,omitempty"`
	// SpamEnabled states if e-mail should be scanned for SPAM.
	// +kubebuilder:default=false
	SpamEnabled bool `json:"spamEnabled,omitempty"`
	// SpamMarkAsRead states if identified SPAM e-mails should be marked as read.
	// +kubebuilder:default=false
	SpamMarkAsRead bool `json:"spamMarkAsRead,omitempty"`
	// SpamThreshold is the threshold for the SPAM filter.
	// +kubebuilder:default=0
	SpamThreshold int `json:"spamThreshold,omitempty"`
}

UserSpec defines the desired state of User

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

type UserStatus

type UserStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

UserStatus defines the observed state of User

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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
JackTT - Gopher 🇻🇳