app-minio: add create-bucket-with-webhook action
diff --git a/apps/minio/chart/Actions.yaml b/apps/minio/chart/Actions.yaml
new file mode 100644
index 0000000..60fdcbf
--- /dev/null
+++ b/apps/minio/chart/Actions.yaml
@@ -0,0 +1,33 @@
+actions:
+- name: create-bucket-with-webhook
+ template: |
+ apiVersion: v1
+ kind: Pod
+ metadata:
+ name: create-bucket-with-webhook
+ labels:
+ app: create-bucket-with-webhook
+ spec:
+ containers:
+ - name: create-bucket-with-webhook
+ image: giolekva/minio-mc-arm64:latest
+ imagePullPolicy: Always
+ env:
+ - name: MINIO_ADDR
+ valueFrom:
+ configMapKeyRef:
+ name: action-env
+ key: minio_addr
+ - name: ACCESS_KEY
+ valueFrom:
+ secretKeyRef:
+ name: minio-creds
+ key: accesskey
+ - name: SECRET_KEY
+ valueFrom:
+ secretKeyRef:
+ name: minio-creds
+ key: secretkey
+ command: ["/bin/sh", "-c"]
+ args: ["mc config host add minio $MINIO_ADDR $ACCESS_KEY $SECRET_KEY && mc mb minio/{{ .BucketName }} && mc admin config set minio notify_webhook:minio queue_limit=\"1000\" queue_dir=\"/tmp/events\" endpoint=\"{{ .WebhookURL }}\" && mc admin service restart minio && mc event add minio/{{ .BucketName }} arn:minio:sqs::minio:webhook --event put"]
+ restartPolicy: Never
diff --git a/apps/minio/chart/minio.tar.gz b/apps/minio/chart/minio.tar.gz
new file mode 100644
index 0000000..093f7d9
--- /dev/null
+++ b/apps/minio/chart/minio.tar.gz
Binary files differ
diff --git a/apps/minio/chart/templates/configmap.yaml b/apps/minio/chart/templates/configmap.yaml
new file mode 100644
index 0000000..5861511
--- /dev/null
+++ b/apps/minio/chart/templates/configmap.yaml
@@ -0,0 +1,6 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: action-env
+data:
+ minio_addr: http://{{ template "minio.fullname" . }}:{{ .Values.minio.service.port }}
diff --git a/apps/minio/chart/templates/ingress.yaml b/apps/minio/chart/templates/ingress.yaml
index 044c2e5..2e09222 100644
--- a/apps/minio/chart/templates/ingress.yaml
+++ b/apps/minio/chart/templates/ingress.yaml
@@ -11,7 +11,7 @@
match: Host(`{{ .Values.ingressHost }}`)
services:
- kind: Service
- name: minio
+ name: {{ template "minio.fullname" . }}
namespace: {{ .Release.Namespace }}
passHostHeader: true
port: {{ .Values.minio.service.port }}