feature/SP-7400, swarm-db secure connection#145
Conversation
… 10.13.0.0/16 subnet, improving network security configurations for the VM environment.
…c on TCP port 443 from all sources, enhancing accessibility for the API server while maintaining security configurations.
…nce security configurations while maintaining existing network access rules.
…incoming traffic for the API server, improving accessibility while maintaining security configurations.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThis pull request introduces a comprehensive Swarm-based deployment infrastructure overhaul, adding PKI certificate management, distributed service orchestration, and enhanced VM provisioning. Key additions include: swarm-db and swarm-cloud submodules, new systemd services for Swarm components, revised initramfs with cryptographic storage and overlay filesystem, installation of MongoDB, NATS, CockroachDB, and other services, Python-based provisioning plugins, and bootstrap scripts for service registration in SwarmDB. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
This PR adds secure connection support for swarm-db by implementing encryption key management and PKI certificate synchronization. The changes introduce a Python-based PKI Authority service orchestration framework to replace the previous shell script implementation, along with enhanced security features including encrypted memberlist communication.
Changes:
- Implemented PKI Authority service with init, sync, and configuration components using Python modules
- Added swarm-db encryption configuration through prepare_swarm_db_config.py script
- Integrated PKI sync client for certificate and key distribution in swarm environments
Reviewed changes
Copilot reviewed 19 out of 21 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/rootfs/files/scripts/setup_runtime_tools.sh | Added python3-venv package to support pki-sync-client npm package installation |
| src/rootfs/files/scripts/prepare_swarm_db_config.py | New script to inject encryption keys into swarm-db configuration |
| src/rootfs/files/scripts/install_sync_client.sh | New installer for @super-protocol/pki-sync-client npm package |
| src/rootfs/files/scripts/install_pccs.sh | Updated SSL key generation and config paths; changed CachingFillMode to LAZY |
| src/rootfs/files/configs/pki-service/systemd/*.service | New systemd service units for PKI Authority initialization, main service, and sync operations |
| src/rootfs/files/configs/pki-service/scripts/*.py | Python modules for PKI container lifecycle management and configuration |
| src/rootfs/files/configs/pki-service/pki-authority.service | Removed old monolithic service file (replaced by modular systemd units) |
| src/rootfs/files/configs/pki-service/create-and-configure-pki.sh | Removed bash script (replaced by pki_init.py and pki_configure.py) |
| src/rootfs/files/configs/pki-service/lxc-template.yaml | Removed old template (replaced by lxc-swarm-template.yaml) |
| src/rootfs/files/configs/pki-service/conf/*.yaml | New configuration templates for swarm mode and PKI sync client |
| src/rootfs/files/configs/etc/systemd/system/swarm-db.service | Added dependency on PKI Authority and encryption key preparation step |
| src/repos/swarm-db | Updated subproject commit to version with encryption support |
| src/Dockerfile | Reorganized PKI service installation with new directory structure and added pki-sync-client |
Comments suppressed due to low confidence (1)
src/rootfs/files/scripts/install_pccs.sh:22
- Corrected spelling of 'loggggging' to 'logging'.
# init loggggging;
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary by CodeRabbit
New Features
Documentation
Infrastructure