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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alias.
func (*Alias) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Alias) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AliasList.
func (*AliasList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AliasList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AliasSpec.
func (*AliasSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Domain.
func (*Domain) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Domain) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*User) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.
func (*UserList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.
func (*UserSpec) DeepCopyInto ¶
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.