From 5f675e7b9e8aa6e1d983f760a372eb116766f2f1 Mon Sep 17 00:00:00 2001 From: Dan Anglin Date: Sat, 16 Dec 2023 17:20:48 +0000 Subject: [PATCH] docs: update README --- README.asciidoc | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/README.asciidoc b/README.asciidoc index 0b63f54..c8cd54f 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -1 +1,61 @@ = Flow Services + +== Overview + +The repository manages the services hosted on Flow Platform with the use of https://go.dev[Go] and https://magefile.org/[Mage]. + +== Currently hosted services + +[%header,cols=3*] +|=== +|Name +|Description +|Link + +|Landing +|The front page of the Flow Platform. +|https://dananglin.me.uk + +|Free Flow +|A single-user ActivityPub instance powered by https://docs.gotosocial.org/en/latest/[GoToSocial]. +|https://freeflow.dananglin.me.uk + +|Code Flow +|The Flow Platform's software forge powered by https://forgejo.org/[Forgejo]. +|https://codeflow.dananglin.me.uk + +|Work Flow +|A simple CI engine powered by https://woodpecker-ci.org/[Woodpecker]. +|https://workflow.dananglin.me.uk +|=== + +== Mage targets + +[source,console] +---- +$ mage -l +Targets: + clean cleans the workspace. + deploy deploys the services to the Flow Platform. + prepare prepares the service's build directory. + shutdown shuts down the Flow Platform in a given environment. + stop stops a running service within the Flow Platform. +---- + +== Deployment guide + +The `config` directory contains the Flow Platform's configuration (e.g. versions of hosted software, etc). It is a submodule of a hidden repository due to the sensitive nature of the configuration. + +1. _(Optional)_ Run `mage prepare ` to run preparations before deployment. Here the relevant files to run the service are downloaded, templates are rendered and static assets are copied to the build directory (if required). Step is optional because the 'deploy' stage automatically runs 'prepare' as a dependency. For example: ++ +[source,console] +---- +mage prepare production forgejo +---- + +2. To deploy changes to Platform, run `mage deploy `. The deploy target runs the prepare target as a dependency. For example: ++ +[source,console] +---- +mage deploy production forgejo +----