Turborepo + pnpm monorepo for k3s homelab cluster on Intel NUCs. - Apps: Next.js web frontend, Express API (TypeScript, Dockerfiles, k8s manifests) - Packages: shared UI, ESLint config, TypeScript config, Drizzle DB schemas - Infra/Ansible: bare-metal provisioning with roles for common, k3s-server, k3s-agent, hardening - Infra/Kubernetes: ArgoCD GitOps (app-of-apps + ApplicationSets), platform components (cert-manager, Traefik, CloudNativePG, Valkey, Longhorn, Sealed Secrets), namespaces - Observability: kube-prometheus-stack, Loki, Promtail as ArgoCD Applications - CI/CD: GitHub Actions for PR builds, preview deploys, production deploys - DX: Taskfile, utility scripts, copier templates, Ubiquiti network docs
38 lines
598 B
YAML
38 lines
598 B
YAML
---
|
|
# Timezone
|
|
timezone: America/New_York
|
|
|
|
# NTP
|
|
ntp_servers:
|
|
- 0.ubuntu.pool.ntp.org
|
|
- 1.ubuntu.pool.ntp.org
|
|
|
|
# k3s
|
|
k3s_version: v1.31.4+k3s1
|
|
k3s_server_url: "https://{{ hostvars['nuc01']['ansible_host'] }}:6443"
|
|
k3s_token: "{{ vault_k3s_token }}"
|
|
|
|
# System packages
|
|
common_packages:
|
|
- curl
|
|
- wget
|
|
- git
|
|
- htop
|
|
- iotop
|
|
- net-tools
|
|
- unzip
|
|
- jq
|
|
- open-iscsi
|
|
- nfs-common
|
|
- cryptsetup
|
|
|
|
# Container runtime
|
|
containerd_config:
|
|
max_container_log_size: 10M
|
|
max_container_log_files: 3
|
|
|
|
# Network
|
|
cluster_cidr: 10.42.0.0/16
|
|
service_cidr: 10.43.0.0/16
|
|
cluster_dns: 10.43.0.10
|