Project / ideas for tilde.center
Go to file
aewens 91f391c9e3 Added userdb, ssh-service, center-client, and jump-list project ideas 2019-03-28 17:47:56 +01:00
LICENSE Added userdb, ssh-service, center-client, and jump-list project ideas 2019-03-28 17:47:56 +01:00
README.md Added userdb, ssh-service, center-client, and jump-list project ideas 2019-03-28 17:47:56 +01:00

README.md

todo

The tilde.center (~center) project consists of three core elements:

  • Decentralization
  • Federation
  • 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 (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 be done through a pull request.

Project / Idea Contributors Status Priority
database aewens doing medium-high
ldap-users aewens doing high
dispatcher - todo medium-high
safe-center - todo low
concepts aewens inactive medium
governance aewens todo medium
directory aewens doing medium
skel aewens inactive medium
git-server aewens todo medium
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

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.

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 the greater whole of shared storage in the ~center network.

concepts

A more detailed roadmap for the development of the ~center project along with general concepts for the ~center architecture.

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 peer servers.

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 directory.

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.

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

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

Handles the system for users to submit their own scripts to /center/bin

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. 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.