Documentation ¶
Overview ¶
Package kubeutil provides helper functions to create and manipulate kubernetes basic types.
Code generated by apisources. DO NOT EDIT.
Index ¶
- Constants
- Variables
- func AnnotationPrometheus(path string, port int32) map[string]string
- func AntiAffinityHostnameByLabel(key, value string) *corev1.PodAntiAffinity
- func BindClusterRole(name string, sa *corev1.ServiceAccount, cr *rbacv1.ClusterRole, ...) *rbacv1.ClusterRoleBinding
- func BindRole(name string, sa *corev1.ServiceAccount, r *rbacv1.Role, ...) *rbacv1.RoleBinding
- func CleanUpJSON(in []byte) ([]byte, error)
- func CleanUpYAML(in []byte) ([]byte, error)
- func ClusterRole(name string, labels map[string]string, rules []rbacv1.PolicyRule) *rbacv1.ClusterRole
- func ClusterRoleRef(name string) rbacv1.RoleRef
- func DataConfigMap(name, namespace string, labels, annotations, data map[string]string) *corev1.ConfigMap
- func EnvVarDownAPI(name, fieldPath string) corev1.EnvVar
- func FileExists(filename string) bool
- func HashConfig(c *corev1.ConfigMap) string
- func HashSecret(s *v1.Secret) string
- func ListGoFiles(root string) ([]string, error)
- func ListJSONFiles(root string) ([]string, error)
- func ListYAMLFiles(root string) ([]string, error)
- func ManifestReadFile(filePath string) ([]string, error)
- func ManifestSplit(r io.Reader) ([]string, error)
- func MergeLabels(labels ...map[string]string) map[string]string
- func Namespace(name string, labels, annotations map[string]string) *corev1.Namespace
- func ObjectMeta(name, namespace string, labels map[string]string, ...) metav1.ObjectMeta
- func P[T any](t T) *T
- func ProbeHTTP(path string, port int) corev1.ProbeHandler
- func Resources(cpuWant, memWant, cpuMax, memMax string) corev1.ResourceRequirements
- func Role(name, namespace string, labels map[string]string, rules []rbacv1.PolicyRule) *rbacv1.Role
- func RoleRef(name string) rbacv1.RoleRef
- func RoleSubject(name, namespace string) []rbacv1.Subject
- func Secret(name, namespace string, data map[string][]byte) *v1.Secret
- func SecretEnvVar(varName, key, secretName string) v1.EnvVar
- func ServiceAccount(name, namespace string, labels, annotations map[string]string) *corev1.ServiceAccount
- func SetDeploySA(deploy *appsv1.Deployment, saName string) *appsv1.Deployment
- func SetLabelDefaultContainer(labels map[string]string, name string) map[string]string
- func SimpleCRB(sa *corev1.ServiceAccount, cr *rbacv1.ClusterRole) *rbacv1.ClusterRoleBinding
- func SimpleDeployment(name, namespace string, labels map[string]string, replicas int32, image string) *appsv1.Deployment
- func SimpleSA(name, namespace string) *corev1.ServiceAccount
- func Txtar2JSON(ar *txtar.Archive) []byte
- func Txtar2YAML(ar *txtar.Archive) []byte
- func TxtarJSON2TxtarYAML(ar *txtar.Archive) (*txtar.Archive, error)
- func TxtarYAML2TxtarJSON(ar *txtar.Archive) (*txtar.Archive, error)
- type ConfigAndMount
- type Meta
- type Metadata
- type VolumeAndMount
- type VolumesAndMounts
Constants ¶
const ( // AppLabelName defines the name of the application i.e. mysql AppLabelName = "app.kubernetes.io/name" // AppLabelInstance defines a unique name identifying the instance of an application i.e. mysql-abcxyz AppLabelInstance = "app.kubernetes.io/instance" // AppLabelVersion defines the current version of the application i.e. 5.7.21 AppLabelVersion = "app.kubernetes.io/version" // AppLabelComponent defines the component within the architecture i.e. database AppLabelComponent = "app.kubernetes.io/component" // AppLabelPartOf defines the name of a higher level application this one is part of i.e. WordPress AppLabelPartOf = "app.kubernetes.io/part-of" // AppLabelManagedBy defines the tool being used to manage the operation of an application i.e. lingon AppLabelManagedBy = "app.kubernetes.io/managed-by" )
Recommended Kubernetes Labels
https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
Shared labels and annotations share a common prefix: `app.kubernetes.io`. The shared prefix ensures that shared labels do not interfere with custom user labels.
const ( // LabelServiceName is used to indicate the name of a Kubernetes service. // See https://kubernetes.io/docs/concepts/services-networking/service/#custom-endpointslices LabelServiceName = "kubernetes.io/service-name" LabelInstanceTypeStable = "node.kubernetes.io/instance-type" LabelOSStable = "kubernetes.io/os" LabelArchStable = "kubernetes.io/arch" LabelHostname = "kubernetes.io/hostname" LabelDefaultContainer = "kubectl.kubernetes.io/default-container" LabelTopologyZone = "topology.kubernetes.io/zone" LabelTopologyRegion = "topology.kubernetes.io/region" )
const ( LabelRbacAggregateToAdmin = "rbac.authorization.k8s.io/aggregate-to-admin" LabelRbacAggregateToEdit = "rbac.authorization.k8s.io/aggregate-to-edit" LabelRbacAggregateToView = "rbac.authorization.k8s.io/aggregate-to-view" )
RBAC aggregated cluster roles
see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles
const ( PortNameMetrics = "metrics" PortNameProfiling = "profiling" PortNameProbes = "probes" PortNameHTTP = "http" )
const ( PathMetrics = "/metrics" PathProfiling = "/debug/pprof" PathHealthz = "/healthz" PathReadiness = "/readiness" )
const ( NSKubeSystem = "kube-system" NSDefault = "default" )
const ( NSLabelPodSecurityEnforce = "pod-security.kubernetes.io/enforce" NSLabelPodSecurityEnforceVersion = "pod-security.kubernetes.io/enforce-version" NSLabelPodSecurityAudit = "pod-security.kubernetes.io/audit" NSLabelPodSecurityAuditVersion = "pod-security.kubernetes.io/audit-version" NSLabelPodSecurityWarn = "pod-security.kubernetes.io/warn" NSLabelPodSecurityWarnVersion = "pod-security.kubernetes.io/warn-version" )
Labels for namespaces taken from https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-namespace-labels/
const ( NSValuePodSecurityPrivileged = "privileged" NSValuePodSecurityRestricted = "restricted" NSValuePodSecurityBaseline = "baseline" )
const ( // TypeSecretSAToken ServiceAccount token TypeSecretSAToken = "kubernetes.io/service-account-token" // nolint:gosec // TypeSecretDockerCfg serialized ~/.dockercfg file TypeSecretDockerCfg = "kubernetes.io/dockercfg" // nolint:gosec // TypeSecretDockerJSON serialized ~/.docker/config.json file TypeSecretDockerJSON = "kubernetes.io/dockerconfigjson" // nolint:gosec // TypeSecretBasicAuth credentials for basic authentication TypeSecretBasicAuth = "kubernetes.io/basic-auth" // nolint:gosec // TypeSecretSSH credentials for SSH authentication TypeSecretSSH = "kubernetes.io/ssh-auth" // nolint:gosec // TypeSecretTLS data for a TLS client or server TypeSecretTLS = "kubernetes.io/tls" // nolint:gosec // TypeSecretBootstrapToken bootstrap token data TypeSecretBootstrapToken = "bootstrap.kubernetes.io/token" // nolint:gosec )
see https://kubernetes.io/docs/concepts/configuration/secret/
Variables ¶
var ErrFieldMissing = errors.New("missing")
var NotInWindows = corev1.NodeSelectorTerm{ MatchExpressions: []corev1.NodeSelectorRequirement{ { Key: LabelOSStable, Operator: corev1.NodeSelectorOpNotIn, Values: []string{"windows"}, }, }, }
var TypeAPIServiceV1 = metav1.TypeMeta{
APIVersion: "apiregistration.k8s.io/v1",
Kind: "APIService",
}
var TypeAWSNodeTemplateV1Alpha1 = metav1.TypeMeta{
APIVersion: "karpenter.k8s.aws/v1alpha1",
Kind: "AWSNodeTemplate",
}
var TypeBindingV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "Binding",
}
var TypeCSIDriverV1 = metav1.TypeMeta{
APIVersion: "storage.k8s.io/v1",
Kind: "CSIDriver",
}
var TypeCSINodeV1 = metav1.TypeMeta{
APIVersion: "storage.k8s.io/v1",
Kind: "CSINode",
}
var TypeCSIStorageCapacityV1Beta1 = metav1.TypeMeta{
APIVersion: "storage.k8s.io/v1beta1",
Kind: "CSIStorageCapacity",
}
var TypeCertificateSigningRequestV1 = metav1.TypeMeta{
APIVersion: "certificates.k8s.io/v1",
Kind: "CertificateSigningRequest",
}
var TypeCiliumClusterwideNetworkPolicyV2 = metav1.TypeMeta{
APIVersion: "cilium.io/v2",
Kind: "CiliumClusterwideNetworkPolicy",
}
var TypeCiliumEndpointV2 = metav1.TypeMeta{
APIVersion: "cilium.io/v2",
Kind: "CiliumEndpoint",
}
var TypeCiliumExternalWorkloadV2 = metav1.TypeMeta{
APIVersion: "cilium.io/v2",
Kind: "CiliumExternalWorkload",
}
var TypeCiliumIdentityV2 = metav1.TypeMeta{
APIVersion: "cilium.io/v2",
Kind: "CiliumIdentity",
}
var TypeCiliumNetworkPolicyV2 = metav1.TypeMeta{
APIVersion: "cilium.io/v2",
Kind: "CiliumNetworkPolicy",
}
var TypeCiliumNodeV2 = metav1.TypeMeta{
APIVersion: "cilium.io/v2",
Kind: "CiliumNode",
}
var TypeClusterRoleBindingV1 = metav1.TypeMeta{
APIVersion: "rbac.authorization.k8s.io/v1",
Kind: "ClusterRoleBinding",
}
var TypeClusterRoleV1 = metav1.TypeMeta{
APIVersion: "rbac.authorization.k8s.io/v1",
Kind: "ClusterRole",
}
var TypeComponentStatusV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "ComponentStatus",
}
var TypeConfigMapV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "ConfigMap",
}
var TypeControllerRevisionV1 = metav1.TypeMeta{
APIVersion: "apps/v1",
Kind: "ControllerRevision",
}
var TypeCronJobV1 = metav1.TypeMeta{
APIVersion: "batch/v1",
Kind: "CronJob",
}
var TypeCustomResourceDefinitionV1 = metav1.TypeMeta{
APIVersion: "apiextensions.k8s.io/v1",
Kind: "CustomResourceDefinition",
}
var TypeDaemonSetV1 = metav1.TypeMeta{
APIVersion: "apps/v1",
Kind: "DaemonSet",
}
var TypeDeploymentV1 = metav1.TypeMeta{
APIVersion: "apps/v1",
Kind: "Deployment",
}
var TypeENIConfigV1Alpha1 = metav1.TypeMeta{
APIVersion: "crd.k8s.amazonaws.com/v1alpha1",
Kind: "ENIConfig",
}
var TypeEndpointSliceV1 = metav1.TypeMeta{
APIVersion: "discovery.k8s.io/v1",
Kind: "EndpointSlice",
}
var TypeEndpointsV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "Endpoints",
}
var TypeFlowSchemaV1Beta2 = metav1.TypeMeta{
APIVersion: "flowcontrol.apiserver.k8s.io/v1beta2",
Kind: "FlowSchema",
}
var TypeHorizontalPodAutoscalerV2 = metav1.TypeMeta{
APIVersion: "autoscaling/v2",
Kind: "HorizontalPodAutoscaler",
}
var TypeIngressClassV1 = metav1.TypeMeta{
APIVersion: "networking.k8s.io/v1",
Kind: "IngressClass",
}
var TypeIngressV1 = metav1.TypeMeta{
APIVersion: "networking.k8s.io/v1",
Kind: "Ingress",
}
var TypeJobV1 = metav1.TypeMeta{
APIVersion: "batch/v1",
Kind: "Job",
}
var TypeLeaseV1 = metav1.TypeMeta{
APIVersion: "coordination.k8s.io/v1",
Kind: "Lease",
}
var TypeLimitRangeV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "LimitRange",
}
var TypeLocalSubjectAccessReviewV1 = metav1.TypeMeta{
APIVersion: "authorization.k8s.io/v1",
Kind: "LocalSubjectAccessReview",
}
var TypeMutatingWebhookConfigurationV1 = metav1.TypeMeta{
APIVersion: "admissionregistration.k8s.io/v1",
Kind: "MutatingWebhookConfiguration",
}
var TypeNamespaceV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "Namespace",
}
var TypeNetworkPolicyV1 = metav1.TypeMeta{
APIVersion: "networking.k8s.io/v1",
Kind: "NetworkPolicy",
}
var TypeNodeV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "Node",
}
var TypePersistentVolumeClaimV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "PersistentVolumeClaim",
}
var TypePersistentVolumeV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "PersistentVolume",
}
var TypePodDisruptionBudgetV1 = metav1.TypeMeta{
APIVersion: "policy/v1",
Kind: "PodDisruptionBudget",
}
var TypePodSecurityPolicyV1Beta1 = metav1.TypeMeta{
APIVersion: "policy/v1beta1",
Kind: "PodSecurityPolicy",
}
var TypePodTemplateV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "PodTemplate",
}
var TypePodV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "Pod",
}
var TypePriorityClassV1 = metav1.TypeMeta{
APIVersion: "scheduling.k8s.io/v1",
Kind: "PriorityClass",
}
var TypePriorityLevelConfigurationV1Beta2 = metav1.TypeMeta{
APIVersion: "flowcontrol.apiserver.k8s.io/v1beta2",
Kind: "PriorityLevelConfiguration",
}
var TypeProvisionerV1Alpha5 = metav1.TypeMeta{
APIVersion: "karpenter.sh/v1alpha5",
Kind: "Provisioner",
}
var TypeReplicaSetV1 = metav1.TypeMeta{
APIVersion: "apps/v1",
Kind: "ReplicaSet",
}
var TypeReplicationControllerV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "ReplicationController",
}
var TypeResourceQuotaV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "ResourceQuota",
}
var TypeRoleBindingV1 = metav1.TypeMeta{
APIVersion: "rbac.authorization.k8s.io/v1",
Kind: "RoleBinding",
}
var TypeRoleV1 = metav1.TypeMeta{
APIVersion: "rbac.authorization.k8s.io/v1",
Kind: "Role",
}
var TypeRuntimeClassV1 = metav1.TypeMeta{
APIVersion: "node.k8s.io/v1",
Kind: "RuntimeClass",
}
var TypeSecretV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "Secret",
}
var TypeSecurityGroupPolicyV1Beta1 = metav1.TypeMeta{
APIVersion: "vpcresources.k8s.aws/v1beta1",
Kind: "SecurityGroupPolicy",
}
var TypeSelfSubjectAccessReviewV1 = metav1.TypeMeta{
APIVersion: "authorization.k8s.io/v1",
Kind: "SelfSubjectAccessReview",
}
var TypeSelfSubjectRulesReviewV1 = metav1.TypeMeta{
APIVersion: "authorization.k8s.io/v1",
Kind: "SelfSubjectRulesReview",
}
var TypeServiceAccountV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "ServiceAccount",
}
var TypeServiceV1 = metav1.TypeMeta{
APIVersion: "v1",
Kind: "Service",
}
var TypeStatefulSetV1 = metav1.TypeMeta{
APIVersion: "apps/v1",
Kind: "StatefulSet",
}
var TypeStorageClassV1 = metav1.TypeMeta{
APIVersion: "storage.k8s.io/v1",
Kind: "StorageClass",
}
var TypeSubjectAccessReviewV1 = metav1.TypeMeta{
APIVersion: "authorization.k8s.io/v1",
Kind: "SubjectAccessReview",
}
var TypeTokenReviewV1 = metav1.TypeMeta{
APIVersion: "authentication.k8s.io/v1",
Kind: "TokenReview",
}
var TypeValidatingWebhookConfigurationV1 = metav1.TypeMeta{
APIVersion: "admissionregistration.k8s.io/v1",
Kind: "ValidatingWebhookConfiguration",
}
var TypeVolumeAttachmentV1 = metav1.TypeMeta{
APIVersion: "storage.k8s.io/v1",
Kind: "VolumeAttachment",
}
Functions ¶
func AnnotationPrometheus ¶
AnnotationPrometheus returns map[string]string{ "prometheus.io/path": path, "prometheus.io/port": fmt.Sprintf("%d", port), "prometheus.io/scrape": "true", }
func AntiAffinityHostnameByLabel ¶
func AntiAffinityHostnameByLabel(key, value string) *corev1.PodAntiAffinity
func BindClusterRole ¶
func BindClusterRole( name string, sa *corev1.ServiceAccount, cr *rbacv1.ClusterRole, labels map[string]string, ) *rbacv1.ClusterRoleBinding
BindClusterRole binds a cluster role to a service account
func BindRole ¶
func BindRole( name string, sa *corev1.ServiceAccount, r *rbacv1.Role, labels map[string]string, ) *rbacv1.RoleBinding
BindRole binds a role to a service account inside the Role's namespace
func CleanUpJSON ¶
func CleanUpYAML ¶
func ClusterRole ¶
func ClusterRole( name string, labels map[string]string, rules []rbacv1.PolicyRule, ) *rbacv1.ClusterRole
ClusterRole creates a ClusterRole with the given name, labels and rules.
func ClusterRoleRef ¶
ClusterRoleRef creates a RoleRef to a ClusterRole
func DataConfigMap ¶
func DataConfigMap( name, namespace string, labels, annotations, data map[string]string, ) *corev1.ConfigMap
DataConfigMap creates a ConfigMap with the given data.
func EnvVarDownAPI ¶
EnvVarDownAPI returns corev1.EnvVar{ Name: name, ValueFrom: &corev1.EnvVarSource{FieldRef: &corev1.ObjectFieldSelector{FieldPath: fieldPath}}, }
func FileExists ¶
func HashConfig ¶
HashConfig returns the hash of the ConfigMap data.
func HashSecret ¶
HashSecret returns the hash of the secret content
func ListGoFiles ¶
ListGoFiles returns a list of all go files in the root directory and its children directories
func ListJSONFiles ¶
ListJSONFiles returns a list of all json files in the root directory and its children directories
func ListYAMLFiles ¶
ListYAMLFiles returns a list of all yaml files in the root directory and its children directories
func ManifestReadFile ¶
ManifestReadFile reads a YAML file and splits it into a list of YAML documents.
func ManifestSplit ¶
ManifestSplit splits a YAML manifest where each object is separated by '---' into a list of string containing YAML documents.
func MergeLabels ¶
MergeLabels merges multiple label maps into one. If a label already exists, it will be overwritten by the latest instance.
func ObjectMeta ¶
func Resources ¶
func Resources(cpuWant, memWant, cpuMax, memMax string) corev1.ResourceRequirements
Resources creates a ResourceRequirements struct.
func Role ¶
func Role( name, namespace string, labels map[string]string, rules []rbacv1.PolicyRule, ) *rbacv1.Role
Role creates a Role with the given name, namespace, labels and rules.
func RoleSubject ¶
RoleSubject creates a Subject for a RoleBinding
func SecretEnvVar ¶
func ServiceAccount ¶
func ServiceAccount( name, namespace string, labels, annotations map[string]string, ) *corev1.ServiceAccount
ServiceAccount creates a ServiceAccount with the given name, namespace, labels and annotations.
func SetDeploySA ¶
func SetDeploySA(deploy *appsv1.Deployment, saName string) *appsv1.Deployment
SetDeploySA sets the ServiceAccountName in the deployment.
func SimpleCRB ¶
func SimpleCRB( sa *corev1.ServiceAccount, cr *rbacv1.ClusterRole, ) *rbacv1.ClusterRoleBinding
SimpleCRB creates a ClusterRoleBinding from a service account to a cluster role
func SimpleDeployment ¶
func SimpleDeployment( name, namespace string, labels map[string]string, replicas int32, image string, ) *appsv1.Deployment
SimpleDeployment creates a simple deployment with a single container.
func SimpleSA ¶
func SimpleSA(name, namespace string) *corev1.ServiceAccount
SimpleSA creates a simple ServiceAccount with the given name and namespace.
func Txtar2JSON ¶
Txtar2JSON converts a txtar.Archive to a JSON array of JSON objects. Each file in the txtar.Archive must be a JSON object. No conversion is done, the files are simply concatenated.
func Txtar2YAML ¶
Txtar2YAML converts a txtar.Archive to a YAML document. Each file in the txtar.Archive must be a YAML document. No conversion is done, the files are simply concatenated.
func TxtarJSON2TxtarYAML ¶
TxtarJSON2TxtarYAML converts a txtar.Archive containing JSON files to JSON files.
func TxtarYAML2TxtarJSON ¶
TxtarYAML2TxtarJSON converts a txtar.Archive containing YAML files to JSON files.
Types ¶
type ConfigAndMount ¶
type ConfigAndMount struct { metav1.ObjectMeta VolumeMount corev1.VolumeMount Data map[string]string }
ConfigAndMount is a helper struct to create a ConfigMap and a VolumeMount
func (ConfigAndMount) ConfigMap ¶
func (m ConfigAndMount) ConfigMap() *corev1.ConfigMap
ConfigMap creates a ConfigMap from the ConfigAndMount
func (ConfigAndMount) EnvConfigMapRef ¶
func (m ConfigAndMount) EnvConfigMapRef(name, key string) corev1.EnvVar
func (ConfigAndMount) Hash ¶
func (m ConfigAndMount) Hash() string
Hash returns the hash of the ConfigMap data.
func (ConfigAndMount) HashEnv ¶
func (m ConfigAndMount) HashEnv(name string) corev1.EnvVar
HashEnv creates an environment variable with the hash of the ConfigMap data.
func (ConfigAndMount) VolumeAndMount ¶
func (m ConfigAndMount) VolumeAndMount() VolumeAndMount
VolumeAndMount creates a VolumeAndMount from the ConfigAndMount
type Meta ¶
type Meta struct { Name string `json:"name"` Namespace string `json:"namespace,omitempty"` Labels map[string]string `json:"labels,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` }
Meta is a struct that holds the metadata of a kubernetes object.
type Metadata ¶
type Metadata struct { APIVersion string `json:"apiVersion"` Kind string `json:"kind"` Meta Meta `json:"metadata,omitempty"` }
Metadata is a struct that holds the metadata of a kubernetes object.
func ExtractMetadata ¶
ExtractMetadata returns the Metadata of a kubernetes manifest object.
type VolumeAndMount ¶
type VolumeAndMount struct { corev1.VolumeMount // corev1.Volume has just Name and VolumeSource. // A name field is already present in the VolumeMount, // so we just add the VolumeSource field here directly. VolumeSource corev1.VolumeSource }
VolumeAndMount is a helper struct to create a Volume and a VolumeSource
func (VolumeAndMount) Volume ¶
func (vam VolumeAndMount) Volume() corev1.Volume
Volume creates a Volume from the VolumeAndMount
type VolumesAndMounts ¶
type VolumesAndMounts []VolumeAndMount
VolumesAndMounts is a helper struct to create a list of Volumes and a list of VolumeSource
func (VolumesAndMounts) VolumeMounts ¶
func (vams VolumesAndMounts) VolumeMounts() []corev1.VolumeMount
VolumeMounts creates a list of VolumesMount from the VolumesAndMounts
func (VolumesAndMounts) Volumes ¶
func (vams VolumesAndMounts) Volumes() []corev1.Volume
Volumes creates a list of Volumes from the VolumesAndMounts