...

Package v1alpha1

import "github.com/openshift/api/sharedresource/v1alpha1"
Overview
Index

Overview ▾

+groupName=sharedresource.openshift.io Package v1alplha1 is the v1alpha1 version of the API.

Index ▾

Constants
Variables
func Kind(kind string) schema.GroupKind
func Resource(resource string) schema.GroupResource
type SharedConfigMap
    func (in *SharedConfigMap) DeepCopy() *SharedConfigMap
    func (in *SharedConfigMap) DeepCopyInto(out *SharedConfigMap)
    func (in *SharedConfigMap) DeepCopyObject() runtime.Object
    func (SharedConfigMap) SwaggerDoc() map[string]string
type SharedConfigMapList
    func (in *SharedConfigMapList) DeepCopy() *SharedConfigMapList
    func (in *SharedConfigMapList) DeepCopyInto(out *SharedConfigMapList)
    func (in *SharedConfigMapList) DeepCopyObject() runtime.Object
    func (SharedConfigMapList) SwaggerDoc() map[string]string
type SharedConfigMapReference
    func (in *SharedConfigMapReference) DeepCopy() *SharedConfigMapReference
    func (in *SharedConfigMapReference) DeepCopyInto(out *SharedConfigMapReference)
    func (SharedConfigMapReference) SwaggerDoc() map[string]string
type SharedConfigMapSpec
    func (in *SharedConfigMapSpec) DeepCopy() *SharedConfigMapSpec
    func (in *SharedConfigMapSpec) DeepCopyInto(out *SharedConfigMapSpec)
    func (SharedConfigMapSpec) SwaggerDoc() map[string]string
type SharedConfigMapStatus
    func (in *SharedConfigMapStatus) DeepCopy() *SharedConfigMapStatus
    func (in *SharedConfigMapStatus) DeepCopyInto(out *SharedConfigMapStatus)
    func (SharedConfigMapStatus) SwaggerDoc() map[string]string
type SharedSecret
    func (in *SharedSecret) DeepCopy() *SharedSecret
    func (in *SharedSecret) DeepCopyInto(out *SharedSecret)
    func (in *SharedSecret) DeepCopyObject() runtime.Object
    func (SharedSecret) SwaggerDoc() map[string]string
type SharedSecretList
    func (in *SharedSecretList) DeepCopy() *SharedSecretList
    func (in *SharedSecretList) DeepCopyInto(out *SharedSecretList)
    func (in *SharedSecretList) DeepCopyObject() runtime.Object
    func (SharedSecretList) SwaggerDoc() map[string]string
type SharedSecretReference
    func (in *SharedSecretReference) DeepCopy() *SharedSecretReference
    func (in *SharedSecretReference) DeepCopyInto(out *SharedSecretReference)
    func (SharedSecretReference) SwaggerDoc() map[string]string
type SharedSecretSpec
    func (in *SharedSecretSpec) DeepCopy() *SharedSecretSpec
    func (in *SharedSecretSpec) DeepCopyInto(out *SharedSecretSpec)
    func (SharedSecretSpec) SwaggerDoc() map[string]string
type SharedSecretStatus
    func (in *SharedSecretStatus) DeepCopy() *SharedSecretStatus
    func (in *SharedSecretStatus) DeepCopyInto(out *SharedSecretStatus)
    func (SharedSecretStatus) SwaggerDoc() map[string]string

Package files

doc.go register.go types_shared_configmap.go types_shared_secret.go zz_generated.deepcopy.go zz_generated.swagger_doc_generated.go

Constants

const (
    Version   = "v1alpha1"
    GroupName = "sharedresource.openshift.io"
)

Variables

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

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

type SharedConfigMap

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 (*SharedConfigMap) DeepCopy

func (in *SharedConfigMap) DeepCopy() *SharedConfigMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMap.

func (*SharedConfigMap) DeepCopyInto

func (in *SharedConfigMap) DeepCopyInto(out *SharedConfigMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SharedConfigMap) DeepCopyObject

func (in *SharedConfigMap) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (SharedConfigMap) SwaggerDoc

func (SharedConfigMap) SwaggerDoc() map[string]string

type SharedConfigMapList

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 (*SharedConfigMapList) DeepCopy

func (in *SharedConfigMapList) DeepCopy() *SharedConfigMapList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMapList.

func (*SharedConfigMapList) DeepCopyInto

func (in *SharedConfigMapList) DeepCopyInto(out *SharedConfigMapList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SharedConfigMapList) DeepCopyObject

func (in *SharedConfigMapList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (SharedConfigMapList) SwaggerDoc

func (SharedConfigMapList) SwaggerDoc() map[string]string

type SharedConfigMapReference

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 (*SharedConfigMapReference) DeepCopy

func (in *SharedConfigMapReference) DeepCopy() *SharedConfigMapReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMapReference.

func (*SharedConfigMapReference) DeepCopyInto

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

func (SharedConfigMapReference) SwaggerDoc() map[string]string

type SharedConfigMapSpec

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 (*SharedConfigMapSpec) DeepCopy

func (in *SharedConfigMapSpec) DeepCopy() *SharedConfigMapSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMapSpec.

func (*SharedConfigMapSpec) DeepCopyInto

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

func (SharedConfigMapSpec) SwaggerDoc() map[string]string

type SharedConfigMapStatus

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 (*SharedConfigMapStatus) DeepCopy

func (in *SharedConfigMapStatus) DeepCopy() *SharedConfigMapStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedConfigMapStatus.

func (*SharedConfigMapStatus) DeepCopyInto

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

func (SharedConfigMapStatus) SwaggerDoc() map[string]string

type SharedSecret

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 (*SharedSecret) DeepCopy

func (in *SharedSecret) DeepCopy() *SharedSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecret.

func (*SharedSecret) DeepCopyInto

func (in *SharedSecret) DeepCopyInto(out *SharedSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SharedSecret) DeepCopyObject

func (in *SharedSecret) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (SharedSecret) SwaggerDoc

func (SharedSecret) SwaggerDoc() map[string]string

type SharedSecretList

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 (*SharedSecretList) DeepCopy

func (in *SharedSecretList) DeepCopy() *SharedSecretList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecretList.

func (*SharedSecretList) DeepCopyInto

func (in *SharedSecretList) DeepCopyInto(out *SharedSecretList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SharedSecretList) DeepCopyObject

func (in *SharedSecretList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (SharedSecretList) SwaggerDoc

func (SharedSecretList) SwaggerDoc() map[string]string

type SharedSecretReference

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 (*SharedSecretReference) DeepCopy

func (in *SharedSecretReference) DeepCopy() *SharedSecretReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecretReference.

func (*SharedSecretReference) DeepCopyInto

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

func (SharedSecretReference) SwaggerDoc() map[string]string

type SharedSecretSpec

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 (*SharedSecretSpec) DeepCopy

func (in *SharedSecretSpec) DeepCopy() *SharedSecretSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecretSpec.

func (*SharedSecretSpec) DeepCopyInto

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

func (SharedSecretSpec) SwaggerDoc() map[string]string

type SharedSecretStatus

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 (*SharedSecretStatus) DeepCopy

func (in *SharedSecretStatus) DeepCopy() *SharedSecretStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedSecretStatus.

func (*SharedSecretStatus) DeepCopyInto

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

func (SharedSecretStatus) SwaggerDoc() map[string]string