summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorBen Hutchings <ben.hutchings@codethink.co.uk>2020-05-06 20:12:47 +0100
committerBen Hutchings <ben.hutchings@codethink.co.uk>2020-06-01 15:26:47 +0100
commit68cc92a192d1c48e8abad7615239f941059fca47 (patch)
tree78a644265421ff7d0f7589b389d01acec644ff09 /README
parent55d65f101337a2d92c1954dbfcb8c55d7142de54 (diff)
downloadlorry-controller-68cc92a192d1c48e8abad7615239f941059fca47.tar.gz
README: Use terms "{Down,Up}stream Host" instead of "Trove"
Lorry Controller is not limited to working with Trove, and we probably shouldn't limit it to mirroring to a co-hosted git server. So: * In the Overview, introduce the terms "Downtream Host" and "Upstream Host" to replace "Trove" and "other Trove". Include the lists of supported server software for each these roles. * In the `lorry-controller.conf` section, use the term "Host specification" instead of "Trove specification". * Replace all references to Trove accordingly, except specific descriptions of integration with or mirroring from Trove.
Diffstat (limited to 'README')
-rw-r--r--README45
1 files changed, 22 insertions, 23 deletions
diff --git a/README b/README
index f14e822..34a1d1f 100644
--- a/README
+++ b/README
@@ -5,13 +5,14 @@ Overview
--------
Lorry Controller, or LC for short, manages the importing of source
-code from external sources into git repositories on a Trove.
+code from external sources into git repositories on a Trove, GitLab,
+or Gerrit server (Downstream Host).
LC uses the Lorry tool to do the actual import. Lorry can read code
from several different version control systems, and convert them to
git. External repositories can be specfied individually, as Lorry
`.lorry` specification files. In addition, LC can be told to mirror
-all the git repositories on another Trove.
+all the git repositories on a Trove or GitLab server (Upstream Host).
LC runs Lorry for the right external repositories, and takes care of
running a suitable number of Lorry instances concurrently, and
@@ -32,7 +33,7 @@ level. For information about these options, run
`lorry-controller-webapp --help` to get a list of them.
The second level is a git repository that specifies which external
-repositories and other Troves to import into the Trove LC runs on.
+repositories and Upstream Hosts to import into the Downstream Host.
This git repository is referred to as CONFGIT in documentation, and is
specified with the the `--confgit-url` command line option, or the
`confgit-url` key in the configuration file. The configuration file
@@ -62,7 +63,7 @@ The `lorry-controller.conf` file
--------------------------------
`lorry-controller.conf` is a JSON file containing a list of maps. Each
-map specifies another Trove, a GitLab instance, or one set of `.lorry`
+map specifies an Upstream Host or one set of `.lorry`
files. Here's an example that tells LC to mirror the `git.baserock.org`
Trove and anything in the `open-source-lorries/*.lorry` files (if any
exist).
@@ -92,46 +93,44 @@ exist).
}
]
-A Trove specification (map) uses the following mandatory keys:
+A Host specification (map) uses the following mandatory keys:
-* `type: trove` -- specify it's a Trove specification.
+* `type:` -- either `trove` or `gitlab`, depending on the type of
+ Upstream Host.
-* `host` -- the other Trove to mirror; a domain name or IP address.
+* `host` -- the Upstream Host to mirror; a domain name or IP address.
* `protocol` -- specify how Lorry Controller (and Lorry) should talk
- to other Troves. Allowed values are `ssh`, `https`, `http`.
+ to the Upstream Host. Allowed values are `ssh`, `https`, `http`.
-* `prefixmap` -- map repository path prefixes from the other Trove to
- the local Trove. If the remote prefix is `foo`, and the local prefix
- is `bar`, then remote repository `foo/baserock/yeehaa` gets mirrored
- to local repository `bar/baserock/yeehaa`. If the remote Trove has a
- repository that does not match a prefix, that repository gets
- ignored.
+* `prefixmap` -- map repository path prefixes from the Upstream Host
+ to the Downstream Host. If the upstream prefix is `foo`, and the
+ downstream prefix is `bar`, then upstream repository
+ `foo/baserock/yeehaa` gets mirrored to downstream repository
+ `bar/baserock/yeehaa`. If the Upstream Host has a repository that
+ does not match a prefix, that repository gets ignored.
* `ls-interval` -- determine how often should Lorry Controller query
- the other Trove for a list of repositories it may mirror. See below
+ the Upstream Host for a list of repositories it may mirror. See below
for how the value is interpreted. The default is 24 hours.
* `interval` -- specify how often Lorry Controller should mirror the
repositories in the spec. See below for INTERVAL. The default
interval is 24 hours.
-Additionally, the following optional keys are allowed in Trove
+Additionally, the following optional keys are allowed in Host
specifications:
-* `ignore` -- a list of git repositories from the other Trove that
+* `ignore` -- a list of git repositories from the Upstream Host that
should NOT be mirrored. Each list element is a glob pattern which
is matched against the path to the git repository (not including leading
slash).
-* `auth` -- specify how to authenticate to the remote Trove over https
+* `auth` -- specify how to authenticate to the Upstream Host over https
(only). It should be a dictionary with the fields `username` and
`password`.
-A GitLab specification (map) makes use of the same keys as a Trove,
-however it uses an additional mandatory key:
-
-* `type: gitlab` -- specify it's a GitLab specification.
+A GitLab specification (map) uses an additional mandatory key:
* `private-token` -- the GitLab private token for a user with the
minimum permissions of master of any group you may wish to create
@@ -143,7 +142,7 @@ mandatory:
* `type: lorries` -- specify it's a Lorry specification.
* `interval` -- identical in meaning to the `interval` in a
- Trove specification.
+ Host specification.
* `prefix` -- a path prefix to be prepended to all repositories
created from the `.lorry` files from this spec.