You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- CTFd `SECRET_KEY` is automatically generated during installation/upgrade. You can find it in the secret `release-name-ctfd-secret-key`. This secret is injected as environment variable in all CTFd pods.
40
40
- Redis in this chart uses single master with multiple workers.
41
-
- This chart deploys SeaweedFS S3 as an uploadprovider. You can use AWS S3 or any other external S3 compatible storage as an upload provider. Just set `seaweedfs.enabled` to `false` and configure the external S3 provider in `ctfd.uploadprovider.s3`.
41
+
- This chart deploys Minio S3 bucket as an uploadprovider. You can use AWS S3 or any other external S3 compatible storage as an upload provider. Just set `minio.enabled` to `false` and configure the external S3 provider in `ctfd.uploadprovider.s3`.
42
42
- This chart intentionally refrains from supporting `filesystem` uploadprovider. This needs `ReadWriteMany` PVCs which are expensive in cloud providers and not recommended for production use. S3 is fast and cheap.
43
43
44
44
## Values examples
45
45
46
-
### Deploy Bitnami MariaDB/Redis and SeaweedFS S3
46
+
### Deploy Bitnami MariaDB/Redis and Minio
47
47
```yaml
48
48
ctfd:
49
49
image:
@@ -52,17 +52,17 @@ ctfd:
52
52
enabled: true
53
53
minReplicas: 2
54
54
maxReplicas: 10
55
-
mariadb:
55
+
mariadb-galera:
56
56
enabled: true
57
-
architecture: standalone
58
-
primary:
57
+
persistence:
58
+
enabled: true
59
59
size: 2Gi
60
60
redis:
61
61
enabled: true
62
-
seaweedfs:
62
+
minio:
63
63
enabled: true
64
-
s3:
65
-
enabled: true
64
+
persistence:
65
+
size: 10Gi
66
66
```
67
67
68
68
### Configure your own external DB/Redis/S3
@@ -80,7 +80,7 @@ ctfd:
80
80
endpoint_url: ""
81
81
secret_access_key: ""
82
82
access_key_id: ""
83
-
mariadb:
83
+
mariadb-galera:
84
84
enabled: false
85
85
external:
86
86
port: 3306
@@ -95,7 +95,7 @@ redis:
95
95
host: ""
96
96
username: ""
97
97
password: ""
98
-
seaweedfs:
98
+
minio:
99
99
enabled: false
100
100
```
101
101
@@ -107,32 +107,25 @@ ctfd:
107
107
replicas: 2
108
108
autoscaling:
109
109
enabled: false
110
-
resources:
111
-
limits:
112
-
cpu: "2"
113
-
memory: 2Gi
114
-
requests:
115
-
cpu: "1"
116
-
memory: 1Gi
117
110
```
118
111
119
112
## Features
120
113
121
114
- [x] HA and horizontal autoscaling with CPU and memory metrics
122
115
- [x] Configurable CPU/memory requests and limits
123
-
- [x] Deploys bitnami Redis, bitnami MariaDB and SeaweedFS S3 as Helm dependencies
116
+
- [x] Deploys bitnami Redis, bitnami MariaDB-Galera and ~~SeaweedFS S3~~ (REPLACED WITH MINIO) as Helm dependencies
124
117
- [X] Option to use AWS S3 or any other external S3 compatible storage as an upload provider
125
118
- [x] Option to use external Redis and MariaDB (e.g., AWS RDS, ElastiCache)
126
119
- [x] Customizable CTFd configuration
127
-
- [x] Adjustable configurations for Redis and MariaDB
128
-
- [x] Integration with external storage as upload provider (AWS S3 or SeaweedFS or any S3 compatible storage)
120
+
- [x] Adjustable configurations for Redis and MariaDB-Galera
121
+
- [x] Integration with external storage as upload provider (AWS S3 or Minio or any S3 compatible storage)
129
122
- [x] Liveness and Readiness checks
130
123
- [x] Affinity/Toleration/nodeSelector rules
131
124
- [x] Automatically rolls out config updates to CTFd pods (Using checksum annotation)
132
125
- [ ] Deploys self-hosted mail server for CTFd email notifications as a helm dependency
133
126
- [ ] Automated backups (CTFd export. This could be done with batch/v1 CronJob)
134
127
- [ ] Deploys postgres db as a helm dependency (ctfd.io doesn't actively support it so this is a low priority)
135
-
- [ ] Support for custom CTFd themes/plugin (using initContainers?)
128
+
- [ ] Support for custom CTFd themes/plugin (using initContainers? this is WIP)
| mariadb-galera.replicaCount | int | `3` | Number of primary nodes replicas |
216
+
| mariadb-galera.resourcesPreset | string | `"large"` | request and limits preset (check bitnami's mariadb-galera chart for details) |
217
+
| mariadb-galera.rootUser.password | string | `"ctfd"` | root user |
218
+
| minio.buckets[0] | object | `{"name":"ctfd-bucket","policy":"download","purge":false}` | Default bucket to be used by CTFd `download` policy means this bucket is readonly for anonymous access (competitors) |
219
+
| minio.drivesPerNode | int | `1` | Minio number of drives per replica/node |
220
+
| minio.enabled | bool | `true` | Deploys Minio (set to false if you want to use an external S3 bucket) |
221
+
| minio.ingress | object | `{"annotations":{"nginx.ingress.kubernetes.io/proxy-body-size":"0"},"enabled":true,"hosts":["minio.example.com"]}` | Ingress configurations of minio (Used by both CTFd and competitiors) |
222
+
| minio.ingress.annotations."nginx.ingress.kubernetes.io/proxy-body-size" | string | `"0"` | Max Body size `0 -> unlimited` (if you are using another ingress controller then look for the equivalent annotation) |
223
+
| minio.persistence | object | `{"size":"10Gi"}` | Minio PVC size (change according to your needs) |
224
+
| minio.replicas | int | `3` | Minio number of replicas |
- CTFd `SECRET_KEY` is automatically generated during installation/upgrade. You can find it in the secret `release-name-ctfd-secret-key`. This secret is injected as environment variable in all CTFd pods.
40
40
- Redis in this chart uses single master with multiple workers.
41
-
- This chart deploys SeaweedFS S3 as an uploadprovider. You can use AWS S3 or any other external S3 compatible storage as an upload provider. Just set `seaweedfs.enabled` to `false`and configure the external S3 provider in `ctfd.uploadprovider.s3`.
41
+
- This chart deploys Minio S3 bucket as an uploadprovider. You can use AWS S3 or any other external S3 compatible storage as an upload provider. Just set `minio.enabled` to `false`and configure the external S3 provider in `ctfd.uploadprovider.s3`.
42
42
- This chart intentionally refrains from supporting `filesystem` uploadprovider. This needs `ReadWriteMany` PVCs which are expensive in cloud providers andnot recommended for production use. S3 is fast and cheap.
43
43
44
44
## Values examples
45
45
46
-
### Deploy Bitnami MariaDB/Redis andSeaweedFS S3
46
+
### Deploy Bitnami MariaDB/Redis andMinio
47
47
```yaml
48
48
ctfd:
49
49
image:
@@ -52,17 +52,17 @@ ctfd:
52
52
enabled: true
53
53
minReplicas: 2
54
54
maxReplicas: 10
55
-
mariadb:
55
+
mariadb-galera:
56
56
enabled: true
57
-
architecture: standalone
58
-
primary:
57
+
persistence:
58
+
enabled: true
59
59
size: 2Gi
60
60
redis:
61
61
enabled: true
62
-
seaweedfs:
62
+
minio:
63
63
enabled: true
64
-
s3:
65
-
enabled: true
64
+
persistence:
65
+
size: 10Gi
66
66
```
67
67
68
68
### Configure your own external DB/Redis/S3
@@ -80,7 +80,7 @@ ctfd:
80
80
endpoint_url: ""
81
81
secret_access_key: ""
82
82
access_key_id: ""
83
-
mariadb:
83
+
mariadb-galera:
84
84
enabled: false
85
85
external:
86
86
port: 3306
@@ -95,7 +95,7 @@ redis:
95
95
host: ""
96
96
username: ""
97
97
password: ""
98
-
seaweedfs:
98
+
minio:
99
99
enabled: false
100
100
```
101
101
@@ -107,32 +107,25 @@ ctfd:
107
107
replicas: 2
108
108
autoscaling:
109
109
enabled: false
110
-
resources:
111
-
limits:
112
-
cpu: "2"
113
-
memory: 2Gi
114
-
requests:
115
-
cpu: "1"
116
-
memory: 1Gi
117
110
```
118
111
119
112
## Features
120
113
121
114
- [x] HA and horizontal autoscaling with CPU and memory metrics
0 commit comments