Skip to content

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)


    ./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": ""
       }' --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": [
          "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


The service-api provides an interface to create service objects within the system. Services can be created, updated, described, and deleted using these APIs.


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


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.


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


The service-api-api provides endpoints to manage different service versions of the same service with backward incompatible changes.


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.


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.


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 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 allows you to configure the compute parameters. You can choose from the predefined templates to defining custom compute configs


Storage config allows you to configure storage volumes and mount it to a specific path


Storage volume config allows you to configure the volume parameters. You can choose from the predefined templates to defining custom volume configs


Network config allows you to configure networking and placement. You can choose the defaults or configure custom options for your setup


Image config allows you to configure your image configuration and attach it to a given service component


Image registry config allows you to configure the associated repository configuration for your docker image


Signup API to Omnistrate platform

signin-api signin

Signin API to Omnistrate platform


User APIs allow you to retrieve and update user metadata information


Returns available regions for your plan


Returns available cloud providers for your plan


Returns available zones for one of the available regions in your plan


Account config allows you to configure the cloud account information for Omnistrate to establish trust relationship with your cloud account


Deployment config allows you to configure deployment policy and associate with a given environment


Global API is a health status API for Omnistrate

Access Commands


Service offering allows you to retrieve control plane metadata for your service


Consumption user api allows users of your service to authenticate and get access to your service


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


Return the audit history for a given service for that user

Operate Commands


Fleet APIs to view and manage ongoing activity in the fleet


Inventory APIs to list, search and describe the entire inventory of a given service


Patching APIs to manage software upgrades

Marketplace Commands


Allows users to subscribe to a given service and use it