CLI Reference
CLI artifacts
You can download the CLI here
Install CLI
- If you haven’t sign up, run the sign up command
signup
- Verify your email address and run the signin command
signin
- You can now describe your services using
service-api
- Please see this for more details on how to build/access/operate your PaaS/SaaS
CLI usage
./omnistrate-linux-amd64 [-host HOST][-url URL][-timeout SECONDS][-verbose|-v] SERVICE ENDPOINT [flags]
-host HOST: server host (prod). valid values: prod
-url URL: specify service URL overriding host URL (http://localhost:8080)
-timeout: maximum number of seconds to wait for response (30)
-verbose|-v: print request and response details (false)
Examples
./omnistrate-linux-amd64 service-api create-service --body '{
"description": "A MySQL SaaS specializing in multi-writer clusters for high availability",
"name": "MySQL multi-writer service",
"serviceLogoURL": "http://leschjohnston.info/elda"
}' --token "5"
./omnistrate-linux-amd64 service-environment-api create-service-environment --body '{
"deploymentConfigId": "dc-12345678",
"description": "The production environment for the MySQL multi-writer service",
"name": "Production",
"serviceAuthPublicKey": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExXBS01nPRugGbKCN8m9sSSTkGvPT\n7a1Jn74No2dTkp+tQ+ZyBa7ClKbEXFaR2mzy06q0ivJAxPi1pixofIXE0Q==\n-----END PUBLIC KEY-----\n",
"sourceEnvironmentId": "se-12345678",
"visibility": "PRIVATE"
}' --service-id "s-12345678" --token "634"
./omnistrate-linux-amd64 service-model-api create-service-model --body '{
"accountConfigIds": [
"ac-12345678",
"ac-23456789"
],
"description": "A MySQL Hosted SaaS specializing in multi-writer clusters for high availability",
"modelType": "CUSTOMER_HOSTED",
"name": "MySQL multi-writer service hosted model",
"serviceApiId": "sa-12345678"
}' --service-id "s-12345678" --token "xzi"
./omnistrate-linux-amd64 product-tier-api create-product-tier --body '{
"description": "A premium product tier",
"documentation": "Any documentation",
"name": "Premium",
"pricing": {
"price1": "value1"
},
"serviceModelId": "sm-12345678",
"support": "Any support",
"tierType": "OMNISTRATE_MULTI_TENANCY"
}' --service-id "s-12345678" --token "a"
./omnistrate-linux-amd64 service-api-api create-service-api --body '{
"description": "A MySQL SaaS API specializing in multi-writer multi-tenant clusters for high availability",
"serviceEnvironmentId": "se-12345678"
}' --service-id "s-12345678" --token "m"
Build Commands
service-api
The service-api provides an interface to create service objects within the system. Services can be created, updated, described, and deleted using these APIs.
service-environment-api
The service-environment-api provides endpoints to manage service environments within the system. Service environments allows users to model continuous delivery and build pipelines for their service
service-model-api
The service-model-api provides endpoints to manage delivery models within the system. It allows you to specify where you want us to deploy your infrastructure.
We leverage security roles and secure networking to either deploy in your account or your customer's account. If you are new to the cloud, we also support deploying your infrastructure in one of the pre-created Omnistrate accounts on your behalf.
product-tier-api
The product-tier-api provides endpoints to manage different deployment models within the system. Today, we only support a dedicated deployment model in the system, where we create a dedicated infrastructure stack for each of your customers.
We are soon planning on introducing a Serverless mode to provide the dedicated experience, seamlessly scale on demand, and save infrastructure cost when not in use. Please reach out to [email protected] for more details
service-api-api
The service-api-api provides endpoints to manage different service versions of the same service with backward incompatible changes.
resource-api
The resource-api is essentially a service component. A service component is a microservice with only 1 image and 1 infrastructure configuration. You can define multiple service components in the same service and connect them through dependencies.
We will take care of managing their lifecycle and making sure that they are deployed, scaled, monitored, patched accordingly.
input-parameter-api
This is the list of input parameters on any service component that you can define for your customers to enter. You can define constraints such as modifiable or required, and define boundaries like min/max values, and we will make sure that all those constraints and limits are honored.
output-parameter-api
Like input parameters, this is the list of output parameters on any service component that you can define. We will return these output values as part of the response to the relevant APIs that we generate for your control plane
infra-config-api
Infra config is a container object to store all the infrastructure details that can be attached to a given service component. We do support dynamic parameters and so we can dynamically replace any user input from your customers to directly configure your infrastructure.
compute-config-api
Compute config allows you to configure the compute parameters. You can choose from the predefined templates to defining custom compute configs
storage-config-api
Storage config allows you to configure storage volumes and mount it to a specific path
storage-volume-config-api
Storage volume config allows you to configure the volume parameters. You can choose from the predefined templates to defining custom volume configs
network-config-api
Network config allows you to configure networking and placement. You can choose the defaults or configure custom options for your setup
image-config-api
Image config allows you to configure your image configuration and attach it to a given service component
image-registry-api
Image registry config allows you to configure the associated repository configuration for your docker image
signup-api
Signup API to Omnistrate platform
signin-api signin
Signin API to Omnistrate platform
users-api
User APIs allow you to retrieve and update user metadata information
region-api
Returns available regions for your plan
cloud-provider-api
Returns available cloud providers for your plan
availability-zone-api
Returns available zones for one of the available regions in your plan
account-config-api
Account config allows you to configure the cloud account information for Omnistrate to establish trust relationship with your cloud account
deployment-config-api
Deployment config allows you to configure deployment policy and associate with a given environment
global-api
Global API is a health status API for Omnistrate
Access Commands
service-offering-api
Service offering allows you to retrieve control plane metadata for your service
consumption-user-api
Consumption user api allows users of your service to authenticate and get access to your service
resource-instance-api
Resource instance allows your users to perform operations on the resource instances. A resource is essentially a component that you want to expose to your customers and deploy/scale/manage in the desired account
event-api
Return the audit history for a given service for that user
Operate Commands
fleet-workflows-api
Fleet APIs to view and manage ongoing activity in the fleet
inventory-api
Inventory APIs to list, search and describe the entire inventory of a given service
patching-api
Patching APIs to manage software upgrades
Marketplace Commands
subscription-api
Allows users to subscribe to a given service and use it