camtiler: Use external bucket
This commit is contained in:
		| @@ -1,4 +1,12 @@ | |||||||
| --- | --- | ||||||
|  | apiVersion: codemowers.cloud/v1beta1 | ||||||
|  | kind: MinioBucketClaim | ||||||
|  | metadata: | ||||||
|  |   name: camtiler | ||||||
|  | spec: | ||||||
|  |   capacity: 1Ti | ||||||
|  |   class: external | ||||||
|  | --- | ||||||
| apiVersion: apiextensions.k8s.io/v1 | apiVersion: apiextensions.k8s.io/v1 | ||||||
| kind: CustomResourceDefinition | kind: CustomResourceDefinition | ||||||
| metadata: | metadata: | ||||||
| @@ -105,10 +113,6 @@ spec: | |||||||
|       kind: Deployment |       kind: Deployment | ||||||
|       metadata: |       metadata: | ||||||
|         name: camera-foobar |         name: camera-foobar | ||||||
|         # Make sure keel.sh pulls updates for this deployment |  | ||||||
|         annotations: |  | ||||||
|           keel.sh/policy: force |  | ||||||
|           keel.sh/trigger: poll |  | ||||||
|       spec: |       spec: | ||||||
|         revisionHistoryLimit: 0 |         revisionHistoryLimit: 0 | ||||||
|         replicas: 1 |         replicas: 1 | ||||||
| @@ -166,9 +170,25 @@ spec: | |||||||
|                   - name: SOURCE_NAME |                   - name: SOURCE_NAME | ||||||
|                     value: foobar |                     value: foobar | ||||||
|                   - name: S3_BUCKET_NAME |                   - name: S3_BUCKET_NAME | ||||||
|                     value: application |                     valueFrom: | ||||||
|  |                       secretKeyRef: | ||||||
|  |                         name: miniobucket-camtiler-owner-secrets | ||||||
|  |                         key: BUCKET_NAME | ||||||
|                   - name: S3_ENDPOINT_URL |                   - name: S3_ENDPOINT_URL | ||||||
|                     value: http://minio |                     valueFrom: | ||||||
|  |                       secretKeyRef: | ||||||
|  |                         name: miniobucket-camtiler-owner-secrets | ||||||
|  |                         key: AWS_S3_ENDPOINT_URL | ||||||
|  |                   - name: AWS_SECRET_ACCESS_KEY | ||||||
|  |                     valueFrom: | ||||||
|  |                       secretKeyRef: | ||||||
|  |                         name: miniobucket-camtiler-owner-secrets | ||||||
|  |                         key: AWS_SECRET_ACCESS_KEY | ||||||
|  |                   - name: AWS_ACCESS_KEY_ID | ||||||
|  |                     valueFrom: | ||||||
|  |                       secretKeyRef: | ||||||
|  |                         name: miniobucket-camtiler-owner-secrets | ||||||
|  |                         key: AWS_ACCESS_KEY_ID | ||||||
|                   - name: BASIC_AUTH_PASSWORD |                   - name: BASIC_AUTH_PASSWORD | ||||||
|                     valueFrom: |                     valueFrom: | ||||||
|                       secretKeyRef: |                       secretKeyRef: | ||||||
| @@ -179,16 +199,6 @@ spec: | |||||||
|                       secretKeyRef: |                       secretKeyRef: | ||||||
|                         name: mongodb-application-readwrite |                         name: mongodb-application-readwrite | ||||||
|                         key: connectionString.standard |                         key: connectionString.standard | ||||||
|                   - name: AWS_SECRET_ACCESS_KEY |  | ||||||
|                     valueFrom: |  | ||||||
|                       secretKeyRef: |  | ||||||
|                         name: minio-secrets |  | ||||||
|                         key: MINIO_ROOT_PASSWORD |  | ||||||
|                   - name: AWS_ACCESS_KEY_ID |  | ||||||
|                     valueFrom: |  | ||||||
|                       secretKeyRef: |  | ||||||
|                         name: minio-secrets |  | ||||||
|                         key: MINIO_ROOT_USER |  | ||||||
|  |  | ||||||
|             # Make sure 2+ pods of same camera are scheduled on different hosts |             # Make sure 2+ pods of same camera are scheduled on different hosts | ||||||
|             affinity: |             affinity: | ||||||
|   | |||||||
| @@ -1,199 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: StatefulSet |  | ||||||
| metadata: |  | ||||||
|   name: minio |  | ||||||
|   labels: |  | ||||||
|      app.kubernetes.io/name: minio |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app.kubernetes.io/name: minio |  | ||||||
|   serviceName: minio-svc |  | ||||||
|   replicas: 4 |  | ||||||
|   podManagementPolicy: Parallel |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app.kubernetes.io/name: minio |  | ||||||
|     spec: |  | ||||||
|       affinity: |  | ||||||
|         podAntiAffinity: |  | ||||||
|           requiredDuringSchedulingIgnoredDuringExecution: |  | ||||||
|             - labelSelector: |  | ||||||
|                 matchExpressions: |  | ||||||
|                   - key: app.kubernetes.io/name |  | ||||||
|                     operator: In |  | ||||||
|                     values: |  | ||||||
|                       - minio |  | ||||||
|               topologyKey: topology.kubernetes.io/zone |  | ||||||
|       nodeSelector: |  | ||||||
|         dedicated: storage |  | ||||||
|       tolerations: |  | ||||||
|         - key: dedicated |  | ||||||
|           operator: Equal |  | ||||||
|           value: storage |  | ||||||
|           effect: NoSchedule |  | ||||||
|       containers: |  | ||||||
|         - name: minio |  | ||||||
|           env: |  | ||||||
|             - name: MINIO_PROMETHEUS_AUTH_TYPE |  | ||||||
|               value: public |  | ||||||
|           envFrom: |  | ||||||
|             - secretRef: |  | ||||||
|                 name: minio-secrets |  | ||||||
|           image: minio/minio:RELEASE.2022-12-12T19-27-27Z |  | ||||||
|           args: |  | ||||||
|             - server |  | ||||||
|             - http://minio-{0...3}.minio-svc.camtiler.svc.cluster.local/data |  | ||||||
|             - --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: minio-data |  | ||||||
|               mountPath: /data |  | ||||||
|   volumeClaimTemplates: |  | ||||||
|     - metadata: |  | ||||||
|         name: minio-data |  | ||||||
|       spec: |  | ||||||
|         accessModes: |  | ||||||
|           - ReadWriteOnce |  | ||||||
|         resources: |  | ||||||
|           requests: |  | ||||||
|             storage: '30Gi' |  | ||||||
|         storageClassName: minio |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: minio |  | ||||||
| spec: |  | ||||||
|   sessionAffinity: ClientIP |  | ||||||
|   type: ClusterIP |  | ||||||
|   ports: |  | ||||||
|     - port: 80 |  | ||||||
|       targetPort: 9000 |  | ||||||
|       protocol: TCP |  | ||||||
|       name: http |  | ||||||
|   selector: |  | ||||||
|     app.kubernetes.io/name: minio |  | ||||||
| --- |  | ||||||
| kind: Service |  | ||||||
| apiVersion: v1 |  | ||||||
| metadata: |  | ||||||
|   name: minio-svc |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     app.kubernetes.io/name: minio |  | ||||||
|   clusterIP: None |  | ||||||
|   publishNotReadyAddresses: true |  | ||||||
|   ports: |  | ||||||
|     - name: http |  | ||||||
|       port: 9000 |  | ||||||
|     - name: console |  | ||||||
|       port: 9001 |  | ||||||
| --- |  | ||||||
| apiVersion: monitoring.coreos.com/v1 |  | ||||||
| kind: PodMonitor |  | ||||||
| metadata: |  | ||||||
|   name: minio |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app.kubernetes.io/name: minio |  | ||||||
|   podMetricsEndpoints: |  | ||||||
|     - port: http |  | ||||||
|       path: /minio/v2/metrics/node |  | ||||||
|   podTargetLabels: |  | ||||||
|     - app.kubernetes.io/name |  | ||||||
| --- |  | ||||||
| apiVersion: monitoring.coreos.com/v1 |  | ||||||
| kind: ServiceMonitor |  | ||||||
| metadata: |  | ||||||
|   name: minio |  | ||||||
| spec: |  | ||||||
|   endpoints: |  | ||||||
|   - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token |  | ||||||
|     honorLabels: true |  | ||||||
|     port: minio |  | ||||||
|     path: /minio/v2/metrics/cluster |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app.kubernetes.io/name: minio |  | ||||||
| --- |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| kind: Ingress |  | ||||||
| metadata: |  | ||||||
|   name: minio |  | ||||||
|   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: cams-s3.k-space.ee |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|           - pathType: Prefix |  | ||||||
|             path: "/" |  | ||||||
|             backend: |  | ||||||
|               service: |  | ||||||
|                 name: minio-svc |  | ||||||
|                 port: |  | ||||||
|                   name: http |  | ||||||
|   tls: |  | ||||||
|     - hosts: |  | ||||||
|         - "*.k-space.ee" |  | ||||||
| --- |  | ||||||
| apiVersion: monitoring.coreos.com/v1 |  | ||||||
| kind: PrometheusRule |  | ||||||
| metadata: |  | ||||||
|   name: minio |  | ||||||
| spec: |  | ||||||
|   groups: |  | ||||||
|     - name: minio |  | ||||||
|       rules: |  | ||||||
|         - alert: MinioClusterDiskOffline |  | ||||||
|           expr: minio_cluster_disk_offline_total > 0 |  | ||||||
|           for: 0m |  | ||||||
|           labels: |  | ||||||
|             severity: critical |  | ||||||
|           annotations: |  | ||||||
|             summary: Minio cluster disk offline (instance {{ $labels.instance }}) |  | ||||||
|             description: "Minio cluster disk is offline" |  | ||||||
|         - alert: MinioNodeDiskOffline |  | ||||||
|           expr: minio_cluster_nodes_offline_total > 0 |  | ||||||
|           for: 0m |  | ||||||
|           labels: |  | ||||||
|             severity: critical |  | ||||||
|           annotations: |  | ||||||
|             summary: Minio node disk offline (instance {{ $labels.instance }}) |  | ||||||
|             description: "Minio cluster node disk is offline" |  | ||||||
|         - alert: MinioDiskSpaceUsage |  | ||||||
|           expr: disk_storage_available / disk_storage_total * 100 < 10 |  | ||||||
|           for: 0m |  | ||||||
|           labels: |  | ||||||
|             severity: warning |  | ||||||
|           annotations: |  | ||||||
|             summary: Minio disk space usage (instance {{ $labels.instance }}) |  | ||||||
|             description: "Minio available free space is low (< 10%)" |  | ||||||
		Reference in New Issue
	
	Block a user