--- apiVersion: codemowers.io/v1alpha1 kind: ClusterBucketClass metadata: name: shared spec: description: "Shared Minio cluster" targetNamespace: minio-clusters targetCluster: shared storageClass: minio replicas: 4 podSpec: containers: - name: minio env: - name: MINIO_PROMETHEUS_AUTH_TYPE value: public image: minio/minio:RELEASE.2023-02-17T17-52-43Z args: - server - --address - 0.0.0.0:9000 - --console-address - 0.0.0.0:9001 ports: - containerPort: 9000 name: http - containerPort: 9001 name: console readinessProbe: httpGet: path: /minio/health/ready port: 9000 initialDelaySeconds: 2 periodSeconds: 5 resources: requests: cpu: 300m memory: 1Gi limits: cpu: 4000m memory: 2Gi volumeMounts: - name: data mountPath: /data nodeSelector: dedicated: storage tolerations: - effect: NoSchedule key: dedicated operator: Equal value: storage --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: shared namespace: minio-clusters annotations: kubernetes.io/ingress.class: traefik traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls: "true" external-dns.alpha.kubernetes.io/target: traefik.k-space.ee spec: rules: - host: minio-cluster-shared.k-space.ee http: paths: - pathType: Prefix path: "/" backend: service: name: shared port: name: http tls: - hosts: - "*.k-space.ee" --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: shared-console namespace: minio-clusters annotations: kubernetes.io/ingress.class: traefik traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls: "true" external-dns.alpha.kubernetes.io/target: traefik.k-space.ee spec: rules: - host: minio-cluster-shared-console.k-space.ee http: paths: - pathType: Prefix path: "/" backend: service: name: shared-console port: name: http tls: - hosts: - "*.k-space.ee"