Compare commits

...

55 Commits

Author SHA1 Message Date
fluxcdbot
2738a8bf60 harbor.yadunut.dev/yadunut/yadunut.dev:sha-e09fe73-1758515485 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-468e389-1759339786 2025-10-02 01:56:20 +00:00
6fa772ec7d holy fuck gitea actions is working 2025-10-02 09:53:24 +08:00
537e2bbf36 im getting edged 2025-10-02 01:33:38 +08:00
b4c3142d16 hail mary 2025-10-02 01:13:07 +08:00
210108add1 i have brain damage 2025-10-02 00:28:43 +08:00
aceb09d8e9 did codex figure this out? 2025-10-01 21:21:10 +08:00
07a1c3a000 chore: update runner 2025-10-01 21:05:43 +08:00
fcdbb237c0 feat: add gitea actions 2025-10-01 20:49:35 +08:00
8fd0aca589 feat: who needs passwords 2025-10-01 12:07:18 +08:00
0ef4a41855 feat: legacy packges? 2025-10-01 02:04:19 +08:00
796eb1a109 fix: specify not-bitnami images 2025-10-01 01:25:53 +08:00
00978cca8e feat: update gitea to v12 2025-10-01 01:01:56 +08:00
afee7de260 feat: resize openwebui 2025-09-29 17:33:00 +08:00
7762bb28ac remove temp flags 2025-09-26 23:46:54 +08:00
be64cd258b fix: wrong trailing slash? 2025-09-26 23:20:28 +08:00
b5f3e9ee2a fix: passing of stuff? 2025-09-26 23:09:25 +08:00
85d8bd6c18 more flags? 2025-09-26 22:54:11 +08:00
67f63e1f06 feat: dont save 2025-09-26 22:50:08 +08:00
aa51a751dc fix: potential issue? 2025-09-26 22:21:57 +08:00
a4e2579b1b fix: update clientId 2025-09-26 21:52:31 +08:00
bc22fa3a54 feat: deploy openwebui 2025-09-26 21:45:46 +08:00
d1c3cdd693 wip 2025-09-26 19:44:50 +08:00
488ea0e48e feat: add cdi plugin 2025-09-22 23:33:48 +08:00
fluxcdbot
46df6dc96a harbor.yadunut.dev/yadunut/yadunut.dev:sha-759c2c3-1756621909 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-e09fe73-1758515485 2025-09-22 04:35:49 +00:00
fluxcdbot
059ec87539 harbor.yadunut.dev/yadunut/yadunut.dev:sha-51f3225-1755933670 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-759c2c3-1756621909 2025-08-31 06:34:37 +00:00
fluxcdbot
a840e20b2e harbor.yadunut.dev/yadunut/yadunut.dev:sha-96a305d-1755884703 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-51f3225-1755933670 2025-08-23 10:47:56 +00:00
fluxcdbot
1415cd495a harbor.yadunut.dev/yadunut/yadunut.dev:sha-9f30a23-1755767278 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-96a305d-1755884703 2025-08-22 18:04:50 +00:00
fluxcdbot
172f6f8076 harbor.yadunut.dev/yadunut/yadunut.dev:sha-f1d2e36-1755156505 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-9f30a23-1755767278 2025-08-22 17:29:48 +00:00
fluxcdbot
5bb6c1bd0c harbor.yadunut.dev/yadunut/yadunut.dev:sha-e6b7654-1755156505 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-f1d2e36-1755156505 2025-08-19 07:51:30 +00:00
fluxcdbot
40ba7f93d9 harbor.yadunut.dev/yadunut/yadunut.dev:sha-7694a53-1755018184 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-e6b7654-1755156505 2025-08-14 07:30:49 +00:00
fluxcdbot
337ac7794a harbor.yadunut.dev/yadunut/yadunut.dev:sha-6f82a0f-1755011999 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-7694a53-1755018184 2025-08-12 17:04:31 +00:00
fluxcdbot
bdee4de196 harbor.yadunut.dev/yadunut/yadunut.dev:sha-b102c94-1754832412 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-6f82a0f-1755011999 2025-08-12 15:22:24 +00:00
fluxcdbot
e87f97b4b6 harbor.yadunut.dev/yadunut/yadunut.dev:sha-0b8b575-1754724797 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-b102c94-1754832412 2025-08-10 13:29:08 +00:00
fluxcdbot
d189f0daca harbor.yadunut.dev/yadunut/yadunut.dev:sha-8538c73-1754720008 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-0b8b575-1754724797 2025-08-09 07:35:18 +00:00
fluxcdbot
4e47e09b26 harbor.yadunut.dev/yadunut/yadunut.dev:sha-266aac2-1754370206 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-8538c73-1754720008 2025-08-09 06:17:12 +00:00
739e673a58 fix: container port 2025-08-05 13:08:55 +08:00
fluxcdbot
cc86506946 harbor.yadunut.dev/yadunut/yadunut.dev:sha-705e1e3-1754365897 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-266aac2-1754370206 2025-08-05 05:05:23 +00:00
fluxcdbot
242ee8f51c harbor.yadunut.dev/yadunut/yadunut.dev:sha-08f0f02-1735288116 -> harbor.yadunut.dev/yadunut/yadunut.dev:sha-705e1e3-1754365897 2025-08-05 05:00:23 +00:00
f60e662e16 feat: bring back website 2025-08-04 08:41:56 +08:00
b09cde6130 fix: put behind authentik 2025-05-30 14:03:32 -04:00
5fdfb2fe66 fix: move service to correct place 2025-05-30 14:00:01 -04:00
08a5c4df7f feat: dont put behind authentik 2025-05-30 13:41:43 -04:00
594ac093ec feat: try to fix proxmox 2025-05-30 13:30:36 -04:00
9ce0a94355 fix: proxmox port 2025-05-26 15:25:57 -04:00
ed52a43674 Revert "chore: stick to stable nixos"
This reverts commit 857fedec9c.
2025-05-26 15:00:02 -04:00
d65a1043c9 feat: centralize longhorn config 2025-05-26 15:00:02 -04:00
fluxcdbot
dbc1501546 harbor.yadunut.dev/yadunut/tcp_proxy:sha-582dd5f-1747336425 -> harbor.yadunut.dev/yadunut/tcp_proxy:sha-85ed592-1748014668 2025-05-26 18:59:49 +00:00
bb41f91586 fix: more annotations 2025-05-16 17:37:13 -04:00
9e3d5fa71c fix: add tls 2025-05-16 17:29:09 -04:00
9c8393803b fix: add proxmox tls 2025-05-16 17:24:08 -04:00
0a0519a148 fix: proxmox passthrough 2025-05-16 17:05:26 -04:00
82c04d5ad7 fix: update node selector 2025-05-16 16:50:45 -04:00
049b6788fd fix: add proxmox 2025-05-16 16:42:06 -04:00
40398f144d chore: add proxmox proxy? 2025-05-16 16:40:33 -04:00
5d63f98a94 feat: add harbor 2025-05-15 23:50:30 -04:00
14 changed files with 417 additions and 83 deletions

View File

@@ -12,6 +12,14 @@ metadata:
spec: spec:
itemPath: "vaults/cluster/items/gitea-admin-password" itemPath: "vaults/cluster/items/gitea-admin-password"
--- ---
apiVersion: onepassword.com/v1
kind: OnePasswordItem
metadata:
name: gitea-actions-token
namespace: gitea
spec:
itemPath: "vaults/cluster/items/gitea-actions-token"
---
apiVersion: source.toolkit.fluxcd.io/v1 apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository kind: HelmRepository
metadata: metadata:
@@ -35,7 +43,7 @@ spec:
kind: HelmRepository kind: HelmRepository
name: gitea-repo name: gitea-repo
namespace: flux-system namespace: flux-system
version: v10.6.x version: v12.3.x
interval: 1m0s interval: 1m0s
releaseName: gitea releaseName: gitea
values: values:
@@ -66,36 +74,26 @@ spec:
- secretName: wildcard-cert-i.yadunut.dev-prod - secretName: wildcard-cert-i.yadunut.dev-prod
hosts: hosts:
- git.yadunut.dev - git.yadunut.dev
actions: valkey-cluster:
enabled: true
provisioning:
enabled: true
statefulset:
actRunner:
config: |
log:
level: debug
cache:
enabled: true
runner:
labels:
- "ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
- "ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04"
- "ubuntu-20.04:docker://catthehacker/ubuntu:act-20.04"
container:
options: |
--add-host=docker:host-gateway -v /certs:/certs -e "DOCKER_HOST=tcp://docker:2376/" -e "DOCKER_TLS_CERTDIR=/certs" -e "DOCKER_TLS_VERIFY=1" -e "DOCKER_CERT_PATH=/certs/server"
valid_volumes:
- /certs
- '**'
redis-cluster:
enabled: false enabled: false
redis: valkey:
enabled: true enabled: true
image:
repository: bitnamilegacy/valkey
global:
security:
allowInsecureImages: true
# auth:
# existingSecret: gitea-valkey
# existingSecretPasswordKey: password
postgresql: postgresql:
enabled: true enabled: true
image:
repository: bitnamilegacy/postgresql
tag: 16.3.0-debian-12-r23
global:
security:
allowInsecureImages: true
postgresql-ha: postgresql-ha:
enabled: false enabled: false
@@ -110,6 +108,7 @@ spec:
server: server:
SSH_PORT: 2222 SSH_PORT: 2222
LANDING_PAGE: /yadunut LANDING_PAGE: /yadunut
LFS_START_SERVER: true
database: database:
DB_TYPE: postgres DB_TYPE: postgres
indexer: indexer:
@@ -139,3 +138,52 @@ spec:
services: services:
- name: gitea-ssh - name: gitea-ssh
port: 2222 port: 2222
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: gitea-actions
namespace: gitea
spec:
chart:
spec:
chart: actions
sourceRef:
kind: HelmRepository
name: gitea-repo
namespace: flux-system
version: v0.0.x
interval: 1m
values:
enabled: true
giteaRootURL: https://git.yadunut.dev
# Provide the runner registration token from 1Password-backed Secret
existingSecret: gitea-actions-token
existingSecretKey: token
statefulset:
replicas: 1
# Your custom runner config replicated here (labels, dind, volumes)
actRunner:
config: |
log:
level: debug
cache:
enabled: true
runner:
labels:
- "ubuntu-latest:docker://harbor.yadunut.dev/gitea_cache/runner-images:ubuntu-latest"
- "ubuntu-22.04:docker://harbor.yadunut.dev/gitea_cache/runner-images:ubuntu-22.04"
- "ubuntu-20.04:docker://harbor.yadunut.dev/gitea_cache/runner-images:ubuntu-20.04"
container:
network: host
valid_volumes:
- '**'
options: |
-v /certs:/certs
--add-host=docker:host-gateway
-e DOCKER_HOST=tcp://docker:2376
-e DOCKER_TLS_VERIFY=1
-e DOCKER_CERT_PATH=/certs/client
-e DOCKER_TLS_CERTDIR=/certs

