diff --git a/.helm/Chart.yaml b/.helm/Chart.yaml new file mode 100644 index 0000000..41fd09e --- /dev/null +++ b/.helm/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: seaweedfs +description: SeaweedFS for nelm deploy +type: application +version: 1.0.0 +appVersion: "3.99" diff --git a/.helm/secret-values.yaml b/.helm/secret-values.yaml new file mode 100644 index 0000000..2db1a6c --- /dev/null +++ b/.helm/secret-values.yaml @@ -0,0 +1,5 @@ +seaweedfs: + s3config: + _default: 10009a37cbd5e565514171a687cf9261a8b2cc1dc79ffdf6e6aad88f9db9cbf536f73c8a15742f55bd5cbc710845f3b3dc5a8e66705e57d454f5c27b53b014e5df45a5e1b89ea767baa62e05305f30fd14bbeb0e29f6118aa65b9ae67bb67628b82578e07278464c4eca5d9a5b979fdef56994a1dce1d30acc99b187c118ff40b6dd4b628ba0b15dabf5395210e717a550fbfde6c85360fa60e52fbb48d213542bfcc0a7d46314a0bdf24f5c91a0a62b6162995cc0acde42507017ead87a0910d40b77c531f0f40f3710b4bc816e752ca4e1ee0951f352d707184c74628ccdcd5369 + preprod: 10003aa0e4ce7bc2a5135b546cffdcf802d636b1e077f0130f01b01d028e670ad1e0fb815b3255264e88111703709625fc0866b62681364366fc5f01b1c9e1fce78a84840e742fc3afb9921640746cca71db367e68402be60910dd0711e03f6751b1a06619e012d56b4da92ce99ca3af089933ffc04bba542d443cbf1f87be0a613a13f8445426b37a5188638f0560bf6cd4ce7a55ebd32a0858ba929805f755dffc217124989e294f4a20d92c524fead287d8959c81b08e5736d07cfc5b60766bceee2bd95593274af5328caa499590cef457623047c06968c503f62abc7bae0334 + prod: 1000a2e0125d14ce5c987bffcd30bb6c2a7a3a5bcb793bfaa65d1527cef16e4db3ea2b2be4b5046ff6bb6e61670a2197f2c85288035205c26d6f0970637a13f0292cfeb6ed44291c2f357360ea20717d0204cc6a07b642e7c2391d09e79845bc5a511607426a4f93c772dc28b722c044bc3bcc06d2233f4585803f290c7744db4c6848b711539491d4a149f42b8b1800b03f48555ca38c5a4c2bfc966138f82111f68d141cc0a1544f83b4b15758b97251e84d975653559e12e99017c5f3e6f34194dfd8c6c870ca94ad6392a200f4823ecf6cf0cf2a7f25142709558aebd3c989a9 diff --git a/.helm/templates/03-serviceaccount.yaml b/.helm/templates/03-serviceaccount.yaml index 631e816..77dcb8d 100644 --- a/.helm/templates/03-serviceaccount.yaml +++ b/.helm/templates/03-serviceaccount.yaml @@ -3,5 +3,3 @@ apiVersion: v1 kind: ServiceAccount metadata: name: {{ .Chart.Name }}-sa - annotations: - werf.io/weight: "-31" \ No newline at end of file diff --git a/.helm/templates/05-secretstoreimport.yaml b/.helm/templates/05-secretstoreimport.yaml index 9dd96e0..f4155f2 100644 --- a/.helm/templates/05-secretstoreimport.yaml +++ b/.helm/templates/05-secretstoreimport.yaml @@ -1,3 +1,4 @@ +{{- if .Values.secretsStore.enabled }} --- apiVersion: deckhouse.io/v1alpha1 kind: SecretsStoreImport @@ -5,9 +6,10 @@ metadata: name: {{ .Chart.Name }}-ssi spec: type: CSI - role: "{{ .Values.werf.env }}-{{ .Chart.Name }}-role" + role: "{{ .Values.env }}-{{ .Chart.Name }}-role" files: - name: "s3.json" source: - path: "{{ .Values.werf.env }}/data/{{ .Chart.Name }}" + path: "{{ .Values.env }}/data/{{ .Chart.Name }}" key: "CONFIG" +{{- end }} diff --git a/.helm/templates/10-seaweedfs.yaml b/.helm/templates/10-seaweedfs.yaml index fdbd776..b59dffe 100644 --- a/.helm/templates/10-seaweedfs.yaml +++ b/.helm/templates/10-seaweedfs.yaml @@ -1,5 +1,14 @@ -{{- $nodeSelector := dig .Values.werf.env .Values.seaweedfs.nodeSelector._default .Values.seaweedfs.nodeSelector }} -{{- $tolerations := dig .Values.werf.env .Values.seaweedfs.tolerations._default .Values.seaweedfs.tolerations }} +{{- $nodeSelector := dig .Values.env .Values.seaweedfs.nodeSelector._default .Values.seaweedfs.nodeSelector }} +{{- $tolerations := dig .Values.env .Values.seaweedfs.tolerations._default .Values.seaweedfs.tolerations }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Chart.Name }}-s3 +type: Opaque +stringData: + s3.json: | +{{ dig .Values.env .Values.seaweedfs.s3config._default .Values.seaweedfs.s3config | nindent 4 }} --- apiVersion: apps/v1 kind: StatefulSet @@ -9,6 +18,7 @@ metadata: app: {{ .Chart.Name }} spec: replicas: 1 + serviceName: {{ .Chart.Name }} selector: matchLabels: app: {{ .Chart.Name }} @@ -16,13 +26,17 @@ spec: metadata: labels: app: {{ .Chart.Name }} + {{- if .Values.secretsStore.enabled }} annotations: - secrets-store.deckhouse.io/role: "{{ .Values.werf.env }}-{{ .Chart.Name }}-role" - secrets-store.deckhouse.io/env-from-path: "{{ .Values.werf.env }}/data/{{ .Chart.Name }}" + secrets-store.deckhouse.io/role: "{{ .Values.env }}-{{ .Chart.Name }}-role" + secrets-store.deckhouse.io/env-from-path: "{{ .Values.env }}/data/{{ .Chart.Name }}" + {{- end }} spec: serviceAccountName: {{ .Chart.Name }}-sa + {{- with .Values.imagePullSecrets }} imagePullSecrets: - - name: registrysecret + {{- toYaml . | nindent 8 }} + {{- end }} {{- if $nodeSelector }} nodeSelector: {{ toYaml $nodeSelector | nindent 8 }} {{- end }} @@ -31,7 +45,7 @@ spec: {{- end }} containers: - name: seaweedfs - image: {{ .Values.werf.image.seaweedfs }} + image: {{ .Values.image.seaweedfs }} command: - weed - server @@ -43,10 +57,10 @@ spec: imagePullPolicy: IfNotPresent resources: requests: - cpu: {{ dig .Values.werf.env .Values.seaweedfs.resources.requests.cpu._default .Values.seaweedfs.resources.requests.cpu }} - memory: {{ dig .Values.werf.env .Values.seaweedfs.resources.requests.memory._default .Values.seaweedfs.resources.requests.memory }} + cpu: {{ dig .Values.env .Values.seaweedfs.resources.requests.cpu._default .Values.seaweedfs.resources.requests.cpu }} + memory: {{ dig .Values.env .Values.seaweedfs.resources.requests.memory._default .Values.seaweedfs.resources.requests.memory }} limits: - memory: {{ dig .Values.werf.env .Values.seaweedfs.resources.limits.memory._default .Values.seaweedfs.resources.limits.memory }} + memory: {{ dig .Values.env .Values.seaweedfs.resources.limits.memory._default .Values.seaweedfs.resources.limits.memory }} volumeMounts: - name: data mountPath: /data @@ -55,25 +69,30 @@ spec: mountPath: "/mnt/secrets" readinessProbe: tcpSocket: - port: {{ dig .Values.werf.env .Values.seaweedfs.port._default .Values.seaweedfs.port }} + port: {{ dig .Values.env .Values.seaweedfs.port._default .Values.seaweedfs.port }} initialDelaySeconds: 5 timeoutSeconds: 1 livenessProbe: tcpSocket: - port: {{ dig .Values.werf.env .Values.seaweedfs.port._default .Values.seaweedfs.port }} + port: {{ dig .Values.env .Values.seaweedfs.port._default .Values.seaweedfs.port }} initialDelaySeconds: 30 periodSeconds: 5 ports: - name: app - containerPort: {{ dig .Values.werf.env .Values.seaweedfs.port._default .Values.seaweedfs.port }} + containerPort: {{ dig .Values.env .Values.seaweedfs.port._default .Values.seaweedfs.port }} - name: http-metrics containerPort: {{ .Values.seaweedfs.metricsPort }} volumes: - name: secrets + {{- if .Values.secretsStore.enabled }} csi: driver: secrets-store.csi.deckhouse.io volumeAttributes: secretsStoreImport: {{ .Chart.Name }}-ssi + {{- else }} + secret: + secretName: {{ .Chart.Name }}-s3 + {{- end }} volumeClaimTemplates: - metadata: name: data @@ -82,8 +101,8 @@ spec: - ReadWriteOnce resources: requests: - storage: {{ dig .Values.werf.env .Values.seaweedfs.storage._default .Values.seaweedfs.storage }} - storageClassName: {{ dig .Values.werf.env .Values.seaweedfs.storageClassName._default .Values.seaweedfs.storageClassName }} + storage: {{ dig .Values.env .Values.seaweedfs.storage._default .Values.seaweedfs.storage }} + storageClassName: {{ dig .Values.env .Values.seaweedfs.storageClassName._default .Values.seaweedfs.storageClassName }} --- apiVersion: v1 kind: Service @@ -96,6 +115,6 @@ spec: app: {{ .Chart.Name }} ports: - name: app - port: {{ dig .Values.werf.env .Values.seaweedfs.port._default .Values.seaweedfs.port }} + port: {{ dig .Values.env .Values.seaweedfs.port._default .Values.seaweedfs.port }} - name: http-metrics port: {{ .Values.seaweedfs.metricsPort }} diff --git a/.helm/values-public.yaml b/.helm/values-public.yaml new file mode 100644 index 0000000..e247394 --- /dev/null +++ b/.helm/values-public.yaml @@ -0,0 +1,3 @@ +image: + seaweedfs: docker.io/chrislusf/seaweedfs:3.99 +imagePullSecrets: [] diff --git a/.helm/values.yaml b/.helm/values.yaml index 0762cea..c8a83b3 100644 --- a/.helm/values.yaml +++ b/.helm/values.yaml @@ -1,3 +1,14 @@ +global: + cluster: "" + +env: dev + +imagePullSecrets: + - name: registrysecret + +image: + seaweedfs: 192.168.10.68:5000/chrislusf/seaweedfs:3.99 + seaweedfs: port: _default: "8333" @@ -7,7 +18,7 @@ seaweedfs: preprod: 50Gi prod: 100Gi storageClassName: - _default: local-storage-class-worker + _default: localpath resources: requests: cpu: @@ -21,9 +32,11 @@ seaweedfs: _default: 1Gi preprod: 2Gi prod: 4Gi - nodeSelector: _default: - node-role.deckhouse.io/worker: "" + node-role.kubernetes.io/worker: "" tolerations: _default: [] + +secretsStore: + enabled: false diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bc6ecca --- /dev/null +++ b/Dockerfile @@ -0,0 +1 @@ +FROM docker.io/chrislusf/seaweedfs:3.99