Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[submodule "plugins/dynamic_challenges_mod"]
path = plugins/dynamic_challenges_mod
url = https://github.com/sigpwny/ctfd-dynamic-challenges-mod
path = plugins/dynamic_challenges_mod
url = https://github.com/sigpwny/ctfd-dynamic-challenges-mod

[submodule "plugins/kubectf-plugin"]
path = plugins/kubectf-plugin
url = https://github.com/ctfpilot/ctfd-kubectf-plugin
path = plugins/kubectf-plugin
url = https://github.com/ctfpilot/ctfd-kubectf-plugin

[submodule "plugins/ctfd-discord-webhook-plugin"]
path = plugins/ctfd-discord-webhook-plugin
url = https://github.com/sigpwny/ctfd-discord-webhook-plugin
path = plugins/ctfd-discord-webhook-plugin
url = https://github.com/sigpwny/ctfd-discord-webhook-plugin
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,25 @@ This configuration currently runs on CTFd version `3.7.7`.
2. If the plugin is a Github repo, add it as a submodule:
```bash
git submodule add <repository-url> plugins/<plugin-name>
```
```
3. If the plugin is not a Github repo, copy the plugin files into the new directory.
4. Add the plugin to the `plugins/__init__.py` file:
5. ```python
```python
from .<plugin-name> import <PluginClass>
```

The Dockerfile will automatically copy all plugins from the `plugins` directory into the Docker image.

### How to add a new CTFd theme

If the theme is a Github repo, add it as a submodule:

```bash
git submodule add <repository-url> themes/<plugin-name>
```

If the theme is not a Github repo, copy the theme files into the `themes` directory, such that is structured like `themes/<theme-name>/...`.

## Contributing

We welcome contributions of all kinds, from **code** and **documentation** to **bug reports** and **feedback**!
Expand Down
21 changes: 13 additions & 8 deletions k8s/k8s.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata:
labels:
app.kubernetes.io/part-of: ctfpilot
app.kubernetes.io/name: ctfd
app.kubernetes.io/version: 1.0.0
app.kubernetes.io/version: 1.0.1-r.2
app.kubernetes.io/component: scoreboard
ctfpilot.com/component: ctfd
spec:
Expand All @@ -18,23 +18,28 @@ spec:
type: RollingUpdate
selector:
matchLabels:
name: ctfd
app.kubernetes.io/name: ctfd
ctfpilot.com/component: ctfd
template:
metadata:
labels:
name: ctfd
app.kubernetes.io/part-of: ctfpilot
app.kubernetes.io/name: ctfd
app.kubernetes.io/version: 1.0.1-r.2
app.kubernetes.io/component: scoreboard
ctfpilot.com/component: ctfd
spec:
containers:
- image: ghcr.io/ctfpilot/ctfd:1.0.0
- image: ghcr.io/ctfpilot/ctfd:1.0.1-r.2
imagePullPolicy: Always
name: ctfd
resources:
requests:
cpu: "500m"
memory: "2Gi"
cpu: "100m"
memory: "1Gi"
limits:
cpu: "2000m"
memory: "8Gi"
memory: "4Gi"
livenessProbe:
httpGet:
path: /healthcheck
Expand Down Expand Up @@ -206,7 +211,7 @@ metadata:
labels:
app.kubernetes.io/part-of: ctfpilot
app.kubernetes.io/name: ctfd
app.kubernetes.io/version: 1.0.0
app.kubernetes.io/version: 1.0.1-r.2
app.kubernetes.io/component: scoreboard
ctfpilot.com/component: ctfd
spec:
Expand Down
1 change: 1 addition & 0 deletions plugins/ctfd-discord-webhook-plugin
1 change: 1 addition & 0 deletions plugins/dynamic_challenges_mod
Submodule dynamic_challenges_mod added at 6c7ded
1 change: 1 addition & 0 deletions plugins/kubectf-plugin
Submodule kubectf-plugin added at cc1cbc
15 changes: 10 additions & 5 deletions template/k8s.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,28 @@ spec:
type: RollingUpdate
selector:
matchLabels:
name: ctfd
app.kubernetes.io/name: ctfd
ctfpilot.com/component: ctfd
template:
metadata:
labels:
name: ctfd
app.kubernetes.io/part-of: ctfpilot
app.kubernetes.io/name: ctfd
app.kubernetes.io/version: { .Version }
app.kubernetes.io/component: scoreboard
ctfpilot.com/component: ctfd
spec:
containers:
- image: ghcr.io/ctfpilot/ctfd:{ .Version }
imagePullPolicy: Always
name: ctfd
resources:
requests:
cpu: "500m"
memory: "2Gi"
cpu: "100m"
memory: "1Gi"
limits:
cpu: "2000m"
memory: "8Gi"
memory: "4Gi"
livenessProbe:
httpGet:
path: /healthcheck
Expand Down