To get started creating your managed SaaS with JovianX, create your first application blueprint. You can start by cloning the Hello SaaS World example blueprint from GitHub.
git clone [email protected]:jovian-x/hello-world-saas-app.git
Review the application manifest file (a YAML file named jovianx.yaml
). The application manifest has 2 main sections: the first is Components
which declares service components with their properties, and the second is settings_descriptors
which allows end-users to choose settings and control properties on signup.
To review the application manifest file use cat command:
cat hello-world-saas-app/jovianx.yaml
hello-world-saas-app/jovianx.yaml# JovianX API Compatibility# v1jovianx_api_version: v1# Name of this SaaS application# stringapplication_name: hello-world-app# version of this JovianX blueprint# semantic versioningversion: 1.0.0...
An application blueprint is a *.tar.gz
archive that contains an application manifest file(jovianx.yaml
) in it's root directory, and also includes all the helm chart directories referenced in the application manifest Jovianx.yaml
file.
Review the files in the blueprint:
tree hello-world-saas-app/hello-world-saas-app/├── jovianx.yaml├── LICENSE├── mongodb-chart│ ├── Chart.yaml│ ├── values.yaml│ └── ...├── node-chart│ ├── Chart.yaml│ ├── values.yaml│ └── ...├── README.md...7 directories, 39 files
Create a tar.gz
archive with the application manifest file(jovianx.yaml).
cd hello-world-saas-app/tar -czvf blueprint.tar.gz jovianx.yaml node-chart/ mongodb-chart/ values/
NOTE: Make sure the the application manifest file (file namedjovinax.yaml
is in the root of the archive file, and also that the archive includes all referenced helm charts as non-archived directories.
You can name the blueprint archive any name you like, the best practice is to include the application name and version in the filename, i.e `myapp_blueprint_4.13.0.tar.gz`.
Push the application blueprint to JovianX via the UI, or via API.
To push the blueprint via the API using Curl command:
curl -u '<ACCOUNT_API_KEY>:<ACCOUNT_API_SECRET>' -F '[email protected]' 'https://<YOUR ACCOUNT NAME>.jovianx.app/api/v1/upload_blueprint'
NOTE: You can find your ACCOUNT_API_KEY
and ACCOUNT_API_SECRET
in the blueprints page under Upload a new Blueprint card. You can also integrate the push operation with your CI workflow.
NOTE: You can also set the blueprint as ACTIVE by adding the querystring ?make_default=true
to the API path.
To push the application blueprint via the Web UI:
Navigate on the side-menu to Application > Blueprints
.
Click on the top card titled Upload a new Blueprint
.
Click on button Choose blueprint tar.gz file
A plan determines the recurring period of a subscription and can determine how much to charge for each billing period, it can also enable or disable the trial, and determine the trial period.
Using the side-meue navigate to Plans
Click on Create new Plan
Choose plan settings and enable Trial
On the bottom of the screen click on Create new plan Version
Review the newly created plan in plans list
NOTE: You must have at least one plan in your account.
NOTE: To enable "Require payment details on subscription", first enable payments and configure your PayPal account by navigating to Settings > Payments > Enable PayPal.
In the settings section you can configure many aspects of your managed service, including integration with a private Docker registry, Cloud DNS, cofngire your Kubernentes KUBECONFIG files, define the behavior of the customer console
Navigate to the customer console and create an example test account