Skip to content

Commit a39574f

Browse files
author
Gabriel Monroy
committed
first pass at terms documentation
1 parent 5df9616 commit a39574f

14 files changed

Lines changed: 129 additions & 22 deletions

File tree

docs/gettingstarted/concepts.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Build Stage
4949
The :ref:`Controller` includes a `Gitosis Server`_ that receives
5050
incoming git push requests over SSH and builds applications
5151
inside ephemeral Docker containers.
52-
Tarballs of the /app directory are extracted into a :ref:`slug` and exposed
52+
Tarballs of the /app directory are extracted into a slug and exposed
5353
on the Controller using an Nginx static file server.
5454
The slug is later downloaded by the runtime layer and bind-mounted
5555
into a Docker container for execution.

docs/terms/build.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,8 @@
66

77
Build
88
=====
9+
A Deis build refers to the output of a specific application build.
10+
Deis builds can be created automatically using git push,
11+
or manually using the client.
12+
13+
When a new build is created, a new :ref:`release` is created automatically.

docs/terms/config.rst

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
:title: Config
2-
:description: What is Config?
3-
:keywords: config, release
2+
:description: What is Deis Config?
3+
:keywords: config, release, envvar, envvars, environment, variables
44

55
.. _config:
66

77
Config
88
======
9+
Config refers to a set of environment variables used by
10+
:ref:`Containers <container>` in a :ref:`Formation's <formation>`
11+
runtime :ref:`layer`.
12+
13+
When Config is changed, a new :ref:`release` is created automatically.

docs/terms/container.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
:title: Container
2-
:description: What is a Container?
2+
:description: What is a Deis Container?
33
:keywords: lxc container, lxc, container, docker
44

55
.. _container:
66

77
Container
88
=========
9+
Deis containers are instances of `Docker`_ containers.
10+
Containers perform the actual work of a :ref:`Formation` by
11+
servicing requests or running background tasks as
12+
part of the runtime :ref:`Layer`.
13+
14+
.. _`Docker`: http://docker.io/

docs/terms/controller.rst

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,22 @@
66

77
Controller
88
==========
9+
The controller is the "brains" of the Deis platform.
10+
Each controller is tied to a single Chef organization.
11+
The controller is in charge of:
12+
13+
* Processing Client API calls
14+
* Managing Chef Nodes
15+
* Managing Docker Containers
16+
* Configuring Nginx proxies
17+
18+
The controller stack includes:
19+
20+
* Django API Server for handling API calls
21+
* PostgreSQL database as a backing store for Django
22+
* Celery / RabbitMQ for dispatching tasks
23+
* Gitosis to handle access control for Git Push over SSH
24+
* Docker and Buildstep to process Heroku Buildpacks
25+
26+
Follow the :ref:`Installation` process to setup your own private
27+
Deis controller.

docs/terms/flavor.rst

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
:title: Flavor
2-
:description: What is a Flavor?
2+
:description: What is a Deis Flavor?
33
:keywords: flavor
44

55
.. _flavor:
66

77
Flavor
88
======
9+
A flavor defines the configuration for :ref:`Nodes <node>` in a
10+
:ref:`Layer`, including their:
11+
12+
* Provider Type (e.g. EC2)
13+
* Launch Parameters (region, zone, etc)
14+
* Initial Configuration using `cloud-config`_
15+
16+
The :ref:`Controller` comes pre-seeded with default flavors for EC2
17+
that use 64-bit Deis-optimized AMIs with an m1.medium instance size.
18+
19+
.. _`cloud-config`: http://cloudinit.readthedocs.org/en/latest/topics/examples.html#install-and-run-chef-recipes

docs/terms/formation.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
:title: Formation
2-
:description: What is a Formation?
2+
:description: What is a Deis Formation?
33
:keywords: formation, deis
44

55
.. _formation:
66

77
Formation
88
=========
9+
A :ref:`formation` is a set of infrastructure used to host a single application
10+
or service backed by a single git repository. Each formation includes
11+
:ref:`Layers <layer>` of :ref:`Nodes <node>` used to host services, a set of
12+
:ref:`Containers <container>` used to run isolated processes, and a
13+
:ref:`Release` that defines the current :ref:`Build` and :ref:`config`
14+
deployed by containers.

docs/terms/index.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ Terms
1818
node
1919
container
2020

21-
release
2221
build
2322
config
24-
slug
23+
release
2524

26-
provider
2725
flavor
26+
provider
27+
key
2828

docs/terms/key.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
:title: Key
2+
:description: What is a Deis Key?
3+
:keywords: key, ssh
4+
5+
.. _key:
6+
7+
Key
8+
===
9+
Deis keys are SSH Keys used during the git push process. Each user
10+
can use the client to manage a list of keys on the :ref:`Controller`.
11+
12+
A user's keys are automatically added to every launched :ref:`Node`,
13+
allowing easy SSH access via:
14+
15+
.. code-block:: console
16+
17+
$ ssh ubuntu@<node-fqdn>

docs/terms/layer.rst

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,28 @@
11
:title: Layer
2-
:description: What is a Layer?
2+
:description: What is a Deis Layer?
33
:keywords: layer
44

55
.. _layer:
66

77
Layer
88
=====
9+
:ref:`Layers <layer>` are homogeneous groups of :ref:`Nodes <node>` that
10+
perform work on behalf of a formation. Each node in a layer has
11+
the same :ref:`Flavor` and Chef configuration, allowing them to be scaled
12+
easily.
13+
14+
Runtime Layers
15+
^^^^^^^^^^^^^^
16+
Runtime layers service requests and run background tasks for the formation.
17+
Nodes in a runtime layer use a Chef databag to deploy
18+
:ref:`Containers <container>` running a specific :ref:`Release`.
19+
20+
Proxy Layers
21+
^^^^^^^^^^^^
22+
Proxy layers expose the formation to the outside world.
23+
Nodes in a proxy layer use a Chef databag to configure routing of
24+
inbound requests to :ref:`Containers <container>` hosted on runtime layers.
25+
26+
Custom Layers
27+
^^^^^^^^^^^^^
28+
It is also possible to create custom layers that contain custom run-lists.

0 commit comments

Comments
 (0)