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: 1 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: 2 data: type: "persistentVolumeClaim" size: "100Gi" storageClass: "" idx: type: "persistentVolumeClaim" size: "10Gi" storageClass: "" service: type: ClusterIP ports: http: 8080 grpc: 18080 # Filer Konfiguration filer: replicas: 1 # Reduziert für einfachere Installation data: type: "persistentVolumeClaim" size: "25Gi" storageClass: "" logs: type: "persistentVolumeClaim" size: "5Gi" # Filer Service service: type: ClusterIP ports: http: 8888 grpc: 18888 # Filer Store Konfiguration - LevelDB (empfohlen) store: type: "leveldb" leveldb: # LevelDB speichert Daten im filer data volume enabled: true # Optional: Filer Ingress (für Web UI) ingress: enabled: false # S3 Gateway Konfiguration s3: enabled: true replicas: 1 # S3 Authentifizierung auth: enabled: true existingConfigSecret: "seaweedfs-s3-config" # S3 Service - explizit HTTP service: type: ClusterIP ports: http: 8333 # S3 Args - minimal HTTP setup args: - "-port=8333" - "-filer=seaweedfs-filer-client.seaweedfs:8888" - "-v=4" # Environment Variablen env: - name: WEED_S3_PORT value: "8333" - name: WEED_S3_HTTPS_PORT value: "0" # S3 Konfiguration config: logLevel: 4 # Explizit HTTP-Port setzen, HTTPS deaktivieren port: 8333 httpsPort: 0 cert: "" key: "" # 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" # Backend explizit auf HTTP setzen traefik.ingress.kubernetes.io/service.serversscheme: "http" traefik.ingress.kubernetes.io/service.port: "8333" 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