Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Phase 6 is done: sites ride the instance's domain, TLS stays in front

9bea7f110ae780105f9c7c58024a3b67a86d7d7a · Keenan Nemetz · 18d ago · parent d3296cda

Phase 6 is done: sites ride the instance's domain, TLS stays in front

Custom domains and ACME are dropped as non-goals rather than deferred work. An
instance already owns one domain and terminates TLS in front of it, so every
repository's site is a subdomain of that domain and inherits the certificate
that already exists. `pages_domain` remains the only setting.

The operational requirement that falls out of it, documented in the README and
the sample config: the proxy must preserve the Host header, because Host is the
only thing that says which site a request is for.

internal/config/config.go +2

@@ -117,6 +117,8 @@ func Sample() string {
117 117 data_dir = "./data"
118 118
119 119 # Read-only: the web UI and anonymous git clone.
120 # TLS is not Vole's job: terminate it in a proxy in front of this address and keep
121 # the Host header intact, because site requests are routed by hostname.
120 122 http_addr = "127.0.0.1:8080"
121 123
122 124 # The only write transport. Identity is the SSH key presented at handshake.