/docs/terminology.txt
Plain Text | 89 lines | 69 code | 20 blank | 0 comment | 0 complexity | 43cdaad5bc274b17fd39e0608331bcd0 MD5 | raw file
Possible License(s): GPL-2.0
- Silver Lining Terminology
- =========================
- This terminology is not yet implemented, but with a refactoring it
- will be:
- Provider:
- This is a provider like Rackspace, EC2, etc. This is generally
- defined in ``~/.silverlining.conf``. This generally includes account
- information in addition to the actual provider, so if you are
- working with multiple accounts you will have multiple providers.
- Node:
- This is a virtual server that has been setup. It has a name,
- which is also the domain name it can be accessed by. The name
- doesn't have to be in DNS (``/etc/hosts`` is setup for this).
- Hostnames can be substituted for node names in all cases (but a
- node that has just been created has no hostnames because no sites
- have been deployed to it). Node names and hostnames can overlap.
- Location (FIXME: not a great name):
- This is a hostname, and optionally a path where an application
- will live. For example, ``blog.example.com/about/``. Multiple
- locations can be mapped to a single application.
- Hostname:
- The host part of a location.
- Application Package:
- This is a codebase that can be run. It has an app.ini file, and a
- runner for the application.
- Application:
- This is an application package, ready to deploy. It also has an
- application name. Application Packages specify a default name,
- but application names are unique on a node; so if a deployment
- uses a particular application name then it is the identical
- application and will replace the old application. If, for
- instance, you want to install two distinct versions of the same
- application package -- e.g., two versions of a blog product --
- then you must give them two separate application names.
- Deployment:
- This is a specific deployment of an application. It is named
- based on the application name and a timestamp and unique integer.
- The name is referred to as ``instance_name``.
- Site:
- This is an arrangement of applications and their locations, and
- potentially an arrangment of servers to support those applications
- (if the entire site is not deployed on a single server).
- Services:
- These are persistent services that the application will use.
- deb Package:
- This is unsurprisingly a deb package, installed with apt-get.
- Generally these will be Ubuntu packages, but you can use other
- repositories and install packages by other providers.
- ``app_dir``:
- This is the directory where Application files have been uploaded
- on a server, generally ``/var/www/APP_NAME.TIMESTAMP``.
- ``instance_name``:
- This is the name of the deployment, e.g., ``APP_NAME.TIMESTAMP``.
- ``hostname``:
- This is a host that can be ssh'd to.
- ``app_name``:
- This is the name of the app on the server (``APP_NAME``).
- ``node``:
- There are a limited number of times when ``node`` is distinct from
- ``hostname``:
- * first, if you provide ``--node`` then that overrides the
- hostname for ssh, etc. This can be useful when there is a load
- balancer in front of the server, or many servers provide the
- same hostname (e.g., many load-balanced app servers).
- * second, if the hostname is not mapped to anything (it has not
- been created, it is not in ``/etc/hosts``), then this lets the
- hostname be mapped to a specific node/server.
- In other cases, hostname and node are equivalent, and if a command
- includes the hostname it doesn't require an explicit node.