95
apps/base/open-webui.yaml Normal file
View File

@@ -0,0 +1,95 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: open-webui
---
apiVersion: onepassword.com/v1
kind: OnePasswordItem
metadata:
name: open-webui-oidc-client-secret
namespace: open-webui
spec:
itemPath: "vaults/cluster/items/open-webui-oidc-client-secret"
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: open-webui-repo
namespace: flux-system
spec:
interval: 15m0s
url: https://helm.openwebui.com
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: open-webui
namespace: open-webui
spec:
chart:
spec:
chart: open-webui
reconcileStrategy: ChartVersion
sourceRef:
kind: HelmRepository
name: open-webui-repo
namespace: flux-system
version: 8.6.x
interval: 1m0s
values:
ollama:
enabled: true
fullnameOverride: open-webui-ollama
ollama:
gpu:
enabled: true
type: nvidia
nvidiaResource: "nvidia.com/gpu-all"
number: 1
persistentVolume:
enabled: true
size: 100Gi
resources:
requests:
memory: 4Gi
limits:
memory: 55Gi
pipelines:
enabled: false
# Ingress via Traefik
ingress:
enabled: true
class: traefik
host: chat.yadunut.dev
tls: true
existingSecret: wildcard-cert-yadunut.dev-prod
# Use built-in sqlite persistence (PVC)
persistence:
enabled: true
size: 10Gi
accessModes: ["ReadWriteOnce"]
# commonEnvVars:
# - name: ENABLE_OAUTH_PERSISTENT_CONFIG
# value: "false"
# - name: ENABLE_LOGIN_FORM
# value: "true"
# - name: OPENID_REDIRECT_URI
# value: "https://chat.yadunut.dev/oauth/oidc/callback"
# OIDC via Authentik
sso:
enabled: true
enableSignup: true
mergeAccountsByEmail: true
oidc:
enabled: true
providerName: "Authentik"
providerUrl: "https://authentik.yadunut.dev/application/o/open-webui/.well-known/openid-configuration"
clientId: "Z37HQwWBYxax4vwN047B8PWr3JxT6qMAOtCAyJ4Z"
clientExistingSecret: open-webui-oidc-client-secret
clientExistingSecretKey: password
scopes: "openid email profile"

109
apps/base/proxmox.yaml Normal file
View File

@@ -0,0 +1,109 @@
apiVersion: v1
kind: Namespace
metadata:
name: proxmox
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: proxmox-proxy-deployment
namespace: proxmox
labels:
app: proxmox-proxy
spec:
replicas: 1
selector:
matchLabels:
app: proxmox-proxy
template:
metadata:
labels:
app: proxmox-proxy
spec:
nodeSelector:
kubernetes.io/hostname: premhome-falcon-1
containers:
- name: tcp-proxy
image: harbor.yadunut.dev/yadunut/tcp_proxy:sha-85ed592-1748014668 # {"$imagepolicy": "flux-system:tcp-proxy"}
env:
- name: LISTEN_ADDR
value: "0.0.0.0:8443"
- name: UPSTREAM_ADDR
value: "10.0.0.5:8006"
ports:
- containerPort: 8443
name: https
---
apiVersion: traefik.io/v1alpha1
kind: ServersTransport
metadata:
name: proxmox-insecure
namespace: proxmox
spec:
insecureSkipVerify: true
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: proxmox-proxy
namespace: proxmox
annotations:
traefik.ingress.kubernetes.io/router.middlewares: authentik-system-authentik@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: proxmox.i.yadunut.dev
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: proxmox-proxy
port:
name: https
tls:
- hosts:
- proxmox.i.yadunut.dev
secretName: wildcard-cert-i.yadunut.dev-prod
---
apiVersion: v1
kind: Service
metadata:
name: proxmox-proxy
namespace: proxmox
annotations:
traefik.ingress.kubernetes.io/service.serversscheme: https
traefik.ingress.kubernetes.io/service.serverstransport: proxmox-proxmox-insecure@kubernetescrd
spec:
selector:
app: proxmox-proxy
ports:
- name: https
port: 8443
targetPort: https
type: ClusterIP
---
apiVersion: image.toolkit.fluxcd.io/v1beta2
kind: ImageRepository
metadata:
name: tcp-proxy
namespace: flux-system
spec:
image: harbor.yadunut.dev/yadunut/tcp_proxy
interval: 1m0s
---
apiVersion: image.toolkit.fluxcd.io/v1beta2
kind: ImagePolicy
metadata:
name: tcp-proxy
namespace: flux-system
spec:
imageRepositoryRef:
name: tcp-proxy
filterTags:
pattern: "^sha-[a-fA-F0-9]+-(?P<ts>.*)"
extract: "$ts"
policy:
numerical:
order: asc

View File

@@ -22,9 +22,9 @@ spec:
spec: spec:
containers: containers:
- name: yadunut-dev - name: yadunut-dev
image: harbor.yadunut.dev/yadunut/yadunut.dev:sha-08f0f02-1735288116 # {"$imagepolicy": "flux-system:yadunut-dev"} image: harbor.yadunut.dev/yadunut/yadunut.dev:sha-468e389-1759339786 # {"$imagepolicy": "flux-system:yadunut-dev"}
ports: ports:
- containerPort: 3000 - containerPort: 80
name: http name: http
protocol: TCP protocol: TCP
--- ---
@@ -50,16 +50,16 @@ metadata:
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
- host: yadunut.dev - host: yadunut.dev
http: http:
paths: paths:
- path: / - path: /
pathType: Prefix pathType: Prefix
backend: backend:
service: service:
name: yadunut-dev name: yadunut-dev
port: port:
name: http name: http
--- ---
apiVersion: image.toolkit.fluxcd.io/v1beta2 apiVersion: image.toolkit.fluxcd.io/v1beta2
kind: ImageRepository kind: ImageRepository
@@ -79,8 +79,8 @@ spec:
imageRepositoryRef: imageRepositoryRef:
name: yadunut-dev name: yadunut-dev
filterTags: filterTags:
pattern: '^sha-[a-fA-F0-9]+-(?P<ts>.*)' pattern: "^sha-[a-fA-F0-9]+-(?P<ts>.*)"
extract: '$ts' extract: "$ts"
policy: policy:
numerical: numerical:
order: asc order: asc

View File

@@ -3,6 +3,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- ../base/podinfo.yaml - ../base/podinfo.yaml
# - ../base/harbor.yaml - ../base/harbor.yaml
- ../base/gitea.yaml - ../base/gitea.yaml
# - ../base/yadunut-dev.yaml - ../base/yadunut-dev.yaml
- ../base/proxmox.yaml
- ../base/open-webui.yaml

View File

@@ -0,0 +1,16 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: infra-generic-cdi-plugin
namespace: flux-system
spec:
interval: 1h0m0s
path: ./infra/controllers/generic-cdi-plugin
prune: true
retryInterval: 1m0s
sourceRef:
kind: GitRepository
name: flux-system
timeout: 5m0s
wait: true

View File

@@ -0,0 +1,52 @@
apiVersion: v1
kind: Namespace
metadata:
name: generic-cdi-plugin
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: generic-cdi-plugin-daemonset
namespace: generic-cdi-plugin
spec:
selector:
matchLabels:
name: generic-cdi-plugin
template:
metadata:
labels:
name: generic-cdi-plugin
app.kubernetes.io/component: generic-cdi-plugin
app.kubernetes.io/name: generic-cdi-plugin
spec:
containers:
- image: ghcr.io/olfillasodikno/generic-cdi-plugin:main
name: generic-cdi-plugin
command:
- /generic-cdi-plugin
- /var/run/cdi/nvidia-container-toolkit.json
imagePullPolicy: Always
securityContext:
privileged: true
tty: true
volumeMounts:
- name: kubelet
mountPath: /var/lib/kubelet
- name: nvidia-container-toolkit
mountPath: /var/run/cdi/nvidia-container-toolkit.json
volumes:
- name: kubelet
hostPath:
path: /var/lib/kubelet
- name: nvidia-container-toolkit
hostPath:
path: /var/run/cdi/nvidia-container-toolkit.json
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: "nixos-nvidia-cdi"
operator: In
values:
- "enabled"

View File

@@ -0,0 +1,6 @@
apiVersion: v1
kind: Node
metadata:
name: penguin
labels:
nixos-nvidia-cdi: enabled

View File

@@ -1,4 +1,5 @@
{ {
pkgs,
config, config,
meta, meta,
... ...
@@ -14,4 +15,14 @@
else "https://${meta.server-addr}:6443"; else "https://${meta.server-addr}:6443";
extraFlags = ["--disable=servicelb" "--disable=traefik" "--node-ip ${meta.zt-ip}" "--flannel-iface ztxh6lvd6t" "--flannel-backend=host-gw" "--tls-san ${meta.zt-ip}"]; extraFlags = ["--disable=servicelb" "--disable=traefik" "--node-ip ${meta.zt-ip}" "--flannel-iface ztxh6lvd6t" "--flannel-backend=host-gw" "--tls-san ${meta.zt-ip}"];
}; };
# For longhorn
environment.systemPackages = [ pkgs.nfs-utils ];
services.openiscsi = {
enable = true;
name = "iqn.2016-04.com.open-iscsi:${config.networking.hostName}";
};
systemd.tmpfiles.rules = [
"L+ /usr/local/bin - - - - /run/current-system/sw/bin/"
];
} }

View File

