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.