Commit Graph

383 Commits

Author SHA1 Message Date
65d98ce50a Add optional Debian package cleanup and refresh apt cache 2025-12-14 15:17:21 +08:00
1c4ad6cc4d
Merge pull request #102 from cloud-neutral/codex/refactor-repo_setup-and-main.yml-tasks
Refactor common role repo and task structure
2025-12-14 15:10:34 +08:00
aad7dfb7c2 Refactor common role repo and task structure 2025-12-14 15:10:06 +08:00
60040073b2
Merge pull request #101 from cloud-neutral/codex/refactor-package-management-variables
Improve S3FS addon handling and defaults
2025-12-14 14:57:43 +08:00
69bb3d3dad Make optional S3FS config opt-in 2025-12-14 14:57:27 +08:00
Haitao Pan
a599325be4 feat(ci): make bootstrap orchestrator env/workspace-driven and pluggable identity 2025-12-12 17:06:33 +08:00
Haitao Pan
a895ca33c6 fix(actions): use dedicated token for cross-repo workflow dispatch 2025-12-12 16:33:11 +08:00
090bcc813f
Merge pull request #100 from cloud-neutral/codex/add-bootstrap-environment-workflow
Add bootstrap environment workflow
2025-12-12 16:03:30 +08:00
1b4296efdd Add bootstrap environment workflow 2025-12-12 16:03:08 +08:00
ff8c0d2c3d
Merge pull request #99 from cloud-neutral/codex/implement-xcontrol-docker-playbook
Template rag server configuration
2025-12-10 15:28:40 +08:00
90b819e5ad Template rag server configuration 2025-12-10 15:21:13 +08:00
7463891002
Merge pull request #98 from cloud-neutral/codex/plan-roles-for-five-data-categories
Initialize placeholder docker and chart roles
2025-12-09 23:48:02 +08:00
17c04eae5e Initialize placeholder docker and chart roles 2025-12-09 23:40:09 +08:00
Haitao Pan
76ee00f393 feat(docker/zitadel): production-ready ACME automation + TLS proxy + idempotent init 2025-12-02 19:53:59 +08:00
Haitao Pan
927568e912 update docker/zitadel/README.md 2025-12-01 21:42:23 +08:00
Haitao Pan
dac60709c8 update playbooks/inventory.ini 2025-12-01 20:43:53 +08:00
shenlan
0dd23091ac
Merge pull request #97 from svc-design/codex/add-docker-support-for-multiple-os
Add playbook to install Docker on supported hosts
2025-12-01 20:32:45 +08:00
shenlan
bd0ca5e490 Add playbook to install Docker on supported hosts 2025-12-01 20:13:26 +08:00
Haitao Pan
d1c6bd4b2b cleanup: remove obsolete docker/keycloak role and update zitadel playbook 2025-12-01 20:11:15 +08:00
shenlan
66390ddc89
Merge pull request #95 from svc-design/codex/create-ansible-playbook-for-zot-installation
Add zot vhost role
2025-12-01 19:54:36 +08:00
shenlan
42a78c6ef1
Merge pull request #96 from svc-design/codex/setup-zitadel-in-ansible-playbook
Parameterize Zitadel deployment variables
2025-12-01 17:13:51 +08:00
shenlan
6279b005b2 Parameterize Zitadel deployment variables 2025-12-01 13:35:47 +08:00
shenlan
6e1a52886e Add zot vhost role 2025-11-29 19:51:22 +08:00
Haitao Pan
d8c50464a7 inventory.ini: add bootstrap group 2025-11-29 19:42:49 +08:00
shenlan
2c820b3416
Merge pull request #92 from svc-design/codex/add-vultr-vps-terraform-template
Add Vultr VPS Terraform template and modules
2025-11-21 12:30:42 +08:00
shenlan
92c09281b0
Merge pull request #93 from svc-design/codex/add-ali-cloud-terraform-template-with-modules
Add Alibaba Cloud Terraform template and modules
2025-11-21 12:30:25 +08:00
shenlan
3f318c08a7
Merge pull request #94 from svc-design/codex/add-azure-terraform-template-with-modules
Add Azure Terraform template aligned with AWS structure
2025-11-21 12:30:03 +08:00
shenlan
7732dd6360 Add Azure Terraform template aligned with AWS structure 2025-11-21 07:40:24 +08:00
shenlan
b80888cbd9 Add Alibaba Cloud Terraform template and modules 2025-11-21 07:38:13 +08:00
shenlan
e87d9a267a Add Vultr VPS Terraform template and modules 2025-11-21 07:37:21 +08:00
shenlan
5f9843ef1f
Merge pull request #91 from svc-design/codex/implement-gcp-cloud-infrastructure-templates
Add GCP terraform standard templates
2025-11-20 21:42:01 +08:00
shenlan
60e4e4a79c Add GCP terraform standard templates 2025-11-20 21:37:34 +08:00
Haitao Pan
5e838f76f1 chore: scrub sensitive passwords from configs 2025-11-19 13:45:02 +08:00
Haitao Pan
e4cf88d3c3 feat(vhosts): add Alicloud DNS record module and batch sync role 2025-11-19 13:20:13 +08:00
Haitao Pan
fae2d7b4d7 playbooks: add mail stack, firewall, and nodejs deployment
Mail Stack Deployment:
- playbooks/deploy_mail_stack.yml: Complete mail server with chasquid + dovecot + firewall
  * Deploys chasquid SMTP server
  * Deploys dovecot IMAP server
  * Includes firewall configuration
  * Email test with swaks
  * Configurable domain, certificates, DKIM

