apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: minioinstances.miniocontroller.min.io spec: group: miniocontroller.min.io scope: Namespaced names: kind: MinIOInstance singular: minioinstance plural: minioinstances versions: - name: v1beta1 served: true storage: true schema: # openAPIV3Schema is the schema for validating custom objects. # Refer https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#specifying-a-structural-schema # for more details openAPIV3Schema: type: object x-kubernetes-preserve-unknown-fields: true properties: spec: type: object x-kubernetes-preserve-unknown-fields: true properties: replicas: type: integer minimum: 1 maximum: 32 version: type: string mountpath: type: string subpath: type: string additionalPrinterColumns: - name: Replicas type: integer jsonPath: ".spec.replicas" --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: minio-operator-role rules: - apiGroups: - "" resources: - namespaces - secrets - pods - services - events verbs: - get - watch - create - list - patch - apiGroups: - apps resources: - statefulsets verbs: - get - create - list - patch - watch - update - apiGroups: - "certificates.k8s.io" resources: - "certificatesigningrequests" - "certificatesigningrequests/approval" - "certificatesigningrequests/status" verbs: - update - create - get - apiGroups: - miniocontroller.min.io resources: - "*" verbs: - "*" - apiGroups: - min.io resources: - "*" verbs: - "*" --- apiVersion: v1 kind: ServiceAccount metadata: name: minio-operator-sa namespace: minio-operator --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: minio-operator-binding namespace: minio-operator roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: minio-operator-role subjects: - kind: ServiceAccount name: minio-operator-sa namespace: minio-operator --- apiVersion: apps/v1 kind: Deployment metadata: name: minio-operator namespace: minio-operator spec: replicas: 1 selector: matchLabels: name: minio-operator template: metadata: labels: name: minio-operator spec: serviceAccountName: minio-operator-sa containers: - name: minio-operator image: minio/k8s-operator:1.0.7 imagePullPolicy: IfNotPresent