WIP: move garage from operator ancilliary to hosting-provider (multi-tenant) #911
No reviewers
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
fediversity/fediversity!911
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/garage-to-hosting-provider"
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?
Summary
applyboundary (e.g.mastodon->operator-mastodon)hosts-common.nixand injected into the hosting-provider garage module via_module.args.aggregatedGarageRequestsancilliaryHosts ? garageguardcd-hosting-provider-garage.yaml,nixosConfigurations-hosting-provider-garage.yaml; removesnixosConfigurations-operator-garage.yamlTest plan
nix build --impure .#nixosConfigurations.hosting-provider-garage.config.system.build.toplevel -Lbuilds cleannix eval --impure .#nixosConfigurations.operator-mastodon.config.systemd.services.mastodon-web.environment.S3_BUCKET=="operator-mastodon"nix build .#checks.x86_64-linux.test-mastodon-service -Lpassesnix build .#checks.x86_64-linux.test-peertube-service -Lpassesnix build .#checks.x86_64-linux.test-pixelfed-service -Lpassesnix build .#checks.x86_64-linux.pre-commit -LpassesDisclaimer: I used a coding agent in the creation of this patch.
garagefrom operator ancilliary to hosting-provider (multi-tenant)while this was intended as a PoC for setup interaction between machines between the operator vs hosting provider groups (on top of... it is actually supposed to be shared), it has instead mostly demonstrated conceptual challenges: whereas in the current setup operators' machines were presumed to rebuild in conjunction as requirements evolve, with ancilliary machines (so far garage) gathering requests from applications to assemble their NixOS configuration (
src/resources/garage/default.nix'sgarageSide), the elephant in the room here is that machines part of the hosting provider group may not really be expected to rebuild with info gathered from operator-side machines - i.e. where the current PR intended to movegarage.for garage, that had been used in the current set-up to for applications' various requests invoke:
garage bucket create(#187)garage bucket allowgarage bucket denygarage bucket aliasgarage bucket website --importgarage key importaws put-bucket-corsnow, lacking the ability to handle these thru nixos config, that would leave approaches like:
LDAP would decouple creation of buckets from deploying of services IIUC? It would basically store "Application X needs buckets Y and Z," the Garage host would then make sure it creates the required buckets (how is this triggered, polling?).
Terraform would be run as part of a deployment, ensuring the buckets are deployed before the Application comes online, right?
How about the removal of buckets if an Operator decides to stop using an Application or migrates?
right.
so, CRUD is what TF is about, for what it's worth, so should know how to clean up after itself, tho with migration i'm not positive yet if that's the way to do it.
if they stop using an application, another factor is user preference on what to do with the data, see #186.
i'd have imagined the CRUD things to be closer to terraform's thing than to LDAP's, which i would expect more like to handle the authorization bits
kiara referenced this pull request2026-05-19 20:50:04 +02:00
kiara referenced this pull request2026-06-21 17:09:20 +02:00
superseded by #1124.
Pull request closed