Skip to content

CLI Reference

CLI artifacts

You can download the latest 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 your first 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 service plan or 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 hosting 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 tenancy models within the system. For more details, see this

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

Consumption Commands

subscription-api

Allows users to subscribe to a given service and use it