convox/docs/reference/primitives/app/resource.md
David Dollar 4710e02af8
docs: embed docs app and first pass at documentation (#81)
* stub out docs

* add docs app

* remove unused gcp code for packr

* handle toc ajax

* use SEGMENT_TOKEN for segment

* remove manual install directory

* docs first pass

* remove loggin docs for now

* remove webhooks docs for now

* tweak docs list to first pass intentions

* fix header links and add gen2
2020-01-31 14:10:34 -05:00

2.1 KiB

Resource

A Resource is a network-accessible external service.

Definition

A Resource is defined in convox.yml and linked to one or more Services.

resources:
  main:
    type: postgres
services:
  web:
    resources:
      - main

Types

The following Resource types are currently available:

Linking

Linking a Resource to a Service causes an environment variable to be injected into Processes of that Service based on the name of the Resource.

The URL presented by this environment variable will contain everything you need to connect, including authentication details.

For example, a postgres resource named main (as in the example above) would injected like this:

MAIN_URL=postgres://username:password@host.name:port/database

Command Line Interface

Listing Resources

$ convox resources -a myapp
NAME  TYPE      URL
main  postgres  postgres://username:password@host.name:port/database

Getting Information about a Resource

$ convox resources info main -a myapp
Name  main
Type  postgres
URL   postgres://username:password@host.name:port/database

Getting the URL for a Resource

$ convox resources url main -a myapp
postgres://username:password@host.name:port/database

Launching a Console

$ convox resources console main -a myapp
psql (11.5 (Debian 11.5-1+deb10u1), server 10.5 (Debian 10.5-2.pgdg90+1))
Type "help" for help.
database=#

Starting a Proxy to a Resource

$ convox resources proxy main -a myapp
Proxying localhost:5432 to host.name:port

Proxying allows you to connect tools on your local machine to Resources running inside the Rack.

Exporting Data from a Resource

$ convox resources export main -f /tmp/db.sql
Exporting data from main... OK

Importing Data to a Resource

$ convox resources import main -f /tmp/db.sql
Importing data to main... OK