kick-started initial feedback cycle #225

Open
opened 2025-03-03 16:36:22 +01:00 by kiara · 4 comments
Owner

As a host,
I want to start using Fediversity internally,
so that we may kick-start a feedback cycle toward product improvement.

Owner: Fediversity development team (following #327)

dependencies

  1. #433 deployment provisions host infra
  2. #313 ProxmoX back-end supports multiple users
  3. #116 Proxmox resources are provisioned to deploy services to
  4. #848 hosting provider may configure host environment
  5. #142 Users can configure their desired sub-domains in the online panel, so that the deployed services are assigned the desired sub-domains
  6. #178 provision admin accounts for deployed services
  7. #158 users can update their deployment configurations
  8. #185 use deployed immutable buckets
  9. #115 Databases are provisioned so that services can use a central storage
  10. #138 VMs use central file storage
  11. #200 reproduce DNS machine
  12. #117 SMTP service is provisioned so that applications can send emails
  13. #370 fediversity apps reused in infra
  14. #314 ephemeral state is automatically provisioned
  15. #136 panel staging/production configuration
**As** a host, **I want** to start using Fediversity internally, **so that** we may kick-start a feedback cycle toward product improvement. **Owner**: Fediversity development team (following #327) ### dependencies 1. #433 deployment provisions host infra 1. #313 ProxmoX back-end supports multiple users 1. #116 Proxmox resources are provisioned to deploy services to 1. #848 hosting provider may configure host environment 1. #142 Users can configure their desired sub-domains in the online panel, so that the deployed services are assigned the desired sub-domains 1. #178 provision admin accounts for deployed services 1. #158 users can update their deployment configurations 1. #185 use deployed immutable buckets 1. #115 Databases are provisioned so that services can use a central storage 1. #138 VMs use central file storage 1. #200 reproduce DNS machine 1. #117 SMTP service is provisioned so that applications can send emails 1. #370 fediversity apps reused in infra 1. #314 ephemeral state is automatically provisioned 1. #136 panel staging/production configuration
kiara added this to the Fediversity project 2025-04-18 11:01:48 +02:00
kiara changed title from OKR: dogfooding to dogfooding 2025-05-01 12:09:10 +02:00
kiara changed title from dogfooding to kick-start initial feedback cycle 2025-06-01 12:02:19 +02:00
kiara changed title from kick-start initial feedback cycle to kick-started initial feedback cycle 2025-06-01 12:49:37 +02:00
kiara removed this from the Fediversity project 2025-06-10 19:07:20 +02:00
Member

#370 is closed but we don't yet use Fediversity to deploy any infra. Should we drop that dependency entirely or re-open and update its wording?

The Forgejo seems particularly risky to deploy through Fediversity because there's circularity there. If we introduce a bug the Forgejo deployment may fail in a subtle way (outright failure to deploy would not necessarily be a big deal), preventing us from pushing a fix to the repository to redo the deployment.

Since we already use both Matrix and Signal for project communication, that seems like a good candidate usecase. If a deployment goes awry we can fall back to the pre-existing communication channels.

#370 is closed but we don't yet use Fediversity to deploy any infra. Should we drop that dependency entirely or re-open and update its wording? The Forgejo seems particularly risky to deploy through Fediversity because there's circularity there. If we introduce a bug the Forgejo deployment may fail in a subtle way (outright failure to deploy would not necessarily be a big deal), preventing us from pushing a fix to the repository to redo the deployment. Since we already use both Matrix and Signal for project communication, that seems like a good candidate usecase. If a deployment goes awry we can fall back to the pre-existing communication channels.
Member

We could implement basic forgejo functionality tests like we do for our operator apps, and I think that would help with broken changes blocking us from pushing a fix for said changes

We could implement basic forgejo functionality tests like we do for our operator apps, and I think that would help with broken changes blocking us from pushing a fix for said changes
Author
Owner

@toonn:

fair point. fwiw, current CD jobs reuse our deployment methods, reflecting the comment in the OP here:

note that whereas operator application configuration might not apply here, reuse of our deployment methods does make sense. if we start making use of the contracts RFC, that could help here too.

as to infra-like deployment of applications in category operator, we should be able to do that today, with commands similar to those used in CD today (may be listed by nix flake show) and configuration handled thru HOSTING_ENV_CONFIG.

(as noted in the OP, we today still retain that distinction between our application categories, but i imagine having such infra categories all use our resource/configuration abstractions aimed at the operator-host divide would feel more satisfying once our resources offer more useful abstractions than they do today, e.g. using the aforementioned contracts. until then, i fear they would mostly add more boilerplate there for this use-case for now.)

for what it's worth, dogfooding infra would be nicer after #123.

@toonn: fair point. fwiw, current [CD jobs](https://git.fediversity.eu/fediversity/fediversity/actions/runs/35860/jobs/0/attempt/1) reuse our deployment methods, reflecting the comment in the OP here: > note that whereas operator application configuration might not apply here, reuse of our deployment methods does make sense. if we start making use of the contracts RFC, that could help here too. as to infra-like deployment of applications in category `operator`, we should be able to do that today, with commands similar to those used in CD today (may be listed by `nix flake show`) and configuration handled thru `HOSTING_ENV_CONFIG`. (as noted in the OP, we today still retain that distinction between our application categories, but i imagine having such infra categories all use our resource/configuration abstractions aimed at the operator-host divide would feel more satisfying once our `resource`s offer more useful abstractions than they do today, e.g. using the aforementioned contracts. until then, i fear they would mostly add more boilerplate there for this use-case for now.) for what it's worth, dogfooding infra would be nicer after #123.
Author
Owner

as some historical context, while previously this ticket had been scoped to an internal pilot with the hosting provider, i later rescoped it to be closer to dogfooding deployments for our project's own deployment needs, with #228 as a follow-up involving the hosting provider's actual clients.

as some historical context, while previously this ticket had been scoped to an internal pilot with the hosting provider, i later rescoped it to be closer to dogfooding deployments for our project's own deployment needs, with #228 as a follow-up involving the hosting provider's actual clients.
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks Depends on
Reference
fediversity/fediversity#225
No description provided.