--- apiVersion: v1 kind: Namespace metadata: name: maple --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: maple-data namespace: maple spec: storageClassName: zfs-fast accessModes: - ReadWriteOnce resources: requests: storage: 100Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: seaweedfs namespace: maple spec: replicas: 1 selector: matchLabels: app: seaweedfs template: metadata: labels: app: seaweedfs spec: containers: - name: seaweedfs image: chrislusf/seaweedfs:latest args: - "server" - "-s3" - "-dir=/data/maple" env: - name: AWS_ACCESS_KEY_ID valueFrom: secretKeyRef: name: maple-s3 key: AWS_ACCESS_KEY_ID - name: AWS_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: maple-s3 key: AWS_SECRET_ACCESS_KEY ports: - containerPort: 8333 - containerPort: 9333 - containerPort: 8080 - containerPort: 8888 volumeMounts: - name: maple-data mountPath: /data/maple volumes: - name: maple-data persistentVolumeClaim: claimName: maple-data --- apiVersion: v1 kind: Service metadata: name: seaweedfs namespace: maple spec: selector: app: seaweedfs ports: - name: s3 port: 8333 targetPort: 8333 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: seaweedfs namespace: maple annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" spec: ingressClassName: haproxy tls: - hosts: - maple.ntwl.xyz secretName: maple-seaweedfs-tls rules: - host: maple.ntwl.xyz http: paths: - path: / pathType: Prefix backend: service: name: seaweedfs port: number: 8333