Compare commits
2 commits
5b96e3a64c
...
d4772acd38
Author | SHA1 | Date | |
---|---|---|---|
Gabriel Simmer | d4772acd38 | ||
Gabriel Simmer | 59e449dd75 |
19
homelab/cloudflare-exporter.nix
Normal file
19
homelab/cloudflare-exporter.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ lib, config, kubenix, ... }: {
|
||||
kubernetes.helm.releases.cloudflare-exporter = {
|
||||
namespace = "default";
|
||||
chart = kubenix.lib.helm.fetch {
|
||||
repo = "https://lablabs.github.io/cloudflare-exporter";
|
||||
chart = "cloudflare-exporter";
|
||||
version = "0.1.9";
|
||||
sha256 = "sha256-ZTyE6I3vV9tjKRRc84EvoqboS01SPKVb74jYN8prnfA=";
|
||||
};
|
||||
values = {
|
||||
image.tag = "0.0.14";
|
||||
secretRef = "cloudflare-exporter";
|
||||
serviceMonitor = {
|
||||
enabled = true;
|
||||
labels.release = "prometheus";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,4 +1,9 @@
|
|||
{ lib, ... }: {
|
||||
kubernetes.resourceOrder =
|
||||
[ "CustomResourceDefinition"
|
||||
"Namespace"
|
||||
"ConfigMap"
|
||||
];
|
||||
kubernetes.customTypes = [
|
||||
{
|
||||
name = "servicemonitors";
|
||||
|
|
|
@ -1,42 +1,5 @@
|
|||
{ lib, config, kubenix, ... }: {
|
||||
kubernetes.helm.releases.homepage = {
|
||||
chart = kubenix.lib.helm.fetch {
|
||||
repo = "https://jameswynn.github.io/helm-charts";
|
||||
chart = "homepage";
|
||||
version = "1.2.3";
|
||||
sha256 = "sha256-tZv/+ePFPifilp8wU4FjogSJhNEERx0PcdHUzsBxfRA=";
|
||||
};
|
||||
# arbitrary attrset passed as values to the helm release
|
||||
values = {
|
||||
replicaCount = 2;
|
||||
image = {
|
||||
repository = "ghcr.io/gethomepage/homepage";
|
||||
tag = "latest";
|
||||
};
|
||||
serviceAccount.create = true;
|
||||
enableRbac = true;
|
||||
ingress.main = {
|
||||
enabled = true;
|
||||
ingressClassName = "nginx";
|
||||
hosts = [
|
||||
{
|
||||
host = "home.gmem.ca";
|
||||
paths = [
|
||||
{
|
||||
path = "/";
|
||||
pathType = "Prefix";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
tls = [
|
||||
{
|
||||
hosts = [ "home.gmem.ca" ];
|
||||
secretName = "gmem-ca-wildcard";
|
||||
}
|
||||
];
|
||||
};
|
||||
config = {
|
||||
{ lib, config, kubenix, ... }:
|
||||
let homepage-config = {
|
||||
bookmarks = [];
|
||||
services = [
|
||||
{
|
||||
|
@ -108,7 +71,7 @@
|
|||
}
|
||||
{ NextDNS = {
|
||||
icon = "nextdns.png";
|
||||
href = "https://my.nextdns.io";
|
||||
href = "https://my.nextdns.io/bcee89/setup";
|
||||
description = "DNS provider";
|
||||
widget = {
|
||||
type = "nextdns";
|
||||
|
@ -117,10 +80,10 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
{ "Proxmox Homelab" = {
|
||||
{ "Proxmox" = {
|
||||
icon = "proxmox.png";
|
||||
href = "https://proxmox.gmem.ca";
|
||||
description = "Homelabe proxmox";
|
||||
description = "Homelab proxmox";
|
||||
widget = {
|
||||
type = "proxmox";
|
||||
url = "https://proxmox.gmem.ca";
|
||||
|
@ -140,6 +103,17 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
{ "NextDNS Tailscale" = {
|
||||
icon = "nextdns.png";
|
||||
href = "https://my.nextdns.io/74c6db/setup";
|
||||
description = "Tailnet DNS provider";
|
||||
widget = {
|
||||
type = "nextdns";
|
||||
profile = "74c6db";
|
||||
key = "{{HOMEPAGE_VAR_NEXTDNS_KEY}}";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
|
@ -298,11 +272,55 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
kubernetes.helm.releases.homepage = {
|
||||
chart = kubenix.lib.helm.fetch {
|
||||
repo = "https://jameswynn.github.io/helm-charts";
|
||||
chart = "homepage";
|
||||
version = "1.2.3";
|
||||
sha256 = "sha256-tZv/+ePFPifilp8wU4FjogSJhNEERx0PcdHUzsBxfRA=";
|
||||
};
|
||||
# arbitrary attrset passed as values to the helm release
|
||||
values = {
|
||||
replicaCount = 2;
|
||||
image = {
|
||||
repository = "ghcr.io/gethomepage/homepage";
|
||||
tag = "latest";
|
||||
};
|
||||
serviceAccount.create = true;
|
||||
enableRbac = true;
|
||||
config = homepage-config;
|
||||
ingress.main = {
|
||||
enabled = true;
|
||||
ingressClassName = "nginx";
|
||||
hosts = [
|
||||
{
|
||||
host = "home.gmem.ca";
|
||||
paths = [
|
||||
{
|
||||
path = "/";
|
||||
pathType = "Prefix";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
tls = [
|
||||
{
|
||||
hosts = [ "home.gmem.ca" ];
|
||||
secretName = "gmem-ca-wildcard";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kubernetes.resources.deployments.homepage = {
|
||||
metadata.namespace = "default";
|
||||
spec.template.spec.containers.homepage.envFrom = [ { secretRef.name = "homepage-config"; } ];
|
||||
|
||||
spec.template = {
|
||||
metadata.annotations."gmem.ca/homepage-config-hash" = (builtins.hashString "md5" (builtins.toJSON homepage-config));
|
||||
spec.containers.homepage.envFrom = [ { secretRef.name = "homepage-config"; } ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -9,5 +9,6 @@
|
|||
(import ./endpoints.nix)
|
||||
(import ./homepage.nix)
|
||||
(import ./pterodactyl.nix)
|
||||
(import ./cloudflare-exporter.nix)
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue