-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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/virtualisation/linode-image: init #155426
nixos/virtualisation/linode-image: init #155426
Conversation
A couple of notes:
|
It also should be mentioned that in order to boot properly, as in the guide, the boot kernel must be set to "GRUB2" in the Linode boot configuration, with all boot helpers disabled. I'm not really sure where to mention that though, if at all, since it is kind of out-of-scope of the image itself. |
ddf5acc
to
a22edfb
Compare
a22edfb
to
c97be97
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Forgot to mention, I made a Proof-of-Concept a little while ago using Terranix with the noted caveats: houstdav000/terranix-linode-poc |
c97be97
to
e9820ea
Compare
e9820ea
to
18c6cdf
Compare
e9facf5
to
90ff791
Compare
Rebased and changed docs changes to be in 22.11 instead of 22.05. I also confirmed it works with https://github.com/houstdav000/terranix-linode-poc. |
90ff791
to
c6f22f5
Compare
(Unverified commits are because somehow GnuPG decided to sign with a subkey when I explicitly specified the master key. Trying to figure out what's going on) EDIT: Subkey wasn't there before. Updated my git config and resigned the commits. |
a135c74
to
2d32025
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can confirm this seems to work for me and I'd love to see this merged!
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/1115 |
### Set networking config | ||
# | ||
networking = { | ||
usePredictableInterfaceNames = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are sure we want to set this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Linode recommends turning it off and notes that the problem predictable interfaces tries to solve is irrelevant on their platform with only a single interface, but they do also state that turning it off is optional: https://www.linode.com/docs/guides/install-nixos-on-linode/#disable-predictable-interface-names
The Azure and GCP/GCE image generators for NixOS both turn off predictable names as well as the qemu-vm generator so it may be something users would expect (but I don't know enough to say for sure)
146dbfb
to
506a0f8
Compare
Weird, can only request from one at a time. Fixed things and rebased. Sorry for spam. |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/1139 |
It looks like all of the review items have been addressed now, aside from the one open question about "predictable interface names" which I think should probably not be changed given it would (ironically) make interface names unpredictable for the config, possibly different for different Linode hypervisor hosts, and there are interface name dependent config items like Did you have any other comments on this PR @SuperSandro2000? (Thank you for the review, by the way!) |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
506a0f8
to
856b7b4
Compare
Create both a configuration and image definition file for Linode, which uses a QEMU-based configuration but without partition tables for some reason.
Replace PATH modification with direct package path substitution as recommended by @lilyinstarlight.
Force diskSize to be a `ints.positive` to ensure only positive disk sizes are entered. Added per SuperSandro2000's request.
Trim the comments in the `linode-config.nix` file, removing some blank line comments and additional leading comment characters for others.
Remove some redundant comments for immediately evident config.
Add comment and link to supporting documentation for post-image-build gzip task.
Restrict the allowable values for the `compressionLevel` value passed to GZIP while compressing the built image.
Disable IPv6 privacy extensions, as Linode expects them to be off by default, adding a comment and link to supporting material.
856b7b4
to
7255cc3
Compare
Should I add myself to the |
LGTM. Adding a meta.maintainers would be nice, even if ofborg doesn't look at it (not sure if it does) it's good to know who maintains the things. My only comment is that some of the things put as comment here might be better off in the commit message(s). But I don't consider that a big issue. |
I think the maintainers change needs to be 2 different commits: https://nixos.org/manual/nixpkgs/stable/#var-meta-maintainers |
Signed-off-by: David Houston <houstdav000@gmail.com>
Signed-off-by: David Houston <houstdav000@gmail.com>
f374421
to
ccf6019
Compare
Seems arbitrary, but done |
Create both a configuration and image definition file for Linode, which
uses a QEMU-based configuration but without partition tables for some
reason. Largely bases most of the configuration and image generation on the current GCE configuration.
Motivation for this change
I want to easily be able to use NixOS in Linode, so I wrote a configuration and image builder configuration for it. It seems to work based on my testing of local building and pushing and running a simple image in Linode and doing so with Terranix.
Will require adding an interface to nix-community/nixos-generators, but I can pr one easily with this added to nixpkgs.
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes