Access
Access portal is a place for you to verify the experience, test everything is working end to end before releasing it to your customers.
Besides the custom domain (if configured) or authentication (if configured) or custom UX (if configured), everything will stay the same.
Please note that the access portal can only be accessed by your account and to allow your customers to use your service, you will have to either list it on our marketplace or configure a custom domain.
Here is how different components are deployed using custom domain in the Omnistrate hosted configuration:
As you can see, your customers use the SaaS APIs to talk to your personalized domain, which is then directed to set of APIs that you generated using Omnistrate platform. Your generated management layer then handles all the basic operations from infra deployment, patching, monitoring, scaling, billing etc. to provide your customers the right experience. For all the data access, your customer directly interact with the software running in your account (in the above case) or in your customers account.
You can also use generated API or CLI to access your service. Here is an example CLI generated for a MySQL SaaS:
kamal@kamal-Precision-T3610:$ ./cli\ \(9\) --help
./cli (9) is a command line client for the mysql-byoa API.
Usage:
./cli (9) [-host HOST][-url URL][-timeout SECONDS][-verbose|-v] SERVICE ENDPOINT [flags]
-host HOST: server host (default). valid values: default
-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)
Commands:
user-api signin
delivery-model-byoa-dedicated-tier-db (create|delete|describe|failover|list|restart|start|stop|update)
delivery-model-omnistrate-hosted-dedicated-tier-db (create|delete|describe|failover|list|restart|start|stop|update)
Additional help:
./cli (9) SERVICE [ENDPOINT] --help
Example:
./cli (9) user-api signin --username "Magni consectetur omnis voluptatem sit." --password "Sed nulla."
./cli (9) delivery-model-byoa-dedicated-tier-db create --body '{
"cloud_provider": "Voluptas error ad inventore quo.",
"region": "Autem fuga.",
"requestParams": {
"cloud_provider_account_config_id": "Dignissimos delectus eligendi nulla.",
"mysqlDatabase": "Ducimus tenetur reiciendis eos ut.",
"mysqlPassword": "Architecto qui at assumenda id dolores.",
"mysqlRootPassword": "Pariatur expedita dicta aut magnam.",
"mysqlUser": "Optio aut qui vitae debitis."
}
}' --token "Possimus excepturi eos qui."
./cli (9) delivery-model-omnistrate-hosted-dedicated-tier-db create --body '{
"cloud_provider": "Eligendi ex odit doloremque eos distinctio.",
"region": "Non qui quia suscipit non.",
"requestParams": {
"mysqlDatabase": "Et corporis quia aperiam.",
"mysqlPassword": "Ut sit rem.",
"mysqlRootPassword": "Quia voluptatem.",
"mysqlUser": "Fuga doloribus dolorum sit autem occaecati ut."
}
}' --token "Molestiae velit et."
To use the above CLI, run the signin command to get the token:
kamal@kamal-Precision-T3610:$ ./cli\ \(10\) user-api signin --username "foo" --password "strongpassword"
{
"Token": "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwMDM5MzYsImlhdCI6MTY5MTkxNzUzNiwiaXNzIjoib21uaXN0cmF0ZS5jb20iLCJsYXN0TG9nb3V0Q291bnRlciI6Niwicm9sZSI6InJvb3QiLCJ0b2tlbklEIjoiZTE3Y2FmOTktZjBjNi00YmM3LWJkZTQtNjNmZTM2ZjU2OTYxIiwidXNlcklEIjoidXNlci0xOFpaRDZKQnJTIn0.4jOYLqCLNYB6MF51GjiXa-GJdd6HSZVC9HSqMh3C9nFi8U0KXXUeFNtRO8RzLLtYYOpv0iRr5LDD5ucbygZ7DQ"
}
You can then use the token to provision a MySQL cluster:
kamal@kamal-Precision-T3610:$ ./cli\ \(9\) delivery-model-omnistrate-hosted-dedicated-tier-db create --token "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwMDM5MzYsImlhdCI6MTY5MTkxNzUzNiwiaXNzIjoib21uaXN0cmF0ZS5jb20iLCJsYXN0TG9nb3V0Q291bnRlciI6Niwicm9sZSI6InJvb3QiLCJ0b2tlbklEIjoiZTE3Y2FmOTktZjBjNi00YmM3LWJkZTQtNjNmZTM2ZjU2OTYxIiwidXNlcklEIjoidXNlci0xOFpaRDZKQnJTIn0.4jOYLqCLNYB6MF51GjiXa-GJdd6HSZVC9HSqMh3C9nFi8U0KXXUeFNtRO8RzLLtYYOpv0iRr5LDD5ucbygZ7DQ" --body '{
"cloud_provider": "aws",
"region": "us-east-1",
"requestParams": {
"mysqlDatabase": "test",
"mysqlPassword": "strongpassword",
"mysqlRootPassword": "strongpassword",
"mysqlUser": "test"
}
}'
{
"ID": "instance-um60g2esx"
}
You can then list your MySQL clusters:
kamal@kamal-Precision-T3610:$ ./cli\ \(9\) delivery-model-omnistrate-hosted-dedicated-tier-db list --token "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwMDM5MzYsImlhdCI6MTY5MTkxNzUzNiwiaXNzIjoib21uaXN0cmF0ZS5jb20iLCJsYXN0TG9nb3V0Q291bnRlciI6Niwicm9sZSI6InJvb3QiLCJ0b2tlbklEIjoiZTE3Y2FmOTktZjBjNi00YmM3LWJkZTQtNjNmZTM2ZjU2OTYxIiwidXNlcklEIjoidXNlci0xOFpaRDZKQnJTIn0.4jOYLqCLNYB6MF51GjiXa-GJdd6HSZVC9HSqMh3C9nFi8U0KXXUeFNtRO8RzLLtYYOpv0iRr5LDD5ucbygZ7DQ"
{
"Ids": [
"instance-um60g2esx"
]
}
You can then delete your MySQL cluster:
kamal@kamal-Precision-T3610:/tmp$ ./cli\ \(9\) delivery-model-omnistrate-hosted-dedicated-tier-db delete -id "instance-um60g2esx" --token "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwMDM5MzYsImlhdCI6MTY5MTkxNzUzNiwiaXNzIjoib21uaXN0cmF0ZS5jb20iLCJsYXN0TG9nb3V0Q291bnRlciI6Niwicm9sZSI6InJvb3QiLCJ0b2tlbklEIjoiZTE3Y2FmOTktZjBjNi00YmM3LWJkZTQtNjNmZTM2ZjU2OTYxIiwidXNlcklEIjoidXNlci0xOFpaRDZKQnJTIn0.4jOYLqCLNYB6MF51GjiXa-GJdd6HSZVC9HSqMh3C9nFi8U0KXXUeFNtRO8RzLLtYYOpv0iRr5LDD5ucbygZ7DQ"
And finally you can describe to check the status:
kamal@kamal-Precision-T3610:$ ./cli\ \(9\) delivery-model-omnistrate-hosted-dedicated-tier-db describe -id "instance-um60g2esx" --token "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwMDM5MzYsImlhdCI6MTY5MTkxNzUzNiwiaXNzIjoib21uaXN0cmF0ZS5jb20iLCJsYXN0TG9nb3V0Q291bnRlciI6Niwicm9sZSI6InJvb3QiLCJ0b2tlbklEIjoiZTE3Y2FmOTktZjBjNi00YmM3LWJkZTQtNjNmZTM2ZjU2OTYxIiwidXNlcklEIjoidXNlci0xOFpaRDZKQnJTIn0.4jOYLqCLNYB6MF51GjiXa-GJdd6HSZVC9HSqMh3C9nFi8U0KXXUeFNtRO8RzLLtYYOpv0iRr5LDD5ucbygZ7DQ"
{
"ID": "instance-um60g2esx",
"CreatedAt": "2023-08-13 08:52:36.500827 +0000 UTC",
"LastModified": null,
"Status": "DELETING",
"CloudProvider": "aws",
"Region": "us-east-1",
"ResultParams": {},
"NetworkType": "PUBLIC"
}
Ofcourse, you can manage the created cluster through API/UX. If you run into any issues, please reach out to support AT omnistrate.com