-
Notifications
You must be signed in to change notification settings - Fork 0
Vesuvius dnsmasq netboot #6
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
Open
mehbark
wants to merge
68
commits into
main
Choose a base branch
from
vesuvius-dnsmasq-netboot
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 11 commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
6e757d8
vesuvius: netboot prospit
mehbark 3fcba78
corrected netboot configuration to avoid interface leakage and correc…
mikhail729 10ebb8f
corrected dhcp interface
mikhail729 eb25e22
hosts/vesuvius: change DNS domain from hephaestus to bastille
mehbark 56bf0e8
hosts/common: refactor to remove k3s-ports.nix
mehbark 7128fff
hosts/prospit: set k3s role
mehbark 4dc169a
hosts/vesuvius: become the k3s cluster init
mehbark 194b9cb
hosts/common/k3s: refactor to take role and clusterInit args
mehbark 3845c0b
hosts/prospit: be adopted by bastille
mehbark 3a8573f
hosts/bastille: fix root password warning
mehbark 6041f78
hosts/bastille: automatically set hostname based on mac address
mehbark 95545c0
hosts/bastille: add some actual names to auto-hostname
mehbark 5364e33
fix(common/k3s): use cluster routing IP for vesuvius
kurisufriend 946ab79
Merge branch 'main' into vesuvius-dnsmasq-netboot
kurisufriend 86cf66c
Merge branch 'main' into vesuvius-dnsmasq-netboot
kurisufriend 4e48b2b
!!breaking!! vesuvius/zfs: bind mount dataset /forge/nix to /nix, kee…
kurisufriend ba8cc98
hosts/vesuvius: opened port 53 for dns
mikhail729 77c1bbc
flake: bump
kurisufriend a3db521
feat(hosts/vesuvius): working freeIPA client
kurisufriend 790c86e
refactor(hosts/vesuvius): use roles/common stuff
kurisufriend d220159
feat(common/nfs): mount dirtycow stuff
kurisufriend a0c8787
feat(hosts/vesuvius): include dirtycow mounts
kurisufriend 946dbc4
hosts/vesuvius: added dhcp-host entries for netboot nodes
mikhail729 59c9833
hosts/bastille: disabled eno1 on lenovo nodes and removed auto-hostna…
mikhail729 4e8cf0e
fix(vesuvius/ipa): let "admins" group use passwordless sudo
kurisufriend 7725870
docs(vesuvius/ipa): rm old comment about keytab
kurisufriend 6a7feeb
hosts/vesuvius: added nfs share and port for kubernetes storage
mikhail729 fae7140
hosts/vesuvius: added static dnsmasq domain for vesuvius
mikhail729 5d8d2b2
hosts/{vesuvius,bastille}: opened ports for kubernetes intercluster c…
mikhail729 9f7669d
hosts/{bastille,common,vesuvius}: attempted k3s internal network ip a…
mikhail729 831d454
hosts/vesuvius: added static ipv4 route from enp1s0f1 to shellshock n…
mikhail729 bb565f0
hosts/common: fixed k3s command line parameters
mikhail729 c378e77
hosts/{vesuvius, common}: added public addresses and nftables firewall
mikhail729 2c1f7ac
hosts/vesuvius: added caddy container as the kubernetes cluster rever…
mikhail729 b1a0450
kube-manifests/ephemeral: removed ephemeral.vtluug.org as host since …
mikhail729 b96cfa4
hosts/vesuvius: changed caddy to use wildcard domains to the cluster
mikhail729 b1475ad
feat(vesuvius/caddy): dns acme validation w/ gandi api key
kurisufriend e6240b6
fix(vesuvius/caddy): move gandi secret
kurisufriend caf8f6d
fix(vesuvius/caddy): add gandi plugin
kurisufriend 40e2d03
hosts/vesuvius: format caddy.nix
mikhail729 d6dd9d9
fix(vesuvius/caddy): gandi plugin hash
kurisufriend f9c6da0
Merge branch 'vesuvius-dnsmasq-netboot' of github.com:vtluug/construc…
kurisufriend 1366ffb
hosts/vesuvius: fixed caddy proxy to bastille
mikhail729 1922943
flake.nix: removed depreciated arguments in favor of their replacements
mikhail729 19c250e
update kubernetes manifests with correct configuration for the cluster
mikhail729 babdacd
hosts/{vesuvius,bastille,common}: fixed nfs to cluster and fixed slow…
mikhail729 9de0d2d
kube-manifests: split files into kubernetes configuration and kuberne…
mikhail729 92014ca
hosts/vesuvius: added caddy bindmount for persistent caddy state
mikhail729 f08a512
hosts/vesuvius: changed caddy to use production lets encrypt and rena…
mikhail729 002ce33
kube-manifests: pinned search to vesuvius
mikhail729 8afded8
hosts/vesuvius: changed caddy to foward host header as is to cluster …
mikhail729 7de5a8b
kube-manifests: changed ingress hostnames to be direct subdomains of …
mikhail729 e5fa390
kube-manifests: uncommented hack to re-enable https for opensearch
mikhail729 46eb183
kube-manifests: fixed nfs and added bash
mikhail729 11ba801
kube-manifests: add vtluug-site manifest
kurisufriend d92ae93
kube-manifests/vtluug-site: switch ingress to vtluug.org
kurisufriend e420481
vesuvius/caddy: port main site
kurisufriend abc7718
keys: add my non-yubi pubkey
kurisufriend ad3ba68
feat(k8s): sops secret framework, with mediawiki secrets as demo
kurisufriend 8fc09fb
feat(k8s): add wiki
kurisufriend 1b27fe5
fix(k8s/secrets): decrypted secrets should be 0600
kurisufriend 7ccd121
feat(k8s/secrets): add bash-secrets
kurisufriend 99a4e5c
fix(k8s/wiki): muddle with permissions
kurisufriend c0be97d
fix(k8s/wiki): don't chown db (nfs squashroot: you can't!)
kurisufriend 8653b1b
fix(vesuvius/caddy): switch handle_path /w/ to handle. caddy is annoy…
kurisufriend 4969dcd
fix(k8s/wiki): image path rewrite
kurisufriend 11f6704
fix(vesuvius/caddy): gobblerpedia should use HTTP acme challenges
kurisufriend 5ccea04
k8s/secrets: recipients file
kurisufriend File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| { pkgs, lib, ... }: | ||
| let | ||
| # TODO: make this like a python script with a list of interfaces in order of preference | ||
| auto-hostname = pkgs.writeShellApplication { | ||
| name = "auto-hostname"; | ||
|
|
||
| runtimeInputs = [ | ||
| pkgs.hostname | ||
| ]; | ||
|
|
||
| text = '' | ||
| if [[ -e "/sys/class/net/eno2/address" ]]; then | ||
| mac_file="/sys/class/net/eno2/address" | ||
| else | ||
| mac_file=/sys/class/net/enp0s25/address | ||
| fi | ||
|
|
||
| mac=$(cat $mac_file | tr -d '\r\n ' | tr ':' '-') | ||
|
|
||
| hostname "blade-$mac" | ||
| ''; | ||
| }; | ||
| in { | ||
| networking.hostName = ""; | ||
|
|
||
| systemd.services."auto-hostname" = { | ||
| wantedBy = [ "multi-user.target" ]; | ||
| after = [ "network.target" ]; | ||
|
|
||
| unitConfig = { | ||
| Description = "Automatically set the hostname "; | ||
| }; | ||
|
|
||
| serviceConfig = { | ||
| Type = "oneshot"; | ||
| ExecStart = "${lib.getExe auto-hostname}"; | ||
| }; | ||
| }; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| { modulesPath, pkgs, lib, ... }: { | ||
| imports = [ | ||
| ./auto-hostname.nix | ||
| (import ../common/k3s.nix {}) | ||
| ../common/nix.nix | ||
| ../common/sshd.nix | ||
| ../common/users-local.nix | ||
| (modulesPath + "/installer/netboot/netboot-minimal.nix") | ||
| ]; | ||
|
|
||
| # when making the ISO, the initialHashedPassword is set to "" for some reason | ||
| # we already set a hashed password, so null this | ||
| users.users.root.initialHashedPassword = lib.mkForce null; | ||
|
|
||
| environment.systemPackages = [ | ||
| pkgs.fastfetch | ||
| ]; | ||
|
|
||
| system.stateVersion = "25.11"; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| { role ? "agent", clusterInit ? false }: { | ||
| networking.firewall.allowedTCPPorts = [ | ||
| 6443 | ||
| ]; | ||
|
|
||
| networking.firewall.allowedUDPPorts = [ | ||
| 8472 | ||
| ]; | ||
|
|
||
| services.k3s = { | ||
| inherit role clusterInit; | ||
|
|
||
| enable = true; | ||
| token = "garbage secret"; | ||
| serverAddr = "https://10.98.1.147:6443"; | ||
|
mehbark marked this conversation as resolved.
Outdated
mikhail729 marked this conversation as resolved.
Outdated
|
||
| }; | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.