diff --git a/Manifests/Mirror/CronJobs/almalinux.yml b/Manifests/Mirror/CronJobs/almalinux.yml index 06392cd..87643dd 100644 --- a/Manifests/Mirror/CronJobs/almalinux.yml +++ b/Manifests/Mirror/CronJobs/almalinux.yml @@ -32,4 +32,4 @@ spec: volumes: - name: mirror-pvc persistentVolumeClaim: - claimName: mirror-almalinux-zfs + claimName: zfs-mirror-almalinux diff --git a/Manifests/Mirror/CronJobs/arch.yml b/Manifests/Mirror/CronJobs/arch.yml index 8b44fcf..b1133fb 100644 --- a/Manifests/Mirror/CronJobs/arch.yml +++ b/Manifests/Mirror/CronJobs/arch.yml @@ -32,4 +32,4 @@ spec: volumes: - name: mirror-pvc persistentVolumeClaim: - claimName: mirror-arch + claimName: zfs-mirror-arch diff --git a/Manifests/Mirror/CronJobs/rockylinux.yml b/Manifests/Mirror/CronJobs/rockylinux.yml index a18112a..6b8d044 100644 --- a/Manifests/Mirror/CronJobs/rockylinux.yml +++ b/Manifests/Mirror/CronJobs/rockylinux.yml @@ -32,4 +32,4 @@ spec: volumes: - name: mirror-pvc persistentVolumeClaim: - claimName: mirror-rockylinux + claimName: zfs-mirror-rockylinux diff --git a/Manifests/Mirror/CronJobs/torproject.yml b/Manifests/Mirror/CronJobs/torproject.yml new file mode 100644 index 0000000..d532348 --- /dev/null +++ b/Manifests/Mirror/CronJobs/torproject.yml @@ -0,0 +1,35 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + name: mirrorupdate-torproject + namespace: default +spec: + schedule: "35 */6 * * *" + successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 0 + concurrencyPolicy: Forbid + jobTemplate: + spec: + template: + spec: + containers: + - name: mirrorupdate-torproject + imagePullPolicy: Always + image: ghcr.io/0xemma/mirror-updater:v2.0.0 + env: + - name: TARGET + value: /ext/mirror/ + - name: SOURCE + value: rsync://rsync.torproject.org/website-mirror/ + - name: LASTUPDATE + value: http://rsync.repo.torproject.org/torproject/timestamp.txt + - name: FIRST + value: "no" + volumeMounts: + - name: mirror-pvc + mountPath: /ext/mirror/ + restartPolicy: OnFailure + volumes: + - name: mirror-pvc + persistentVolumeClaim: + claimName: mirror-torproject diff --git a/Manifests/Mirror/Mirror-Rsync/mirror-rsync.yml b/Manifests/Mirror/Mirror-Rsync/mirror-rsync.yml index 82a3e30..8c6bc0b 100644 --- a/Manifests/Mirror/Mirror-Rsync/mirror-rsync.yml +++ b/Manifests/Mirror/Mirror-Rsync/mirror-rsync.yml @@ -73,10 +73,10 @@ spec: claimName: mirror-kali-images - name: arch persistentVolumeClaim: - claimName: mirror-arch + claimName: zfs-mirror-arch - name: alma persistentVolumeClaim: - claimName: mirror-almalinux-zfs + claimName: zfs-mirror-almalinux - name: parrot persistentVolumeClaim: claimName: mirror-parrot-zfs @@ -88,5 +88,5 @@ spec: claimName: mirror-blackarch-zfs - name: rockylinux persistentVolumeClaim: - claimName: mirror-rockylinux + claimName: zfs-mirror-rockylinux restartPolicy: Always diff --git a/Manifests/Mirror/Mirror-Web/almalinux/web.yaml b/Manifests/Mirror/Mirror-Web/almalinux/web.yaml index 8d7681c..c332718 100644 --- a/Manifests/Mirror/Mirror-Web/almalinux/web.yaml +++ b/Manifests/Mirror/Mirror-Web/almalinux/web.yaml @@ -56,4 +56,4 @@ spec: volumes: - name: mirror-pvc persistentVolumeClaim: - claimName: mirror-almalinux-zfs + claimName: zfs-mirror-almalinux diff --git a/Manifests/Mirror/Mirror-Web/arch/ingress.yml b/Manifests/Mirror/Mirror-Web/arch/ingress.yml index 1e018b7..b59b780 100644 --- a/Manifests/Mirror/Mirror-Web/arch/ingress.yml +++ b/Manifests/Mirror/Mirror-Web/arch/ingress.yml @@ -9,7 +9,7 @@ spec: - match: Host(`mirror.0xem.ma`) && PathPrefix(`/arch`) kind: Rule services: - - name: mirror-arch + - name: zfs-mirror-arch kind: Service port: 80 tls: @@ -26,6 +26,6 @@ spec: - match: Host(`mirror.0xem.ma`) && PathPrefix(`/arch`) kind: Rule services: - - name: mirror-arch + - name: zfs-mirror-arch kind: Service port: 80 diff --git a/Manifests/Mirror/Mirror-Web/arch/pvc.yaml b/Manifests/Mirror/Mirror-Web/arch/pvc.yaml index 7aa0381..6d24a8e 100644 --- a/Manifests/Mirror/Mirror-Web/arch/pvc.yaml +++ b/Manifests/Mirror/Mirror-Web/arch/pvc.yaml @@ -1,10 +1,10 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: mirror-arch + name: zfs-mirror-arch namespace: default labels: - app: mirror-arch + app: zfs-mirror-arch spec: accessModes: - ReadWriteMany diff --git a/Manifests/Mirror/Mirror-Web/arch/svc.yml b/Manifests/Mirror/Mirror-Web/arch/svc.yml index 10274fa..6177a89 100644 --- a/Manifests/Mirror/Mirror-Web/arch/svc.yml +++ b/Manifests/Mirror/Mirror-Web/arch/svc.yml @@ -1,13 +1,13 @@ apiVersion: v1 kind: Service metadata: - name: mirror-arch + name: zfs-mirror-arch namespace: default spec: selector: - app: mirror-arch + app: zfs-mirror-arch ports: - - name: mirror-arch - protocol: TCP - port: 80 - targetPort: 80 + - name: zfs-mirror-arch + protocol: TCP + port: 80 + targetPort: 80 diff --git a/Manifests/Mirror/Mirror-Web/arch/web.yaml b/Manifests/Mirror/Mirror-Web/arch/web.yaml index ab85d90..3011e52 100644 --- a/Manifests/Mirror/Mirror-Web/arch/web.yaml +++ b/Manifests/Mirror/Mirror-Web/arch/web.yaml @@ -1,10 +1,10 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: mirror-arch + name: zfs-mirror-arch namespace: default labels: - app: mirror-arch + app: zfs-mirror-arch id: mirror-web annotations: operator.1password.io/auto-restart: "true" @@ -12,7 +12,7 @@ spec: revisionHistoryLimit: 2 selector: matchLabels: - app: mirror-arch + app: zfs-mirror-arch replicas: 2 strategy: rollingUpdate: @@ -22,11 +22,11 @@ spec: template: metadata: labels: - app: mirror-arch + app: zfs-mirror-arch id: mirror-web spec: containers: - - name: mirror-arch + - name: zfs-mirror-arch image: 0xemma/nginx-autoindex:json-4 resources: limits: @@ -56,4 +56,4 @@ spec: volumes: - name: mirror-pvc persistentVolumeClaim: - claimName: mirror-arch + claimName: zfs-mirror-arch diff --git a/Manifests/Mirror/Mirror-Web/rockylinux/ingress.yml b/Manifests/Mirror/Mirror-Web/rockylinux/ingress.yml index 68f137b..52b6621 100644 --- a/Manifests/Mirror/Mirror-Web/rockylinux/ingress.yml +++ b/Manifests/Mirror/Mirror-Web/rockylinux/ingress.yml @@ -9,7 +9,7 @@ spec: - match: Host(`mirror.0xem.ma`) && PathPrefix(`/rockylinux`) kind: Rule services: - - name: mirror-rockylinux + - name: zfs-mirror-rockylinux kind: Service port: 80 tls: @@ -26,6 +26,6 @@ spec: - match: Host(`mirror.0xem.ma`) && PathPrefix(`/rockylinux`) kind: Rule services: - - name: mirror-rockylinux + - name: zfs-mirror-rockylinux kind: Service port: 80 diff --git a/Manifests/Mirror/Mirror-Web/rockylinux/pvc.yaml b/Manifests/Mirror/Mirror-Web/rockylinux/pvc.yaml index 70e496a..da55b2f 100644 --- a/Manifests/Mirror/Mirror-Web/rockylinux/pvc.yaml +++ b/Manifests/Mirror/Mirror-Web/rockylinux/pvc.yaml @@ -1,10 +1,10 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: mirror-rockylinux + name: zfs-mirror-rockylinux namespace: default labels: - app: mirror-rockylinux + app: zfs-mirror-rockylinux spec: storageClassName: csi-fs-hdd-sc accessModes: diff --git a/Manifests/Mirror/Mirror-Web/rockylinux/svc.yml b/Manifests/Mirror/Mirror-Web/rockylinux/svc.yml index 5a5d78e..a289cd3 100644 --- a/Manifests/Mirror/Mirror-Web/rockylinux/svc.yml +++ b/Manifests/Mirror/Mirror-Web/rockylinux/svc.yml @@ -1,13 +1,13 @@ apiVersion: v1 kind: Service metadata: - name: mirror-rockylinux + name: zfs-mirror-rockylinux namespace: default spec: selector: - app: mirror-rockylinux + app: zfs-mirror-rockylinux ports: - - name: mirror-rockylinux + - name: zfs-mirror-rockylinux protocol: TCP port: 80 targetPort: 80 diff --git a/Manifests/Mirror/Mirror-Web/rockylinux/web.yaml b/Manifests/Mirror/Mirror-Web/rockylinux/web.yaml index eec4eea..5de2241 100644 --- a/Manifests/Mirror/Mirror-Web/rockylinux/web.yaml +++ b/Manifests/Mirror/Mirror-Web/rockylinux/web.yaml @@ -1,10 +1,10 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: mirror-rockylinux + name: zfs-mirror-rockylinux namespace: default labels: - app: mirror-rockylinux + app: zfs-mirror-rockylinux id: mirror-web annotations: operator.1password.io/auto-restart: "true" @@ -12,7 +12,7 @@ spec: revisionHistoryLimit: 2 selector: matchLabels: - app: mirror-rockylinux + app: zfs-mirror-rockylinux replicas: 2 strategy: rollingUpdate: @@ -22,11 +22,11 @@ spec: template: metadata: labels: - app: mirror-rockylinux + app: zfs-mirror-rockylinux id: mirror-web spec: containers: - - name: mirror-rockylinux + - name: zfs-mirror-rockylinux image: 0xemma/nginx-autoindex:json-4 resources: limits: @@ -56,4 +56,4 @@ spec: volumes: - name: mirror-pvc persistentVolumeClaim: - claimName: mirror-rockylinux + claimName: zfs-mirror-rockylinux diff --git a/Manifests/Mirror/Mirror-Web/torproject/ingress.yml b/Manifests/Mirror/Mirror-Web/torproject/ingress.yml new file mode 100644 index 0000000..4a52461 --- /dev/null +++ b/Manifests/Mirror/Mirror-Web/torproject/ingress.yml @@ -0,0 +1,31 @@ +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: mirror-ingress-tls-torproject +spec: + entryPoints: + - websecure + routes: + - match: Host(`tor.0xem.ma`) + kind: Rule + services: + - name: mirror-torproject + kind: Service + port: 80 + tls: + secretName: emma-tls +--- +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: mirror-ingress-torproject +spec: + entryPoints: + - web + routes: + - match: Host(`tor.0xem.ma`) + kind: Rule + services: + - name: mirror-torproject + kind: Service + port: 80 diff --git a/Manifests/Mirror/Mirror-Web/torproject/pvc.yaml b/Manifests/Mirror/Mirror-Web/torproject/pvc.yaml new file mode 100644 index 0000000..352724a --- /dev/null +++ b/Manifests/Mirror/Mirror-Web/torproject/pvc.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mirror-torproject + namespace: default + labels: + app: torproject + backup: donot +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 40Gi diff --git a/Manifests/Mirror/Mirror-Web/torproject/svc.yml b/Manifests/Mirror/Mirror-Web/torproject/svc.yml new file mode 100644 index 0000000..b402a92 --- /dev/null +++ b/Manifests/Mirror/Mirror-Web/torproject/svc.yml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: mirror-torproject + namespace: default +spec: + selector: + app: mirror-torproject + ports: + - name: mirror-torproject + protocol: TCP + port: 80 + targetPort: 80 diff --git a/Manifests/Mirror/Mirror-Web/torproject/web.yaml b/Manifests/Mirror/Mirror-Web/torproject/web.yaml new file mode 100644 index 0000000..7f569f5 --- /dev/null +++ b/Manifests/Mirror/Mirror-Web/torproject/web.yaml @@ -0,0 +1,59 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mirror-torproject + namespace: default + labels: + app: mirror-torproject + id: mirror-web + annotations: + operator.1password.io/auto-restart: "true" +spec: + revisionHistoryLimit: 2 + selector: + matchLabels: + app: mirror-torproject + replicas: 2 + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: mirror-torproject + id: mirror-web + spec: + containers: + - name: mirror-torproject + image: 0xemma/nginx-autoindex:json-4 + resources: + limits: + memory: 8000Mi + requests: + cpu: 100m + memory: 8000Mi + env: + - name: API_KEY + valueFrom: + secretKeyRef: + key: AMPLIFY_API_KEY + name: amplify-secret + - name: AMPLIFY_IMAGENAME + value: "torproject" + volumeMounts: + - mountPath: /var/lib/nginx/html + name: mirror-pvc + ports: + - containerPort: 80 + readinessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 5 + periodSeconds: 10 + volumes: + - name: mirror-pvc + persistentVolumeClaim: + claimName: mirror-torproject