- playbooks/deploy_mail_firewall.yml: Standalone firewall deployment
  * Just the firewall role
  * For servers that only need firewall rules
  * Customizable via variables

Node.js Deployment:
- playbooks/deploy_nodejs_vhosts.yml: Node.js runtime for vhosts
  * Installs Node.js 20.x from NodeSource
  * Configurable version and packages
  * Can install additional global npm packages
  * Supports Yarn installation

Inventory:
- playbooks/inventory.ini: Updated inventory file
  * Mail server and nodejs host groups
  * Example configuration

Scripts:
- scripts/netcheck.sh: Network connectivity check script

All playbooks:
- Use become: yes for privilege escalation
- Include comprehensive variable documentation
- Support customization via vars
- Include security best practices

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:54:38 +08:00
Haitao Pan
3d773e2a83 nodejs role: install latest Node.js from NodeSource
- Install Node.js 20.x LTS from official NodeSource repository
- Install latest npm and configure with save-exact
- Install Yarn package manager (optional, configurable)
- Idempotent installation with version checking
- Adds npm global bin to system PATH
- Configurable version (LTS, major, or specific version)
- GPG-signed packages from official sources
- Support for custom npm global prefix
- Optional global npm package installation

Features:
- Removes old NodeSource repos before upgrade
- Adds NodeSource GPG key securely via HTTPS
- Creates npm global directory with proper permissions
- Template for /etc/profile.d/npm_global.sh
- Verification output showing installed versions

Variables:
- nodejs_version: "20.x" (default, can be 18.x, 22.x, or specific version)
- install_yarn: true (can be disabled)
- add_npm_to_path: true (adds npm bin to PATH)
- npm_config_prefix: "/usr/local/lib/npm"
- global_npm_packages: [] (optional list of packages)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:51:40 +08:00
Haitao Pan
f4d6bd2463 dovecot role: add mail group membership
- Add dovecot user to mail group for proper permissions
- Install dovecot-core package (alongside dovecot-imapd)
- Maintains existing dovecot configuration via templates
- Idempotent user module for group management

Configuration:
- Existing templates for dovecot.conf, 10-mail.conf, 10-auth.conf, 10-ssl.conf, 10-master.conf
- Service management with systemd

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:49:59 +08:00
Haitao Pan
f92eb3cfb7 chasquid role: enhance mail server configuration
- Install dovecot packages (dovecot-core, dovecot-imapd) alongside chasquid
- Create support user with secure home directory and nologin shell
- Add chasquid user to mail group for proper permissions
- Set cap_net_bind_service capability on chasquid binary
- Disable socket-based activation services (socket, smtp, submission, submission_tls)
- Disable IPv6 system-wide via sysctl
- Add custom systemd service template with security hardening:
  * Standalone mode (Type=simple)
  * CAP_NET_BIND_SERVICE for port binding
  * ProtectSystem, ProtectHome, PrivateTmp, NoNewPrivileges
  * Automatic restart on failure
- Convert systemd service to Jinja2 template for variable support
- Add email test configuration variables (domain, SMTP settings, test recipients)
- Add swaks email test task with variable-based configuration
- Create reboot handler for IPv6 changes
- Add reload systemd daemon handler

Security:
- Binary capabilities instead of running as root
- Comprehensive systemd security features
- NoNewPrivileges to prevent escalation
- Private temporary directory

Testing:
- Automated swaks email sending test
- Display DNS records with DKIM key information
- Configurable email credentials via variables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:49:22 +08:00
Haitao Pan
136b205e01 firewall role: add UFW mail server firewall configuration
- Add comprehensive UFW firewall rules for mail server
- Opens essential ports: SSH (22), HTTPS (443), HTTP (80)
- Opens mail ports: SMTP (25), Submission (587), SMTPS (465), IMAPS (993)
- Blocks plaintext ports: POP3 (110), IMAP (143), POP3S (995)
- Allows LMTP (24) from private networks only
- Provides verification output with visual status display
- Default deny all incoming, allow all outgoing
- Security warnings included in output

Features:
- Idempotent UFW configuration
- Configurable via variables
- Clean visual output of all rules
- SSH added first to prevent lockout
- Documentation in defaults/main.yml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:48:31 +08:00
Haitao Pan
be98544f02 add playbooks/deploy_nginx_vhosts.yml 2025-10-20 16:32:32 +08:00
shenlan
8994af8ce5 Merge pull request #90 from svc-design/codex/fix-undefined-variable-dl_business_host
Set default dl business host for blackbox exporter role
2025-10-03 19:27:37 +08:00
shenlan
d3306d36a1 Set default dl business host for blackbox exporter 2025-10-03 18:51:43 +08:00
Haitao Pan
4f40252883 blackbox_exporters: add login/logout/register paths to vhosts 2025-10-03 18:44:08 +08:00
shenlan
6d44d5a150 Merge pull request #89 from svc-design/codex/fix-blackbox_exporter-installation-error
Fix blackbox exporter install from remote archive
2025-09-29 21:09:11 +08:00
shenlan
ef6f602882 Fix blackbox exporter install from remote archive 2025-09-29 20:59:41 +08:00
Haitao Pan
648d0cb418 chore(blackbox_exporter): bump default version to 0.27.0 2025-09-29 20:51:27 +08:00
Haitao Pan
ea580c7a7d playbooks: update exporters vhosts and add monitor server
- deploy_exporters_vhosts.yml: refined configuration and variables
- deploy_monitor_server.yml: introduce new playbook for openobserve + Grafana
2025-09-29 12:54:09 +08:00
shenlan
c11c7b660b Merge pull request #88 from svc-design/codex/update-blackbox_exporter-download-url
Update blackbox exporter download URL
2025-09-29 12:48:41 +08:00
shenlan
9c6839cf8b Update blackbox exporter download source 2025-09-29 12:48:19 +08:00
shenlan
13d44d76c0 Merge pull request #87 from svc-design/codex/fix-undefined-variable-blackbox_archive_name
Fix blackbox exporter archive facts handling
2025-09-29 11:33:36 +08:00