tweak project proposal #1
1 changed files with 11 additions and 0 deletions
|
@ -171,6 +171,7 @@ NixOS is a Linux distribution with a [vibrant](https://repology.org/repositories
|
|||
As such, we see NixOS as the only viable way to reliably create a reproducible outcome for all the work we create.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- containers: do not by themselves offer the needed reproducibility
|
||||
|
||||
#### [npins](https://github.com/andir/npins)
|
||||
|
@ -178,6 +179,7 @@ Considered alternatives include:
|
|||
Npins is a dependency pinning tool for Nix which leaves recursive dependencies explicit, keeping the consumer in control.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- Flakes: defaults to implicitly following recursive dependencies, leaving control with the publisher.
|
||||
|
||||
### [OpenTofu](https://opentofu.org/)
|
||||
|
@ -187,6 +189,7 @@ This has led it to offer a vibrant ecosystem of 'provider' plugins integrating v
|
|||
As such, it can facilitate automated deployment pipelines, including with — relevant to our project — hypervisors and DNS programs.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- Terraform: not open-source
|
||||
|
||||
### [Proxmox](https://proxmox.com/)
|
||||
|
@ -195,6 +198,7 @@ Proxmox is a hypervisor, allowing us to create VMs for our applications while ad
|
|||
In addition, it has been [packaged for Nix](https://github.com/SaumonNet/proxmox-nixos) as well, simplifying our requirements to users setting up our software.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- OpenNebula: seemed less mature
|
||||
|
||||
### [Garage](https://garagehq.deuxfleurs.fr/)
|
||||
|
@ -203,6 +207,7 @@ Garage is a distributed object storage service.
|
|||
For compatibility with existing clients, it reuses the protocol of Amazon S3.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- file storage: less centralized for backups
|
||||
|
||||
### [PostgreSQL](https://www.postgresql.org/)
|
||||
|
@ -211,6 +216,7 @@ PostgreSQL is a relational database.
|
|||
It is used by most of our applications.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- Sqlite: default option for development in many applications, but less optimized for performance, and less centralized for backups
|
||||
|
||||
### [Valkey](https://valkey.io/)
|
||||
|
@ -219,6 +225,7 @@ Valkey is a key-value store.
|
|||
It is an open-source fork of Redis.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- Redis: not open-source
|
||||
|
||||
### [OpenSearch](https://opensearch.org/)
|
||||
|
@ -227,6 +234,7 @@ OpenSearch offers full-text search, and is used for this in many applications.
|
|||
It is an open-source fork of ElasticSearch.
|
||||
|
||||
kiara marked this conversation as resolved
Outdated
|
||||
Considered alternatives include:
|
||||
|
||||
- ElasticSearch: not open-source
|
||||
|
||||
### [PowerDNS](https://github.com/PowerDNS/pdns)
|
||||
|
@ -234,6 +242,7 @@ Considered alternatives include:
|
|||
PowerDNS is a mature DNS server. It further offers an admin front-end.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- hickory-dns: no front-end
|
||||
- core-dns: no front-end
|
||||
|
||||
|
@ -242,6 +251,7 @@ Considered alternatives include:
|
|||
Authelia is a single sign-on provider that integrates with LDAP.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- KaniDM: does not do proper LDAP
|
||||
- Authentik: larger package with focus on many things we do not need
|
||||
- Keycloak: larger package with focus on many things we do not need
|
||||
|
@ -251,5 +261,6 @@ Considered alternatives include:
|
|||
Lldap is a light LDAP server, allowing to centralize user roles across applications.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- 389 DS: older larger package
|
||||
- FreeIPA: wrapper around 389 DS
|
||||
|
|
Loading…
Add table
Reference in a new issue
Whereas the core abstraction in Fediversity is a NixOS configuration module, a more full-fledged example architecture of the web host use-case we aim to support would be as follows. VMs in question run Fediversity to offer our supported applications. The diagram shows an example of how different components could be fit together, based on what Fediversity offers as a framework (note that this would depend on the respective services and host-facing backends to be implemented appropriately):