hosting

Apps

0.000001 USD

Delete

POST /v1/app/Delete

Delete an app

Request

namestring

name of the app

Response

{}

Request

Response

{}

0.000001 USD

Get

POST /v1/app/Get

Get an app by name

Request

namestring

Response

serviceobject

Request

Response

{
    "service": {
        "id": "helloworld",
        "name": "helloworld",
        "repo": "github.com/asim/helloworld",
        "branch": "master",
        "region": "europe-west1",
        "port": 8080,
        "status": "Running",
        "url": "https://helloworld.m3o.app",
        "created": "2021-12-15T09:48:50.864124234Z",
        "updated": "2021-12-15T09:50:13.722008Z",
        "env_vars": {},
        "custom_domains": []
    }
}

0.000001 USD

List

POST /v1/app/List

List all the apps

Request

{}

Response

servicesarray

all the apps

Request

Response

{
    "services": [
        {
            "id": "helloworld",
            "name": "helloworld",
            "repo": "github.com/asim/helloworld",
            "branch": "master",
            "region": "europe-west1",
            "port": 8080,
            "status": "Running",
            "url": "https://helloworld.m3o.app",
            "created": "2021-12-15T09:48:50.864124234Z",
            "updated": "2021-12-15T09:50:13.722008Z",
            "env_vars": {},
            "custom_domains": []
        }
    ]
}

0.000001 USD

Logs

POST /v1/app/Logs

Get the logs for an app

Request

logs_typestring

type of logs to retrieve, currently supported options - "build"

namestring

name of the app

Response

logsstring

Request

Response

{
    "logs": "v1: Pulling from buildpacks/gcp/run\nstarting build \"f05eb854-e537-4a10-a2a2-13d9ee54200e\"\n\nlatest: digest: sha256:a3625b4c183136ee0262330cdc201fedcbacf7563d714d02a369f1e9baa90f53 size: 2410\nlatest: Pulling from k8s-skaffold/pack\nlatest: Pulling from buildpacks/builder\ngcr.io/k8s-skaffold/pack:latest\nf625ec3f4103: Waiting\nf625ec3f4103: Verifying Checksum\nf625ec3f4103: Pulling fs layer\nf625ec3f4103: Pull complete\nf625ec3f4103: Download complete\nebe0097437f0: Waiting\nebe0097437f0: Verifying Checksum\nebe0097437f0: Pulling fs layer\nebe0097437f0: Pull complete\nebe0097437f0: Download complete\ne89ec9b21734: Verifying Checksum\ne89ec9b21734: Pulling fs layer\ne89ec9b21734: Pull complete\ne89ec9b21734: Download complete\ne89ec9b21734: Already exists\ne29eeae862f8: Waiting\ne29eeae862f8: Verifying Checksum\ne29eeae862f8: Pulling fs layer\ne29eeae862f8: Pull complete\ne29eeae862f8: Download complete\ndec9d2d2bcab: Waiting\ndec9d2d2bcab: Verifying Checksum\ndec9d2d2bcab: Pulling fs layer\ndec9d2d2bcab: Pull complete\ndec9d2d2bcab: Download complete\ndd7cc67973c7: Waiting\ndd7cc67973c7: Preparing\ndd7cc67973c7: Layer already exists\ndcaad5a887e8: Waiting\ndcaad5a887e8: Verifying Checksum\ndcaad5a887e8: Pulling fs layer\ndcaad5a887e8: Pull complete\ndcaad5a887e8: Download complete\ndadbeb140725: Waiting\ndadbeb140725: Verifying Checksum\ndadbeb140725: Pulling fs layer\ndadbeb140725: Pull complete\ndadbeb140725: Download complete\nd587034da7a9: Waiting\nd587034da7a9: Verifying Checksum\nd587034da7a9: Pulling fs layer\nd587034da7a9: Pull complete\nd587034da7a9: Download complete\nd43acda03655: Waiting\nd43acda03655: Pulling fs layer\nd43acda03655: Pull complete\nd43acda03655: Download complete\ncd001041dc9e: Waiting\ncd001041dc9e: Verifying Checksum\ncd001041dc9e: Pulling fs layer\ncd001041dc9e: Pull complete\ncd001041dc9e: Download complete\nca6454147937: Waiting\nca6454147937: Preparing\nbdd51f36857e: Preparing\nb7d6ab907d50: Waiting\nb7d6ab907d50: Verifying Checksum\nb7d6ab907d50: Pulling fs layer\nb7d6ab907d50: Pull complete\nb7d6ab907d50: Download complete\nb195118fc2f1: Waiting\nb195118fc2f1: Verifying Checksum\nb195118fc2f1: Pulling fs layer\nb195118fc2f1: Pull complete\nb195118fc2f1: Download complete\na4d53325badd: Preparing\na4918c65f496: Waiting\na4918c65f496: Verifying Checksum\na4918c65f496: Pulling fs layer\na4918c65f496: Pull complete\na4918c65f496: Download complete\na46c52a54f7c: Waiting\na46c52a54f7c: Verifying Checksum\na46c52a54f7c: Pulling fs layer\na46c52a54f7c: Pull complete\na46c52a54f7c: Download complete\n[exporter] Setting default process type 'web'\n[exporter] Saving europe-west1-docker.pkg.dev/m3o-apis/cloud-run-source-deploy/domtest19...\n[exporter] Adding layer 'process-types'\n[exporter] Adding layer 'launcher'\n[exporter] Adding layer 'google.go.build:bin'\n[exporter] Adding layer 'config'\n[exporter] Adding label 'io.buildpacks.project.metadata'\n[exporter] Adding label 'io.buildpacks.lifecycle.metadata'\n[exporter] Adding label 'io.buildpacks.build.metadata'\n[exporter] Adding cache layer 'google.go.runtime:go'\n[exporter] Adding cache layer 'google.go.gomod:gopath'\n[exporter] Adding 1/1 app layer(s)\n[exporter] *** Images (20d1cf1445aa):\n[exporter]       europe-west1-docker.pkg.dev/m3o-apis/cloud-run-source-deploy/domtest19\n[detector] google.utils.label 0.0.2\n[detector] google.go.runtime  0.9.1\n[detector] google.go.gomod    0.9.0\n[detector] google.go.build    0.9.0\n[detector] 4 of 6 buildpacks participating\n[builder] go: no module dependencies to download\n[builder] go.sum not found, generating using \"go mod tidy\"\n[builder] ]\n[builder] [\n[builder] Warning: Warning: default processes aren't supported in this buildpack api version. Overriding the default value to false for the following processes: [web]\n[builder] WARNING: Launch layer is setting default=true, but that is not supported until API version 0.6. This setting will be ignored.\n[builder] Using latest runtime version: 1.18\n[builder] Running \"go mod tidy (GOPATH=/layers/google.go.gomod/gopath GO111MODULE=on GOPROXY=https://proxy.golang.org|direct)\"\n[builder] Running \"go mod download (GOPATH=/layers/google.go.gomod/gopath GO111MODULE=on GOPROXY=https://proxy.golang.org|direct)\"\n[builder] Running \"go list -f {{if eq .Name \\\"main\\\"}}{{.Dir}}{{end}} ./...\"\n[builder] Running \"go build -o /layers/google.go.build/bin/main ./. (GOCACHE=/layers/google.go.build/gocache)\"\n[builder] Running \"curl --fail --show-error --silent --location https://golang.org/dl/?mode=json\"\n[builder] Running \"bash -c curl --fail --show-error --silent --location --retry 3 https://dl.google.com/go/go1.18.linux-amd64.tar.gz | tar xz --directory /layers/google.go.runtime/go --strip-components=1\"\n[builder] Installing Go v1.18\n[builder] Done \"go mod tidy (GOPATH=/layers/google.go.gomod/gopath GO111MODU...\" (71.295261ms)\n[builder] Done \"go mod download (GOPATH=/layers/google.go.gomod/gopath GO111...\" (7.006109ms)\n[builder] Done \"go list -f {{if eq .Name \\\"main\\\"}}{{.Dir}}{{end}} ./...\" (180.712459ms)\n[builder] Done \"go build -o /layers/google.go.build/bin/main ./. (GOCACHE=/l...\" (775.161308ms)\n[builder] Done \"curl --fail --show-error --silent --location https://golang....\" (293.956252ms)\n[builder] Done \"bash -c curl --fail --show-error --silent --location --retry...\" (4.520387108s)\n[builder] === Utils - Label Image ([email protected]) ===\n[builder] === Go - Runtime ([email protected]) ==="
}

0.000001 USD

Regions

POST /v1/app/Regions

Return the support regions

Request

{}

Response

regionsarray

Request

Response

{
    "regions": [
        "asia-east1",
        "europe-west1",
        "us-central1",
        "us-east1",
        "us-west1"
    ]
}

10 USD

Reserve

POST /v1/app/Reserve

Reserve app names

Request

namestring

name of your app e.g helloworld

Response

reservationobject

The app reservation

Request

Response

{
    "reservation": {
        "name": "helloworld",
        "owner": "3143bf6a-ced5-4589-b9b3-bb87cc476301",
        "token": "a990be106204d103df461bb3a3075aefedda5z10",
        "created": "2021-11-26T10:41:59.851107343Z",
        "expires": "2022-11-26T10:41:59.851107422Z"
    }
}

0.000001 USD

Resolve

POST /v1/app/Resolve

Resolve an app by id to its raw backend endpoint

Request

idstring

the service id

Response

urlstring

the end provider url

Request

Response

{
    "url": "https://helloworld-jn5gitv2pa-ew.a.run.app"
}

5 USD

Run

POST /v1/app/Run

Run an app from source

Request

branchstring

branch. defaults to master

env_varsobject

associated env vars to pass in

namestring

name of the app

pathstring

path to code

portnumber

port to run on

regionstring

region to run in

repostring

source repository

Response

serviceobject

The running service

Request

Response

{
    "service": {
        "id": "helloworld",
        "name": "helloworld",
        "repo": "github.com/asim/helloworld",
        "branch": "master",
        "region": "europe-west1",
        "port": 8080,
        "status": "Deploying",
        "url": "https://helloworld.m3o.app",
        "created": "2021-12-15T09:48:50.864124234Z",
        "updated": "",
        "env_vars": {},
        "custom_domains": []
    }
}

0.000001 USD

Status

POST /v1/app/Status

Get the status of an app

Request

namestring

name of the app

Response

serviceobject

running service info

Request

Response

{
    "service": {
        "id": "helloworld",
        "name": "helloworld",
        "repo": "github.com/asim/helloworld",
        "branch": "master",
        "region": "europe-west1",
        "port": 8080,
        "status": "Deploying",
        "url": "https://helloworld.m3o.app",
        "created": "2021-12-15T09:48:50.864124234Z",
        "updated": "",
        "env_vars": {},
        "custom_domains": []
    }
}

0.000001 USD

Update

POST /v1/app/Update

Update the app. The latest source code will be downloaded, built and deployed.

Request

env_varsobject

Additional env vars to update

namestring

name of the app

Response

{}

Request

Response

{}