Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the airlock v1alpha1 API group +kubebuilder:object:generate=true +groupName=airlock.cloud.rocket.chat
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "airlock.cloud.rocket.chat", 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 AtlasScheduledAutoscaling ¶ added in v1.1.0
type AtlasScheduledAutoscaling struct {
// If this is set, the cluster will be enabled for scheduled autoscaling.
// The way it works is that the cluster will be scaled up to the high tier at the specified time, and scaled down to the lowTier at the specified time.
// +kubebuilder:default=false
Enabled bool `json:"enabled,omitempty"`
// The minimum tier the cluster can scale down to.
// +kubebuilder:validation:Enum=M10;M20;M30;M40;M50;M60;M80;M140;M200
// +kubebuilder:default="M20"
LowTier string `json:"lowTier,omitempty"`
// The maximum tier the cluster can scale up to.
// +kubebuilder:validation:Enum=M10;M20;M30;M40;M50;M60;M80;M140;M200
// +kubebuilder:default="M50"
HighTier string `json:"highTier,omitempty"`
// Cron expression for the time the cluster should be scaled down.
// +kubebuilder:default="0 20 * * 1-5"
ScaleDownCronExpression string `json:"scaleDownCronExpression,omitempty"`
// Cron expression for the time the cluster should be scaled up.
// +kubebuilder:default="0 6 * * 1-5"
ScaleUpCronExpression string `json:"scaleUpCronExpression,omitempty"`
}
func (*AtlasScheduledAutoscaling) DeepCopy ¶ added in v1.1.0
func (in *AtlasScheduledAutoscaling) DeepCopy() *AtlasScheduledAutoscaling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AtlasScheduledAutoscaling.
func (*AtlasScheduledAutoscaling) DeepCopyInto ¶ added in v1.1.0
func (in *AtlasScheduledAutoscaling) DeepCopyInto(out *AtlasScheduledAutoscaling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBAccessRequest ¶
type MongoDBAccessRequest struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MongoDBAccessRequestSpec `json:"spec,omitempty"`
Status MongoDBAccessRequestStatus `json:"status,omitempty"`
}
MongoDBAccessRequest is the Schema for the mongodbaccessrequests API +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.clusterName` +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
func (*MongoDBAccessRequest) DeepCopy ¶
func (in *MongoDBAccessRequest) DeepCopy() *MongoDBAccessRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBAccessRequest.
func (*MongoDBAccessRequest) DeepCopyInto ¶
func (in *MongoDBAccessRequest) DeepCopyInto(out *MongoDBAccessRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBAccessRequest) DeepCopyObject ¶
func (in *MongoDBAccessRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBAccessRequestList ¶
type MongoDBAccessRequestList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MongoDBAccessRequest `json:"items"`
}
MongoDBAccessRequestList contains a list of MongoDBAccessRequest
func (*MongoDBAccessRequestList) DeepCopy ¶
func (in *MongoDBAccessRequestList) DeepCopy() *MongoDBAccessRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBAccessRequestList.
func (*MongoDBAccessRequestList) DeepCopyInto ¶
func (in *MongoDBAccessRequestList) DeepCopyInto(out *MongoDBAccessRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBAccessRequestList) DeepCopyObject ¶
func (in *MongoDBAccessRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBAccessRequestSpec ¶
type MongoDBAccessRequestSpec struct {
// Username to be created in the cluster. If not provided, will be the same as the access request name.
UserName string `json:"userName,omitempty"`
// In which cluster to create the user.
// +kubebuilder:validation:required
ClusterName string `json:"clusterName,omitempty"`
// Database to be used for the user. If not provided, the user will have access to one that matches the access request name
Database string `json:"database,omitempty"`
// Secret name where the credentials will be stored. If not provided, will be the same as the access request name.
SecretName string `json:"secretName,omitempty"`
}
MongoDBAccessRequestSpec defines the desired state of MongoDBAccessRequest
func (*MongoDBAccessRequestSpec) DeepCopy ¶
func (in *MongoDBAccessRequestSpec) DeepCopy() *MongoDBAccessRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBAccessRequestSpec.
func (*MongoDBAccessRequestSpec) DeepCopyInto ¶
func (in *MongoDBAccessRequestSpec) DeepCopyInto(out *MongoDBAccessRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBAccessRequestStatus ¶
type MongoDBAccessRequestStatus struct {
// Conditions is the list of status condition updates
Conditions []metav1.Condition `json:"conditions"`
}
MongoDBAccessRequestStatus defines the observed state of MongoDBAccessRequest
func (*MongoDBAccessRequestStatus) DeepCopy ¶
func (in *MongoDBAccessRequestStatus) DeepCopy() *MongoDBAccessRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBAccessRequestStatus.
func (*MongoDBAccessRequestStatus) DeepCopyInto ¶
func (in *MongoDBAccessRequestStatus) DeepCopyInto(out *MongoDBAccessRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBCluster ¶
type MongoDBCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MongoDBClusterSpec `json:"spec,omitempty"`
Status MongoDBClusterStatus `json:"status,omitempty"`
}
MongoDBCluster is the Schema for the mongodbclusters API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
func (*MongoDBCluster) DeepCopy ¶
func (in *MongoDBCluster) DeepCopy() *MongoDBCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBCluster.
func (*MongoDBCluster) DeepCopyInto ¶
func (in *MongoDBCluster) DeepCopyInto(out *MongoDBCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBCluster) DeepCopyObject ¶
func (in *MongoDBCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBClusterList ¶
type MongoDBClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MongoDBCluster `json:"items"`
}
MongoDBClusterList contains a list of MongoDBCluster
func (*MongoDBClusterList) DeepCopy ¶
func (in *MongoDBClusterList) DeepCopy() *MongoDBClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBClusterList.
func (*MongoDBClusterList) DeepCopyInto ¶
func (in *MongoDBClusterList) DeepCopyInto(out *MongoDBClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBClusterList) DeepCopyObject ¶
func (in *MongoDBClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBClusterSpec ¶
type MongoDBClusterSpec struct {
// Secret in which Airlock will look for a ConnectionString or Atlas credentials, that will be used to connect to the cluster. It should have enough privileges to manage users and access. This is not gonna be used by the created users.
ConnectionSecret string `json:"connectionSecret"`
// +kubebuilder:default=airlock-system
// +kubebuilder:validation:Optional
ConnectionSecretNamespace string `json:"connectionSecretNamespace,omitempty"`
// The host with port that clients will receive when requesting credentials.
// +kubebuilder:validation:Required
HostTemplate string `json:"hostTemplate"` // Obs: no omitempty here to make it required. (the annotation above refuses to work on this particular field for some reason)
// Extra connection string parameters that will be added to the connection string.
// +kubebuilder:default=?replicaSet=rs01
OptionsTemplate string `json:"optionsTemplate,omitempty"`
// The prefix used when building the connection string. Defaults to "mongodb"
// +kubebuilder:default=mongodb
PrefixTemplate string `json:"prefixTemplate,omitempty"`
// Append this prefix to all default/generated usernames for this cluster. Will be overridden if "username" is specified.
UserNamePrefix string `json:"userNamePrefix,omitempty"`
// If this is set, Atlas API will be used instead of the regular mongo auth path.
UseAtlasApi bool `json:"useAtlasApi,omitempty"`
// If this is set, along with useAtlasApi, all the kubernetes nodes on the cluster will be added to the Atlas firewall. The only available value right now is "rancher-annotation", which uses the rke.cattle.io/external-ip annotation.
AtlasNodeIPAccessStrategy string `json:"atlasNodeIpAccessStrategy,omitempty"`
AtlasScheduledAutoscaling *AtlasScheduledAutoscaling `json:"atlasScheduledAutoscaling,omitempty"`
}
func (*MongoDBClusterSpec) DeepCopy ¶
func (in *MongoDBClusterSpec) DeepCopy() *MongoDBClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBClusterSpec.
func (*MongoDBClusterSpec) DeepCopyInto ¶
func (in *MongoDBClusterSpec) DeepCopyInto(out *MongoDBClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBClusterStatus ¶
MongoDBClusterStatus defines the observed state of MongoDBCluster
func (*MongoDBClusterStatus) DeepCopy ¶
func (in *MongoDBClusterStatus) DeepCopy() *MongoDBClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBClusterStatus.
func (*MongoDBClusterStatus) DeepCopyInto ¶
func (in *MongoDBClusterStatus) DeepCopyInto(out *MongoDBClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.