Skip to main content

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

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:

  1. Make a directory named .oblivious at the root level of the application repository
  2. Make a copy of Dockerfile inside .oblivious directory of the application repository
  3. Remove any ENTRYPOINT if it exists inside Dockerfile
  4. Remove all commands like CMD which exist to launch the application, as we'll be using S6 to maintian application runtime inside the enclave
  5. 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.

  1. Create a directory named services inside .oblivious directory of the application repository
  2. Add a directory for after each service or command that you wish to run e.g.: .oblivious/services/start_server/
  3. Inside each directory of .oblivious/services add a file named run containing the command to run the application eg., python src/start_server.py. Additionally you can provide a file named finish 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

  1. Go to console.oblivious.ai
  2. Click on Create an Account or Login via GitHub

Note: You can skip this step if you signed up with Oblivious Console using your GitHub account.

  1. Navigate to Link Accounts from the left side-bar of the Console
  2. and click on Connect to connect GitHub to your Oblivious Console

Connect GitHub

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.

  1. Navigate to Repositories from the left side-bar of the Console
  2. Choose a repository to create a service out of and click on its name to enter the repository
  3. Click on the "Add a Service" button to add the repository as a service on Oblivious Console
  4. 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.

  1. Navigate to Services from the left side-bar of the Console
  2. Click on the "Launch button" next to the service to deploy
  3. Fill out the information requested in the Deployment form
  4. 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.