Getting started
Any application that works in a Docker container can be deployed by following below 5 steps on Oblivious Console:
- Step 1: Add a new Dockerfile, and run files
- Step 2: Create Oblivious Console account / Login
- Step 3: Link GitHub Account
- Step 4: Create a service from application source code
- Step 5: Create Deployment using secure enclave technology
Step 1: Add a new Dockerfile, and run files
As the very initial step, we would want to know how to build the application, please follow below steps to add a new Dockerfile which will be used to build the application inside enclave:
- Make a directory named
.oblivious
at the root level of the application repository - Make a copy of
Dockerfile
inside.oblivious
directory of the application repository - Remove any
ENTRYPOINT
if it exists inside Dockerfile - Remove all commands like
CMD
which exist to launch the application, as we'll be using S6 to maintian application runtime inside the enclave - Use the Oblivious Base image of choice from the list of available base images, and add it to the
FROM
statement of the Dockerfile inside.oblivious
As the next step, we would want to know how to launch your application, and the steps to take in case application fails or terminates inside an enclave.
- Create a directory named
services
inside.oblivious
directory of the application repository - Add a directory for after each service or command that you wish to run e.g.:
.oblivious/services/start_server/
- Inside each directory of
.oblivious/services
add a file namedrun
containing the command to run the application eg.,python src/start_server.py
. Additionally you can provide a file namedfinish
script to specify steps to take upon application failure / termination
For more information about S6 and how it maintains services read here.
Step 2: Create Oblivious Console account / Login
- Go to console.oblivious.ai
- Click on Create an Account or Login via GitHub
Step 3: Link GitHub Account
Note: You can skip this step if you signed up with Oblivious Console using your GitHub account.
- Navigate to Link Accounts from the left side-bar of the Console
- and click on Connect to connect GitHub to your Oblivious Console
Step 4: Create a service from application source code
A service is a remote repository containing application source code and a special directory .oblivious
having a file service.yaml
which holds information for deploying the application via Oblivious Console.
- Navigate to Repositories from the left side-bar of the Console
- Choose a repository to create a service out of and click on its name to enter the repository
- Click on the "Add a Service" button to add the repository as a service on Oblivious Console
- Fill out and submit the Create Service form to create a service
For detailed steps click here.
Step 5: Create Deployment using secure enclave technology
A deployment is a service in running state, which can be one of the types listed here. A deployment can be deployed in one of the supported regions with one of the supported deployment sizes.
- Navigate to Services from the left side-bar of the Console
- Click on the "Launch button" next to the service to deploy
- Fill out the information requested in the Deployment form
- Submit the Deployment form to create a deployment from the selected service
For detailed steps click here.
Pricing
Deployments in "Running" status are charged as per the deployment size.