Use nixhelm repo, add tailscale to autodeploy

This commit is contained in:
Greg Hellings
2025-09-11 21:39:53 -05:00
parent 5992fa86c0
commit 52189eff57
4 changed files with 53 additions and 7 deletions
+7
View File
@@ -21,6 +21,9 @@
btc = { btc = {
url = "github:fort-nix/nix-bitcoin/release"; url = "github:fort-nix/nix-bitcoin/release";
}; };
charts = {
url = "github:nix-community/nixhelm";
};
darwin = { darwin = {
url = "github:lnl7/nix-darwin/master"; url = "github:lnl7/nix-darwin/master";
inputs.nixpkgs.follows = "nixunstable"; inputs.nixpkgs.follows = "nixunstable";
@@ -63,8 +66,12 @@
pkgs = prev; pkgs = prev;
}) })
); );
charts_overlay = (
_f: _p: { inherit (top) chartsMetadata; }
);
overlays = [ overlays = [
top.agenix.overlays.default top.agenix.overlays.default
charts_overlay
local_overlay local_overlay
packages_overlay packages_overlay
top.nurpkgs.overlays.default top.nurpkgs.overlays.default
-1
View File
@@ -16,7 +16,6 @@ helm upgrade --install cnpg \
-f values/cnpg.yaml \ -f values/cnpg.yaml \
--wait --wait
sleep 5 sleep 5
./tailscale/apply.sh
kubectl apply -k . kubectl apply -k .
./immich/apply.sh ./immich/apply.sh
+33
View File
@@ -0,0 +1,33 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: operator-oauth
namespace: tailscale
spec:
target:
name: operator-oauth
deletionPolicy: Delete
template:
type: kubernetes.io/basic-auth
data:
username: |-
{{ .username }}
password: |-
{{ .password }}
data:
- secretKey: username
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: ffa188a4-63b2-4926-99f0-b33b0021a4f4
property: username
- secretKey: password
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: ffa188a4-63b2-4926-99f0-b33b0021a4f4
property: password
+13 -6
View File
@@ -80,24 +80,23 @@ in
enable = true; enable = true;
autoDeployCharts = { autoDeployCharts = {
external-secrets = { external-secrets = {
inherit (pkgs.chartsMetadata.external-secrets.external-secrets) repo version;
enable = true; enable = true;
createNamespace = true; createNamespace = true;
#hash = ""; hash = pkgs.chartsMetadata.external-secrets.external-secrets.chartHash;
name = "external-secrets"; name = "external-secrets";
repo = "https://charts.external-secrets.io/";
targetNamespace = "external-secrets"; targetNamespace = "external-secrets";
values = { values = {
crds.create = true; crds.create = true;
includeCRDs = true; includeCRDs = true;
}; };
version = "0.17.0";
}; };
kyverno = { kyverno = {
inherit (pkgs.chartsMetadata.kyverno.kyverno) repo version;
enable = true; enable = true;
createNamespace = true; createNamespace = true;
#hash = ""; hash = pkgs.chartsMetadata.kyverno.kyverno.chartHash;
name = "kyverno"; name = "kyverno";
repo = "https://kyverno.github.io/kyverno/";
targetNamespace = "kyverno-system"; targetNamespace = "kyverno-system";
values = { values = {
admissionController.replicas = 3; admissionController.replicas = 3;
@@ -106,7 +105,14 @@ in
reportsController.replicas = 2; reportsController.replicas = 2;
crds.install = true; crds.install = true;
}; };
version = "3.4.4"; };
tailscale = {
inherit (pkgs.chartsMetadata.tailscale.tailscale-operator) repo version;
enable = true;
createNamespace = true;
hash = pkgs.chartsMetadata.tailscale.tailscale-operator.chartHash;
name = "tailscale-operator";
targetNamespace = "tailscale";
}; };
}; };
extraFlags = [ extraFlags = [
@@ -124,6 +130,7 @@ in
cert-manager.source = cert-manager; cert-manager.source = cert-manager;
flux.source = flux; flux.source = flux;
node-annotations.content = ../../manifests/nodes.yaml; node-annotations.content = ../../manifests/nodes.yaml;
operator-oauth.content = ../../manifests/external-secrets/operator-oauth.yaml;
}; };
role = if cfg.agentOnly then "agent" else "server"; role = if cfg.agentOnly then "agent" else "server";
serverAddr = lib.mkIf (config.networking.hostName != "isaiah") "https://isaiah.home:6443"; serverAddr = lib.mkIf (config.networking.hostName != "isaiah") "https://isaiah.home:6443";