apiVersion: apps/v1 kind: Deployment metadata: name: s3-exporter-digital-ocean labels: app.kubernetes.io/controller: digital-ocean app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: revisionHistoryLimit: 3 replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/controller: digital-ocean app.kubernetes.io/name: s3-exporter app.kubernetes.io/instance: s3-exporter template: metadata: labels: app.kubernetes.io/controller: digital-ocean app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter spec: enableServiceLinks: false serviceAccountName: default automountServiceAccountToken: true hostIPC: false hostNetwork: false hostPID: false dnsPolicy: ClusterFirst containers: - env: - name: S3_NAME value: digital-ocean - name: S3_ENDPOINT value: https://nyc3.digitaloceanspaces.com - name: S3_ACCESS_KEY valueFrom: secretKeyRef: key: AWS_ACCESS_KEY_ID name: s3-do-home-infra-secret - name: S3_SECRET_KEY valueFrom: secretKeyRef: key: AWS_SECRET_ACCESS_KEY name: s3-do-home-infra-secret - name: S3_REGION valueFrom: secretKeyRef: key: AWS_REGION name: s3-do-home-infra-secret - name: LOG_LEVEL value: info - name: S3_FORCE_PATH_STYLE value: "false" image: molu8bits/s3bucket_exporter:1.0.2 imagePullPolicy: IfNotPresent name: main resources: requests: cpu: 10m memory: 64Mi --- apiVersion: apps/v1 kind: Deployment metadata: name: s3-exporter-garage-local labels: app.kubernetes.io/controller: garage-local app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: revisionHistoryLimit: 3 replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/controller: garage-local app.kubernetes.io/name: s3-exporter app.kubernetes.io/instance: s3-exporter template: metadata: labels: app.kubernetes.io/controller: garage-local app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter spec: enableServiceLinks: false serviceAccountName: default automountServiceAccountToken: true hostIPC: false hostNetwork: false hostPID: false dnsPolicy: ClusterFirst containers: - env: - name: S3_NAME value: garage-local - name: S3_ENDPOINT value: http://garage-main.garage:3900 - name: S3_ACCESS_KEY valueFrom: secretKeyRef: key: AWS_ACCESS_KEY_ID name: s3-garage-secret - name: S3_SECRET_KEY valueFrom: secretKeyRef: key: AWS_SECRET_ACCESS_KEY name: s3-garage-secret - name: S3_REGION value: us-east-1 - name: LOG_LEVEL value: debug - name: S3_FORCE_PATH_STYLE value: "true" image: molu8bits/s3bucket_exporter:1.0.2 imagePullPolicy: IfNotPresent name: main resources: requests: cpu: 10m memory: 64Mi --- apiVersion: apps/v1 kind: Deployment metadata: name: s3-exporter-garage-remote labels: app.kubernetes.io/controller: garage-remote app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: revisionHistoryLimit: 3 replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/controller: garage-remote app.kubernetes.io/name: s3-exporter app.kubernetes.io/instance: s3-exporter template: metadata: labels: app.kubernetes.io/controller: garage-remote app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter spec: enableServiceLinks: false serviceAccountName: default automountServiceAccountToken: true hostIPC: false hostNetwork: false hostPID: false dnsPolicy: ClusterFirst containers: - env: - name: S3_NAME value: garage-remote - name: S3_ENDPOINT value: https://garage-ps10rp.boreal-beaufort.ts.net:3900 - name: S3_ACCESS_KEY valueFrom: secretKeyRef: key: AWS_ACCESS_KEY_ID name: s3-garage-secret - name: S3_SECRET_KEY valueFrom: secretKeyRef: key: AWS_SECRET_ACCESS_KEY name: s3-garage-secret - name: S3_REGION value: us-east-1 - name: LOG_LEVEL value: debug - name: S3_FORCE_PATH_STYLE value: "true" image: molu8bits/s3bucket_exporter:1.0.2 imagePullPolicy: IfNotPresent name: main resources: requests: cpu: 10m memory: 64Mi --- apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: name: s3-do-home-infra-secret namespace: s3-exporter labels: app.kubernetes.io/name: s3-do-home-infra-secret app.kubernetes.io/instance: s3-exporter app.kubernetes.io/part-of: s3-exporter spec: secretStoreRef: kind: ClusterSecretStore name: vault data: - secretKey: AWS_ACCESS_KEY_ID remoteRef: conversionStrategy: Default decodingStrategy: None key: /digital-ocean/home-infra/all-access metadataPolicy: None property: AWS_ACCESS_KEY_ID - secretKey: AWS_SECRET_ACCESS_KEY remoteRef: conversionStrategy: Default decodingStrategy: None key: /digital-ocean/home-infra/all-access metadataPolicy: None property: AWS_SECRET_ACCESS_KEY - secretKey: AWS_REGION remoteRef: conversionStrategy: Default decodingStrategy: None key: /digital-ocean/home-infra/prometheus-exporter metadataPolicy: None property: AWS_REGION --- apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: name: s3-garage-secret namespace: s3-exporter labels: app.kubernetes.io/name: s3-garage-secret app.kubernetes.io/instance: s3-exporter app.kubernetes.io/part-of: s3-exporter spec: secretStoreRef: kind: ClusterSecretStore name: vault data: - secretKey: AWS_ACCESS_KEY_ID remoteRef: conversionStrategy: Default decodingStrategy: None key: /garage/home-infra/s3-exporter metadataPolicy: None property: ACCESS_KEY_ID - secretKey: AWS_SECRET_ACCESS_KEY remoteRef: conversionStrategy: Default decodingStrategy: None key: /garage/home-infra/s3-exporter metadataPolicy: None property: ACCESS_SECRET_KEY --- apiVersion: v1 kind: Service metadata: name: s3-exporter-digital-ocean labels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter app.kubernetes.io/service: s3-exporter-digital-ocean helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: type: ClusterIP ports: - port: 9655 targetPort: 9655 protocol: TCP name: metrics selector: app.kubernetes.io/controller: digital-ocean app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter --- apiVersion: v1 kind: Service metadata: name: s3-exporter-garage-local labels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter app.kubernetes.io/service: s3-exporter-garage-local helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: type: ClusterIP ports: - port: 9655 targetPort: 9655 protocol: TCP name: metrics selector: app.kubernetes.io/controller: garage-local app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter --- apiVersion: v1 kind: Service metadata: name: s3-exporter-garage-remote labels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter app.kubernetes.io/service: s3-exporter-garage-remote helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: type: ClusterIP ports: - port: 9655 targetPort: 9655 protocol: TCP name: metrics selector: app.kubernetes.io/controller: garage-remote app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: s3-exporter-digital-ocean labels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: jobLabel: s3-exporter-digital-ocean namespaceSelector: matchNames: - s3-exporter selector: matchLabels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter app.kubernetes.io/service: s3-exporter-digital-ocean endpoints: - interval: 5m path: /metrics port: metrics scrapeTimeout: 2m --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: s3-exporter-garage-local labels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: jobLabel: s3-exporter-garage-local namespaceSelector: matchNames: - s3-exporter selector: matchLabels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter app.kubernetes.io/service: s3-exporter-garage-local endpoints: - interval: 5m path: /metrics port: metrics scrapeTimeout: 2m --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: s3-exporter-garage-remote labels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: s3-exporter helm.sh/chart: s3-exporter-4.6.2 namespace: s3-exporter spec: jobLabel: s3-exporter-garage-remote namespaceSelector: matchNames: - s3-exporter selector: matchLabels: app.kubernetes.io/instance: s3-exporter app.kubernetes.io/name: s3-exporter app.kubernetes.io/service: s3-exporter-garage-remote endpoints: - interval: 5m path: /metrics port: metrics scrapeTimeout: 2m