Support privateconfig for local development

Not yet supported for production deployments, that's still cloned manually for now
This commit is contained in:
AngrySoundTech
2024-07-31 16:52:51 -04:00
parent 753bbde180
commit 6540b64d15
6 changed files with 58 additions and 4 deletions

View File

@@ -2,6 +2,13 @@
This monorepo will eventually contain all civ projects and development
## Key Technologies
- [Gradle](https://gradle.org/) Is used as an entrypoint to build all projects in this repository.
- [Docker](https://www.docker.com/) Is used to containerize any deployed services,
and provide a somewhat consistent development environment.
- [Ansible](https://www.ansible.com/) Is used to configure the target machines and for final deployment
## Developing Locally
### Plugins
@@ -32,6 +39,17 @@ Current services and exposed ports are:
| | 15672 | HTTP, Management UI | |
| grafana | 3000 | HTTP, Grafana UI | monitoring |
### Private Config
Sensitive information is stored in a private repository, and required for Ansible deployment.
If you have access to this, you can get the submodule with `git submodule init` and `git submodule update`
To use this with the local docker-compose stack,
you can use `docker compose up -f docker-compose.yml -f docker-compose.private.yml` to merge the configurations.
Hot tip: If you use different SSH keys for your Civ GitHub account, you might use an SSH alias (`git clone git@civmc.github.com:...`).
If this is the case, you can clone the submodule by setting the`GIT_SSH_COMMAND`environment variable
to `ssh -i /path/to/your/private/key` before updating the submodule.
#### Using the console
For the minecraft servers and other interactive containers, you can attach to the console to run commands: