Prerequisites
Before deployment of services, you need to install enabling systems and provision servers based on your requirements
Last updated
Before deployment of services, you need to install enabling systems and provision servers based on your requirements
At a minimum level, deployment of the Rierino platform requires specific enabling systems to be in place, such as a database for persistence. It is recommended that the following (or equivalent systems supported by Rierino) be deployed before starting the platform deployment:
replication:
replSetName: rs0rs.initiate({ _id: "rs0", version: 1,
members: [
{ _id: 0, host : "[MONGO_HOST]:[MONGO_PORT]" },
...
]})MongoDB
mongodb
mongodb
Kafka [Optional]
kafka
kafka
Keycloak [Optional]
keycloak
keycloak
Why don't we bundle these systems to our solution?
While it is possible to bundle these systems into our deployment packages and enable one-click deployments, it goes against our open architecture principles, where we let our clients replace any external system in our solution architecture or use their existing components for the same.
Also, these are the systems where private customer and commercially sensitive enterprise data is stored, hence we give our clients full control over their deployment and configuration (such as configuring authentication, encryption of data in transit and at rest).
If you don't already have these systems or would like to automated their deployment, check out vendor specific details for installation options.
Depending on the option(s) you choose for the next step, install required tools on the machine you will be running deployments from
You can also use the Rierino public Docker image specific to your cloud provider instead of manually installing these dependencies:
It is also possible to deploy remotely using helm charts without setting up such initial deployment host, but this approach is recommended as it provides more control and visibility during first deployment.
You will need to provision a Kubernetes cluster to deploy Rierino services (unless you are deploying standalone containers), which you can do manually through your cloud vendor UI or using Rierino Terraform configuration below for your cloud service provider.
admin-node-pool
Used by admin gateway and runner pods
ui-node-pool
Used by admin UI pods
ops-node-pool
Used by CDC and calculation runner pods
infra-node-pool
Used by deployer pods
If you choose to automate provisioning with Terraform, you can clone our GitHub repository and run the following commands:
Terraform apply command will output kubeconfig contents, which should be saved as it will be required as an input file in following steps.
admin-gateway-lb-ip
admin-api.[DOMAIN]
External access to API gateway
admin-ui-lb-ip
admin-ui.[DOMAIN]
External access to UI
Rierino platform does not expose any resources publicly, other than the load balancer services.
If you wish to access additional system components (such as MongoDB, Keyloak UI, etc.), you can configure their firewall and network settings manually to allow public access.
Last updated
pip install kubernetes boto3 botocore
ansible-galaxy collection install kubernetes.coregit clone --branch release-[RIERINO_VERSION] https://[GIT_USER]:[GIT_TOKEN]@github.com/rierino-open/deployment
cd deployment/environments/[CLOUD]
terraform init
terraform plan -var="[VARIABLES]"
terraform apply -var="[VARIABLES]"