(4 seconds ago)commit 81d366f: removed janky one time list, and replaced with generic vector implementation
tree
Files | History
git clone git@host:brickware/marrow.git
| type | name | commit | size |
|---|---|---|---|
| file | .gitignore | (2 months ago)b8cdced README / cleanup | 139 |
| file | Makefile | (4 seconds ago)81d366f removed janky one time list, and replaced ... | 820 |
| file | README | (2 months ago)b8cdced README / cleanup | 1318 |
| file | TODO | (4 seconds ago)81d366f removed janky one time list, and replaced ... | 262 |
| file | allocator.h | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 274 |
| file | defalloc.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 735 |
| file | lalloc.c | (4 seconds ago)81d366f removed janky one time list, and replaced ... | 533 |
| file | ldup.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 426 |
| file | linsert.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 304 |
| file | linserts.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 685 |
| file | lpush.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 275 |
| file | marrow-auth.c | (2 months ago)512c504 Slice forward approach | 5458 |
| file | marrow-shell.c | (6 hours ago)f79468c added hook install | 9831 |
| file | marrow-static.c | (4 seconds ago)81d366f removed janky one time list, and replaced ... | 74619 |
| file | path.h | (2 months ago)c268699 initial release of brickware marrow | 883 |
| file | slice.h | (2 months ago)512c504 Slice forward approach | 278 |
| file | slice_empty.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 200 |
| file | slice_fromcstr.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 258 |
| file | slice_isempty.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 191 |
| file | slice_tocstr.c | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 375 |
| file | vector.h | (45 minutes ago)7790c99 Meh. Halfway vector implementation. Not ha... | 5601 |
MARROW
Minimal git server for FreeBSD jails. Handles authentication, repository access
control, and static site generation.
COMPONENTS
marrow-auth SSH authorized keys provider
marrow-shell Restricted shell enforcing repository permissions
marrow-static Static site generator for repositories
AUTHENTICATION
marrow-auth reads SSH public keys from /usr/local/etc/marrow/$USER and outputs
them with forced marrow-shell commands.
REPOSITORY ACCESS
Repositories live in /srv/git. Access rules:
- Anonymous users: read-only access to all repositories
- Authenticated users: read all, write to /srv/git/$USER/ only
- Write operations auto-create bare repositories if they don't exist
STATIC SITE GENERATION
Generate HTML pages for repositories:
marrow-static <output-dir> <repo>
Generates repository page with README, recent commits, and clone URL.
BUILDING
make Build all programs
make install Install to /usr/local/bin
make clean Clean build artifacts
SETUP
1. Add to /etc/ssh/sshd_config:
Match User git
AuthorizedKeysCommand /usr/local/bin/marrow-auth %u
AuthorizedKeysCommandUser git
2. Create /usr/local/etc/marrow/$USER with SSH public keys for each user
3. Create /srv/git for repositories
4. Users connect via SSH and use git commands