منصوبے کے بارے میں

یہ ذخیرہ ایک واحد گھریلو Kubernetes کلسٹر کے لیے عوامی GitOps ترتیب ہے۔ اسے اس طرح منظم کیا گیا ہے کہ ہر ڈائریکٹری ایک namespace سے مطابقت رکھتی ہے، اور زیادہ تر ایپلی کیشنز ایک مشترکہ `app` Helm چارٹ کے ذریعے تعینات کی جاتی ہیں جس کی دیکھ بھال ایک علیحدہ چارٹ ذخیرے میں ہوتی ہے۔ کلسٹر بذات خود Talos پر چلتا ہے، اور اس کی مشین کنفیگریشن ایک ساتھی ذخیرے میں شائع کی گئی ہے۔ اس میں کیا ہے - namespaces اور ان کے اندر موجود workloads کا ایک وسیع انڈیکس، جس میں وسائل کی قسم (زیادہ تر HelmRelease، اس کے علاوہ کچھ GitRepository اور CronJob اندراجات) اور معاون خدمات جیسے PostgreSQL، Redis/Valkey یا restic بیک اپ جابز درج ہیں۔ - ایپلی کیشن namespaces کئی شعبوں پر محیط ہیں: میڈیا (Jellyfin، Immich، Tdarr، nginx-rtmp)، دستاویزات و علم (Paperless-ngx، Atuin، Tandoor، KOReader sync)، شناخت و خفیہ معلومات (Authentik، Vaultwarden)، تعاون (Mattermost، Gitea)، نگرانی و مشاہدہ (Prometheus، metrics-server، json-exporter، ping-exporter، kromgo)، اور اسٹوریج (Longhorn، MinIO، CSI snapshotter)۔ - بنیادی ڈھانچے کے namespaces کلسٹر کے اندرونی نظام کے لیے: cert-manager، CloudNativePG، Envoy Gateway، external-dns، Tailscale آپریٹر اور peer relay، Kyverno پالیسی نافذ کرنے والا، descheduler، reloader، reflector، اور GitHub Actions runner controllers بشمول کئی runner scale sets۔ - ریڈیو، ہوابازی اور موسم کے workloads: AREDN mesh services، dump978، piaware، ultrafeeder، rtl-433، trunk-recorder، rdio-scanner، weewx، اور all-sky اور mesonet کیمرہ ڈیٹا کے لیے image scrapers۔ - بیک اپ اور بحالی: backup-sync namespace جس میں متعدد restic پر مبنی جابز، etcd بیک اپ اور prune CronJobs، اور فی ایپ restic HelmReleases شامل ہیں۔ - گیمز اور شوقیہ خدمات جیسے Minecraft، Mindustry اور Path of Titans، نیز متفرق افادیت جیسے CyberChef، GoLink، Healthchecks، iperf3 اور OpenSpeedTest۔ اسے کس طرح استعمال کیا جاتا ہے یہ ایک ذاتی، مخصوص ترجیحات پر مبنی تعیناتی ہے نہ کہ دوبارہ استعمال کے قابل مصنوعات۔ یہ سب سے زیادہ ایک حوالے کے طور پر کارآمد ہے کہ خود میزبانی کی جانے والی خدمات کے وسیع مجموعے کو Flux کے زیر انتظام HelmReleases کے طور پر کیسے تشکیل دیا جا سکتا ہے، namespaces کو ایپس، خدمات اور بنیادی ڈھانچے کے درمیان کیسے الگ کیا جاتا ہے، اور معاون ڈیٹا بیسز اور بیک اپس کو ہر ایپلی کیشن کے ساتھ کیسے جوڑا جاتا ہے۔ اسے اپنانے کے لیے hostnames، secrets، storage classes اور حوالہ کردہ Helm chart ذرائع کو اپنے اپنے سے تبدیل کرنا ہوگا۔