@@ -4,22 +4,10 @@ An Infrastructure as Code manager to deploy lab infrastructure and configure ins
...
@@ -4,22 +4,10 @@ An Infrastructure as Code manager to deploy lab infrastructure and configure ins
### How does it work ?
### How does it work ?
The FORGE (Gitlab) manage Terraform at any state, plan, creation, modification and destruction with the CI. The FORGE store and will provide the configuration information
The FORGE (Gitlab) manage the Infrastructure with Terraform at any state, plan, creation, modification and destruction with the CI. The FORGE store and will provide the configuration information
such as credentials to Terraform only during the running state to improve security, then information are destroyed with the container of the Gitlab Agent.
such as credentials to Terraform only during the running state to improve security. Then, informations are destroyed with the Gitlab Agent container.
On run state, Terraform will create, modify and destroy infrastructure resources in Scaleway to match the configuration described in the configuration files.
On run state, Terraform will create, modify and destroy infrastructure resources in Scaleway to match the configuration described in the configuration files.
After the resources provisionned with Terraform, Cloud-init will configure the instances by running bash scripts, creating files... And 3 services will be running for each instance :
- Atrium (Reverse proxy, TLS encryption and HTTPS to the others hosted services)
- Code-server
- Webtop
After deployment, each resource can be accessed though HTTPS depending their count number :
At first, Gitlab CI will run scripts to generate environment variables.
After the resources provisionned with Terraform, Cloud-init will configure the instances by running bash scripts, creating files... And 3 services will be running for each instance :
They will be used in Terraform for configuration and securing credentials.
- Atrium (Reverse proxy, TLS encryption and HTTPS to the others hosted services)
- Code-server
- Webtop
After this, Gitlab CI will initiate Terraform, which create infrastructure matching the configuration.
After deployment, each resource can be accessed though HTTPS depending their count number :
While deploying resources, especially instances, Terraform will provide the cloud-init.yml script so it can be executed after boot and configure the instances.
Infrastructure is ready, the cloud-init script will run at boot 3 services and leave 3 services running : atrium which serve as a reverse-proxy, code-server and webtop.