aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-12 02:22:05 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-12 02:22:05 +0800
commit5c2aa98d5eb33824f9bcd6b993dd95b4054f6483 (patch)
treea6c78689de65eb71baf88b220fc3aff2b522a4ef /README.md
parentrepo_commit: Add missing error check (diff)
downloadforge-5c2aa98d5eb33824f9bcd6b993dd95b4054f6483.tar.gz
forge-5c2aa98d5eb33824f9bcd6b993dd95b4054f6483.tar.zst
forge-5c2aa98d5eb33824f9bcd6b993dd95b4054f6483.zip
README.md: Protocols and user interfaces
Diffstat (limited to 'README.md')
-rw-r--r--README.md15
1 files changed, 13 insertions, 2 deletions
diff --git a/README.md b/README.md
index 9f2fff7..2dda48b 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,17 @@ The available `module_type`s are:
Group and subgroup names may not be `:`.
+## Protocols and user interfaces
+
+The following should be roughly equivalent in functionality:
+* Web interface
+* Custom TLS-based API
+* HTTP GraphQL API
+
+The following shall function where they make sense:
+* User-friendly SSH interface
+* Email interface
+
## Version-controlled repos
Currently we only support Git.
@@ -26,7 +37,7 @@ Each version-controlled repo ("main repo") has an area for merge requests
changes from a Git ref ("source ref") into a branch in the main repo
("destination branch").
-When creating a MR from the API, the Web interface, email, or SSH, it shall be
+When creating a MR from the API, the web interface, email, or SSH, it shall be
possible to create a special source ref, hosted in the main repo as a branch
with a branch name that begins with `merge_requests/`. Unsolicited pushes to
`merge_requests/` will automatically open a MR, returning instructions to edit
@@ -68,7 +79,7 @@ The native API may be authenticated in the transport layer (e.g. TLS client
certificates or UNIX domain socket authentication), via passwords, and via
challenge-response mechanisms including SSH keys. SASL may be considered.
-The Web interface will have a dedicated login screen. Connections are set as
+The web interface will have a dedicated login screen. Connections are set as
keepalive, and sessions are tracked across a kept-alive connection; optionally,
a user may click "remember me with a cookie" in the login screen.