todo/README.md

143 lines
6.1 KiB
Markdown
Raw Permalink Normal View History

2018-12-27 16:14:01 +00:00
# todo
The tilde.center (**~center**) project consists of three core elements:
* Decentralization
* Federation
2018-12-28 17:57:55 +00:00
* Home-brewed open source projects (HBOSP)
The "big picture" goal right now is to create the a decentralized tilde server
that can be deployed across other servers to provide the same experience for
it's users. To make this possible while keeping up with home-brewed open source
projects, there is a lot to be done. That is where this repository comes in.
Below are projects or ideas for ~center projects along with users working on
them, current status (todo, doing, done, inactive), and priority of the project
(high, medium, low). If you are submitting an idea without wanting to take
ownership of the project, specify the user(s) as "-". For project ideas with
more than one user working on it, list the users in comma-separated format
2018-12-27 19:09:22 +00:00
(e.g. if alice and bob are working on the same project then "alice, bob" would
be listed under Contributors).
Adding project ideas, enlistment to a project idea, or changing the status can
2018-12-28 17:57:55 +00:00
be done through a [pull request](https://tildegit.org/center/todo/pulls).
2018-12-27 19:09:22 +00:00
| Project / Idea | Contributors | Status | Priority |
| -------------- | ------------ | ------ | -------- |
| database | aewens | doing | medium-high |
2019-01-03 15:57:24 +00:00
| ldap-users | aewens | doing | high |
| dispatcher | - | todo | medium-high |
2018-12-27 19:09:22 +00:00
| safe-center | - | todo | low |
| concepts | aewens | inactive | medium |
| governance | aewens | todo | medium |
2019-01-03 17:33:26 +00:00
| directory | aewens | doing | medium |
| skel | aewens | inactive | medium |
| git-server | aewens | todo | medium |
2019-01-07 19:27:54 +00:00
| wiki | - | todo | high |
| motd | aewens | inactive | low |
| intranet | - | todo | low |
| search-engine | - | todo | low |
| user-scripts | aewens | inactive | medium |
| abots | aewens | doing | medium |
| ceps | - | todo | medium |
| userdb | - | todo | medium |
| ssh-service | - | todo | low |
| center-client | - | todo | low |
| jump-list | - | todo | low |
Use this space below to go into more detail about the specifics of the project.
As well, if the project exists you can link to it's repository here.
## [database](https://tildegit.org/center/database)
The SQLite database and schemas that will be utilized by ~center. Will maintain
a public and private database, the former will have its changes synced to the
peer nodes and the latter will be unique to the server.
2019-01-03 15:57:24 +00:00
## [ldap-users](https://tildegit.org/center/ldap-users)
OpenLDAP setup and user management tools for generating accounts that can later
be distributed and utilized by other ~center services for single sign on (SSO)
purposes (will need to be compatible with **database**).
## dispatcher
TCP server to communicate with peer ~center servers for handling server
federation and synchronizing data (will later need to adhere to RFC
specifications agreed upon by users).
## safe-center
Allows for users to share their local storage in exchange for utilizing part of
2018-12-28 17:57:55 +00:00
the greater whole of shared storage in the ~center network.
## [concepts](https://tildegit.org/center/concepts)
A more detailed roadmap for the development of the ~center project along with
general concepts for the ~center architecture.
## [governance](https://tildegit.org/center/governance)
A decentralized system that requires decision making by an individual is not
very decentralized. This will outline the governance model for ~center along
with any scripts that will be used to assisting on voting on decisions across
2019-01-03 15:57:24 +00:00
peer servers.
## [directory](https://tildegit.org/center/directory)
To aid in the portability of deploying and distributing the setup of ~center
servers, the bulk of it's files and directories will be stored under a /center
2019-01-03 17:33:26 +00:00
directory.
## [skel](https://tildegit.org/center/skel)
The default directories and files in user's $HOME for ~center
## git-server
Currently, these projects are hosted on tildegit.org, but this is a project
operated outside of the ~center project. The git-server would be a HBOSP that
can authenticate against the LDAP database and work with the existing git
command.
2019-01-07 19:27:54 +00:00
## wiki
Given the nature of the project, having a place to assist in on-loading new
users and future explanations of projects, goals, tutorials, etc would be very
useful and needed.
## [motd](https://tildegit.org/center/motd)
Scripts that handle the message of the day for the server
## intranet
Adds local_html to $HOME for users to write to a network only viewable from the
server and not exposed outside the network. Presumably for ~center-centric
documents and web pages.
## search-engine
A search engine you can trust because it is home-made by your fellow users, not
something run by a company wanting to harvest your data for who knows what.
Should also have a version for the intranet project.
## [user-scripts](https://tildegit.org/center/user-scripts)
Handles the system for users to submit their own scripts to /center/bin
## [abots](https://tildegit.org/center/abots)
"A Bunch Of Tiny Scripts", or ABOTS, for shared library code
## ceps
The Center Enhancement Proposals (CEPs) system for prosing changes to the
[Tilde Center Specification](https://rfc.tildeverse.org/rfc.php?number=3).
These will essentially be RFCs for the ~center project.
## userdb
Replacement to **ldap-users**. Would be an SQL database compatible with
**database** and provide a UUID for users along with integrating them into
/etc/{passwd,shadow,group} while leaving existing users on the system as-is.
## ssh-service
A passwordless service accessible via SSH that would use ForceCommand to provide
an service for users or other services. Will primarily be used to provide the
username on the server that maps to the UUID of the user as well as proving a
list of peer servers.
## center-client
A script users can use to access peer servers. It will keep the UUID on-hand so
that it can query the list of servers and obtain the user's username on the
server automatically. All a user would need to do is select a peer server and
it will log them into it for them.
## jump-list
Given the list of peer servers, generate SSH jump configurations to those nodes
to allow users to easily login to other peer servers that share their username.