Creating a deployment
There are 2 ways to create a deployment in LumenVox containers either through the Admin portal or through via the Management API.
Admin Portal
The cluster admin is responsible for creating the tenant deployments, without which tenants cannot use LumenVox software. To create a deployment the cluster admin performs the following steps:
- Click 'Create Deployment' in the Deployments page. This page is initially blank.
- Fill out a name and a description for the deployment which will allow you to easily identify the tenant. You can use the location in the description, or any other helpful attribute.
- The Deployment ID is not a mandatory field. If you are importing a deployment from another cluster, that's an example for a situation where you have an ID and you want to input it in the field. Otherwise, if you are not trying to recreate an existing deployment, you will skip this field and allow the system to generate an ID automatically.
- Enter the connection strings for the external services: Redis, Postgres, MongoDB. the strings include the end point, a username and masked password, and a variety of options.Note that when setting up the connection strings to these services, the following characters are not supported within a password: [] {} () , ; ? * = ! @ |.
- If a connection string option calls for SSL, You can upload a security certificate for it, so that it can be used automatically in the order of business without manual intervention.
- Click 'Save', and you’ll see the deployment in the Deployments page.
The following are examples of connection strings for the external services:
Redis
redis://:redis1234@10.128.0.47:6379
PostgreSQL
postgres://lvuser:postgres1234@10.128.0.47:5432/lumenvox_single_db?sslmode=disable
MongoDB
mongodb://lvuser:mongo1234@10.128.0.47:27017
Management API
- A deployment can be created by calling the /Management/Deployment/Add REST API
- Should you wish to use an existing Deployment ID then insert this into the customDeploymentId field otherwise set to 0
- Insert the connection strings for Postgres, Mongo and Redis as a json object into the request body
{"PostgresConnectionString":" postgres://db-user:Dpin3MVv7qsdkPun@postgres.lumenvox.com:5432/single_db?sslmode=disable","RedisConnectionString":"redis://:redis1234@10.128.0.47:6379","MongoDbConnectionString":" mongodb://lvuser:mongo1234@10.128.0.47:27017/stack_db?authsource=admin","MongoDbCertificates":{},"RedisCertificates":{},"PostgresCertificates":{}}
- You should receive the deployment id in the response
- To set the deployment Name and Description use the /Management/Deployment/Metadata/Set REST API
- enter the Deployment ID into the x-deployment-id field and the following with your custom names and descriptions into the json body
{"name":"Deployment Name","description":"deployment description"}