seaweedfs neuer Versuch mit default-values

This commit is contained in:
titver968
2025-08-28 14:43:31 +02:00
parent ddf7e5c280
commit 6874dc647d
3 changed files with 356 additions and 201 deletions

View File

@@ -0,0 +1,237 @@
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
enableAuth: true
existingConfigSecret: "admin-s3-secret"
port: 8333
httpsPort: 0
# 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

View File

@@ -13,14 +13,14 @@ spec:
helm: helm:
values: | values: |
# Global Konfiguration # Global Konfiguration
global: global:
imagePullPolicy: IfNotPresent
enableSecurity: true enableSecurity: true
monitoring: monitoring:
enabled: true enabled: true
imagePullPolicy: IfNotPresent
# Master Konfiguration master:
master: enabled: true
replicas: 1 replicas: 1
data: data:
type: "persistentVolumeClaim" type: "persistentVolumeClaim"
@@ -28,55 +28,40 @@ spec:
storageClass: "" storageClass: ""
logs: logs:
type: "persistentVolumeClaim" type: "persistentVolumeClaim"
size: "5Gi" size: 5Gi"
storageClass: ""
# Master Service
service:
type: ClusterIP
ports:
http: 9333
grpc: 19333
# Master Ingress
ingress: ingress:
enabled: true enabled: true
className: "traefik" className: "traefik"
# host: false for "*" hostname
host: "seaweed.innovation-hub-niedersachsen.de"
annotations: annotations:
kubernetes.io/ingress.class: "traefik"
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
traefik.ingress.kubernetes.io/router.tls: "true" traefik.ingress.kubernetes.io/router.tls: "true"
cert-manager.io/cluster-issuer: "lets-encrypt" 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: tls:
- secretName: "seaweed.innovation-hub-niedersachsen.de-tls" - secretName: "seaweed.innovation-hub-niedersachsen.de-tls"
hosts: hosts:
- "seaweed.innovation-hub-niedersachsen.de" - "seaweed.innovation-hub-niedersachsen.de"
# Volume Server Konfiguration volume:
volume: enabled: true
replicas: 2 replicas: 1
data: dataDirs:
- name: data
type: "persistentVolumeClaim" type: "persistentVolumeClaim"
size: "100Gi"
storageClass: "" storageClass: ""
size: "100Gi"
idx: idx:
type: "persistentVolumeClaim" type: "persistentVolumeClaim"
size: "10Gi" size: "10Gi"
storageClass: "" storageClass: ""
service: filer:
type: ClusterIP enabled: true
ports:
http: 8080
grpc: 18080
# Filer Konfiguration
filer:
replicas: 1 # Reduziert für einfachere Installation
data: data:
type: "persistentVolumeClaim" type: "persistentVolumeClaim"
size: "25Gi" size: "25Gi"
@@ -84,144 +69,77 @@ spec:
logs: logs:
type: "persistentVolumeClaim" type: "persistentVolumeClaim"
size: "5Gi" size: "5Gi"
storageClass: ""
# Filer Service # ingress:
service: # enabled: true
type: ClusterIP # className: "traefik"
ports: # host: "sws3.innovation-hub-niedersachsen.de"
http: 8888 # annotations:
grpc: 18888 # kubernetes.io/ingress.class: "traefik"
# traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
# traefik.ingress.kubernetes.io/router.tls: "true"
# cert-manager.io/cluster-issuer: "lets-encrypt"
# tls:
# - secretName: "sws3.innovation-hub-niedersachsen.de-tls"
# hosts:
# - "sws3.innovation-hub-niedersachsen.de"
# s3:
# enabled: true
# port: 8333
# httpsPort: 0
# allowEmptyFolder: false
# # Suffix of the host name, {bucket}.{domainName}
# domainName: ""
# # enable user & permission to s3 (need to inject to all services)
# enableAuth: true
# # set to the name of an existing kubernetes Secret with the s3 json config file
# # should have a secret key called seaweedfs_s3_config with an inline json configure
# existingConfigSecret: "admin-s3-secret"
# Filer Store Konfiguration - LevelDB (empfohlen) s3:
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 enabled: true
imageOverride: null
restartPolicy: null
replicas: 1 replicas: 1
bindAddress: 0.0.0.0
# S3 Authentifizierung port: 8333
# add additional https port
httpsPort: 0
metricsPort: 9327
loggingOverrideLevel: null
# allow empty folders
allowEmptyFolder: true
# enable user & permission to s3 (need to inject to all services)
enableAuth: true enableAuth: true
# set to the name of an existing kubernetes Secret with the s3 json config file
# should have a secret key called seaweedfs_s3_config with an inline json config
existingConfigSecret: "admin-s3-secret" existingConfigSecret: "admin-s3-secret"
port: 8333 auditLogConfig: {}
httpsPort: 0
# 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: ingress:
enabled: true enabled: true
className: "traefik" className: "traefik"
host: "sws3.innovation-hub-niedersachsen.de"
# additional ingress annotations for the s3 endpoint
annotations: annotations:
kubernetes.io/ingress.class: "traefik"
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
traefik.ingress.kubernetes.io/router.tls: "true" traefik.ingress.kubernetes.io/router.tls: "true"
cert-manager.io/cluster-issuer: "lets-encrypt" 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: tls:
- secretName: "sws3.innovation-hub-niedersachsen.de-tls" - secretName: "sws3.innovation-hub-niedersachsen.de-tls"
hosts: hosts:
- "sws3.innovation-hub-niedersachsen.de" - "sws3.innovation-hub-niedersachsen.de"
# WebDAV (optional - standardmäßig deaktiviert) # Resource management
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: resources:
master:
limits: limits:
cpu: 500m cpu: "2"
memory: 512Mi memory: "2Gi"
requests: requests:
cpu: 100m cpu: "500m"
memory: 128Mi memory: "1Gi"
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: destination:
server: 'https://kubernetes.default.svc' server: 'https://kubernetes.default.svc'