Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deploy minio backend for volsync #16

Merged
merged 1 commit into from
Feb 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions kubernetes/apps/storage/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ resources:
- ./namespace.yaml
- ./openebs/ks.yaml
- ./volsync/ks.yaml
- ./minio/ks.yaml
108 changes: 108 additions & 0 deletions kubernetes/apps/storage/minio/app/helm-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: minio
spec:
interval: 15m
chart:
spec:
chart: app-template
version: 1.5.1
sourceRef:
kind: HelmRepository
name: bjw-s-charts
namespace: flux-system
maxHistory: 3
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
image:
repository: quay.io/minio/minio
tag: RELEASE.2023-05-04T21-44-30Z
env:
TZ: America/Denver
MINIO_UPDATE: "off"
MINIO_BROWSER_REDIRECT_URL: https://minio.${SECRET_DOMAIN}
MINIO_SERVER_URL: https://s3.${SECRET_DOMAIN}
envFrom:
- secretRef:
name: minio-secret
args: ["server", "/data", "--console-address", ":9001"]
service:
main:
enabled: true
ports:
http:
port: 9001
api:
enabled: true
port: 9000
probes:
# liveness: &probes
# enabled: true
# custom: true
# spec:
# httpGet:
# path: /minio/health/live
# port: 9000
# initialDelaySeconds: 0
# periodSeconds: 10
# timeoutSeconds: 1
# failureThreshold: 3
# readiness: *probes
startup:
enabled: false
ingress:
main:
enabled: true
ClassName: internal
hosts:
- host: &host minio.${SECRET_DOMAIN}
paths:
- path: /
pathType: Prefix
service:
port: 9001
tls:
- hosts:
- *host
s3:
enabled: true
className: internal
hosts:
- host: &s3host s3.${SECRET_DOMAIN}
paths:
- path: /
pathType: Prefix
service:
port: 9000
tls:
- hosts:
- *s3host
podSecurityContext:
runAsUser: 1024
runAsGroup: 100
fsGroup: 100
fsGroupChangePolicy: "OnRootMismatch"
supplementalGroups:
- 100
persistence:
config:
enabled: true
existingClaim: minio-nfs
mountPath: /data
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 750Mi
7 changes: 7 additions & 0 deletions kubernetes/apps/storage/minio/app/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- secret.enc.yaml
- nfs-pvc.yaml
- helm-release.yaml
30 changes: 30 additions & 0 deletions kubernetes/apps/storage/minio/app/nfs-pvc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-nfs
spec:
capacity:
storage: 1Mi
accessModes:
- ReadWriteMany
storageClassName: minio-nfs
persistentVolumeReclaimPolicy: Retain
nfs:
server: "192.168.1.33"
path: /volume10/Minio
mountOptions:
- nconnect=8
- noatime
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: minio-nfs
spec:
accessModes:
- ReadWriteMany
storageClassName: minio-nfs
resources:
requests:
storage: 1Mi
28 changes: 28 additions & 0 deletions kubernetes/apps/storage/minio/app/secret.sops.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# yamllint disable
apiVersion: v1
kind: Secret
metadata:
name: minio-secret
stringData:
MINIO_ROOT_USER: ENC[AES256_GCM,data:yoJuEdMXgyjuuBI=,iv:lmJs++9pzhTBPTmfkKRc1Z7Kdc5lvVN2qcaVkkl1x4k=,tag:th1WiPutWHQHc4/XIV7wIQ==,type:str]
MINIO_ROOT_PASSWORD: ENC[AES256_GCM,data:aTc+lOWlEeXqgpFAy1YdQQ==,iv:AwgcNiIb0Eu3kUFQwGuMA++aTnQfmiJX436RpmtO09I=,tag:0CPjxCBOx+JBTCauiNBEMg==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age12rzrdtn8xhd89y23qw4kymxftuylqn5cm522jcn327atent4a40swjcgmj
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0MUVkSStORXBwRGI3VXMr
bXVZb3kyVkJrellNOW9LSlZrOG5EbU9LRFVzCmhOQi9ERVdyOGtVT1RSa2sxL0lu
MmtZOWJqbytOcDBPTHBoay9QVUlxOE0KLS0tIGVhTWZOeDhkZ3J6Wk1mNHUrcXNO
YjdLcWZJTnErQS8zSTFxdklvbVU3NEkKc1PWeQAv4S59aEkCTFzy5CcsaKslxurv
Z+7N1uW3eN8IGYVbIZTbLjmNvU3WOtpUN0uY9RiOIL5UctJL9hnoBQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-02-25T22:13:49Z"
mac: ENC[AES256_GCM,data:Xa+6zuDajCVheuuyDbWOihVySiwDHOzH+xZT/iluRTMmFjImauvib3XggZlFhgUYIFwY0cFd7dRik6GdvCsMidczMNwWKa0OBLVvi4V76rXu0uow/WfANj5UTAM+eGwaUGPzJlpQ3y/dYmRLqjF/ubeCyuYcwDt+BzWlTKD5Z5Y=,iv:IQFvw1qoIQLYDxZrQ3dbTwcMA/aDZC5LiuSP7Is37ao=,tag:3d03RurfYnE9LYciOyegPw==,type:str]
pgp: []
encrypted_regex: ^(data|stringData)$
version: 3.8.1
20 changes: 20 additions & 0 deletions kubernetes/apps/storage/minio/ks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app minio
namespace: flux-system
spec:
targetNamespace: storage
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/storage/minio/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
Loading