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

static-server اسٹیٹک ویب سائٹس اور SPA بلڈز کے لیے ایک چھوٹا کنٹینرائزڈ HTTP فائل سرور فراہم کرتا ہے۔ امیج اسکریچ سے بنائی گئی ہے جس میں اسٹیٹک طور پر لنک شدہ Go بائنری ہے، معیاری لائبریری استعمال کرتی ہے، CGO_ENABLED=0 کی ضرورت ہوتی ہے، اور UID 65534 کے طور پر شیل، پیکیج مینیجر، libc، یا رن ٹائم رائٹ ایبل پاتھ کے بغیر چلتی ہے۔ بنیادی سرونگ صلاحیتوں میں شامل ہیں: - SERVE_DIR سے فائلیں پیش کرنا، بیکڈ اِن ڈیفالٹس کے لیے اختیاری FALLBACK_DIR کاسکیڈ کے ساتھ۔ - SPA موڈ جو ایکسٹینشن لیس نیویگیشن روٹس کے لیے index.html واپس کرتا ہے جبکہ غائب اثاثہ پاتھ 404 رسپانس رہتے ہیں۔ - جب کلائنٹ انکوڈنگ قبول کرتا ہے تو اختیاری ساتھ والی .br اور .gz ڈیلیوری۔ - فنگر پرنٹ شدہ اثاثوں کے لیے قابل ترتیب امیوٹیبل کیش پریفکس، جبکہ HTML اور نیویگیشن رسپانسز no-cache استعمال کرتے ہیں۔ - خودکار MIME ٹائپ رجسٹریشن، بشمول .wasm فائلوں کے لیے application/wasm۔ - صرف GET اور HEAD؛ دوسرے میتھڈز کو 405 رسپانس ملتے ہیں۔ - ڈائریکٹری لسٹنگ غیر فعال، ڈائریکٹریز کو index.html کی ضرورت ہوتی ہے۔ - رسپانسز پر سیکیورٹی ہیڈرز اور اختیاری Content-Security-Policy سیٹنگ۔ سرور Kubernetes لائیونیس اور ریڈینیس چیکس کے لیے /healthz، بلڈ ٹائم ورژن کے لیے /version، اور مشین پڑھنے کے قابل حوالہ کے طور پر /llms.txt کو ایکسپوز کرتا ہے۔ یہ گریس فل شٹ ڈاؤن کے لیے SIGTERM ہینڈل کرتا ہے اور مواد صرف پڑھنے والی بائنڈ ماؤنٹ، ConfigMap، initContainer کے ذریعے آباد کردہ emptyDir، یا کسی اور والیوم کے ذریعے فراہم کیا جا سکتا ہے۔ کنفیگریشن ماحولیاتی متغیر پر مبنی ہے، بشمول PORT، SERVE_DIR، FALLBACK_DIR، SPA_FALLBACK، CACHE_IMMUTABLE_PREFIX، CONTENT_SECURITY_POLICY، اور PRECOMPRESSED۔ ریپوزٹری میں Docker رن مثالیں، Kubernetes Deployment مینی فیسٹس، Kustomize ConfigMap جنریشن، جزوی اوورلے مثالیں، اور بلڈ آؤٹ پٹ یا ٹیمپلیٹ رینڈرنگ کے لیے initContainer پیٹرن شامل ہیں۔ امیجز Quay.io اور Docker Hub پر latest اور ورژن شدہ ٹیگز کے ساتھ شائع کی جاتی ہیں۔ لوکل بلڈز Docker، Docker Buildx، Make، اور Go 1.24 یا اس سے نئے ورژن استعمال کرتی ہیں؛ ملٹی پلیٹ فارم linux/amd64 اور linux/arm64 بلڈز سپورٹڈ ہیں۔ بلڈ آرگیومنٹس OCI لیبلز اور ڈیفالٹ index.html ٹیمپلیٹ کو حسب ضرورت بناتے ہیں۔ CI go vet اور race-enabled ٹیسٹ چلاتا ہے، جبکہ ٹیگ پبلشنگ ملٹی پلیٹ فارم امیجز پش کرتی ہے۔ یہ پروجیکٹ BSD Zero Clause لائسنس کے تحت جاری کیا گیا ہے۔