You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

417 lines
13 KiB

3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. # Available parameters and their default values for the SeaweedFS chart.
  2. global:
  3. registry: ""
  4. repository: ""
  5. imageName: chrislusf/seaweedfs
  6. imagePullPolicy: IfNotPresent
  7. imagePullSecrets: imagepullsecret
  8. restartPolicy: Always
  9. loggingLevel: 1
  10. enableSecurity: false
  11. monitoring:
  12. enabled: false
  13. gatewayHost: null
  14. gatewayPort: null
  15. # if enabled will use global.replicationPlacment and override master & filer defaultReplicaPlacement config
  16. enableReplication: false
  17. # replication type is XYZ:
  18. # X number of replica in other data centers
  19. # Y number of replica in other racks in the same data center
  20. # Z number of replica in other servers in the same rack
  21. replicationPlacment: "001"
  22. extraEnvironmentVars:
  23. WEED_CLUSTER_DEFAULT: "sw"
  24. WEED_CLUSTER_SW_MASTER: "seaweedfs-master:9333"
  25. WEED_CLUSTER_SW_FILER: "seaweedfs-filer-client:8888"
  26. image:
  27. registry: ""
  28. repository: ""
  29. master:
  30. enabled: true
  31. repository: null
  32. imageName: null
  33. imageTag: null
  34. imageOverride: null
  35. restartPolicy: null
  36. replicas: 1
  37. port: 9333
  38. grpcPort: 19333
  39. ipBind: "0.0.0.0"
  40. volumePreallocate: false
  41. #Master stops directing writes to oversized volumes
  42. volumeSizeLimitMB: 30000
  43. loggingOverrideLevel: null
  44. #number of seconds between heartbeats, default 5
  45. pulseSeconds: null
  46. #threshold to vacuum and reclaim spaces, default 0.3 (30%)
  47. garbageThreshold: null
  48. #Prometheus push interval in seconds, default 15
  49. metricsIntervalSec: 15
  50. # replication type is XYZ:
  51. # X number of replica in other data centers
  52. # Y number of replica in other racks in the same data center
  53. # Z number of replica in other servers in the same rack
  54. defaultReplication: "000"
  55. # Disable http request, only gRpc operations are allowed
  56. disableHttp: false
  57. extraVolumes: ""
  58. extraVolumeMounts: ""
  59. # storage and storageClass are the settings for configuring stateful
  60. # storage for the master pods. storage should be set to the disk size of
  61. # the attached volume. storageClass is the class of storage which defaults
  62. # to null (the Kube cluster will pick the default).
  63. storage: 25Gi
  64. storageClass: null
  65. # Resource requests, limits, etc. for the master cluster placement. This
  66. # should map directly to the value of the resources field for a PodSpec,
  67. # formatted as a multi-line string. By default no direct resource request
  68. # is made.
  69. resources: null
  70. # updatePartition is used to control a careful rolling update of SeaweedFS
  71. # masters.
  72. updatePartition: 0
  73. # Affinity Settings
  74. # Commenting out or setting as empty the affinity variable, will allow
  75. # deployment to single node services such as Minikube
  76. affinity: |
  77. podAntiAffinity:
  78. requiredDuringSchedulingIgnoredDuringExecution:
  79. - labelSelector:
  80. matchLabels:
  81. app: {{ template "seaweedfs.name" . }}
  82. release: "{{ .Release.Name }}"
  83. component: master
  84. topologyKey: kubernetes.io/hostname
  85. # Toleration Settings for master pods
  86. # This should be a multi-line string matching the Toleration array
  87. # in a PodSpec.
  88. tolerations: ""
  89. # nodeSelector labels for master pod assignment, formatted as a muli-line string.
  90. # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  91. # Example:
  92. # nodeSelector: |
  93. # beta.kubernetes.io/arch: amd64
  94. nodeSelector: |
  95. sw-backend: "true"
  96. # used to assign priority to master pods
  97. # ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  98. priorityClassName: ""
  99. extraEnvironmentVars:
  100. WEED_MASTER_VOLUME_GROWTH_COPY_1: 7
  101. WEED_MASTER_VOLUME_GROWTH_COPY_2: 6
  102. WEED_MASTER_VOLUME_GROWTH_COPY_3: 3
  103. WEED_MASTER_VOLUME_GROWTH_COPY_OTHER: 1
  104. volume:
  105. enabled: true
  106. repository: null
  107. imageName: null
  108. imageTag: null
  109. imageOverride: null
  110. restartPolicy: null
  111. port: 8080
  112. grpcPort: 18080
  113. metricsPort: 9327
  114. ipBind: "0.0.0.0"
  115. replicas: 1
  116. loggingOverrideLevel: null
  117. # number of seconds between heartbeats, must be smaller than or equal to the master's setting
  118. pulseSeconds: null
  119. # Choose [memory|leveldb|leveldbMedium|leveldbLarge] mode for memory~performance balance., default memory
  120. index: null
  121. # limit file size to avoid out of memory, default 256mb
  122. fileSizeLimitMB: null
  123. # minimum free disk space(in percents). If free disk space lower this value - all volumes marks as ReadOnly
  124. minFreeSpacePercent: 7
  125. # can use ANY storage-class , example with local-path-provisner
  126. # data:
  127. # type: "persistentVolumeClaim"
  128. # size: "24Ti"
  129. # storageClass: "local-path-provisioner"
  130. data:
  131. type: "hostPath"
  132. size: ""
  133. storageClass: ""
  134. idx:
  135. type: "hostPath"
  136. size: ""
  137. storageClass: ""
  138. logs:
  139. type: "hostPath"
  140. size: ""
  141. storageClass: ""
  142. # limit background compaction or copying speed in mega bytes per second
  143. compactionMBps: "50"
  144. # Directories to store data files. dir[,dir]... (default "/tmp")
  145. dir: "/data"
  146. # Directories to store index files. dir[,dir]... (default is the same as "dir")
  147. dir_idx: null
  148. # Maximum numbers of volumes, count[,count]...
  149. # If set to zero on non-windows OS, the limit will be auto configured. (default "7")
  150. maxVolumes: "0"
  151. # Volume server's rack name
  152. rack: null
  153. # Volume server's data center name
  154. dataCenter: null
  155. # Redirect moved or non-local volumes. (default proxy)
  156. readMode: proxy
  157. # Comma separated Ip addresses having write permission. No limit if empty.
  158. whiteList: null
  159. # Adjust jpg orientation when uploading.
  160. imagesFixOrientation: false
  161. extraVolumes: ""
  162. extraVolumeMounts: ""
  163. # Affinity Settings
  164. # Commenting out or setting as empty the affinity variable, will allow
  165. # deployment to single node services such as Minikube
  166. affinity: |
  167. podAntiAffinity:
  168. requiredDuringSchedulingIgnoredDuringExecution:
  169. - labelSelector:
  170. matchLabels:
  171. app: {{ template "seaweedfs.name" . }}
  172. release: "{{ .Release.Name }}"
  173. component: volume
  174. topologyKey: kubernetes.io/hostname
  175. # Resource requests, limits, etc. for the server cluster placement. This
  176. # should map directly to the value of the resources field for a PodSpec,
  177. # formatted as a multi-line string. By default no direct resource request
  178. # is made.
  179. resources: null
  180. # Toleration Settings for server pods
  181. # This should be a multi-line string matching the Toleration array
  182. # in a PodSpec.
  183. tolerations: ""
  184. # nodeSelector labels for server pod assignment, formatted as a muli-line string.
  185. # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  186. # Example:
  187. # nodeSelector: |
  188. # beta.kubernetes.io/arch: amd64
  189. nodeSelector: |
  190. sw-volume: "true"
  191. # used to assign priority to server pods
  192. # ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  193. priorityClassName: ""
  194. filer:
  195. enabled: true
  196. repository: null
  197. imageName: null
  198. imageTag: null
  199. imageOverride: null
  200. restartPolicy: null
  201. replicas: 1
  202. port: 8888
  203. grpcPort: 18888
  204. metricsPort: 9327
  205. loggingOverrideLevel: null
  206. # replication type is XYZ:
  207. # X number of replica in other data centers
  208. # Y number of replica in other racks in the same data center
  209. # Z number of replica in other servers in the same rack
  210. defaultReplicaPlacement: "000"
  211. # turn off directory listing
  212. disableDirListing: false
  213. # split files larger than the limit, default 32
  214. maxMB: null
  215. # encrypt data on volume servers
  216. encryptVolumeData: false
  217. # enable peers sync metadata, for leveldb (localdb for filer but with sync across)
  218. enable_peers: false
  219. # Whether proxy or redirect to volume server during file GET request
  220. redirectOnRead: false
  221. # Limit sub dir listing size (default 100000)
  222. dirListLimit: 100000
  223. # Turn off directory listing
  224. disableDirListing: false
  225. # Disable http request, only gRpc operations are allowed
  226. disableHttp: false
  227. # storage and storageClass are the settings for configuring stateful
  228. # storage for the master pods. storage should be set to the disk size of
  229. # the attached volume. storageClass is the class of storage which defaults
  230. # to null (the Kube cluster will pick the default).
  231. storage: 25Gi
  232. storageClass: null
  233. extraVolumes: ""
  234. extraVolumeMounts: ""
  235. # Affinity Settings
  236. # Commenting out or setting as empty the affinity variable, will allow
  237. # deployment to single node services such as Minikube
  238. affinity: |
  239. podAntiAffinity:
  240. requiredDuringSchedulingIgnoredDuringExecution:
  241. - labelSelector:
  242. matchLabels:
  243. app: {{ template "seaweedfs.name" . }}
  244. release: "{{ .Release.Name }}"
  245. component: filer
  246. topologyKey: kubernetes.io/hostname
  247. # updatePartition is used to control a careful rolling update of SeaweedFS
  248. # masters.
  249. updatePartition: 0
  250. # Resource requests, limits, etc. for the server cluster placement. This
  251. # should map directly to the value of the resources field for a PodSpec,
  252. # formatted as a multi-line string. By default no direct resource request
  253. # is made.
  254. resources: null
  255. # Toleration Settings for server pods
  256. # This should be a multi-line string matching the Toleration array
  257. # in a PodSpec.
  258. tolerations: ""
  259. # nodeSelector labels for server pod assignment, formatted as a muli-line string.
  260. # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  261. # Example:
  262. # nodeSelector: |
  263. # beta.kubernetes.io/arch: amd64
  264. nodeSelector: |
  265. sw-backend: "true"
  266. # used to assign priority to server pods
  267. # ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  268. priorityClassName: ""
  269. # extraEnvVars is a list of extra enviroment variables to set with the stateful set.
  270. extraEnvironmentVars:
  271. WEED_MYSQL_ENABLED: "true"
  272. WEED_MYSQL_HOSTNAME: "mysql-db-host"
  273. WEED_MYSQL_PORT: "3306"
  274. WEED_MYSQL_DATABASE: "sw_database"
  275. WEED_MYSQL_CONNECTION_MAX_IDLE: "5"
  276. WEED_MYSQL_CONNECTION_MAX_OPEN: "75"
  277. # "refresh" connection every 10 minutes, eliminating mysql closing "old" connections
  278. WEED_MYSQL_CONNECTION_MAX_LIFETIME_SECONDS: "600"
  279. # enable usage of memsql as filer backend
  280. WEED_MYSQL_INTERPOLATEPARAMS: "true"
  281. WEED_LEVELDB2_ENABLED: "false"
  282. # with http DELETE, by default the filer would check whether a folder is empty.
  283. # recursive_delete will delete all sub folders and files, similar to "rm -Rf"
  284. WEED_FILER_OPTIONS_RECURSIVE_DELETE: "false"
  285. # directories under this folder will be automatically creating a separate bucket
  286. WEED_FILER_BUCKETS_FOLDER: "/buckets"
  287. s3:
  288. enabled: true
  289. port: 8333
  290. #allow empty folders
  291. allowEmptyFolder: false
  292. # Suffix of the host name, {bucket}.{domainName}
  293. domainName: ""
  294. # enable user & permission to s3 (need to inject to all services)
  295. enableAuth: false
  296. skipAuthSecretCreation: false
  297. s3:
  298. enabled: false
  299. repository: null
  300. imageName: null
  301. imageTag: null
  302. restartPolicy: null
  303. replicas: 1
  304. port: 8333
  305. metricsPort: 9327
  306. loggingOverrideLevel: null
  307. #allow empty folders
  308. allowEmptyFolder: true
  309. # enable user & permission to s3 (need to inject to all services)
  310. enableAuth: false
  311. skipAuthSecretCreation: false
  312. # Suffix of the host name, {bucket}.{domainName}
  313. domainName: ""
  314. extraVolumes: ""
  315. extraVolumeMounts: ""
  316. # Resource requests, limits, etc. for the server cluster placement. This
  317. # should map directly to the value of the resources field for a PodSpec,
  318. # formatted as a multi-line string. By default no direct resource request
  319. # is made.
  320. resources: null
  321. # Toleration Settings for server pods
  322. # This should be a multi-line string matching the Toleration array
  323. # in a PodSpec.
  324. tolerations: ""
  325. # nodeSelector labels for server pod assignment, formatted as a muli-line string.
  326. # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  327. # Example:
  328. # nodeSelector: |
  329. # beta.kubernetes.io/arch: amd64
  330. nodeSelector: |
  331. sw-backend: "true"
  332. # used to assign priority to server pods
  333. # ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  334. priorityClassName: ""
  335. logs:
  336. type: "hostPath"
  337. size: ""
  338. storageClass: ""
  339. cronjob:
  340. enabled: true
  341. master: "seaweedfs-master:9333"
  342. filer: "seaweedfs-filer-client:8888"
  343. tolerations: ""
  344. nodeSelector: |
  345. sw-backend: "true"
  346. replication:
  347. enable: true
  348. collectionPattern: ""
  349. schedule: "*/7 * * * *"
  350. resources: null
  351. # balance all volumes among volume servers
  352. # ALL|EACH_COLLECTION|<collection_name>
  353. collection: ""
  354. certificates:
  355. commonName: "SeaweedFS CA"
  356. ipAddresses: []
  357. keyAlgorithm: rsa
  358. keySize: 2048
  359. duration: 2160h # 90d
  360. renewBefore: 360h # 15d