209 lines
5.4 KiB
YAML
209 lines
5.4 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: seaweedfs
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: default
|
|
source:
|
|
repoURL: 'https://seaweedfs.github.io/seaweedfs/helm'
|
|
chart: seaweedfs
|
|
targetRevision: 4.*.*
|
|
helm:
|
|
values: |
|
|
# Global Konfiguration
|
|
global:
|
|
enableSecurity: true
|
|
monitoring:
|
|
enabled: true
|
|
imagePullPolicy: IfNotPresent
|
|
|
|
# Master Konfiguration
|
|
master:
|
|
replicas: 3
|
|
data:
|
|
type: "persistentVolumeClaim"
|
|
size: "25Gi"
|
|
storageClass: ""
|
|
logs:
|
|
type: "persistentVolumeClaim"
|
|
size: "5Gi"
|
|
|
|
# Master Service
|
|
service:
|
|
type: ClusterIP
|
|
ports:
|
|
http: 9333
|
|
grpc: 19333
|
|
|
|
# Master Ingress
|
|
ingress:
|
|
enabled: true
|
|
className: "traefik"
|
|
annotations:
|
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
cert-manager.io/cluster-issuer: "lets-encrypt"
|
|
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
|
|
traefik.ingress.kubernetes.io/router.middlewares: "seaweedfs-cors@kubernetescrd"
|
|
hosts:
|
|
- host: "seaweed.innovation-hub-niedersachsen.de"
|
|
paths:
|
|
- path: "/"
|
|
pathType: "Prefix"
|
|
tls:
|
|
- secretName: "seaweed.innovation-hub-niedersachsen.de-tls"
|
|
hosts:
|
|
- "seaweed.innovation-hub-niedersachsen.de"
|
|
|
|
# Volume Server Konfiguration
|
|
volume:
|
|
replicas: 3
|
|
data:
|
|
type: "persistentVolumeClaim"
|
|
size: "100Gi"
|
|
storageClass: ""
|
|
idx:
|
|
type: "persistentVolumeClaim"
|
|
size: "10Gi"
|
|
storageClass: ""
|
|
|
|
service:
|
|
type: ClusterIP
|
|
ports:
|
|
http: 8080
|
|
grpc: 18080
|
|
|
|
# Filer Konfiguration
|
|
filer:
|
|
replicas: 2
|
|
data:
|
|
type: "persistentVolumeClaim"
|
|
size: "25Gi"
|
|
storageClass: ""
|
|
logs:
|
|
type: "persistentVolumeClaim"
|
|
size: "5Gi"
|
|
|
|
# Filer Service
|
|
service:
|
|
type: ClusterIP
|
|
ports:
|
|
http: 8888
|
|
grpc: 18888
|
|
|
|
# Optional: Filer Ingress (für Web UI)
|
|
ingress:
|
|
enabled: false
|
|
|
|
# S3 Gateway Konfiguration
|
|
s3:
|
|
enabled: true
|
|
replicas: 2
|
|
|
|
# S3 Authentifizierung
|
|
auth:
|
|
enabled: true
|
|
adminUser: "wjpKrmaqXra99rX3D61H"
|
|
adminPassword: "fTPi0u0FR6Lv9Y9IKydWv6WM0EA5XrsK008HCt9u"
|
|
|
|
# S3 Service
|
|
service:
|
|
type: ClusterIP
|
|
ports:
|
|
http: 8333
|
|
|
|
# S3 Konfiguration
|
|
config:
|
|
logLevel: 4
|
|
|
|
# S3 Ingress
|
|
ingress:
|
|
enabled: true
|
|
className: "traefik"
|
|
annotations:
|
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
cert-manager.io/cluster-issuer: "lets-encrypt"
|
|
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
|
|
traefik.ingress.kubernetes.io/router.middlewares: "seaweedfs-cors@kubernetescrd,seaweedfs-stripprefix@kubernetescrd"
|
|
hosts:
|
|
- host: "sws3.innovation-hub-niedersachsen.de"
|
|
paths:
|
|
- path: "/"
|
|
pathType: "Prefix"
|
|
tls:
|
|
- secretName: "sws3.innovation-hub-niedersachsen.de-tls"
|
|
hosts:
|
|
- "sws3.innovation-hub-niedersachsen.de"
|
|
|
|
# WebDAV (optional - standardmäßig deaktiviert)
|
|
webdav:
|
|
enabled: false
|
|
|
|
# Mount (optional - für FUSE Mount)
|
|
mount:
|
|
enabled: false
|
|
|
|
# CORS Konfiguration
|
|
cors:
|
|
enabled: true
|
|
allowedOrigins:
|
|
- "*"
|
|
allowedMethods:
|
|
- "GET"
|
|
- "POST"
|
|
- "PUT"
|
|
- "DELETE"
|
|
- "HEAD"
|
|
- "OPTIONS"
|
|
allowedHeaders:
|
|
- "*"
|
|
|
|
# Resource Limits (optional)
|
|
resources:
|
|
master:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
volume:
|
|
limits:
|
|
cpu: 1000m
|
|
memory: 1Gi
|
|
requests:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
filer:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
s3:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
|
|
# Node Affinity (optional)
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
destination:
|
|
server: 'https://kubernetes.default.svc'
|
|
namespace: seaweedfs
|
|
syncPolicy:
|
|
managedNamespaceMetadata:
|
|
labels:
|
|
pod-security.kubernetes.io/enforce: "privileged"
|
|
automated:
|
|
selfHeal: true
|
|
prune: true
|
|
syncOptions:
|
|
- CreateNamespace=true |