@@ -1,7 +1,7 @@
{...}: { {...}: {
services.zerotierone = { services.zerotierone = {
enable = true; enable = true;
joinNetworks = ["<network-id>"]; joinNetworks = ["23992b9a659115b6"];
}; };
networking = { networking = {

26
nixos/flake.lock generated
View File

@@ -10,11 +10,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1745630506, "lastModified": 1747575206,
"narHash": "sha256-bHCFgGeu8XjWlVuaWzi3QONjDW3coZDqSHvnd4l7xus=", "narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "96e078c646b711aee04b82ba01aefbff87004ded", "rev": "4835b1dc898959d8547a871ef484930675cb47f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -52,11 +52,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747226316, "lastModified": 1747742835,
"narHash": "sha256-INBPqK9ogSvw5Q9HJ5H7KI83v6Jc3goAnXN3b2F+eMU=", "narHash": "sha256-kYL4GCwwznsypvsnA20oyvW8zB/Dvn6K5G/tgMjVMT4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "490c0d6bd151e33caa5b2cf0ae37758234e947f6", "rev": "df522e787fdffc4f32ed3e1fca9ed0968a384d62",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -127,11 +127,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742568034, "lastModified": 1747663185,
"narHash": "sha256-QaMEhcnscfF2MqB7flZr+sLJMMYZPnvqO4NYf9B4G38=", "narHash": "sha256-Obh50J+O9jhUM/FgXtI3he/QRNiV9+J53+l+RlKSaAk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "42ee229088490e3777ed7d1162cb9e9d8c3dbb11", "rev": "ee07ba0d36c38e9915c55d2ac5a8fb0f05f2afcc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -142,16 +142,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1747235650, "lastModified": 1747728033,
"narHash": "sha256-qiS7n66dq1BXRdv5EdchZwFaNd1Q+M1lq/ibg4Z/s58=", "narHash": "sha256-NnXFQu7g4LnvPIPfJmBuZF7LFy/fey2g2+LCzjQhTUk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "49e6e192a7c6eb961dd485410fa8983e0df21b50", "rev": "2f9173bde1d3fbf1ad26ff6d52f952f9e9da52ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "release-24.11", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View File

@@ -1,6 +1,6 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/release-24.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View File

@@ -2,10 +2,18 @@
config, config,
pkgs, pkgs,
... ...
}: { }:
imports = [../../common/users.nix ../../common/zerotier.nix ../../common/k3s.nix]; {
imports = [
../../common/users.nix
../../common/zerotier.nix
../../common/k3s.nix
];
nix = { nix = {
settings.experimental-features = ["nix-command" "flakes"]; settings.experimental-features = [
"nix-command"
"flakes"
];
}; };
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@@ -35,14 +43,20 @@
jq jq
ripgrep ripgrep
fd fd
nfs-utils
]; ];
networking = { networking = {
nameservers = [ "1.1.1.1" "8.8.8.8" ]; nameservers = [
"1.1.1.1"
"8.8.8.8"
];
firewall = { firewall = {
enable = true; enable = true;
allowedTCPPorts = [22 80 443]; allowedTCPPorts = [
22
80
443
];
}; };
interfaces.ens3 = { interfaces.ens3 = {
ipv4 = { ipv4 = {
@@ -65,14 +79,5 @@
}; };
}; };
# For longhorn
services.openiscsi = {
enable = true;
name = "iqn.2016-04.com.open-iscsi:${config.networking.hostName}";
};
systemd.tmpfiles.rules = [
"L+ /usr/local/bin - - - - /run/current-system/sw/bin/"
];
system.stateVersion = "24.11"; system.stateVersion = "24.11";
} }

View File

@@ -21,15 +21,6 @@
services.openssh.enable = true; services.openssh.enable = true;
services.qemuGuest.enable = true; services.qemuGuest.enable = true;
# For longhorn
services.openiscsi = {
enable = true;
name = "iqn.2016-04.com.open-iscsi:${meta.hostname}";
};
systemd.tmpfiles.rules = [
"L+ /usr/local/bin - - - - /run/current-system/sw/bin/"
];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git git
neovim neovim
@@ -37,7 +28,6 @@
jq jq
ripgrep ripgrep
fd fd
nfs-utils
]; ];
networking = { networking = {