Documentation
¶
Overview ¶
Package gitfed holds nothing but the embedded changelog — Go's //go:embed can't reach outside the directory containing the directive, so this lives at the module root next to CHANGELOG.md itself rather than duplicating the file under cmd/gitfed-web.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Changelog string
Functions ¶
This section is empty.
Types ¶
This section is empty.
Source Files
¶
- changelog.go
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
gitfed-ctl
command
gitfed-ctl is an update utility for an already-running gitfed instance: it checks for new released versions, makes any breaking change flagged in CHANGELOG.md something you have to individually acknowledge before continuing, optionally backs up the data volume, then rebuilds and redeploys — all running locally on the VPS itself, so there's no SSH hop back to the same machine and no repeated password prompt (the problem with `deploy/update.sh current` this replaces for anyone who isn't cutting their own releases; see FEDERATION.md).
|
gitfed-ctl is an update utility for an already-running gitfed instance: it checks for new released versions, makes any breaking change flagged in CHANGELOG.md something you have to individually acknowledge before continuing, optionally backs up the data volume, then rebuilds and redeploys — all running locally on the VPS itself, so there's no SSH hop back to the same machine and no repeated password prompt (the problem with `deploy/update.sh current` this replaces for anyone who isn't cutting their own releases; see FEDERATION.md). |
|
gitfed-install
command
gitfed-install is an interactive terminal wizard that deploys gitfed on a fresh VPS: installs k3s/cert-manager if missing, builds and imports the image with the correct tag, applies the manifests, waits for the pod to come up (diagnosing the ErrImageNeverPull tag-mismatch case specifically if it does), verifies the live endpoints, then hands off to gitfed-tui for the first account.
|
gitfed-install is an interactive terminal wizard that deploys gitfed on a fresh VPS: installs k3s/cert-manager if missing, builds and imports the image with the correct tag, applies the manifests, waits for the pod to come up (diagnosing the ErrImageNeverPull tag-mismatch case specifically if it does), verifies the live endpoints, then hands off to gitfed-tui for the first account. |
|
gitfed-renew-cert
command
gitfed-renew-cert is a client-side helper, meant to run from cron/a systemd timer on a user's machine: it checks whether the user's gitfed certificate is close to expiry and, if so, requests a fresh one from the user's home instance over SSH (the "gitfed-cert" exec command implemented in internal/ssh/session.go).
|
gitfed-renew-cert is a client-side helper, meant to run from cron/a systemd timer on a user's machine: it checks whether the user's gitfed certificate is close to expiry and, if so, requests a fresh one from the user's home instance over SSH (the "gitfed-cert" exec command implemented in internal/ssh/session.go). |
|
gitfed-server
command
gitfed-server is the gitfed daemon: SSH git server + federation well-known HTTP endpoint, per DESIGN.md §4/§8.
|
gitfed-server is the gitfed daemon: SSH git server + federation well-known HTTP endpoint, per DESIGN.md §4/§8. |
|
gitfed-tui
command
gitfed-tui is the admin terminal UI for managing users, repos, ACLs and the federation trust store, per DESIGN.md §2/§9 (Phase 1-2).
|
gitfed-tui is the admin terminal UI for managing users, repos, ACLs and the federation trust store, per DESIGN.md §2/§9 (Phase 1-2). |
|
gitfed-web
command
gitfed-web is gitfed's web UI: a public repo browser (README/LICENSE/tags, public repos, no login needed) plus, behind a real username/password login, self-service (manage your own keys, repos, collaborators) and an admin section for instance-admin accounts.
|
gitfed-web is gitfed's web UI: a public repo browser (README/LICENSE/tags, public repos, no login needed) plus, behind a real username/password login, self-service (manage your own keys, repos, collaborators) and an admin section for instance-admin accounts. |
|
internal
|
|
|
acl
Package acl implements the repo access-control model described in DESIGN.md §6: an owner plus a list of collaborators (local or federated principals) each granted read, write or admin.
|
Package acl implements the repo access-control model described in DESIGN.md §6: an owner plus a list of collaborators (local or federated principals) each granted read, write or admin. |
|
admin
Package admin implements the management operations exposed by the TUI (and usable headlessly): users, repos, ACLs and the trust store, per DESIGN.md §2 ("Gestion des repos/utilisateurs/ACL via TUI").
|
Package admin implements the management operations exposed by the TUI (and usable headlessly): users, repos, ACLs and the trust store, per DESIGN.md §2 ("Gestion des repos/utilisateurs/ACL via TUI"). |
|
adminrpc
Package adminrpc lets gitfed-tui drive a *running* gitfed-server over a local Unix socket, implementing admin.Ops on the client side.
|
Package adminrpc lets gitfed-tui drive a *running* gitfed-server over a local Unix socket, implementing admin.Ops on the client side. |
|
ca
Package ca generates the instance's local certificate authority keypair and issues short-TTL OpenSSH user certificates, per DESIGN.md §5.1.
|
Package ca generates the instance's local certificate authority keypair and issues short-TTL OpenSSH user certificates, per DESIGN.md §5.1. |
|
config
Package config holds the on-disk instance configuration shared by cmd/gitfed-server and cmd/gitfed-tui.
|
Package config holds the on-disk instance configuration shared by cmd/gitfed-server and cmd/gitfed-tui. |
|
federation
Package federation implements cross-instance identity discovery and the remote-CA trust store, per DESIGN.md §5.2.
|
Package federation implements cross-instance identity discovery and the remote-CA trust store, per DESIGN.md §5.2. |
|
gitexec
Package gitexec wraps git-upload-pack / git-receive-pack as subprocesses, per DESIGN.md §8 ("pas de réécriture du protocole git : on wrappe git-receive-pack / git-upload-pack").
|
Package gitexec wraps git-upload-pack / git-receive-pack as subprocesses, per DESIGN.md §8 ("pas de réécriture du protocole git : on wrappe git-receive-pack / git-upload-pack"). |
|
i18n
Package i18n holds gitfed-web's translation strings and looks them up by key.
|
Package i18n holds gitfed-web's translation strings and looks them up by key. |
|
opsconnect
Package opsconnect implements the connection strategy shared by every admin frontend (gitfed-tui, gitfed-web): talk to a running gitfed-server over its admin socket when one is up (live mode), otherwise open the store directly (offline mode).
|
Package opsconnect implements the connection strategy shared by every admin frontend (gitfed-tui, gitfed-web): talk to a running gitfed-server over its admin socket when one is up (live mode), otherwise open the store directly (offline mode). |
|
ssh
Package ssh implements the gitfed SSH server: certificate/raw-key authentication, ACL enforcement, and wrapping of git-receive-pack / git-upload-pack, per DESIGN.md §5, §6, §7.
|
Package ssh implements the gitfed SSH server: certificate/raw-key authentication, ACL enforcement, and wrapping of git-receive-pack / git-upload-pack, per DESIGN.md §5, §6, §7. |
|
store
Package store provides bbolt-backed persistence for users, repos, ACLs, the remote-CA trust store and instance metadata.
|
Package store provides bbolt-backed persistence for users, repos, ACLs, the remote-CA trust store and instance metadata. |
|
version
Package version holds gitfed's version string, the single source of truth other packages (the well-known federation doc, the web UI footer) display it from.
|
Package version holds gitfed's version string, the single source of truth other packages (the well-known federation doc, the web UI footer) display it from. |
Click to show internal directories.
Click to hide internal directories.