-
Notifications
You must be signed in to change notification settings - Fork 1
Release CTFp #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Release CTFp #14
Conversation
…d ops configurations
This update adds the initial system, based on BrunnerCTF 2025 infrastructure.
…ials in template.tfvars
Add initial documentation for the project, CLI tool and platform architecture, including some initial guides.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces comprehensive CTF (Capture The Flag) platform infrastructure by adding monitoring dashboards, MariaDB operator support, and configuration management for a Kubernetes-based CTF deployment named "CTFp". The changes focus on operational tooling and observability.
Key changes:
- Added Grafana dashboards for Kubernetes system monitoring (CoreDNS, API Server, Trivy Operator) and CTF-specific metrics
- Implemented MariaDB operator via Terraform for database management
- Configured Grafana alerting with Discord webhook integration
- Added environment and configuration templates for deployment setup
Reviewed changes
Copilot reviewed 64 out of 146 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| ops/prometheus/grafana/dashboards/k8s/*.json | Kubernetes monitoring dashboards for CoreDNS, API Server, and Trivy security scanning |
| ops/prometheus/grafana/dashboards/ctf/*.json | CTF-specific dashboards tracking challenges, teams, instances, and resource usage |
| ops/prometheus/grafana/contact/*.yaml | Grafana alerting configuration with Discord notifications |
| ops/mariadb-operator.tf | Terraform configuration for MariaDB operator deployment |
| ops/prometheus/README.md | Documentation for dashboard management |
| ops/.env.example | AWS credentials template |
| kube-config/.gitignore, keys/.gitignore | Ignore files for sensitive directories |
Files not reviewed (3)
- challenges/.terraform.lock.hcl: Language not supported
- cluster/.terraform.lock.hcl: Language not supported
- ops/.terraform.lock.hcl: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 64 out of 146 changed files in this pull request and generated 3 comments.
Files not reviewed (3)
- challenges/.terraform.lock.hcl: Language not supported
- cluster/.terraform.lock.hcl: Language not supported
- ops/.terraform.lock.hcl: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ed metrics display
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 64 out of 146 changed files in this pull request and generated 1 comment.
Files not reviewed (3)
- challenges/.terraform.lock.hcl: Language not supported
- cluster/.terraform.lock.hcl: Language not supported
- ops/.terraform.lock.hcl: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 64 out of 146 changed files in this pull request and generated 3 comments.
Files not reviewed (3)
- challenges/.terraform.lock.hcl: Language not supported
- cluster/.terraform.lock.hcl: Language not supported
- ops/.terraform.lock.hcl: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| }, | ||
| "timepicker": {}, | ||
| "timezone": "browser", | ||
| "title": "Team instances", |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filename contains typo 'intsances' instead of 'instances'. The filename should be 'team-instances.json' to match the dashboard title.
| resource "htpasswd_password" "traefik_basic_auth" { | ||
| password = var.traefik_basic_auth.password | ||
| salt = random_password.salt.result |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The resource 'random_password.salt' is referenced but not defined in this file. This will cause a Terraform error unless it's defined elsewhere in the codebase.
| } | ||
|
|
||
| spec { | ||
| replicas = 3 |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The replica count is hardcoded. Consider using a variable to make this configurable across different environments (dev/staging/prod).
No description provided.