const ( Version = "v1alpha1" GroupName = "sharedresource.openshift.io" )
var ( GroupVersion = schema.GroupVersion{Group: GroupName, Version: Version} SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // Install is a function which adds this version to a scheme Install = SchemeBuilder.AddToScheme // SchemeGroupVersion generated code relies on this name // Deprecated SchemeGroupVersion = GroupVersion // AddToScheme exists solely to keep the old generators creating valid code // DEPRECATED AddToScheme = SchemeBuilder.AddToScheme )
func Kind(kind string) schema.GroupKind
Kind takes an unqualified kind and returns back a Group qualified GroupKind
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
SharedConfigMap allows a ConfigMap to be shared across namespaces. Pods can mount the shared ConfigMap by adding a CSI volume to the pod specification using the "csi.sharedresource.openshift.io" CSI driver and a reference to the SharedConfigMap in the volume attributes:
spec:
volumes: - name: shared-configmap csi: driver: csi.sharedresource.openshift.io volumeAttributes: sharedConfigMap: my-share
For the mount to be successful, the pod's service account must be granted permission to 'use' the named SharedConfigMap object within its namespace with an appropriate Role and RoleBinding. For compactness, here are example `oc` invocations for creating such Role and RoleBinding objects.
`oc create role shared-resource-my-share --verb=use --resource=sharedconfigmaps.sharedresource.openshift.io --resource-name=my-share` `oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default`
Shared resource objects, in this case ConfigMaps, have default permissions of list, get, and watch for system authenticated users.
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. These capabilities should not be used by applications needing long term support. +k8s:openapi-gen=true +openshift:compatibility-gen:level=4 +kubebuilder:subresource:status
type SharedConfigMap struct { metav1.TypeMeta `json:",inline"` // metadata is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` // spec is the specification of the desired shared configmap // +kubebuilder:validation:Required Spec SharedConfigMapSpec `json:"spec,omitempty"` // status is the observed status of the shared configmap Status SharedConfigMapStatus `json:"status,omitempty"` }
func (in *SharedConfigMap) DeepCopy() *SharedConfigMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMap.
func (in *SharedConfigMap) DeepCopyInto(out *SharedConfigMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SharedConfigMap) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (SharedConfigMap) SwaggerDoc() map[string]string
SharedConfigMapList contains a list of SharedConfigMap objects.
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. These capabilities should not be used by applications needing long term support. +openshift:compatibility-gen:level=4
type SharedConfigMapList struct { metav1.TypeMeta `json:",inline"` // metadata is the standard list's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty"` Items []SharedConfigMap `json:"items"` }
func (in *SharedConfigMapList) DeepCopy() *SharedConfigMapList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMapList.
func (in *SharedConfigMapList) DeepCopyInto(out *SharedConfigMapList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SharedConfigMapList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (SharedConfigMapList) SwaggerDoc() map[string]string
SharedConfigMapReference contains information about which ConfigMap to share
type SharedConfigMapReference struct { // name represents the name of the ConfigMap that is being referenced. // +kubebuilder:validation:Required Name string `json:"name"` // namespace represents the namespace where the referenced ConfigMap is located. // +kubebuilder:validation:Required Namespace string `json:"namespace"` }
func (in *SharedConfigMapReference) DeepCopy() *SharedConfigMapReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMapReference.
func (in *SharedConfigMapReference) DeepCopyInto(out *SharedConfigMapReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SharedConfigMapReference) SwaggerDoc() map[string]string
SharedConfigMapSpec defines the desired state of a SharedConfigMap +k8s:openapi-gen=true
type SharedConfigMapSpec struct { //configMapRef is a reference to the ConfigMap to share // +kubebuilder:validation:Required ConfigMapRef SharedConfigMapReference `json:"configMapRef"` // description is a user readable explanation of what the backing resource provides. Description string `json:"description,omitempty"` }
func (in *SharedConfigMapSpec) DeepCopy() *SharedConfigMapSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMapSpec.
func (in *SharedConfigMapSpec) DeepCopyInto(out *SharedConfigMapSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SharedConfigMapSpec) SwaggerDoc() map[string]string
SharedSecretStatus contains the observed status of the shared resource
type SharedConfigMapStatus struct { // conditions represents any observations made on this particular shared resource by the underlying CSI driver or Share controller. // +patchMergeKey=type // +patchStrategy=merge Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
func (in *SharedConfigMapStatus) DeepCopy() *SharedConfigMapStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMapStatus.
func (in *SharedConfigMapStatus) DeepCopyInto(out *SharedConfigMapStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SharedConfigMapStatus) SwaggerDoc() map[string]string
SharedSecret allows a Secret to be shared across namespaces. Pods can mount the shared Secret by adding a CSI volume to the pod specification using the "csi.sharedresource.openshift.io" CSI driver and a reference to the SharedSecret in the volume attributes:
spec:
volumes: - name: shared-secret csi: driver: csi.sharedresource.openshift.io volumeAttributes: sharedSecret: my-share
For the mount to be successful, the pod's service account must be granted permission to 'use' the named SharedSecret object within its namespace with an appropriate Role and RoleBinding. For compactness, here are example `oc` invocations for creating such Role and RoleBinding objects.
`oc create role shared-resource-my-share --verb=use --resource=sharedsecrets.sharedresource.openshift.io --resource-name=my-share` `oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default`
Shared resource objects, in this case Secrets, have default permissions of list, get, and watch for system authenticated users.
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. These capabilities should not be used by applications needing long term support. +openshift:compatibility-gen:level=4 +kubebuilder:subresource:status
type SharedSecret struct { metav1.TypeMeta `json:",inline"` // metadata is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` // spec is the specification of the desired shared secret // +kubebuilder:validation:Required Spec SharedSecretSpec `json:"spec,omitempty"` // status is the observed status of the shared secret Status SharedSecretStatus `json:"status,omitempty"` }
func (in *SharedSecret) DeepCopy() *SharedSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecret.
func (in *SharedSecret) DeepCopyInto(out *SharedSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SharedSecret) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (SharedSecret) SwaggerDoc() map[string]string
SharedSecretList contains a list of SharedSecret objects.
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. These capabilities should not be used by applications needing long term support. +openshift:compatibility-gen:level=4
type SharedSecretList struct { metav1.TypeMeta `json:",inline"` // metadata is the standard list's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty"` Items []SharedSecret `json:"items"` }
func (in *SharedSecretList) DeepCopy() *SharedSecretList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecretList.
func (in *SharedSecretList) DeepCopyInto(out *SharedSecretList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SharedSecretList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (SharedSecretList) SwaggerDoc() map[string]string
SharedSecretReference contains information about which Secret to share
type SharedSecretReference struct { // name represents the name of the Secret that is being referenced. // +kubebuilder:validation:Required Name string `json:"name"` // namespace represents the namespace where the referenced Secret is located. // +kubebuilder:validation:Required Namespace string `json:"namespace"` }
func (in *SharedSecretReference) DeepCopy() *SharedSecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecretReference.
func (in *SharedSecretReference) DeepCopyInto(out *SharedSecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SharedSecretReference) SwaggerDoc() map[string]string
SharedSecretSpec defines the desired state of a SharedSecret +k8s:openapi-gen=true
type SharedSecretSpec struct { // secretRef is a reference to the Secret to share // +kubebuilder:validation:Required SecretRef SharedSecretReference `json:"secretRef"` // description is a user readable explanation of what the backing resource provides. Description string `json:"description,omitempty"` }
func (in *SharedSecretSpec) DeepCopy() *SharedSecretSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecretSpec.
func (in *SharedSecretSpec) DeepCopyInto(out *SharedSecretSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SharedSecretSpec) SwaggerDoc() map[string]string
SharedSecretStatus contains the observed status of the shared resource
type SharedSecretStatus struct { // conditions represents any observations made on this particular shared resource by the underlying CSI driver or Share controller. // +patchMergeKey=type // +patchStrategy=merge Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
func (in *SharedSecretStatus) DeepCopy() *SharedSecretStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecretStatus.
func (in *SharedSecretStatus) DeepCopyInto(out *SharedSecretStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SharedSecretStatus) SwaggerDoc() map[string]string