ctfer-io/ctfer
GitHub: ctfer-io/ctfer
CTFer 是一个基于 Kubernetes 的 CTFd 竞赛平台生产级高可用部署工具,集成了 Redis、PostgreSQL 和 OpenTelemetry 等组件。
Stars: 3 | Forks: 0
CTFer 组件负责在 Kubernetes 环境中对 CTF 平台(CTFd)及其缓存(Redis)、数据库(PostgreSQL)和 OpenTelemetry 支持进行生产就绪的部署。
## 📦 部署
### 配置
默认配置可以工作,但你可能不会得到一个 ✨ **完美** 🤌 的设置。
为此,你可以查看完整的 [`Pulumi.yaml`](Pulumi.yaml) 配置。
我们在这里详细说明其中的一些。
#### 自定义镜像
如果你想使用自定义的 CTFd 镜像(例如带有你的插件或主题)。
```
pulumi config set --path platform.image ctferio/ctfd:3.8.1-0.9.0
```
#### 配置 [Chall-Manager](https://github.com/ctfer-io/chall-manager) URL
如果你想配置 ChallManager 的 URL。
```
pulumi config set chall-manager-url http://chall-manager-svc.ctfer:8080/api/v1
```
#### 自定义证书
如果你想使用自定义证书。
我们 **强烈** 推荐用于生产目的,特别是为了防止中间人攻击、凭证泄露等。
```
# export PULUMI_CONFIG_PASSPHRASE 之前
# https://github.com/pulumi/pulumi/issues/6015
cat /path/to/crt.pem | pulumi config set --secret --path platform.crt
cat /path/to/key.pem | pulumi config set --secret --path platform.key
```
#### 文件系统
如果你需要更大的文件系统,例如用于 CTFd 的上传。
```
pulumi config set --path plateform.storage-size 10Gi
```
#### 工作线程和副本
如果你想配置 CTFd 上的多个工作线程。
```
pulumi config set-all \
--path platform.workers 3 \
--path platform.replicas 3
```
#### 请求与限制
如果你想配置不同于默认的资源。
```
pulumi config set-all \
--path platform.requests.cpu 1 \
--path platform.requests.memory 2Gi \
--path platform.limits.cpu 1 \
--path platform.limits.memory 1Gi
```
如果你不需要离线环境设置,你可以 **直接跳过到 [部署](#lets-do-it)**。
### 离线环境
要求:
- [Hauler](https://docs.hauler.dev)
首先,将你的清单与现有设置(例如在线模拟基础设施)同步。
```
cd hack
hauler store sync -f hauler-manifest-ha.yaml
hauler store copy registry://registry.dev1.ctfer-io.lab
```
然后,配置你的 Pulumi 堆栈。
```
pulumi config set-all \
images-repository registry.dev1.ctfer-io.lab \
charts-repository oci://registry.dev1.ctfer-io.lab/hauler
```
### 开始部署!
现在完成了针对特定基础设施的最后配置,你应该可以顺利部署 CTFer 了! 💪
```
pulumi config set-all \
--path platform.hostname ctfd.dev1.ctfer-io.lab \
--path ingress-labels.name traefik \
--path db.operator-namespace cnpg-system
pulumi up
```
标签:EVTX分析, Go, Ruby工具, 子域名突变, 搜索引擎查询, 日志审计, 测试用例, 特权提升, 用户代理, 网络安全, 自动化部署, 运维工具, 隐私保护