2016-03-05 04:54:37 +01:00
|
|
|
# Vervis
|
|
|
|
|
|
|
|
**Vervis** is a project hosting and management application, with a focus on
|
|
|
|
softare projects and decentralization. It's still in very early development. At
|
|
|
|
the time of writing, it is a minimal web application in which you can create
|
|
|
|
Git repositories and watch their commit logs.
|
|
|
|
|
|
|
|
Vervis is free software, and is committed to software freedom and to freedom in
|
|
|
|
general. It is released to the public domain using the CC0 Public Domain
|
|
|
|
Dedication. For the boring "legal" details, see the file `COPYING`. Please use
|
|
|
|
and reuse Vervis for a Good purpose, and share your work too in the same
|
|
|
|
spirit.
|
|
|
|
|
2016-04-09 17:44:29 +02:00
|
|
|
## Features
|
|
|
|
|
2016-05-13 17:15:30 +02:00
|
|
|
This is a list of initial features I plan to support in Vervis. It helps me get
|
|
|
|
an overview of more-or-less what's left to do before the first release.
|
|
|
|
|
2016-04-09 17:44:29 +02:00
|
|
|
[ ] - To do
|
|
|
|
[~] - Work in progress
|
|
|
|
[/] - Initial coding done, needs tests and polishing
|
|
|
|
[x] - Complete
|
|
|
|
|
|
|
|
[ ] User management
|
2016-04-18 20:57:34 +02:00
|
|
|
[~] View your personal overview
|
|
|
|
[~] Other users' pages
|
|
|
|
[/] Register
|
2016-04-09 17:44:29 +02:00
|
|
|
[ ] Delete account
|
|
|
|
[/] Log in
|
|
|
|
[/] Log out
|
|
|
|
[ ] Reset password
|
|
|
|
[ ] TLS client cert
|
|
|
|
[ ] Upload it
|
|
|
|
[ ] View it
|
|
|
|
[ ] Log in using it
|
|
|
|
[ ] Change profile details
|
2016-05-14 00:06:23 +02:00
|
|
|
[/] Key management
|
2016-04-18 20:57:34 +02:00
|
|
|
[/] Add key
|
2016-05-14 00:06:23 +02:00
|
|
|
[/] Delete key
|
2016-04-18 20:57:34 +02:00
|
|
|
[/] View keys
|
2016-04-09 17:44:29 +02:00
|
|
|
[ ] Project management
|
2016-05-13 17:15:30 +02:00
|
|
|
[/] Tickets
|
2016-04-09 17:44:29 +02:00
|
|
|
[ ] Wiki
|
|
|
|
[ ] Kanban
|
|
|
|
[ ] Merge requests
|
|
|
|
[ ] Repo management
|
2016-04-18 20:57:34 +02:00
|
|
|
[ ] Delete repo
|
|
|
|
[/] Add repo
|
|
|
|
[ ] Rename repo
|
|
|
|
[ ] Edit repo settings
|
|
|
|
[ ] View repo content
|
|
|
|
[/] File tree
|
|
|
|
[ ] File content
|
|
|
|
[/] Plain text
|
|
|
|
[/] Syntax highlighting
|
|
|
|
[/] Document rendering
|
|
|
|
[ ] Images
|
|
|
|
[ ] Audio
|
|
|
|
[ ] Video
|
|
|
|
[ ] Raw file download
|
2016-05-04 13:09:36 +02:00
|
|
|
[ ] Darcs
|
|
|
|
[ ] Create new repo
|
2016-05-04 13:50:12 +02:00
|
|
|
[/] Web
|
2016-05-04 13:09:36 +02:00
|
|
|
[ ] SSH
|
|
|
|
[ ] Delete repo
|
2016-05-13 23:41:46 +02:00
|
|
|
[/] Web
|
2016-05-04 13:09:36 +02:00
|
|
|
[ ] SSH
|
2016-05-13 17:15:30 +02:00
|
|
|
[/] Clone
|
|
|
|
[/] HTTP
|
|
|
|
[/] SSH
|
|
|
|
[/] Pull
|
|
|
|
[/] HTTP
|
2016-05-04 13:09:36 +02:00
|
|
|
[/] SSH
|
|
|
|
[ ] Push
|
|
|
|
[ ] HTTP
|
2016-05-13 17:15:30 +02:00
|
|
|
[/] SSH
|
|
|
|
[/] View
|
|
|
|
[/] History
|
|
|
|
[/] Files
|
2016-05-04 13:09:36 +02:00
|
|
|
[ ] Git
|
|
|
|
[ ] Create new repo
|
|
|
|
[/] Web
|
|
|
|
[ ] SSH
|
|
|
|
[ ] Delete repo
|
2016-05-13 23:41:46 +02:00
|
|
|
[/] Web
|
2016-05-04 13:09:36 +02:00
|
|
|
[ ] SSH
|
|
|
|
[ ] Clone
|
2016-07-27 17:28:19 +02:00
|
|
|
[/] HTTP
|
2016-05-04 13:09:36 +02:00
|
|
|
[/] SSH
|
|
|
|
[ ] Git
|
|
|
|
[ ] Pull
|
2016-07-27 17:28:19 +02:00
|
|
|
[/] HTTP
|
2016-05-04 13:09:36 +02:00
|
|
|
[/] SSH
|
|
|
|
[ ] Git
|
|
|
|
[ ] Push
|
|
|
|
[ ] HTTP
|
|
|
|
[/] SSH
|
2016-05-13 17:15:30 +02:00
|
|
|
[/] View
|
2016-05-04 13:09:36 +02:00
|
|
|
[/] History
|
|
|
|
[/] Files
|
2016-04-09 17:44:29 +02:00
|
|
|
[ ] Federation
|
|
|
|
|
2016-06-05 12:42:57 +02:00
|
|
|
## Reliability requirements
|
|
|
|
|
|
|
|
These features are considered critical for a Vervis instance to be a reasonably
|
|
|
|
reliable place where people can host their projects and repos, and not worry
|
|
|
|
about some bug or missing feature causing loss of data or access.
|
|
|
|
|
|
|
|
[ ] Password reset, at least over plain email, either automatically or a
|
|
|
|
temporary manual hack which will work at least for personal instances
|
2016-06-06 08:03:12 +02:00
|
|
|
[x] Git pull and push over SSH fully working
|
|
|
|
[x] Darcs pull and push over SSH fully working
|
|
|
|
[x] SSH server implementation really secure as far as I know
|
|
|
|
[x] TLS support, especially critical when sending passwords. For now, done
|
|
|
|
externally through Lighttpd, not Vervis itself
|
|
|
|
[x] Darcs pull over HTTP and HTTPS
|
2016-07-27 17:28:19 +02:00
|
|
|
[x] Git pull over HTTP and HTTPS
|
2016-06-05 12:42:57 +02:00
|
|
|
[ ] Clear policy and guidelines for DB schema changes
|
|
|
|
[ ] Running instance has data backups
|
|
|
|
|
2016-03-05 04:54:37 +01:00
|
|
|
## Installation
|
|
|
|
|
|
|
|
See `INSTALL.md`. To be honest, I haven't written it yet. Just use `stack
|
|
|
|
install`, pray, and ask me if anything fails. Ah, actually before that you need
|
|
|
|
to create a PostgreSQL database, generate an SSH key and update the settings in
|
|
|
|
`config/settings.yml` as needed. I promise to write detailed instructions soon.
|
|
|
|
|
|
|
|
## Using
|
|
|
|
|
|
|
|
See the .cabal file for more info and link to project website and version
|
2016-01-28 15:15:54 +01:00
|
|
|
control.
|
|
|
|
|
2016-03-05 04:54:37 +01:00
|
|
|
The official download location is the Darcs repository:
|
|
|
|
|
|
|
|
<http://hub.darcs.net/fr33domlover/vervis>
|
|
|
|
|
|
|
|
Releases are made to Hackage, the Haskell package repository.
|
|
|
|
See <http://hackage.haskell.org/package/vervis>.
|
|
|
|
|
|
|
|
See the file `INSTALL.md` for a detailed usage and deployment guide. The file
|
|
|
|
`ChangeLog` explains how to see the history log of the changes done in the
|
|
|
|
code. `NEWS.md` provides a friendly overview of the changes for each release.
|
|
|
|
|
|
|
|
## Reporting Bugs and Suggesting Features
|
|
|
|
|
|
|
|
If you found a bug, or you have an idea, a feature request or a wishlist item,
|
|
|
|
open a ticket for it! Even if you're goint to implement something or try to
|
|
|
|
solve it.
|
2016-01-28 15:15:54 +01:00
|
|
|
|
2016-03-05 04:54:37 +01:00
|
|
|
<http://rel4tion.org/projects/vervis/tickets/>
|
2016-01-28 15:15:54 +01:00
|
|
|
|
2016-03-05 04:54:37 +01:00
|
|
|
If you're going to implement some feature or fix some bug you found,
|
|
|
|
**start by opening a ticket** so that other people will know which features are
|
|
|
|
being developed and who does what.
|