Run

Run is HolaCloud's container image and console-control service. It exposes a push-oriented subset of the Docker Registry v2 API and a small Console API for inspecting repositories and changing runtime configuration.

Features

Push-Oriented Registry v2 Subset

Run supports the registry endpoints needed to push image blobs and manifests under /v2. It is not a full Docker Registry implementation and should not be documented as a general pull registry.

1docker login run.hola.cloud
2docker build -t run.hola.cloud/my-project/my-app:latest .
3docker push run.hola.cloud/my-project/my-app:latest

Console Management API

The Console API works with repositories and image references or digests:

  • GET /version
  • GET /api/console?repository=
  • POST /api/console/start
  • POST /api/console/stop
  • POST /api/console/rollback
  • PUT /api/console/env
  • PUT /api/console/volumes

There is no /v1/run/deploy, /api/console/run, push/exec API, or container_id workflow.

Environment Variables and Volumes

Environment and volume configuration is saved by repository:

1curl -X PUT "https://api.hola.cloud/api/console/env" \
2  -H "Content-Type: application/json" \
3  -d '{
4    "repository": "my-project/my-app",
5    "env": [
6      {"key": "LOG_LEVEL", "desired_value": "debug"}
7    ]
8  }'

Getting Started

  1. Authenticate with the registry:
1docker login run.hola.cloud
  1. Build and push your image:
1docker build -t run.hola.cloud/my-project/my-app:latest .
2docker push run.hola.cloud/my-project/my-app:latest
  1. Start the repository at a pushed reference:
1curl -X POST "https://api.hola.cloud/api/console/start" \
2  -H "Content-Type: application/json" \
3  -d '{
4    "repository": "my-project/my-app",
5    "reference": "latest"
6  }'

Comments

Leave a comment