applications imported from contract-based implementations #601
Labels
No labels
0 points
0.5 points
1 point
13 points
2 points
21 points
3 points
34 points
5 points
55 points
8 points
ambition
application-offering
ambition
configure-applications
ambition
front-end
ambition/install-applications
ambition
security
ambition
switch-host
ambition
update-applications
ambition
user-management
api service
blocked
component: fediversity panel
component: nixops4
documentation
estimation high: >3d
estimation low: <2h
estimation mid: <8h
infinite points
productisation
project-management
question
role: application developer
role: application operator
role: hosting provider
role: maintainer
security
technical debt
testing
type unclear
type: bug
type: deliverable
type: key result
type: objective
type: task
type: user story
user experience
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#607 NixOS service service portability scripts standardized
fediversity/fediversity
#494 data model used
fediversity/fediversity
Reference
fediversity/fediversity#601
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As a Fediversity maintainer,
I want for Fediversity to be able to reuse existing application implementations,
so that we may expand our offering while focusing on our core value-proposition.
notes
selfhostblocks intro
SelfHostBlocks is an NGI project raising the level of abstraction possible in NixOS services by introducing the concept of contracts, providing a consumer/provider dichotomy mirroring our own dichotomy of resource-consuming applications versus resource-providing host environments.
SelfHostBlocks additionally implements a number of services using such contract consumers and iterating on their UX, which raises the question if we could reuse such work. (their service implementations are opinionated to the point of specifying filesystems, though nixpkgs-based service modules implementing contracts may offer a less opinionated alternative - maybe with those two together we can find something that works for us.)
implementation notes
This may be achieved by ensuring such services may be transparently wrapped, ideally with no service-specific code on our end:
enableto operatorenvironments, other (sub)modules exposed to operator/environment when any of their children are, expose non-contract non-submodule options to operatorbackupcontract?backupover themountcontract (usage)?streamingProcesses: no universal value for us to set for a NixOS configuration although some sane default might be desirable. otherwise, we might expose this transparently to users for configurations. in our host setting (#349) we might be able to automate this from our end (pending #116).settings.OPEN_REGISTRATION: no sane universal default, so pass to userskiara referenced this issue2025-12-02 23:34:51 +01:00
while contracts and their use could be upstreamed, this ticket honestly seems not realistic given: