شخصية الكرة الأرضية في Eco²، منقّحة لملف الأعمال هذا انطلاقًا من أحدث شخصية رئيسية رسمية: كرة أرضية زرقاء سماوية بيابسة خضراء، وبرعم في أعلاها، ووجه بنّي مبتسم
العودة إلى القاعة

Eco²

Backend · Cloud infrastructure

إرشاد إعادة التدوير من صورة واحدة ومحادثة.

مساعد ذكاء اصطناعي متكامل يفهم كيف تعمل إعادة التدوير في كوريا.

2025.10.31 — 2026.02.10

مشروع جماعي · أساس البنية التحتية والنشر → الأنظمة الخلفية للمجال → المعالجة غير المتزامنة، وكيل المحادثة، التحقق

2025 새싹 해커톤 (Saessak Hackathon)جائزة التميّز · 2025.12.02

  • تطبيق ويبأُغلقت الخدمة

Eco² vocabulary

Lens
Service Path
Request Path
Async Work
Operations
Infrastructure
Measurement
  1. edge
  2. auth offload
  3. domain api
  1. task queue
  2. scan pipeline
  3. chat agent
  4. event bus
  1. cluster
  2. gitops
  3. autoscaling
  1. observability
  2. load test
  3. evaluation

Edge: ROUTE 53 · ALB · HTTPS 443 · internet-facing · external-dns · istio-ingressgateway · NodePort · eco2-gateway · VirtualService · x-canary · AuthorizationPolicy · ENVOY SIDECAR · kiali-serverAuth Offload: AuthorizationPolicy · action: CUSTOM · notPaths · envoyExtAuthzGrpc · failOpen: false · CheckRequest · x-user-id · BlacklistCache · BootstrapFromRedis · outbox:blacklist · blacklist.events · UsersServiceDomain API: VirtualService · x-user-id · /api/v1/scan · X-Idempotency-Key · job_id · stream_url · 202 ACCEPTED · Retry-After · ScanTask · UsersService · ImageService · ENVOY SIDECARTask Queue: outbox:blacklist · blacklist.events · RabbitmqCluster · scan.direct · reward.events · dlx · x-dead-letter-exchange · chat.process · AioPikaBroker · task_acks_late · apply_async · gevent · scan.vision · scan.rule · scan.answer · scan.reward · CELERY CHAIN · QueueLength · inspect ping · QUEUE SATURATIONScan Pipeline: ScanTask · scan.direct · reward.events · apply_async · gevent · scan.vision · scan.rule · scan.answer · scan.reward · CELERY CHAIN · RewardStep · item_class_list.yaml · situation_tags.yaml · LITE RAG · JsonRegulationRetriever · PipelineStage · waste_rag · XADD · domain: worker-ai · pipeline_duration · vision_stage_durationChat Agent: ImageService · chat.process · AioPikaBroker · create_chat_graph · route_by_intent · MULTI-INTENT FANOUT · waste_rag · recyclable_price · collection_point · image_generation · aggregator · thread_id · SyncableRedisSaver · AsyncPostgresSaver · LANGSMITH_TRACING · regenerateEvent Bus: job_id · stream_url · PipelineStage · XADD · scan:events:{shard} · XREADGROUP · XACK · XAUTOCLAIM · PendingReclaimer · STATE KV · scan:state:{job_id} · sse:events:{shard} · SSEBroadcastManager · Last-Event-ID · scan_sse_connections_active · ServiceMonitor · traceparentCluster: NodePort · kubeadm init · kubeadm join · vxlanMode · BGPConfiguration · module "vpc" · worker_ai · nodeSelector · domain: worker-ai · NoSchedule · 24-NODE CLUSTERGitOps: external-dns · x-canary · dev-root · ApplicationSet · sync-wave · selfHeal · ignoreDifferences · argocd-image-updater · update-strategy: digest · write-back-method · targetRevision · ci-services.ymlAutoscaling: ignoreDifferences · ScaledObject · QueueLength · cooldownPeriod · pollingInterval · fallback · maxReplicaCount · stabilizationWindowSeconds · HorizontalPodAutoscaler · scan_sse_connections_active · prometheus-adapterObservability: 24-NODE CLUSTER · prometheus-adapter · FLUENT BIT · Elasticsearch · Kibana · kube-prometheus-stack · AlertmanagerConfig · ServiceMonitor · JAEGER · OPENTELEMETRY · traceparent · kiali-server · LANGSMITH_TRACINGLoad Test: k6 · ramping-vus · thresholds · pipeline_duration · vision_stage_duration · poll_timeout · inspect ping · WORKER RESTART · POLLING TIMEOUT · QUEUE SATURATIONEvaluation: EvalConfig · eval_mode · eval_sample_rate · eval_cost_budget_daily_usd · EvalResult · EvalGrade · code_grader · llm_grader · CUSUM · regenerate · OpenAIBARSEvaluator

كيف تتصل العُقد الـ 24 فعلًا، تدفقًا تلو الآخر.

Kubernetes بإدارة ذاتية مبني باستخدام kubeadm. تضع الخريطة العُقد المادية الـ 24 وأحمال العمل عليها داخل طبقات README الخمس، وتربطها بصلاتها الفعلية. ويُبرز اختيار تدفق ما مساره وحده بخطوات مرقّمة.

يتعرّف على النفايات من صورة ويشرح طريقة التخلص منها، ويستدعي في المحادثة أدوات للأماكن والطقس وأسعار المواد المعاد تدويرها والبحث في الويب، ويولّد الصور. في هذا المشروع الجماعي بدأتُ بأساس العنقود والنشر، ثم وسّعتُ نطاقي إلى الأنظمة الخلفية للمجال والمعالجة غير المتزامنة ووكيل المحادثة والتحقق.

من تطوير المسابقة حتى تعزيز الأنظمة الخلفية والتشغيل

أنهت الخدمة فترة تشغيلها، ويُظهرها عرض مسجّل والتقرير التقني أثناء العمل.

خريطة صلات العنقود · أُعيد رسمها من ملفات manifest والشيفرة عند الإيداع a072127
خريطة صلات عنقود Eco² · 24 عقدةخريطة للعُقد المادية الـ 24 داخل أشرطة طبقات README الخمس. لا يبحث المتصفح إلا عن الاسم في Route 53، وبعد انتهاء TLS عند ALB على 443، يرسل Istio ingress Envoy على NodePort الطلبَ إلى API مجال. ويضع Scan API العمل في طابور RabbitMQ ويعيد job_id فورًا، ويكتب scan-worker في مجمّع AI أحداث التقدم إلى Redis Streams عبر XADD. ويقرؤها Event Router، فيحدّث State KV وينشر إلى Pub/Sub، ثم يرسلها SSE Gateway إلى المتصفح. ويخزّن checkpoint-syncer نقاط checkpoint الخاصة بـ Chat، ويخزّن persistence consumer على عقدة Chat الرسائلَ في PostgreSQL. وPlatform Layer ليست مسار طلبات، بل تتولى التهيئة والتوسيع والمراقبة.المتصفحHTTPS · SSEAWS ALB443 · ينتهي TLS هناRoute 53DNSGitHub Actions · Docker Hubالصورة · نسخة manifestLLM APIOpenAI · GoogleLangSmithتتبّع تشغيلات LLMFluent BitDaemonSet · كل العُقدk8s-masterALB Controller · ExternalDNSArgo CD image updaterIstiodcontrol planek8s-ingress-gatewayIstio ingress Envoyk8s-api-scanScan APIk8s-api-chatChat APImessage consumerpersistence consumerk8s-api-authauth APIext-authzk8s-api-infoInfo APIinfo-workerk8s-api-charactercharacter APIk8s-api-imageimages APIk8s-api-usersusers APIk8s-api-locationlocation APIk8s-sse-gatewaySSE Gatewayk8s-event-routerEvent Routerk8s-rabbitmqRabbitMQk8s-worker-aik8s-worker-ai-2k8s-worker-storagek8s-worker-storage-2k8s-redis-pubsubPub/Subk8s-redis-streamsStreamsState KVk8s-redis-cacheCachek8s-postgresqlPostgreSQLk8s-redis-authblacklistk8s-monitoringKEDAPrometheusGrafanaAlertmanagerk8s-loggingElasticsearchKibanascan-workerchat-workercheckpoint-syncerauth-relayauth-workerusers-workercharacter-workercharacter-match-workerKialiJaeger · dev in-memoryعنقود Kubernetes24 عقدة · kubeadmEdge Layerعقدة واحدةService Layer8 عُقد · Envoy sidecarIntegration Layer7 عُقدPersistence Layer5 عُقدPlatform Layer3 عُقد · تهيئة · توسيع · مراقبةمُدار من AWSمجمّع AIdomain: worker-aiمجمّع storagedomain: worker-storageبلا عقدة مثبّتة1استعلام DNS2 HTTPS 443 · المتصفح → AWS ALB23HTTP · NodePort4VirtualService5مهمة Celery6 consume · RabbitMQ → scan-worker67 HTTPS · مجمّع AI → LLM API78XADD scan:events9XREADGROUP10SETEX state11PUBLISH12SUBSCRIBE13بث SSE14الاستعادة عند إعادة الاتصال1 HTTPS 443 · المتصفح → AWS ALB12HTTP · NodePort3VirtualService4مهمة Taskiq5 consume · RabbitMQ → chat-worker56 HTTPS · مجمّع AI → LLM API67XADD chat:events8XREADGROUP9PUBLISH10SUBSCRIBE11بث SSE12checkpoint13قراءة checkpoint14المزامنة إلى PostgreSQL15chat-persistence group16حفظ الرسائل1استعلام DNS2 HTTPS 443 · المتصفح → AWS ALB23HTTP · NodePort4ext-authz · gRPC 500515استعلام blacklist6VirtualService7gRPC8gRPC1outbox:blacklist2blacklist.events3 blacklist.events · RabbitMQ → auth-worker34تخزين blacklist5 Celery batch · RabbitMQ → users-worker56UPSERT1الصورة · نسخة manifest2Ingress → ALB · سجلات DNS3إعداد xDS4عدد Pods5 عدد Pods · KEDA → مجمّع storage56السجلات7 تتبّع تشغيلات LLM · مجمّع AI → LangSmith7

طلب Scan → تسليم فوري

يتحول طلب تحليل صورة إلى عمل في الطابور، وتعود أحداث تقدمه إلى المتصفح نفسه.

  1. المتصفحاستعلام DNS: استعلام DNSRoute 53

    لا يُستبان إلا الاسم من سجلات Route 53. ولا تمر الطلبات عبر DNS.

  2. المتصفحتدفق البيانات: HTTPS 443AWS ALB

    ينتهي TLS عند ALB.

  3. AWS ALBتدفق البيانات: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    يُسلَّم إلى Istio ingress Envoy عبر NodePort الخاص بهدف مثيل EC2.

  4. Istio ingress Envoyk8s-ingress-gatewayتدفق البيانات: VirtualServiceScan APIk8s-api-scan

    يُوجَّه إلى Scan API، الذي يضع العمل في الطابور ويعيد job_id فورًا، ويُجيب استعلام النتيجة بـ 202 حتى تنتهي العملية.

  5. Scan APIk8s-api-scanتدفق البيانات: مهمة CeleryRabbitMQk8s-rabbitmq

    تُوضع مهمة Scan في RabbitMQ.

  6. RabbitMQk8s-rabbitmqتدفق البيانات: consumescan-workerk8s-worker-ai · k8s-worker-ai-2

    يتسلّمها scan-worker (Celery · gevent) في مجمّع AI ويشغّل Vision → Rule → Answer → Reward. والمراحل الأربع مهام Celery مسلسلة، لا عُقد.

  7. مجمّع AIk8s-worker-ai · k8s-worker-ai-2تدفق البيانات: HTTPSLLM API

    تستدعي عمليات worker لـ scan وchat واجهاتِ API لدى OpenAI وGoogle.

  8. scan-workerk8s-worker-ai · k8s-worker-ai-2تدفق البيانات: XADD scan:eventsStreamsk8s-redis-streams

    تُكتب أحداث التقدم في واحد من أربعة shards في Streams.

  9. Streamsk8s-redis-streamsتدفق البيانات: XREADGROUPEvent Routerk8s-event-router

    يقرؤها Event Router بوصفه consumer group وينفّذ XACK بعد المعالجة، ويحافظ pending وreclaim على التسليم at-least-once.

  10. Event Routerk8s-event-routerتدفق البيانات: SETEX stateState KVk8s-redis-streams

    يكتب أحدث حالة وعلامة المعالجة المكررة في State KV على عقدة Redis نفسها.

  11. Event Routerk8s-event-routerتدفق البيانات: PUBLISHPub/Subk8s-redis-pubsub

    تُسلَّم فوريًا على قناة العملية في shard Pub/Sub.

  12. Pub/Subk8s-redis-pubsubتدفق البيانات: SUBSCRIBESSE Gatewayk8s-sse-gateway

    يشترك SSE Gateway عبر listener مشترك واحد لكل عملية، ويوزّع على كل متصفح متصل.

  13. SSE Gatewayk8s-sse-gatewayتدفق البيانات: بث SSEالمتصفح

    اتصال مفتوح عبر مسار ALB وingress نفسه. والتسليم at-least-once، وتُعالج النسخ المكررة على نحو idempotent.

  14. State KVk8s-redis-streamsتدفق البيانات: الاستعادة عند إعادة الاتصالSSE Gatewayk8s-sse-gateway

    عند إعادة الاتصال مع Last-Event-ID، يملأ State KV وStreams المحفوظة الأحداثَ الفائتة.

Chat · الرموز والتخزين

تسلك رموز Chat مسار الأحداث نفسه الذي يسلكه Scan، ويخزّن حملا عمل مختلفان نقاط checkpoint والرسائل.

  1. المتصفحتدفق البيانات: HTTPS 443AWS ALB

    ينتهي TLS عند ALB.

  2. AWS ALBتدفق البيانات: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    يُسلَّم إلى Istio ingress Envoy عبر NodePort الخاص بهدف مثيل EC2.

  3. Istio ingress Envoyk8s-ingress-gatewayتدفق البيانات: VirtualServiceChat APIk8s-api-chat

    يُوجَّه إلى Chat API.

  4. Chat APIk8s-api-chatتدفق البيانات: مهمة TaskiqRabbitMQk8s-rabbitmq

    تُوضع مهمة Chat في RabbitMQ.

  5. RabbitMQk8s-rabbitmqتدفق البيانات: consumechat-workerk8s-worker-ai · k8s-worker-ai-2

    يصنّف chat-worker (Taskiq · asyncio) النية باستخدام LangGraph، ثم يشغّل vision عند الحاجة والأدوات المختارة والـ aggregator وملخصًا عند الحاجة، ثم يجيب. ولا يشغّل كل طلب إلا الفروع التي يحتاجها.

  6. مجمّع AIk8s-worker-ai · k8s-worker-ai-2تدفق البيانات: HTTPSLLM API

    تستدعي عمليات worker لـ scan وchat واجهاتِ API لدى OpenAI وGoogle.

  7. chat-workerk8s-worker-ai · k8s-worker-ai-2تدفق البيانات: XADD chat:eventsStreamsk8s-redis-streams

    تُكتب الرموز وأحداث المراحل في أربعة shards في Streams، ومن هناك يكون مسار التسليم مثل مسار Scan.

  8. Streamsk8s-redis-streamsتدفق البيانات: XREADGROUPEvent Routerk8s-event-router

    يقرؤها Event Router بوصفه consumer group وينفّذ XACK بعد المعالجة، ويحافظ pending وreclaim على التسليم at-least-once.

  9. Event Routerk8s-event-routerتدفق البيانات: PUBLISHPub/Subk8s-redis-pubsub

    تُسلَّم فوريًا على قناة العملية في shard Pub/Sub.

  10. Pub/Subk8s-redis-pubsubتدفق البيانات: SUBSCRIBESSE Gatewayk8s-sse-gateway

    يشترك SSE Gateway عبر listener مشترك واحد لكل عملية، ويوزّع على كل متصفح متصل.

  11. SSE Gatewayk8s-sse-gatewayتدفق البيانات: بث SSEالمتصفح

    اتصال مفتوح عبر مسار ALB وingress نفسه. والتسليم at-least-once، وتُعالج النسخ المكررة على نحو idempotent.

  12. chat-workerk8s-worker-ai · k8s-worker-ai-2تدفق البيانات: checkpointCachek8s-redis-cache

    يُحفظ checkpoint الخاص بـ LangGraph في Redis Cache.

  13. Cachek8s-redis-cacheتدفق البيانات: قراءة checkpointcheckpoint-syncerk8s-worker-ai · k8s-worker-ai-2

    يقرأ checkpoint-syncer الـ checkpoint من Redis.

  14. checkpoint-syncerk8s-worker-ai · k8s-worker-ai-2تدفق البيانات: المزامنة إلى PostgreSQLPostgreSQLk8s-postgresql

    يخزّنه AsyncPostgresSaver في PostgreSQL على نحو غير متزامن.

  15. Streamsk8s-redis-streamsتدفق البيانات: chat-persistence grouppersistence consumerk8s-api-chat

    يقرأ persistence consumer على عقدة Chat أحداث done بوصفه consumer group.

  16. persistence consumerk8s-api-chatتدفق البيانات: حفظ الرسائلPostgreSQLk8s-postgresql

    تُحفظ رسائل Chat في PostgreSQL. وهذا حمل عمل مختلف عن checkpoint-syncer.

الدخول · المصادقة

المسار المتزامن من مدخل العنقود إلى Domain API. ولا تفحص المصادقة أولًا إلا المسارات المحمية بسياسة، وتجري حركة Pods بين العُقد على Calico VXLAN.

  1. المتصفحاستعلام DNS: استعلام DNSRoute 53

    لا يُستبان إلا الاسم من سجلات Route 53. ولا تمر الطلبات عبر DNS.

  2. المتصفحتدفق البيانات: HTTPS 443AWS ALB

    ينتهي TLS عند ALB.

  3. AWS ALBتدفق البيانات: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    يُسلَّم إلى Istio ingress Envoy عبر NodePort الخاص بهدف مثيل EC2.

  4. Istio ingress Envoyk8s-ingress-gatewayتدفق البيانات: ext-authz · gRPC 50051ext-authzk8s-api-auth

    لا تسأل Go ext-authz أولًا إلا المسارات الخاضعة لسياسة CUSTOM (مهلة 2 ثانية، failOpen false). وتُستثنى مسارات مثل login وhealth وdocs.

  5. ext-authzk8s-api-authتدفق البيانات: استعلام blacklistblacklistk8s-redis-auth

    يُفحص رمز المصادقة مقابل blacklist في Redis.

  6. Istio ingress Envoyk8s-ingress-gatewayتدفق البيانات: VirtualServiceChat APIk8s-api-chat

    يُوجَّه إلى Chat API.

  7. Chat APIk8s-api-chatتدفق البيانات: gRPCimages APIk8s-api-image

    الاستدعاء المتزامن chat → images المذكور في README.

  8. auth APIk8s-api-authتدفق البيانات: gRPCusers APIk8s-api-users

    الاستدعاء المتزامن auth → users المذكور في README.

مجمّع storage · كتابات غير متزامنة

تُخزّن blacklist المصادقة وملكية الشخصيات بواسطة workers في مجمّع storage تأخذ عملها من RabbitMQ.

  1. blacklistk8s-redis-authتدفق البيانات: outbox:blacklistauth-relayk8s-worker-storage · k8s-worker-storage-2

    يقرأ auth-relay (أي auth-Bus في README) الـ outbox في Redis.

  2. auth-relayk8s-worker-storage · k8s-worker-storage-2تدفق البيانات: blacklist.eventsRabbitMQk8s-rabbitmq

    يعيد النشر إلى RabbitMQ، مع إعادات محاولة وDLQ.

  3. RabbitMQk8s-rabbitmqتدفق البيانات: blacklist.eventsauth-workerk8s-worker-storage · k8s-worker-storage-2

    يتلقى auth-worker أحداث blacklist.

  4. auth-workerk8s-worker-storage · k8s-worker-storage-2تدفق البيانات: تخزين blacklistblacklistk8s-redis-auth

    تُخزَّن في blacklist على Redis.

  5. RabbitMQk8s-rabbitmqتدفق البيانات: Celery batchusers-workerk8s-worker-storage · k8s-worker-storage-2

    يتلقى users-worker أعمال ملكية الشخصيات على دفعات.

  6. users-workerk8s-worker-storage · k8s-worker-storage-2تدفق البيانات: UPSERTPostgreSQLk8s-postgresql

    تُطبَّق على PostgreSQL.

التهيئة · التوسيع · المراقبة

Platform Layer ليست خطوة تمر بها الطلبات، بل تنشر الطبقات الأخرى وتهيّئها وتوسّعها وتراقبها. والعُقد مثيلات EC2 أنشأها Terraform، ثبّت عليها Ansible كلًّا من kubeadm وCalico، ولا يتحقق CI إلا من Terraform ولا يطبّقه تلقائيًا أبدًا.

  1. GitHub Actions · Docker Hubتهيئة · توسيع: الصورة · نسخة manifestArgo CD image updaterk8s-master

    يواءم Argo CD إعداد العنقود عبر App-of-Apps وSync Waves. ولم يُتأكد من الوضع على control-plane إلا لـ image updater.

  2. ALB Controller · ExternalDNSk8s-masterتهيئة · توسيع: Ingress → ALB · سجلات DNSمُدار من AWS

    يهيّئ ALB Controller وExternalDNS الموارد على جانب AWS. وليس هذا مسارًا تسلكه الطلبات.

  3. Istiodk8s-masterتهيئة · توسيع: إعداد xDSIstio ingress Envoyk8s-ingress-gateway

    يدفع Istiod إعداد Gateway وVirtualService وEnvoyFilter عبر xDS إلى ingress Envoy وإلى Envoy sidecar لكل API.

  4. KEDAk8s-monitoringتهيئة · توسيع: عدد Podsمجمّع AIk8s-worker-ai · k8s-worker-ai-2

    يضبط KEDA أعداد Pods الخاصة بـ worker. ولا يتغير عدد العُقد.

  5. KEDAk8s-monitoringتهيئة · توسيع: عدد Podsمجمّع storagek8s-worker-storage · k8s-worker-storage-2

    وتُوسَّع Pods الخاصة بـ worker في مجمّع storage بالطريقة نفسها.

  6. Fluent Bitالمراقبة: السجلاتElasticsearchk8s-logging

    Fluent Bit هو DaemonSet على كل عقدة، ويرسل السجلات إلى Elasticsearch.

  7. مجمّع AIk8s-worker-ai · k8s-worker-ai-2المراقبة: تتبّع تشغيلات LLMLangSmith

    تذهب آثار استدعاءات LLM إلى LangSmith، وهي SaaS خارجية.

كل الروابط بالسماكة نفسها. اختر مسارًا لإبراز طريقه وحده، مع خطوات مرقّمة.

  • خط متصل · اتجاه تدفق الطلبات والعمل والأحداث والكتابات
  • خط منقّط · استعلام DNS، ولا تمر الطلبات عبره
  • خط متقطع · تهيئة أو توسيع، وليس مسار بيانات
  • شرطة طويلة ونقطة · السجلات وتتبّع التشغيل
  • خط أسود سميك · المسار المختار، والأرقام تبيّن الترتيب
  • مربع · عقدة مادية، واسم المضيف في الترويسة
  • شريحة داخلية · حمل عمل يعمل على تلك العقدة
  • إطار متقطع · مجمّع جدولة من عقدتين
  • مربع متقطع · خارج العنقود، ولا يُحسب عقدة
  • إطار برتقالي · حيث يقرر نموذج
  • Control planeعقدة واحدة
  • Domain API8 عُقد
  • مجمّع AIعقدتان
  • مجمّع storageعقدتان
  • Data5 عُقد
  • Platform6 عُقد

تجمّع طبقات README الخمس (الأشرطة) والمجموعات المادية (لون ترويسة كل عقدة) العُقدَ الـ 24 نفسها تجميعًا مختلفًا. ويتشارك State KV عقدة Streams فلا يُحسب على حدة، وليست Route 53 وALB والخدمات خارج العنقود عُقدًا. والمجمّع نطاق جدولة، لا ادعاء بأن كل Pod يعمل على العقدتين كلتيهما.

توزيع العُقد الـ 24 · من قائمة عُقد لوحة المراقبة بتاريخ January 21, 2026

24عُقد

24 = 1 control plane + 8 API + 4 worker + 5 data + 6 platform

  1. 1Control plane

    role: control-plane

    kube-apiserver · scheduler · controller-manager · etcd، إضافة إلى متحكّمات المنصة.

    1. k8s-master
  2. 8Domain API

    domain: <خدمة>

    عقدة واحدة لكل مجال. وتستخدم الاستدعاءات الداخلية gRPC.

    1. k8s-api-auth
    2. k8s-api-users
    3. k8s-api-scan
    4. k8s-api-character
    5. k8s-api-location
    6. k8s-api-image
    7. k8s-api-chat
    8. k8s-api-info
  3. 4Execution worker

    مجمّعا جدولة من عقدتين لكلٍّ منهما. يغيّر KEDA أعداد Pods، ويبقى عدد العُقد كما هو.

    مجمّع storagedomain: worker-storage
    1. k8s-worker-storage
    2. k8s-worker-storage-2
    مجمّع AIdomain: worker-ai
    1. k8s-worker-ai
    2. k8s-worker-ai-2
  4. 5Data

    قُسّم Redis على أربع عُقد بحسب الغرض. وتخزين PostgreSQL هو EBS CSI · gp3.

    1. k8s-postgresql
    2. k8s-redis-auth
    3. k8s-redis-streams
    4. k8s-redis-cache
    5. k8s-redis-pubsub
  5. 6Platform

    لكلٍّ من المراسلة وقابلية المراقبة والدخول والتسليم الفوري عقدته الخاصة.

    1. k8s-rabbitmq
    2. k8s-monitoring
    3. k8s-logging
    4. k8s-ingress-gateway
    5. k8s-sse-gateway
    6. k8s-event-router
كل العُقد
  • Fluent Bit · DaemonSet
  • Calico

النماذج المضبوطة · حسب المزوّد

أُغلقت الخدمة، فهذه هي النماذج المضبوطة في المستودع، لا خيارات متاحة اليوم. ويُدرج كل دور على حدة، وليست قائمة بعمليات تشغيل متحقَّق منها.

  • OpenAI

    المزوّد الافتراضي لـ Chat

    Chat

    • openai/gpt-5.2افتراضي

    النموذج الافتراضي gpt-5.2، ويُستخدم بدلًا منه النموذج المذكور في الطلب.

    Scan

    • gpt-5.2افتراضي
    • gpt-5.2-pro
    • gpt-5.1
    • gpt-5
    • gpt-5-pro
    • gpt-5-mini

    تُرفض النماذج الواقعة خارج ربط النماذج الـ13.

    ربط الصور

    • gpt-image-1.5

    منفصل عن gpt-5.2، نموذج التنسيق في Responses. وتوليد الصور معطّل افتراضيًا.

    التقييم

    • gpt-4o-miniافتراضي

    مُقيِّم LLM لتقييم المحادثات، منفصل عن نموذج Chat.

  • Google

    حين يختار Chat مزوّد Google

    Chat

    • google/gemini-3-pro-preview
    • google/gemini-3-flash-preview

    عند اختيار Google، يكون gemini-3-flash-preview هو الافتراضي.

    Scan

    • gemini-3-pro-preview
    • gemini-3-flash-preview
    • gemini-2.5-pro
    • gemini-2.5-flash
    • gemini-2.5-flash-lite
    • gemini-2.0-flash
    • gemini-2.0-flash-lite

    ربط الصور

    • gemini-3-pro-image-preview