ctfer-io/ctfer

GitHub: ctfer-io/ctfer

Stars: 3 | Forks: 0

CTFer

reference go report Coverage Status
License CI CodeQL
OpenSSF Scoreboard
CTFer 组件负责在 Kubernetes 环境中对 CTF 平台(CTFd)及其缓存(Redis)、数据库(PostgreSQL)和 OpenTelemetry 支持进行生产就绪的部署。
The CTFer architecture.
## 📦 部署 ### 配置 默认配置可以工作,但你可能不会得到一个 ✨ **完美** 🤌 的设置。 为此,你可以查看完整的 [`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 ```
标签:API集成, CTFd, EVTX分析, GET参数, Go, NIDS, OpenTelemetry, PostgreSQL, Pulumi, Redis, Ruby工具, 可观测性, 安全, 安全评分, 审计日志, 容器化, 数据库, 生产环境, 缓存, 网络隔离, 自动化运维, 覆盖率, 超时处理, 部署工具