X-Road research page
What we want to run
How is it done
How it will be done for the Sandbox
The main difference is that X-Road components will be installed to the Sandbox as containers and as the components should be configured and already working after deployment, those containers need to be pre-configured
The process step by step:
1. Install X-Road Central Server and three Security Servers (one with management services, one is
the consumer server and one is the producer server) to local computer as Docker containers.
2. Configure the containers of X-Road components to use remote database. Provide database
related configuration like host, port, usernames and passwords with environment variables so
that new configuration values could be provided when running the containers. Create
entrypoint script for Docker containers which will be started when the containers are run - that
script will obtain configuration values and secrets from environment variables, configure the
container to use remote database with given configuration (host, port, user, password etc) and
also migrate already existing (pre-configuration) data to the remote database and stop the local
database.
3. Configure the Central Server and the Security Servers
4. Commit those containers of X-Road components as new Docker images
5. Push the pre-configured Docker images of the X-Road components to AWS ECR.
6. Create Helm charts that 1) create random passwords for remote databases; 2) store these
passwords as secrets to the AWS Kubernetes cluster; 3) create PostgreSQL databases in the
Kubernetes cluster using those secrets; 4) pull images of X-Road components from AWS ECR; 5)
create containers from those images and deploy to AWS EKS Kubernetes cluster