2025-06-07 - 2025-12-07
Overview
147 pull requests merged by 3 users
Merged
#596 expose deployment type
Merged
#594 remove dead imports to datal-model/function files in checks
Merged
#595 expose basic model check in CI
Merged
#593 add data model test: plain nixos
Merged
#590 remove readOnly to facilitate user overrides
Merged
#592 Revert "inline proxmox-template call (#588)"
Merged
#588 inline proxmox-template call
Merged
#586 centralize TF providers
Merged
#587 assign available netbox IP to a netbox VM
Merged
#585 unname config
Merged
#582 centralize TF
Merged
#581 test utils
Merged
#579 allow handling DNS by octodns
Merged
#580 simplify helper function evalOption to drop the first parameter
Merged
#577 allow use of readOnly attributes in modular function output types
Merged
#578 add test for function.nix
Merged
#576 rm effect pkgs from checks
Merged
#575 netbox: unpass system
Merged
#572 factor out withEnv
Merged
#570 clear nix.nixPath from checks
Merged
#566 pick IPs thru netbox
Merged
#568 split out CI checks
Merged
#569 cancel old CI checks when updates are pushed to a branch
Merged
#563 default nix.gc.automatic to true
Merged
#565 rm boot label, which made machines unbootable on deploy
Merged
#564 factor out TF http back-end settings
Merged
#562 Revert "for forgejo use queue type channel (#559)"
Merged
#559 for forgejo use queue type channel
Merged
#558 un-manage infra machine fedi200
Merged
#557 add pkgs.which for CD
Merged
#556 rm broken update.yaml
Merged
#552 factor out TF run.sh
Merged
#510 proxmox deployment
Merged
#551 use minimal profile in test target nodes
Merged
#550 mv acme logic out of panel test
Merged
#548 support ssh option values containing spaces
Merged
#549 make TF less chatty
Merged
#547 rename the caller option to the more apt caller
Merged
#546 rename pve node in test
Merged
#545 remove the (so far unused) model options
Merged
#544 split data model by test, preventing need to pass args for unrelated tests
Merged
#543 factor out utils
Merged
#541 use upstreamed version of terraform-backend
Merged
#540 remove unused acme node for data model tests
Merged
#539 factor out tf-env.nix
Merged
#538 propagate http backend config
Merged
#537 simplify out intersection
Merged
#536 add a TF http backend to store state, see #515
Merged
#535 factor out TF setup
Merged
#534 move timeout expectation to tests
Merged
#531 proxmox scripts: set experimental features rather than implicitly depending on them
Merged
#533 make nixos.nix reusable rather than opinionated
Merged
#532 stop passing pathFromRoot where not needed
Merged
#526 factor out nixos conf
Merged
#525 fix proxmox-provision.sh
Merged
#524 better document function.nix
Merged
#522 fix password inputs
Merged
#519 panel: add git
Merged
#516 deduplicate tests to settle for running through the (cache-friendly) flake
Merged
#512 Automated break down of Nix flake checks for CI
Merged
#513 fix formatting
Merged
#511 ensure path availability in deployments
Merged
#506 data model: add TF test
Merged
#505 test data model thru VM
Merged
#509 fix data model issues introduced at #501
Merged
#503 factor out function wrapper to module function
Merged
#501 move function submodule type
Merged
#498 allow different deployment types
Merged
#495 CI: allow manual trigger
Merged
#345 add proxmox repro test
Merged
#481 Complete the data model with a runtime environment and end-to-end test
Merged
#489 listToAttrs o map o attrsToList → mapAttrs'
Merged
#488 Infra: expose and use checks for vmOptions and nixosConfigurations
Merged
#485 Infra: get rid of makeResourceModule
Merged
#478 Fix infra and add more tests
Merged
#480 Update services/README.md - fix markdown links
Merged
#469 move arguments from _module.args to specialArgs
Merged
#477 updater: make npins command verbose
Merged
#475 fix typo in users
Merged
#474 get parity in authorized keys between procolix and root for nixops4 ssh to non-VMs
Merged
#472 remove pixelfed from CI until fixed
Merged
#471 enable continuous deployment
Merged
#468 reinstate import statement for panel module, fixes error deploying fedi201
Merged
#466 pass SHELL env var in CD
Merged
#465 verbose CD
Merged
#464 pass sources via specialArgs
Merged
#462 CD: lump SSH commands into a single shell invocation
Merged
#461 run ssh commands thru the shell (which has openssh)
Merged
#460 allow SSH access from continuous deployment
Merged
#458 fix Mastodon test eval failure
Merged
#456 expose panel tests in flake
Merged
#457 fix mastodon test
Merged
#432 resolve regressions from recent qemu files
Merged
#454 ditch sources arg in fedi201, fixing infinite recursion error
Merged
#455 fix cd command
Merged
#452 add deployment pipeline
Merged
#450 Restrict fileset necessary for deployment tests
Merged
#449 Unflakify deployment tests
Merged
#448 Grab git-hooks from npins
Merged
#451 Note on extracting mkFlake to an external library
Merged
#447 Extract mkFlake to own file - get flake-parts from npins
Merged
#434 reinstate acme settings needed by applications
Merged
#445 gitea PR unpruned
Merged
#444 updater: try the first upstream commit without git remote prune
Merged
#443 updater: fully qualify github domain in uses
Merged
#442 un-qualify github.com domain in updater uses, which resolved to data.forgejo.org/github.com
Merged
#441 deduplicate import-flake, fixing test regression from git merge
Merged
#437 data model: add run-time configuration
Merged
#438 in update workflow use PR action actually meant for gitea
Merged
#436 clarify the use of isNormalUser
Merged
#430 address linter gripes in nix files
Merged
#429 remove string interpolation from imports
Merged
#428 Clean up lib in forgejo-ci and extend on the .ssh/config comment
Merged
#389 Add forgejo-ci machine to our infrastructure
Merged
#425 add missing home-manager import to fedipanel VM
Merged
#427 classify recent flake-parts files
Merged
#426 docs: fix links to machines
Merged
#424 Do not force QEMU options onto machines
Merged
#421 Inject sources, secrets and keys via module system - avoid import ../
Merged
#420 Split nameservers between IPv4 and IPv6
Merged
#422 fix agenix package in shell
Merged
#419 move shell from flake
Merged
#413 allow configuring network interface
Merged
#418 Document why Nix and OpenSSH
Merged
#412 set default value for nixops4Package
Merged
#416 make CI test invocations idempotent to better facilitate manual use
Merged
#406 update documentation for #375
Merged
#415 simplify imports
Merged
#411 expose nixops4 in nix-shell
Merged
#410 unset class, fixing #408
Merged
#407 disable updater schedule while it hangs
Merged
#404 fix workflow step title
Merged
#398 specify _class module attributes to explicitly declare module types
Merged
#403 expose npins in shell for CI
Merged
#401 cast DEPLOYMENT_FLAKE to string
Merged
#394 run updater natively
Merged
#396 separate test declarations from invocations
Merged
#391 fix running nixops4 apply test
Merged
#361 Introduce test for deploying all services via FediPanel
Merged
#387 add data model entity: application
Merged
#385 Get rid of the need for deployer.pub
Merged
#373 use deployed environment for launching nixops4 from the panel
Merged
#376 FediPanel: allow configuring flake and deployment
Merged
#375 FediPanel: do not call nix develop
Merged
#367 move machines to reflect a semantic structure
Merged
#374 bypass native flake input for Nixpkgs
Merged
#365 Document nullable fields sanitation
21 pull requests proposed by 2 users
Proposed
#397 WIP: add attic cache
Proposed
#439 WIP: implement applications.mastodon as a sample use-case of our data model
Proposed
#470 WIP: update nixpkgs
Proposed
#473 WIP: test pixelfed
Proposed
#479 WIP: add woodpecker CI
Proposed
#484 WIP: Fix and test proxmox-*.sh scripts
Proposed
#486 WIP: Move things again from _module.args to specialArgs
Proposed
#497 WIP: data model: type nixos module
Proposed
#500 WIP: add data model test using selfhostblocks
Proposed
#502 refactor deployments
Proposed
#504 data model: add classes
Proposed
#523 data model: add name
Proposed
#530 allow specifying node in proxmox bash scripts
Proposed
#542 use upstreamed python packages
Proposed
#553 WIP: strip out flake-parts
Proposed
#554 WIP: overlay proxmox to use regular nixpkgs version
Proposed
#571 use upstream types.fileset
Proposed
#583 WIP: expose tests without going thru flake
Proposed
#584 WIP: add conversion from TF
Proposed
#591 WIP: fix caller from inlining tf-proxmox model
Proposed
#597 WIP: use data model
35 issues closed from 3 users
Closed
#632 use schemas to validate input
Closed
#104 Have a DNS service running to allow users to tie services to their own domain
Closed
#362 NixOS tests break when CI runs them in parallel
Closed
#561 cache reusable computations
Closed
#102 CI rejects failing deployments
Closed
#26 Set up a secret management scheme
Closed
#326 regression: deployment status template
Closed
#567 split out CI checks to separate jobs
Closed
#127 Keeping applications' nix packages up-to-date
Closed
#521 panel form duplicates on submission when password field is left empty
Closed
#520 panel configuration field password displays entered input
Closed
#325 Reproducible proxmox installation
Closed
#491 port code to use the data model
Closed
#103 code-based data model
Closed
#446 Mid-term technical report
Closed
#482 [month 24] UX design
Closed
#177 infrastructure automatically deployed using continuous deployment
Closed
#34 Get the Mastodon tests to run in CI
Closed
#327 initial focus on single application for development
Closed
#431 nixops4 apply test error: proxmox-qemu-vm.nix was imported into nixops4Resource instead of nixos
Closed
#453 nixops4 apply fedi201 error: infinite recursion encountered
Closed
#392 cannot ssh into fedi201.abundos.eu
Closed
#408 error on nixops4 apply: class mismatch on import of infra/common/options.nix
Closed
#417 error on nixops4 deploy test: You must define security.acme....
Closed
#435 error: The option `fileSystems."/".fsType' has conflicting definition values
Closed
#328 regression on deploy: attribute 'lib' missing
Closed
#356 reproduce CI runner
Closed
#423 alleviate pain from tests requiring to manually specify extraDependencies
Closed
#409 error on nixops4 apply: the option home-manager does not exist
Closed
#93 Write all modules with destructured arguments
Closed
#400 regression: nix-shell panel errors on DEPLOYMENT_FLAKE's path type
Closed
#390 error on nixops4 apply: attribute 'lib' missing
Closed
#277 integration test panel
Closed
#279 unify versioning
Closed
#182 use shared storage from VMs
91 issues created by 2 users
Opened
#366 use dedicated Nix builder
Opened
#368 API available
Opened
#369 application offering delegated
Opened
#370 fediversity apps reused in infra
Opened
#372 refactor environment variables to typed django settings
Opened
#377 Integration tests for MVP
Opened
#378 Present results on at least 3 conferences
Opened
#379 At least 5 applications compatible with Fediversity thanks to external contributions by 2027-03
Opened
#380 initial Fediversity applications
Opened
#382 panel nix package allows declaring users
Opened
#383 panel allows specifying SSH key
Opened
#384 CA certificates in NixOS tests generated declaratively
Opened
#386 deprecate wiki
Opened
#390 error on nixops4 apply: attribute 'lib' missing
Opened
#392 cannot ssh into fedi201.abundos.eu
Opened
#400 regression: nix-shell panel errors on DEPLOYMENT_FLAKE's path type
Opened
#408 error on nixops4 apply: class mismatch on import of infra/common/options.nix
Opened
#409 error on nixops4 apply: the option home-manager does not exist
Opened
#417 error on nixops4 deploy test: You must define security.acme....
Opened
#423 alleviate pain from tests requiring to manually specify extraDependencies
Opened
#431 nixops4 apply test error: proxmox-qemu-vm.nix was imported into nixops4Resource instead of nixos
Opened
#433 deployment provisions host infra
Opened
#435 error: The option `fileSystems."/".fsType' has conflicting definition values
Opened
#446 Mid-term technical report
Opened
#453 nixops4 apply fedi201 error: infinite recursion encountered
Opened
#459 can't download repository archives from forgejo
Opened
#463 secrets may be scoped to prevent use in PRs
Opened
#467 Integration-tested progress reports
Opened
#482 [month 24] UX design
Opened
#483 [D2.2] Software release beta version [2027-03-31]
Opened
#491 port code to use the data model
Opened
#493 portable ephemeral state
Opened
#494 data model used
Opened
#496 standardize casing conventions
Opened
#514 data model: migrations
Opened
#515 orchestrator state persisted
Opened
#517 all tests exposed through flake
Opened
#518 facilitate use without flakes
Opened
#520 panel configuration field password displays entered input
Opened
#521 panel form duplicates on submission when password field is left empty
Opened
#527 rename codebase
Opened
#528 retire flake-parts
Opened
#529 avoid referencing parent directories
Opened
#560 in-source patches
Opened
#561 cache reusable computations
Opened
#567 split out CI checks to separate jobs
Opened
#574 improve developer experience (DX)
Opened
#598 ensure application resilience
Opened
#599 diagnosing services
Opened
#600 NixOS service version update migration scripts standardized
Opened
#601 applications imported from contract-based implementations
Opened
#602 contracts available in nixpkgs
Opened
#603 contracts useable across nodes
Opened
#604 contracts handle generation of ephemeral state
Opened
#605 contracts provide single sign-on (SSO) integration
Opened
#606 contracts provide LDAP integration
Opened
#607 NixOS service service portability scripts standardized
Opened
#608 web host application implements API
Opened
#609 Install selected applications
Opened
#610 Configure applications
Opened
#611 Update applications
Opened
#612 Switch to a different host
Opened
#613 User management
Opened
#614 catch up on nixpkgs updates
Opened
#615 applications integrated with user management
Opened
#616 operator may manage users
Opened
#617 operator can restart nodes
Opened
#618 rights management streamlined across applications
Opened
#619 kubernetes set up
Opened
#620 generate kubernetes container from portable service
Opened
#621 applications' NixOS modules use portable services
Opened
#622 NixOS modules wrap portable services
Opened
#623 applications use portable services
Opened
#624 application definitions use service-level containers
Opened
#625 contracts coordinated across pods
Opened
#626 nix to json schema coverage
Opened
#627 expose applications' configuration options
Opened
#628 render option forms
Opened
#629 schema updates automated
Opened
#630 nix option modules from TF
Opened
#631 use schemas to generate TF types
Opened
#632 use schemas to validate input
Opened
#633 nodes can identify one another
Opened
#634 resources are versioned
Opened
#635 [D2.8] Technical design [2026-03-01]
Opened
#636 [D2.9] Service portability analysis [2026-04-15]
Opened
#637 [D2.10] Package style guide [2026-05-01]
Opened
#638 [D2.11] API specification [2026-05-15]
Opened
#639 [D2.12] UX prototype [2026-06-01]
Opened
#640 [D2.1] Software release test environment [2026-10-15]
Opened
#641 [D2.4] Nix packages and NixOS Services [2027-11-30]
91 unresolved conversations
Open
#223
resource monitoring for operators
Open
#339
NixOS configuration as a first-class abstraction
Open
#341
on migration, allow reconfiguring monolithic vs distributed
Open
#123
enable back-ups of application
Open
#213
visualise schema changes
Open
#214
aid needed actions on schema update
Open
#334
specification published
Open
#291
code passes security check
Open
#228
[D2.3] brought into production [2027-11-01]
Open
#39
[D2.5] Finalize architecture doc [2025-07-28]
Open
#100
migrating application data between hosting providers
Open
#304
reference front-end is decoupled from version of configuration module
Open
#242
enqueuing deployment syncs
Open
#159
Hosting providers can update their operators' deployments
Open
#65
Automated dependency updates
Open
#313
ProxmoX back-end supports multiple users
Open
#184
show indicator of actual deployment progress
Open
#289
key features improving user experience supported
Open
#195
NixOS modules' options exposed
Open
#143
View difference between configured and deployed state
Open
#302
code reviewers can suggest changes
Open
#331
pydantic enum warning: Expected enum but got str
Open
#24
Disable root SSH authentication altogether
Open
#212
single sign-on (SSO) for services
Open
#110
desired subdomains are assigned to deployed services
Open
#116
Proxmox resources are provisioned to deploy services to
Open
#200
reproduce DNS VM
Open
#99
applications deployed on command
Open
#76
Deployed services are accessible
Open
#142
Users can configure their desired sub-domains in the online panel, so that the deployed services are assigned the desired sub-domains
Open
#349
exploit our work by enabling reproducible deployments of an initial set of portable applications
Open
#119
ProxmoX deployment allows scaling resources assigned to a VM
Open
#115
Databases are provisioned so that services can use a central storage
Open
#111
Shared file storage is provisioned to ensure persistence of data
Open
#187
provision immutable buckets
Open
#118
Relevant email accounts are provisioned such that the operator may be contacted
Open
#337
operator can delegate user management
Open
#178
admin accounts provisioned for deployed services
Open
#191
Wire up passing credentials from FediPanel to the Peertube configuration
Open
#190
Wire up passing credentials from FediPanel to the Pixelfed configuration
Open
#189
Wire up passing credentials from FediPanel to the Mastodon configuration
Open
#322
pooling instances to shared VMs
Open
#241
user can have multiple deployments
Open
#188
garbage collection of unallocated resources
Open
#180
update or remove VMs
Open
#336
reproducible project infrastructure
Open
#117
SMTP service is provisioned so that applications can send emails
Open
#69
Separate test environments for staging vs. production
Open
#309
port infra to terraform
Open
#332
nix-less bootstrap
Open
#75
Receive a notification when deployment finishes
Open
#138
VMs use central file storage
Open
#158
users can update their deployment configurations
Open
#186
allow disabling service while retaining data
Open
#161
connecting an existing identity management service
Open
#181
update virtualization parameters
Open
#314
ephemeral state is automatically provisioned
Open
#248
Nix package overlays upstreamed
Open
#347
implement a way to run online services emphasising user autonomy and data portability
Open
#342
panel bundled into Fediversity configuration
Open
#333
module upstreamed to nixpkgs
Open
#335
sign-up for external developers
Open
#92
Continuous Integration builds available in a public cache
Open
#78
Start deployment migration
Open
#126
Operator can make back-ups of applications' mutable file systems
Open
#124
enable back-ups of application database
Open
#125
enable back-ups of applications' immutable storage
Open
#89
Generate documentation on the deployments from the code
Open
#86
Update documentation on services
Open
#185
use immutable buckets from VMs
Open
#155
Address CI friction between security and caching
Open
#87
Replace snakeoil-key with proper secret
Open
#136
panel staging/production configuration
Open
#98
docs: document having to load nix dev shell for pre-commit hook
Open
#199
derive users and their keys from the keys directory
Open
#210
Document the semantics of our various domains
Open
#243
knowledge base
Open
#295
limit security impact of SSH access to service VMs
Open
#272
support password-protected personal SSH keys for deploying services in development
Open
#77
Create a deployment migration string
Open
#68
Describe the hardware infrastructure needed to run Fediversity yourself
Open
#50
[D2.7] Analyze investment on Fediverse
Open
#33
Get the Pixelfed tests to run in CI
Open
#29
Backups for Forgejo
Open
#13
Beefier Forgejo actions machines
Open
#224
automated dev-ops workflows
Open
#288
external developers empowered to contribute
Open
#319
WIP: switch out infra to terraform, remove flakes
Open
#307
button works deployed
Open
#225
kick-started initial feedback cycle
Open
#348
disseminate our results by engaging the open-source community to further expand on work in this direction