tweak project proposal #1
1 changed files with 88 additions and 53 deletions
141
architecture.md
141
architecture.md
|
@ -240,56 +240,91 @@ Whereas the core abstraction in Fediversity is a NixOS configuration module, a m
|
|||
|
||||
Whereas details of the implementation may need to be decided as the technical challenges involved become clear, we can already give a higher-level planning of relevant milestones and some of their salient features:
|
||||
|
||||
1. [Implement a way to run online services emphasising user autonomy and portability](https://git.fediversity.eu/Fediversity/Fediversity/issues/347)
|
||||
- [deploying Fediversity applications](https://git.fediversity.eu/Fediversity/Fediversity/issues/99)
|
||||
- [Initial internal user to kick-start feedback process](https://git.fediversity.eu/Fediversity/Fediversity/issues/225):
|
||||
- automated provisioning of:
|
||||
- [databases](https://git.fediversity.eu/Fediversity/Fediversity/issues/115)
|
||||
- [object storage](https://git.fediversity.eu/Fediversity/Fediversity/issues/185)
|
||||
- [virtual machines](https://git.fediversity.eu/Fediversity/Fediversity/issues/116)
|
||||
- [DNS](https://git.fediversity.eu/Fediversity/Fediversity/issues/110)
|
||||
- [admin accounts](https://git.fediversity.eu/Fediversity/Fediversity/issues/178)
|
||||
- [SMTP service](https://git.fediversity.eu/Fediversity/Fediversity/issues/117)
|
||||
- [email accounts](https://git.fediversity.eu/Fediversity/Fediversity/issues/118)
|
||||
- [ephemeral state](https://git.fediversity.eu/Fediversity/Fediversity/issues/314)
|
||||
- [specification published](https://git.fediversity.eu/Fediversity/Fediversity/issues/334)
|
||||
- [ProxmoX back-end supports multiple users](https://git.fediversity.eu/Fediversity/Fediversity/issues/313)
|
||||
- [user can have multiple deployments](https://git.fediversity.eu/Fediversity/Fediversity/issues/241)
|
||||
- [users can update their deployment configurations](https://git.fediversity.eu/Fediversity/Fediversity/issues/158)
|
||||
- [application data back-ups](https://git.fediversity.eu/Fediversity/Fediversity/issues/123)
|
||||
- [migrating application data between hosting providers](https://git.fediversity.eu/Fediversity/Fediversity/issues/100)
|
||||
1. [Disseminate our results by engaging the open-source community to further expand on work in this direction](https://git.fediversity.eu/Fediversity/Fediversity/issues/348)
|
||||
- [automated dev-ops workflows](https://git.fediversity.eu/Fediversity/Fediversity/issues/224):
|
||||
- [separate test environments for staging vs. production](https://git.fediversity.eu/Fediversity/Fediversity/issues/69)
|
||||
- [continuous deployment](https://git.fediversity.eu/Fediversity/Fediversity/issues/177)
|
||||
- [CI rejects failing deployments](https://git.fediversity.eu/Fediversity/Fediversity/issues/102)
|
||||
- [Nix package overlays upstreamed](https://git.fediversity.eu/Fediversity/Fediversity/issues/248)
|
||||
- [facilitate suggestions in PR reviews](https://git.fediversity.eu/Fediversity/Fediversity/issues/302)
|
||||
- [integration test](https://git.fediversity.eu/Fediversity/Fediversity/issues/277)
|
||||
- [external developers empowered to contribute](https://git.fediversity.eu/Fediversity/Fediversity/issues/288):
|
||||
- [NixOS configuration as the core abstraction](https://git.fediversity.eu/Fediversity/Fediversity/issues/339)
|
||||
- [integration tests](https://git.fediversity.eu/Fediversity/Fediversity/issues/277)
|
||||
- [Continuous Integration builds available in a public cache](https://git.fediversity.eu/Fediversity/Fediversity/issues/92)
|
||||
- [reproducible project infrastructure](https://git.fediversity.eu/Fediversity/Fediversity/issues/336)
|
||||
- [continuous deployment](https://git.fediversity.eu/Fediversity/Fediversity/issues/177)
|
||||
- [separate staging/testing environments](https://git.fediversity.eu/Fediversity/Fediversity/issues/69)
|
||||
- [code reviewers can suggest changes](https://git.fediversity.eu/Fediversity/Fediversity/issues/302)
|
||||
- [knowledge base](https://git.fediversity.eu/Fediversity/Fediversity/issues/288)
|
||||
- [module upstreamed to nixpkgs](https://git.fediversity.eu/Fediversity/Fediversity/issues/333)
|
||||
1. [Exploit our work by facilitating the sample use-case of web hosting organisations using an initial set of services](https://git.fediversity.eu/Fediversity/Fediversity/issues/349)
|
||||
- [Software ready for web hosts to take into production](https://git.fediversity.eu/Fediversity/Fediversity/issues/228):
|
||||
- [garbage collection of unallocated resources](https://git.fediversity.eu/Fediversity/Fediversity/issues/188)
|
||||
- [Nix-less bootstrap](https://git.fediversity.eu/Fediversity/Fediversity/issues/332)
|
||||
- [ensure hosts may update users' deployments](https://git.fediversity.eu/Fediversity/Fediversity/issues/159)
|
||||
- [reference front-end decoupled from version of configuration module](https://git.fediversity.eu/Fediversity/Fediversity/issues/304)
|
||||
- [security check](https://git.fediversity.eu/Fediversity/Fediversity/issues/291)
|
||||
- [Key features improving user experience supported](https://git.fediversity.eu/Fediversity/Fediversity/issues/289):
|
||||
- [enqueuing deployment syncs](https://git.fediversity.eu/Fediversity/Fediversity/issues/242)
|
||||
- [provide single sign-on](https://git.fediversity.eu/Fediversity/Fediversity/issues/212)
|
||||
- [upstream configuration options exposed](https://git.fediversity.eu/Fediversity/Fediversity/issues/195)
|
||||
- [allow disabling application while retaining data](https://git.fediversity.eu/Fediversity/Fediversity/issues/186)
|
||||
- [ProxmoX deployment allows scaling resources assigned to a VM](https://git.fediversity.eu/Fediversity/Fediversity/issues/119)
|
||||
- [aid needed user actions on schema update](https://git.fediversity.eu/Fediversity/Fediversity/issues/214)
|
||||
- [pooling application instances to shared VMs](https://git.fediversity.eu/Fediversity/Fediversity/issues/322)
|
||||
- [allow use of external single sign-on](https://git.fediversity.eu/Fediversity/Fediversity/issues/161)
|
||||
- [on migration, allow reconfiguring monolithic vs distributed](https://git.fediversity.eu/Fediversity/Fediversity/issues/341)
|
||||
1. [implement a way to run online services emphasising user autonomy and data portability](https://git.fediversity.eu/Fediversity/Fediversity/issues/347)
|
||||
1. [Finalize architecture doc](https://git.fediversity.eu/Fediversity/Fediversity/issues/39)
|
||||
1. [code-based migration data model](https://git.fediversity.eu/Fediversity/Fediversity/issues/103)
|
||||
1. [migrating application data between hosting providers](https://git.fediversity.eu/Fediversity/Fediversity/issues/100)
|
||||
1. [code-based migration data model](https://git.fediversity.eu/Fediversity/Fediversity/issues/103)
|
||||
1. [enable back-ups of application](https://git.fediversity.eu/Fediversity/Fediversity/issues/123)
|
||||
1. [Create a deployment migration string](https://git.fediversity.eu/Fediversity/Fediversity/issues/77)
|
||||
1. [Start deployment migration](https://git.fediversity.eu/Fediversity/Fediversity/issues/78)
|
||||
1. [application offering generalised](https://git.fediversity.eu/Fediversity/Fediversity/issues/369)
|
||||
1. [NixOS configuration as the core abstraction](https://git.fediversity.eu/Fediversity/Fediversity/issues/339)
|
||||
1. [disseminate our results by engaging the open-source community to further expand on work in this direction](https://git.fediversity.eu/Fediversity/Fediversity/issues/348)
|
||||
1. [automated dev-ops workflows](https://git.fediversity.eu/Fediversity/Fediversity/issues/224)
|
||||
1. [Backups for Forgejo](https://git.fediversity.eu/Fediversity/Fediversity/issues/29)
|
||||
1. [use dedicated Nix builder](https://git.fediversity.eu/Fediversity/Fediversity/issues/366)
|
||||
1. [initial focus on single application for development](https://git.fediversity.eu/Fediversity/Fediversity/issues/327)
|
||||
1. [unify versioning](https://git.fediversity.eu/Fediversity/Fediversity/issues/279)
|
||||
1. [Automated dependency updates](https://git.fediversity.eu/Fediversity/Fediversity/issues/65)
|
||||
1. [infrastructure automatically deployed using continuous deployment](https://git.fediversity.eu/Fediversity/Fediversity/issues/177)
|
||||
1. [Full integration test](https://git.fediversity.eu/Fediversity/Fediversity/issues/277)
|
||||
1. [CI rejects failing deployments](https://git.fediversity.eu/Fediversity/Fediversity/issues/102)
|
||||
1. [code reviewers can suggest changes](https://git.fediversity.eu/Fediversity/Fediversity/issues/302)
|
||||
1. [fediversity apps reused in infra](https://git.fediversity.eu/Fediversity/Fediversity/issues/370)
|
||||
1. [derive users and their keys from the keys directory](https://git.fediversity.eu/Fediversity/Fediversity/issues/199)
|
||||
1. [Nix package overlays upstreamed](https://git.fediversity.eu/Fediversity/Fediversity/issues/248)
|
||||
1. [Separate test environments for staging vs. production](https://git.fediversity.eu/Fediversity/Fediversity/issues/69)
|
||||
1. [support password-protected personal SSH keys for deploying services in development](https://git.fediversity.eu/Fediversity/Fediversity/issues/272)
|
||||
1. [Write all modules with destructured arguments](https://git.fediversity.eu/Fediversity/Fediversity/issues/93)
|
||||
1. [ephemeral state is automatically provisioned](https://git.fediversity.eu/Fediversity/Fediversity/issues/314)
|
||||
1. [external developers empowered to contribute](https://git.fediversity.eu/Fediversity/Fediversity/issues/288)
|
||||
1. [code reviewers can suggest changes](https://git.fediversity.eu/Fediversity/Fediversity/issues/302)
|
||||
1. [Reproducible proxmox installation](https://git.fediversity.eu/Fediversity/Fediversity/issues/325)
|
||||
1. [Continuous Integration builds available in a public cache](https://git.fediversity.eu/Fediversity/Fediversity/issues/92)
|
||||
1. [docs: document having to load nix dev shell for pre-commit hook](https://git.fediversity.eu/Fediversity/Fediversity/issues/98)
|
||||
1. [Update documentation on services](https://git.fediversity.eu/Fediversity/Fediversity/issues/86)
|
||||
1. [knowledge base](https://git.fediversity.eu/Fediversity/Fediversity/issues/243)
|
||||
1. [Document the semantics of our various domains](https://git.fediversity.eu/Fediversity/Fediversity/issues/210)
|
||||
1. [Describe the hardware infrastructure needed to run Fediversity yourself](https://git.fediversity.eu/Fediversity/Fediversity/issues/68)
|
||||
1. [reproducible project infrastructure](https://git.fediversity.eu/Fediversity/Fediversity/issues/336)
|
||||
1. [NixOS configuration as the core abstraction](https://git.fediversity.eu/Fediversity/Fediversity/issues/339)
|
||||
1. [fediversity apps reused in infra](https://git.fediversity.eu/Fediversity/Fediversity/issues/370)
|
||||
1. [Generate documentation on the deployments from the code](https://git.fediversity.eu/Fediversity/Fediversity/issues/89)
|
||||
1. [Write all modules with destructured arguments](https://git.fediversity.eu/Fediversity/Fediversity/issues/93)
|
||||
1. [module upstreamed to nixpkgs](https://git.fediversity.eu/Fediversity/Fediversity/issues/333)
|
||||
1. [panel bundled into Fediversity configuration](https://git.fediversity.eu/Fediversity/Fediversity/issues/342)
|
||||
1. [exploit our work by enabling reproducible deployments of an initial set of portable applications](https://git.fediversity.eu/Fediversity/Fediversity/issues/349)
|
||||
1. [applications deployed on command](https://git.fediversity.eu/Fediversity/Fediversity/issues/99)
|
||||
1. [ProxmoX back-end supports multiple users](https://git.fediversity.eu/Fediversity/Fediversity/issues/313)
|
||||
1. [Proxmox resources are provisioned to deploy services to](https://git.fediversity.eu/Fediversity/Fediversity/issues/116)
|
||||
1. [Deployed services are accessible under the configured domain](https://git.fediversity.eu/Fediversity/Fediversity/issues/76)
|
||||
1. [kick-started initial feedback cycle](https://git.fediversity.eu/Fediversity/Fediversity/issues/225)
|
||||
1. [ProxmoX back-end supports multiple users](https://git.fediversity.eu/Fediversity/Fediversity/issues/313)
|
||||
1. [Proxmox resources are provisioned to deploy services to](https://git.fediversity.eu/Fediversity/Fediversity/issues/116)
|
||||
1. [Users can configure their desired sub-domains in the online panel, so that the deployed services are assigned the desired sub-domains](https://git.fediversity.eu/Fediversity/Fediversity/issues/142)
|
||||
1. [provision admin accounts for deployed services](https://git.fediversity.eu/Fediversity/Fediversity/issues/178)
|
||||
1. [users can update their deployment configurations](https://git.fediversity.eu/Fediversity/Fediversity/issues/158)
|
||||
1. [use immutable buckets from VMs](https://git.fediversity.eu/Fediversity/Fediversity/issues/185)
|
||||
1. [Databases are provisioned so that services can use a central storage](https://git.fediversity.eu/Fediversity/Fediversity/issues/115)
|
||||
1. [VMs use central file storage](https://git.fediversity.eu/Fediversity/Fediversity/issues/138)
|
||||
1. [reproduce DNS VM](https://git.fediversity.eu/Fediversity/Fediversity/issues/200)
|
||||
1. [SMTP service is provisioned so that applications can send emails](https://git.fediversity.eu/Fediversity/Fediversity/issues/117)
|
||||
1. [fediversity apps reused in infra](https://git.fediversity.eu/Fediversity/Fediversity/issues/370)
|
||||
1. [ephemeral state is automatically provisioned](https://git.fediversity.eu/Fediversity/Fediversity/issues/314)
|
||||
1. [panel staging/production configuration](https://git.fediversity.eu/Fediversity/Fediversity/issues/136)
|
||||
1. [code passes security check](https://git.fediversity.eu/Fediversity/Fediversity/issues/291)
|
||||
1. [brought into production](https://git.fediversity.eu/Fediversity/Fediversity/issues/228)
|
||||
1. [Have a DNS service running to allow users to tie services to their own domain](https://git.fediversity.eu/Fediversity/Fediversity/issues/104)
|
||||
1. [garbage collection of unallocated resources](https://git.fediversity.eu/Fediversity/Fediversity/issues/188)
|
||||
1. [Relevant email accounts are provisioned such that the operator may be contacted](https://git.fediversity.eu/Fediversity/Fediversity/issues/118)
|
||||
1. [reference front-end is decoupled from version of configuration module](https://git.fediversity.eu/Fediversity/Fediversity/issues/304)
|
||||
1. [specification published](https://git.fediversity.eu/Fediversity/Fediversity/issues/334)
|
||||
1. [REST API available](https://git.fediversity.eu/Fediversity/Fediversity/issues/368)
|
||||
1. [Hosting providers can update their operators' deployments](https://git.fediversity.eu/Fediversity/Fediversity/issues/159)
|
||||
1. [code passes security check](https://git.fediversity.eu/Fediversity/Fediversity/issues/291)
|
||||
1. [nix-less bootstrap](https://git.fediversity.eu/Fediversity/Fediversity/issues/332)
|
||||
1. [key features improving user experience supported](https://git.fediversity.eu/Fediversity/Fediversity/issues/289)
|
||||
1. [upstream configuration options exposed](https://git.fediversity.eu/Fediversity/Fediversity/issues/195)
|
||||
1. [allow disabling service while retaining data](https://git.fediversity.eu/Fediversity/Fediversity/issues/186)
|
||||
1. [enqueuing deployment syncs](https://git.fediversity.eu/Fediversity/Fediversity/issues/242)
|
||||
1. [user can have multiple deployments](https://git.fediversity.eu/Fediversity/Fediversity/issues/241)
|
||||
1. [ProxmoX deployment allows scaling resources assigned to a VM](https://git.fediversity.eu/Fediversity/Fediversity/issues/119)
|
||||
1. [View difference between configured and deployed state](https://git.fediversity.eu/Fediversity/Fediversity/issues/143)
|
||||
1. [visualise schema changes](https://git.fediversity.eu/Fediversity/Fediversity/issues/213)
|
||||
1. [aid needed actions on schema update](https://git.fediversity.eu/Fediversity/Fediversity/issues/214)
|
||||
1. [single sign-on (SSO) for services](https://git.fediversity.eu/Fediversity/Fediversity/issues/212)
|
||||
1. [delegating user management](https://git.fediversity.eu/Fediversity/Fediversity/issues/337)
|
||||
1. [pooling instances to shared VMs](https://git.fediversity.eu/Fediversity/Fediversity/issues/322)
|
||||
1. [on migration, allow reconfiguring monolithic vs distributed](https://git.fediversity.eu/Fediversity/Fediversity/issues/341)
|
||||
1. [connecting an existing identity management service](https://git.fediversity.eu/Fediversity/Fediversity/issues/161)
|
||||
|
|
Loading…
Add table
Reference in a new issue