Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the daemons v1alpha1 API group +kubebuilder:object:generate=true +groupName=daemons.redhat.com
Index ¶
Constants ¶
const ( NoError TangServerStatusError = "No" CreateError TangServerStatusError = "Unable to create pod" ActiveKeysError TangServerStatusError = "Zero active keys read" ActiveKeyNotFoundError TangServerStatusError = "Active key not found" DefaultTestName string = "tangserver-test" DefaultTestNameNoUID string = "tangserver-test-nouid" DefaultActiveKeyPairs uint32 = 1 // TODO: test why it can not be tested in non default namespace DefaultTestNamespace string = "default" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "daemons.redhat.com", 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 ResourcesLimit ¶
type ResourcesLimit struct {
Cpu string `json:"cpu,omitempty"`
Memory string `json:"memory,omitempty"`
}
ResourcesLimit contains the struct to provide resources limit to Tang Server
func (*ResourcesLimit) DeepCopy ¶
func (in *ResourcesLimit) DeepCopy() *ResourcesLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesLimit.
func (*ResourcesLimit) DeepCopyInto ¶
func (in *ResourcesLimit) DeepCopyInto(out *ResourcesLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourcesRequest ¶
type ResourcesRequest struct {
Cpu string `json:"cpu,omitempty"`
Memory string `json:"memory,omitempty"`
}
ResourcesRequest contains the struct to provide resources requests to Tang Server
func (*ResourcesRequest) DeepCopy ¶
func (in *ResourcesRequest) DeepCopy() *ResourcesRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesRequest.
func (*ResourcesRequest) DeepCopyInto ¶
func (in *ResourcesRequest) DeepCopyInto(out *ResourcesRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TangServer ¶
type TangServer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TangServerSpec `json:"spec,omitempty"`
Status TangServerStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="KeyPath",type="string",JSONPath=".spec.keypath",description="Directory to use for key generation" +kubebuilder:printcolumn:name="Replicas",type="integer",JSONPath=".spec.replicas",description="Replicas to launch for a particular deployment" +kubebuilder:printcolumn:name="Image",type="string",JSONPath=".spec.replicas",description="Container Image to use" +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version",description="Version of the Container Image to use" +kubebuilder:printcolumn:name="HealthScript",type="string",JSONPath=".spec.healthscript",description="Health Script to execute" +kubebuilder:printcolumn:name="PodListenPort",type="integer",JSONPath=".spec.podlistenport",description="Port where each Pod will listen" +kubebuilder:printcolumn:name="Secret",type="string",JSONPath=".spec.secret",description="Secret name to use in case it is necessary" +kubebuilder:printcolumn:name="ServiceListenPort",type="integer",JSONPath=".spec.podlistenport",description="Port where each Service will listen" TangServer is the Schema for the tangservers API
func (*TangServer) DeepCopy ¶
func (in *TangServer) DeepCopy() *TangServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TangServer.
func (*TangServer) DeepCopyInto ¶
func (in *TangServer) DeepCopyInto(out *TangServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TangServer) DeepCopyObject ¶
func (in *TangServer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TangServerActiveKeys ¶
type TangServerActiveKeys struct {
// Active Key sha1
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Active Key SHA1"
// +optional
Sha1 string `json:"sha1,omitempty"`
// Active Key sha256
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Active Key SHA256"
// +optional
Sha256 string `json:"sha256,omitempty"`
// Active Key Generation Time
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Active Key Generation Time"
Generated string `json:"generated,omitempty"`
// FileName provides information about the file name corresponding to the key
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Active Key file name"
// +optional
FileName string `json:"fileName,omitempty"`
}
TangServerActiveKeys defines the active keys in a Tang Server
func (*TangServerActiveKeys) DeepCopy ¶
func (in *TangServerActiveKeys) DeepCopy() *TangServerActiveKeys
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TangServerActiveKeys.
func (*TangServerActiveKeys) DeepCopyInto ¶
func (in *TangServerActiveKeys) DeepCopyInto(out *TangServerActiveKeys)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TangServerHiddenKeys ¶
type TangServerHiddenKeys struct {
// Hidden Key sha1
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Hidden Key SHA1"
// +optional
Sha1 string `json:"sha1,omitempty"`
// Hidden Key sha256
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Hidden Key SHA256"
// +optional
Sha256 string `json:"sha256,omitempty"`
// Hidden Key Hiding Time
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Hidden Key Generation Time"
Generated string `json:"generated,omitempty"`
// Hidden Key Generation Time
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Hidden Key Hidden Time"
Hidden string `json:"hidden,omitempty"`
// FileName provides information about the file name corresponding to the key
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Hidden Key file name"
// +optional
FileName string `json:"fileName,omitempty"`
}
TangServerHiddenKeys defines the hidden keys in a Tang Server
func (*TangServerHiddenKeys) DeepCopy ¶
func (in *TangServerHiddenKeys) DeepCopy() *TangServerHiddenKeys
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TangServerHiddenKeys.
func (*TangServerHiddenKeys) DeepCopyInto ¶
func (in *TangServerHiddenKeys) DeepCopyInto(out *TangServerHiddenKeys)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TangServerList ¶
type TangServerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TangServer `json:"items"`
}
TangServerList contains a list of TangServer
func (*TangServerList) DeepCopy ¶
func (in *TangServerList) DeepCopy() *TangServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TangServerList.
func (*TangServerList) DeepCopyInto ¶
func (in *TangServerList) DeepCopyInto(out *TangServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TangServerList) DeepCopyObject ¶
func (in *TangServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TangServerSpec ¶
type TangServerSpec struct {
// KeyPath is field of TangServer. It allows to specify the path where keys will be generated
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Key Path"
// +optional
KeyPath string `json:"keyPath,omitempty"`
// Replicas is the Tang Server amount to bring up
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Amount of replicas to launch"
Replicas uint32 `json:"replicas"`
// Persistent Volume Claim to store the keys
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Persistent Volume Claim to attach to (default:tangserver-pvc)"
// +optional
PersistentVolumeClaim string `json:"persistentVolumeClaim,omitempty"`
// Image is the base container image of the TangServer to use
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image of Container to deploy"
// +optional
Image string `json:"image,omitempty"`
// Version is the version of the TangServer container to use (empty=>latest)
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image Version of Container to deploy"
// +optional
Version string `json:"version,omitempty"`
// HealthScript is the script to run for healthiness/readiness
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Health Script to execute"
// +optional
HealthScript string `json:"healthScript,omitempty"`
// PodListenPort is the port where pods will listen for traffic
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Port where Pod will listen "
// +optional
PodListenPort uint32 `json:"podListenPort,omitempty"`
// Secret is the secret name to use to download image appropriately
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Secret name to use for container download"
// +optional
Secret string `json:"secret,omitempty"`
// ServiceListenPort is the port where service will listen for traffic
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Port where service will listen"
// +optional
ServiceListenPort uint32 `json:"serviceListenPort,omitempty"`
// ResourceRequest is the resource request to perform for each pod
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources Request for Tang Server"
// +optional
ResourcesRequest ResourcesRequest `json:"resourcesRequest,omitempty"`
// ResourceLimit is the resource limit to perform for each pod
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources Limit for Tang Server"
// +optional
ResourcesLimit ResourcesLimit `json:"resourcesLimit,omitempty"`
// KeyRefreshInterval
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Refresh Interval to update key status"
// +optional
KeyRefreshInterval uint32 `json:"keyRefreshInterval,omitempty"`
// HiddenKeys
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hidden Keys contains a list with the keys (with sha1 or sha256) to hide"
// +optional
HiddenKeys []TangServerHiddenKeys `json:"hiddenKeys,omitempty"`
// RequiredActiveKeyPairs
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Required Active Key Pairs (1 by default)"
// +optional
RequiredActiveKeyPairs uint32 `json:"requiredActiveKeyPairs,omitempty"`
// ServiceType
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ServiceType (LoadBalancer by default)"
// +optional
ServiceType string `json:"serviceType,omitempty"`
// ClusterIP
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ClusterIP (empty by default)"
// +optional
ClusterIP string `json:"clusterIP,omitempty"`
}
TangServerSpec defines the desired state of TangServer
func (*TangServerSpec) DeepCopy ¶
func (in *TangServerSpec) DeepCopy() *TangServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TangServerSpec.
func (*TangServerSpec) DeepCopyInto ¶
func (in *TangServerSpec) DeepCopyInto(out *TangServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TangServerStatus ¶
type TangServerStatus struct {
// TangServerError collects error on Tang Operator creation
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Tang Server Error"
// +optional
TangServerError TangServerStatusError `json:"tangServerError,omitempty"`
// ActiveKeys provides information about the Active Keys in the Tang Server CR
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Tang Server Active Keys"
// +optional
ActiveKeys []TangServerActiveKeys `json:"activeKeys,omitempty"`
// HiddenKeys provides information about the Hidden Keys in the Tang Server CR
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Tang Server Hidden Keys"
// +optional
HiddenKeys []TangServerHiddenKeys `json:"hiddenKeys,omitempty"`
// Tang Server Running provides information about the Running Replicas
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Tang Server Running Replicas"
// +optional
Running uint32 `json:"running"`
// Tang Server Ready provides information about the Ready Replicas
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Tang Server Ready Replicas"
// +optional
Ready uint32 `json:"ready"`
// Tang Server Service External URL provides information about the External Service URL
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text",displayName="Tang Server External URL"
// +optional
ServiceExternalURL string `json:"serviceExternalURL,omitempty"`
}
TangServerStatus defines the observed state of TangServer
func (*TangServerStatus) DeepCopy ¶
func (in *TangServerStatus) DeepCopy() *TangServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TangServerStatus.
func (*TangServerStatus) DeepCopyInto ¶
func (in *TangServerStatus) DeepCopyInto(out *TangServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TangServerStatusError ¶
type TangServerStatusError string