chore: move charts into manifests
This commit is contained in:
+32
-10
@@ -53,9 +53,25 @@
|
|||||||
|
|
||||||
# Network Manager pulls in too many deps
|
# Network Manager pulls in too many deps
|
||||||
networking = {
|
networking = {
|
||||||
|
extraHosts =
|
||||||
|
let
|
||||||
|
onNetwork =
|
||||||
|
attr: _k: v:
|
||||||
|
(builtins.hasAttr attr v) && v.${attr} != null;
|
||||||
|
getIPs =
|
||||||
|
attr: domain:
|
||||||
|
(lib.mapAttrsToList (host: v: "${builtins.getAttr attr v} ${host}.${domain}") (
|
||||||
|
lib.filterAttrs (onNetwork attr) metadata.hosts
|
||||||
|
));
|
||||||
|
in
|
||||||
|
builtins.concatStringsSep "\n" (
|
||||||
|
(getIPs "ts" "shire-zebra.ts.net")
|
||||||
|
++ (getIPs "nebulaIp" "nebula.thehellings.com")
|
||||||
|
++ (getIPs "nebulaIp" "nebula")
|
||||||
|
++ (getIPs "ip" "thehellings.lan")
|
||||||
|
);
|
||||||
search = [
|
search = [
|
||||||
"thehellings.lan"
|
"nebula.thehellings.com"
|
||||||
"home"
|
|
||||||
];
|
];
|
||||||
networkmanager.enable = false;
|
networkmanager.enable = false;
|
||||||
};
|
};
|
||||||
@@ -114,17 +130,23 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
security.sudo.extraRules = [
|
security = {
|
||||||
{
|
sudo-rs = {
|
||||||
users = [ "greg" ];
|
enable = true;
|
||||||
commands = [
|
extraRules = [
|
||||||
{
|
{
|
||||||
command = "ALL";
|
users = [ "greg" ];
|
||||||
options = [ "NOPASSWD" ];
|
commands = [
|
||||||
|
{
|
||||||
|
command = "ALL";
|
||||||
|
options = [ "NOPASSWD" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
};
|
||||||
];
|
sudo.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.greg = {
|
users.users.greg = {
|
||||||
|
|||||||
@@ -18,7 +18,11 @@
|
|||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
memtest86.enable = true;
|
||||||
|
netbootxyz.enable = true;
|
||||||
|
};
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
binfmt.emulatedSystems = [
|
binfmt.emulatedSystems = [
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: external-secrets
|
||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: external-secrets
|
||||||
|
namespace: external-secrets
|
||||||
|
spec:
|
||||||
|
interval: "24h"
|
||||||
|
url: "https://charts.external-secrets.io/"
|
||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: external-secrets
|
||||||
|
namespace: external-secrets
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: external-secrets
|
||||||
|
version: "2.3.0"
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: external-secrets
|
||||||
|
interval: "1h"
|
||||||
|
values:
|
||||||
|
crds:
|
||||||
|
create: true
|
||||||
|
includeCRDs: true
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
resources:
|
resources:
|
||||||
|
- kyverno.yaml
|
||||||
|
- external-secrets.yaml
|
||||||
|
- tailscale.yaml
|
||||||
- longhorn.yaml # Needed for storage
|
- longhorn.yaml # Needed for storage
|
||||||
- traefik.yaml
|
- traefik.yaml
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: kyverno-system
|
||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: kyverno
|
||||||
|
namespace: kyverno-system
|
||||||
|
spec:
|
||||||
|
interval: "24h"
|
||||||
|
url: "https://kyverno.github.io/kyverno/"
|
||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: kyverno
|
||||||
|
namespace: kyverno-system
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: kyverno
|
||||||
|
version: "1.17.1"
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: kyverno
|
||||||
|
interval: "1h"
|
||||||
|
values:
|
||||||
|
admissionController:
|
||||||
|
replicas: 3
|
||||||
|
backgroundController:
|
||||||
|
replicas: 3
|
||||||
|
cleanupController:
|
||||||
|
replicas: 2
|
||||||
|
reportsController:
|
||||||
|
replicas: 2
|
||||||
|
crds:
|
||||||
|
install: true
|
||||||
@@ -19,6 +19,11 @@ metadata:
|
|||||||
namespace: longhorn-system
|
namespace: longhorn-system
|
||||||
spec:
|
spec:
|
||||||
interval: 10m
|
interval: 10m
|
||||||
|
dependsOn:
|
||||||
|
- name: tailscale-operator
|
||||||
|
namespace: tailscale
|
||||||
|
- name: kyverno
|
||||||
|
namespace: kyverno
|
||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: longhorn
|
chart: longhorn
|
||||||
|
|||||||
@@ -1,3 +1,36 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: tailscale
|
||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: tailscale
|
||||||
|
namespace: tailscale
|
||||||
|
spec:
|
||||||
|
interval: "24h"
|
||||||
|
url: "https://pkgs.tailscale.com/helmcharts"
|
||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: tailscale
|
||||||
|
namespace: tailscale
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
dependsOn:
|
||||||
|
- name: external-secrets
|
||||||
|
namespace: external-secrets
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: tailscale-operator
|
||||||
|
version: "1.96.5"
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: tailscale
|
||||||
|
interval: "1h"
|
||||||
|
---
|
||||||
apiVersion: external-secrets.io/v1
|
apiVersion: external-secrets.io/v1
|
||||||
kind: ExternalSecret
|
kind: ExternalSecret
|
||||||
metadata:
|
metadata:
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
top,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@@ -86,43 +85,6 @@ in
|
|||||||
services = {
|
services = {
|
||||||
k3s = {
|
k3s = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoDeployCharts = {
|
|
||||||
external-secrets = {
|
|
||||||
inherit (top.charts.chartsMetadata.external-secrets.external-secrets) repo version;
|
|
||||||
enable = true;
|
|
||||||
name = top.charts.chartsMetadata.external-secrets.external-secrets.chart;
|
|
||||||
hash = "sha256-dPuUWthwN6L0jdAKRpkDtDedGyDUxUlJrwkvUNwLsrU=";
|
|
||||||
createNamespace = true;
|
|
||||||
targetNamespace = "external-secrets";
|
|
||||||
values = {
|
|
||||||
crds.create = true;
|
|
||||||
includeCRDs = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
kyverno = {
|
|
||||||
inherit (top.charts.chartsMetadata.kyverno.kyverno) repo version;
|
|
||||||
enable = true;
|
|
||||||
name = top.charts.chartsMetadata.kyverno.kyverno.chart;
|
|
||||||
hash = "sha256-sNdFEupwfnYSo2iGqKwTadPtXfcbyM1kuisavpiGUyU=";
|
|
||||||
createNamespace = true;
|
|
||||||
targetNamespace = "kyverno-system";
|
|
||||||
values = {
|
|
||||||
admissionController.replicas = 3;
|
|
||||||
backgroundController.replicas = 3;
|
|
||||||
cleanupController.replicas = 2;
|
|
||||||
reportsController.replicas = 2;
|
|
||||||
crds.install = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
tailscale = {
|
|
||||||
inherit (top.charts.chartsMetadata.tailscale.tailscale-operator) repo version;
|
|
||||||
enable = true;
|
|
||||||
name = top.charts.chartsMetadata.tailscale.tailscale-operator.chart;
|
|
||||||
hash = "sha256-BtZ24mCT2GMHE9iR+2xuIkB+4m1r2OC3WLkY3jC3i3I=";
|
|
||||||
createNamespace = true;
|
|
||||||
targetNamespace = "tailscale";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraFlags = [
|
extraFlags = [
|
||||||
"--cluster-cidr=10.211.0.0/16"
|
"--cluster-cidr=10.211.0.0/16"
|
||||||
"--service-cidr=10.221.0.0/16"
|
"--service-cidr=10.221.0.0/16"
|
||||||
@@ -138,7 +100,6 @@ in
|
|||||||
cert-manager.source = cert-manager;
|
cert-manager.source = cert-manager;
|
||||||
flux.source = flux;
|
flux.source = flux;
|
||||||
node-annotations.source = ../../manifests/auto/nodes.yaml;
|
node-annotations.source = ../../manifests/auto/nodes.yaml;
|
||||||
operator-oauth.source = ../../manifests/auto/operator-oauth.yaml;
|
|
||||||
};
|
};
|
||||||
role = if cfg.agentOnly then "agent" else "server";
|
role = if cfg.agentOnly then "agent" else "server";
|
||||||
serverAddr = lib.mkIf (
|
serverAddr = lib.mkIf (
|
||||||
|
|||||||
Reference in New Issue
Block a user