Documentation
¶
Index ¶
Constants ¶
View Source
const ( // should be <namePrefix from config/default/kustomization.yaml><.metadata.name from config/default/metrics_service.yaml> MetricsServiceName = "ocs-client-operator-metrics" // should match .spec.ports[0].port from config/default/metrics_service.yaml MetricsServicePort int32 = 8080 )
View Source
const CSIOperatorConfigName = "ceph-csi-operator-config"
Ceph CSI Operator Config
View Source
const CephFsDriverName = "openshift-storage.cephfs.csi.ceph.com"
View Source
const NfsDriverName = "openshift-storage.nfs.csi.ceph.com"
View Source
const RBDDriverName = "openshift-storage.rbd.csi.ceph.com"
View Source
const SCCName = "ceph-csi-op-scc"
security context constraints
View Source
const (
SubscriptionWebhookName = "subscription.ocs.openshift.io"
)
View Source
const (
// should be <namePrefix from config/default/kustomization><.metadata.name from config/manager/webhook_service.yaml>
WebhookServiceName = "ocs-client-operator-webhook-server"
)
Variables ¶
View Source
var CSIOperatorConfigSpec = csiopv1.OperatorConfigSpec{ DriverSpecDefaults: &csiopv1.DriverSpec{ EnableMetadata: ptr.To(true), Log: &csiopv1.LogSpec{ Verbosity: 5, Rotation: &csiopv1.LogRotationSpec{ Periodicity: csiopv1.DailyPeriod, MaxLogSize: resource.MustParse("500M"), MaxFiles: 7, LogHostPath: "/var/lib/cephcsi", }, }, AttachRequired: ptr.To(true), DeployCsiAddons: ptr.To(true), EnableFencing: ptr.To(true), FsGroupPolicy: storagev1.FileFSGroupPolicy, ControllerPlugin: &csiopv1.ControllerPluginSpec{ Privileged: ptr.To(true), Resources: csiopv1.ControllerPluginResourcesSpec{ LogRotator: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("10m"), corev1.ResourceMemory: resource.MustParse("32Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Attacher: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("250m"), corev1.ResourceMemory: resource.MustParse("500Mi"), }, }, Snapshotter: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("100Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("250m"), corev1.ResourceMemory: resource.MustParse("500Mi"), }, }, Resizer: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("100Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("500m"), corev1.ResourceMemory: resource.MustParse("500Mi"), }, }, Provisioner: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("100Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("500m"), corev1.ResourceMemory: resource.MustParse("750Mi"), }, }, OMapGenerator: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("125Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("500m"), corev1.ResourceMemory: resource.MustParse("500Mi"), }, }, Addons: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("250m"), corev1.ResourceMemory: resource.MustParse("250Mi"), }, }, Plugin: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("100m"), corev1.ResourceMemory: resource.MustParse("250Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("1Gi"), }, }, }, PodCommonSpec: csiopv1.PodCommonSpec{ PrioritylClassName: ptr.To("system-cluster-critical"), ImagePullPolicy: corev1.PullIfNotPresent, Tolerations: []corev1.Toleration{ { Effect: corev1.TaintEffectNoSchedule, Key: "node.ocs.openshift.io/storage", Operator: corev1.TolerationOpEqual, Value: "true", }, }, }, Replicas: ptr.To(int32(2)), }, NodePlugin: &csiopv1.NodePluginSpec{ EnableSeLinuxHostMount: ptr.To(true), Resources: csiopv1.NodePluginResourcesSpec{ LogRotator: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("10m"), corev1.ResourceMemory: resource.MustParse("32Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Registrar: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("10m"), corev1.ResourceMemory: resource.MustParse("10Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Addons: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("200m"), corev1.ResourceMemory: resource.MustParse("250Mi"), }, }, Plugin: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("100m"), corev1.ResourceMemory: resource.MustParse("250Mi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("1.5Gi"), }, }, }, KubeletDirPath: "/var/lib/kubelet", PodCommonSpec: csiopv1.PodCommonSpec{ PrioritylClassName: ptr.To("system-node-critical"), ImagePullPolicy: corev1.PullIfNotPresent, Tolerations: []corev1.Toleration{ { Effect: corev1.TaintEffectNoSchedule, Key: "node.ocs.openshift.io/storage", Operator: corev1.TolerationOpEqual, Value: "true", }, }, }, }, }, }
View Source
var CSIOperatorTNFControllerPluginResourceSpec = csiopv1.ControllerPluginResourcesSpec{ LogRotator: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("10m"), corev1.ResourceMemory: resource.MustParse("32Mi"), }, }, Attacher: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("25m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Snapshotter: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("25m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Resizer: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("25m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Provisioner: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("25m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, OMapGenerator: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("25m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Addons: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Plugin: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("100m"), corev1.ResourceMemory: resource.MustParse("100Mi"), }, }, }
View Source
var CSIOperatorTNFNodePluginResourceSpec = csiopv1.NodePluginResourcesSpec{ LogRotator: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("10m"), corev1.ResourceMemory: resource.MustParse("32Mi"), }, }, Registrar: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("10m"), corev1.ResourceMemory: resource.MustParse("10Mi"), }, }, Addons: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("50Mi"), }, }, Plugin: &corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("50m"), corev1.ResourceMemory: resource.MustParse("100Mi"), }, }, }
View Source
var SubscriptionValidatingWebhook = admrv1.ValidatingWebhook{ ClientConfig: admrv1.WebhookClientConfig{ Service: &admrv1.ServiceReference{ Name: "ocs-client-operator-webhook-server", Path: ptr.To("/validate-subscription"), Port: ptr.To(int32(443)), }, }, Rules: []admrv1.RuleWithOperations{ { Rule: admrv1.Rule{ APIGroups: []string{"operators.coreos.com"}, APIVersions: []string{"v1alpha1"}, Resources: []string{"subscriptions"}, Scope: ptr.To(admrv1.NamespacedScope), }, Operations: []admrv1.OperationType{admrv1.Update}, }, }, SideEffects: ptr.To(admrv1.SideEffectClassNone), TimeoutSeconds: ptr.To(int32(30)), AdmissionReviewVersions: []string{"v1"}, FailurePolicy: ptr.To(admrv1.Fail), }
View Source
var WebhookService = corev1.Service{ Spec: corev1.ServiceSpec{ Ports: []corev1.ServicePort{ { Name: "https", Port: 443, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt32(7443), }, }, Selector: map[string]string{ "app": "ocs-client-operator", }, Type: corev1.ServiceTypeClusterIP, }, }
should match the spec at config/manager/webhook_service.yaml
Functions ¶
func SetSecurityContextConstraintsDesiredState ¶
func SetSecurityContextConstraintsDesiredState(scc *secv1.SecurityContextConstraints, ns string)
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.