Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nixos/scion: init #298737

Merged
merged 3 commits into from
Mar 27, 2024
Merged

nixos/scion: init #298737

merged 3 commits into from
Mar 27, 2024

Conversation

MatthewCroughan
Copy link
Contributor

@MatthewCroughan MatthewCroughan commented Mar 24, 2024

Description of changes

Adds nixosModules and an extensive VM Test for the SCION internet architecture which implements a 5 autonomous system network topology based upon upstream documentation

Thanks to @roberth for help with figuring out how to structure the modules and their naming.

VM test topology

Goals for a future PR, not this PR

  • module options for bootstrapping PKI similar to how openssh may generate /etc/ssh/ssh_host*
  • module options for connecting immediately to https://www.scionlab.org/ (probably a sensible default for scion.enable = true)

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

Copy link
Member

@roberth roberth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know almost nothing about SCION, so this is not really a review, but from what I can tell the Nix/NixOS sauce looks good. (Also @MatthewCroughan is giving me way too much credit)

pkgs/by-name/sc/scion/package.nix Outdated Show resolved Hide resolved
@roberth
Copy link
Member

roberth commented Mar 24, 2024

VM test topology

Could you add this to a README in the test directory?

@MatthewCroughan MatthewCroughan force-pushed the mc/scion-modules branch 2 times, most recently from 61dcf55 to d64045b Compare March 24, 2024 22:07
@MatthewCroughan
Copy link
Contributor Author

@roberth Done, I've added it in nixos/tests/scion/freestanding-deployment/README.rst

Copy link
Member

@sarcasticadmin sarcasticadmin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MatthewCroughan awesome job getting this push up! Its exciting to have the SCION modules and this freestanding test.

Had a couple of comments but overall I think this looks solid. I mentioned this for the control daemon but for all the daemons included here: Would it be possible to include a environment.etc."scion/<daemon>.conf".source = confFile;? Its really nice to have the unit files reference things in /etc instead of /nix/store 🙂

Running nix build .#nixosTests.scion-freestanding-deployment passes with flying colors 🚀

Copy link
Member

@sarcasticadmin sarcasticadmin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are the names of the binaries as they are distributed in some
places. Upstream systemd services even depend upon these names, it is
going to be helpful to keep this naming consistent, for bootstrapping
@Lassulus
Copy link
Member

maybe add the test to passthru.tests on the scion package?

@Lassulus Lassulus merged commit e91a1ad into NixOS:master Mar 27, 2024
23 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants