-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsync_uploads.tf
48 lines (48 loc) · 1.46 KB
/
sync_uploads.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
resource "kubectl_manifest" "sync_uploads" {
yaml_body = <<YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: sync-uploads
namespace: "${kubernetes_namespace.this.metadata[0].name}"
labels:
app: sync-uploads
app.kubernetes.io/instance: "${var.release-name}"
app.kubernetes.io/name: sync-uploads
spec:
replicas: 1
selector:
matchLabels:
app: sync-uploads
template:
metadata:
labels:
app: sync-uploads
app.kubernetes.io/instance: "${var.release-name}"
app.kubernetes.io/name: sync-uploads
spec:
securityContext:
seLinuxOptions:
level: "${local.selinux-level}"
containers:
- name: mc
image: minio/mc:latest
command: ["sh", "-c"]
args:
- |
mc alias set s3 https://s3.${local.s3-region}.amazonaws.com:443 "${local.aws_access_key_id}" "${local.aws_secret_access_key}"
mc mirror --quiet --overwrite --watch /uploads/ s3/"${local.s3-cdn-wordpresss-uploads-path}"
env:
- name: AWS_ACCESS_KEY_ID
value: "${local.aws_access_key_id}"
- name: AWS_SECRET_ACCESS_KEY
value: "${local.aws_secret_access_key}"
volumeMounts:
- name: uploads
mountPath: /uploads
volumes:
- name: uploads
persistentVolumeClaim:
claimName : "${kubernetes_persistent_volume_claim.wordpress_uploads.metadata[0].name}"
YAML
}