Eco²:n maapallohahmo, viimeisimmästä virallisesta päähahmosta tätä portfoliota varten viimeistelty: taivaansininen maapallo, jossa vihreät maat, verso päälaella ja ruskeat hymyilevät kasvot
Takaisin saliin

Eco²

Backend · Cloud infrastructure

Kierrätysohjeet yhdestä kuvasta ja keskustelusta.

Kaiken kattava AI-avustaja, joka ymmärtää, miten kierrätys toimii Koreassa.

2025.10.31 — 2026.02.10

Tiimiprojekti · infrastruktuuri ja käyttöönoton perusta → toimialueen taustajärjestelmä → asynkroninen käsittely, keskusteluagentti, todentaminen

2025 새싹 해커톤 (Saessak Hackathon)Ansiopalkinto · 2.12.2025

  • VerkkosovellusPalvelu suljettu

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

Miten 24 solmua todella kytkeytyvät, virta kerrallaan.

Kubeadmilla rakennettu itse hallinnoitu Kubernetes. Kartta sijoittaa 24 fyysistä solmua ja niillä toimivat työkuormat README:n viiteen kerrokseen ja yhdistää ne niiden todellisilla yhteyksillä. Valitse virta, niin vain sen polku korostetaan numeroituine vaiheineen.

Se tunnistaa jätteen kuvasta ja kertoo, miten se hävitetään, ja keskustelussa se kutsuu työkaluja paikkoihin, säähän, kierrätyshintoihin ja verkkohakuun sekä generoi kuvia. Tässä tiimiprojektissa aloitin klusterin ja käyttöönoton perustasta ja laajensin vastuuni toimialueen taustajärjestelmään, asynkroniseen käsittelyyn, keskusteluagenttiin ja todentamiseen.

Kilpailun kehitystyöstä taustajärjestelmän ja ylläpidon vahvistamiseen

Palvelu on päättänyt toimintansa; tallennettu demo ja tekninen raportti näyttävät sen toiminnassa.

Klusterin yhteyskartta · piirretty uudelleen commitin a072127 manifesteista ja koodista
Eco²-klusterin yhteyskartta · 24 solmuaKartta 24 fyysisestä solmusta README:n viiden kerroksen vyöhykkeissä. Selain vain hakee nimen Route 53:sta; kun TLS päättyy ALB:hen portissa 443, NodePortissa toimiva Istio ingress Envoy lähettää pyynnön toimialueen API:lle. Scan API asettaa työn RabbitMQ-jonoon ja palauttaa heti job_id:n; AI-poolin scan-worker kirjoittaa edistymistapahtumat XADD-komennolla Redis Streamsiin. Event Router lukee ne, päivittää State KV:n ja julkaisee Pub/Subiin, ja SSE Gateway lähettää ne selaimeen. checkpoint-syncer tallentaa Chatin checkpointit ja Chat-solmun persistence consumer tallentaa viestit PostgreSQL:ään. Platform Layer ei ole pyyntöpolku; se konfiguroi, skaalaa ja havainnoi.SelainHTTPS · SSEAWS ALB443 · TLS päättyy tähänRoute 53DNSGitHub Actions · Docker Hublevykuva · manifestin revisioLLM APIOpenAI · GoogleLangSmithLLM-ajojen jäljitysFluent BitDaemonSet · jokainen solmuk8s-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-memoryKubernetes-klusteri24 solmua · kubeadmEdge Layer1 solmuService Layer8 solmua · Envoy-sidecarIntegration Layer7 solmuaPersistence Layer5 solmuaPlatform Layer3 solmua · konfigurointi · skaalaus · havainnointiAWS:n hallinnoimaAI-poolidomain: worker-aitallennuspoolidomain: worker-storageEi kiinnitettyä solmua1DNS-haku2 HTTPS 443 · Selain → AWS ALB23HTTP · NodePort4VirtualService5Celery-tehtävä6 consume · RabbitMQ → scan-worker67 HTTPS · AI-pooli → LLM API78XADD scan:events9XREADGROUP10SETEX state11PUBLISH12SUBSCRIBE13SSE-virta14Palautus uudelleenyhdistettäessä1 HTTPS 443 · Selain → AWS ALB12HTTP · NodePort3VirtualService4Taskiq-tehtävä5 consume · RabbitMQ → chat-worker56 HTTPS · AI-pooli → LLM API67XADD chat:events8XREADGROUP9PUBLISH10SUBSCRIBE11SSE-virta12checkpoint13checkpointin luku14synkronointi PostgreSQL:ään15chat-persistence group16viestien tallennus1DNS-haku2 HTTPS 443 · Selain → AWS ALB23HTTP · NodePort4ext-authz · gRPC 500515estolistan haku6VirtualService7gRPC8gRPC1outbox:blacklist2blacklist.events3 blacklist.events · RabbitMQ → auth-worker34estolistan tallennus5 Celery batch · RabbitMQ → users-worker56UPSERT1levykuva · manifestin revisio2Ingress → ALB · DNS-tietueet3xDS-konfiguraatio4podien määrä5 podien määrä · KEDA → tallennuspooli56lokit7 LLM-ajojen jäljitys · AI-pooli → LangSmith7

Scan-pyyntö → reaaliaikainen toimitus

Kuva-analyysipyynnöstä tulee jonossa oleva työ, ja sen edistymistapahtumat palaavat samaan selaimeen.

  1. SelainDNS-haku: DNS-hakuRoute 53

    Route 53 -tietueista selvitetään vain nimi. Pyynnöt eivät kulje DNS:n kautta.

  2. Selaindatavirta: HTTPS 443AWS ALB

    TLS päättyy ALB:hen.

  3. AWS ALBdatavirta: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    Välitetään Istio ingress Envoylle EC2-instanssikohteen NodePortin kautta.

  4. Istio ingress Envoyk8s-ingress-gatewaydatavirta: VirtualServiceScan APIk8s-api-scan

    Reititetään Scan API:lle, joka asettaa työn jonoon ja palauttaa heti job_id:n; tuloskysely vastaa koodilla 202, kunnes työ on valmis.

  5. Scan APIk8s-api-scandatavirta: Celery-tehtäväRabbitMQk8s-rabbitmq

    Scan-tehtävä menee RabbitMQ-jonoon.

  6. RabbitMQk8s-rabbitmqdatavirta: consumescan-workerk8s-worker-ai · k8s-worker-ai-2

    AI-poolin scan-worker (Celery · gevent) ottaa sen ja ajaa vaiheet Vision → Rule → Answer → Reward. Neljä vaihetta ovat ketjutettuja Celery-tehtäviä, eivät solmuja.

  7. AI-poolik8s-worker-ai · k8s-worker-ai-2datavirta: HTTPSLLM API

    Scan- ja chat-workerit kutsuvat OpenAI:n ja Googlen API:ita.

  8. scan-workerk8s-worker-ai · k8s-worker-ai-2datavirta: XADD scan:eventsStreamsk8s-redis-streams

    Edistymistapahtumat kirjoitetaan yhteen neljästä Streams-shardista.

  9. Streamsk8s-redis-streamsdatavirta: XREADGROUPEvent Routerk8s-event-router

    Event Router lukee ne kuluttajaryhmänä ja kuittaa ne XACK-komennolla käsittelyn jälkeen; pending- ja reclaim-käsittely pitävät toimituksen vähintään kerran tapahtuvana.

  10. Event Routerk8s-event-routerdatavirta: SETEX stateState KVk8s-redis-streams

    Se kirjoittaa viimeisimmän tilan ja kaksoiskäsittelymerkinnän saman Redis-solmun State KV:hen.

  11. Event Routerk8s-event-routerdatavirta: PUBLISHPub/Subk8s-redis-pubsub

    Toimitetaan reaaliajassa työn kanavalla shard Pub/Sub -mekanismissa.

  12. Pub/Subk8s-redis-pubsubdatavirta: SUBSCRIBESSE Gatewayk8s-sse-gateway

    SSE Gateway tilaa ne yhden prosessikohtaisen jaetun kuuntelijan kautta ja jakaa ne jokaiselle yhdistetylle selaimelle.

  13. SSE Gatewayk8s-sse-gatewaydatavirta: SSE-virtaSelain

    Yhteys avataan samaa ALB- ja ingress-polkua pitkin. Toimitus taataan vähintään kerran; kaksoiskappaleet käsitellään idempotentisti.

  14. State KVk8s-redis-streamsdatavirta: Palautus uudelleenyhdistettäessäSSE Gatewayk8s-sse-gateway

    Kun selain yhdistää uudelleen Last-Event-ID:llä, State KV ja säilytetyt Streamsit täydentävät väliin jääneet tapahtumat.

Chat · tokenit ja tallennus

Chatin tokenit kulkevat samaa tapahtumapolkua kuin Scanin; checkpointit ja viestit tallentavat kaksi eri työkuormaa.

  1. Selaindatavirta: HTTPS 443AWS ALB

    TLS päättyy ALB:hen.

  2. AWS ALBdatavirta: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    Välitetään Istio ingress Envoylle EC2-instanssikohteen NodePortin kautta.

  3. Istio ingress Envoyk8s-ingress-gatewaydatavirta: VirtualServiceChat APIk8s-api-chat

    Reititetään Chat API:lle.

  4. Chat APIk8s-api-chatdatavirta: Taskiq-tehtäväRabbitMQk8s-rabbitmq

    Chat-tehtävä menee RabbitMQ-jonoon.

  5. RabbitMQk8s-rabbitmqdatavirta: consumechat-workerk8s-worker-ai · k8s-worker-ai-2

    chat-worker (Taskiq · asyncio) luokittelee aikomuksen LangGraphilla, ajaa sitten tarvittaessa vision-vaiheen, valitut työkalut, aggregatorin ja tarvittaessa tiivistelmän ja vastaa. Kukin pyyntö ajaa vain tarvitsemansa haarat.

  6. AI-poolik8s-worker-ai · k8s-worker-ai-2datavirta: HTTPSLLM API

    Scan- ja chat-workerit kutsuvat OpenAI:n ja Googlen API:ita.

  7. chat-workerk8s-worker-ai · k8s-worker-ai-2datavirta: XADD chat:eventsStreamsk8s-redis-streams

    Tokenit ja vaihetapahtumat kirjoitetaan neljään Streams-shardiin; sieltä toimituspolku on sama kuin Scanilla.

  8. Streamsk8s-redis-streamsdatavirta: XREADGROUPEvent Routerk8s-event-router

    Event Router lukee ne kuluttajaryhmänä ja kuittaa ne XACK-komennolla käsittelyn jälkeen; pending- ja reclaim-käsittely pitävät toimituksen vähintään kerran tapahtuvana.

  9. Event Routerk8s-event-routerdatavirta: PUBLISHPub/Subk8s-redis-pubsub

    Toimitetaan reaaliajassa työn kanavalla shard Pub/Sub -mekanismissa.

  10. Pub/Subk8s-redis-pubsubdatavirta: SUBSCRIBESSE Gatewayk8s-sse-gateway

    SSE Gateway tilaa ne yhden prosessikohtaisen jaetun kuuntelijan kautta ja jakaa ne jokaiselle yhdistetylle selaimelle.

  11. SSE Gatewayk8s-sse-gatewaydatavirta: SSE-virtaSelain

    Yhteys avataan samaa ALB- ja ingress-polkua pitkin. Toimitus taataan vähintään kerran; kaksoiskappaleet käsitellään idempotentisti.

  12. chat-workerk8s-worker-ai · k8s-worker-ai-2datavirta: checkpointCachek8s-redis-cache

    LangGraphin checkpoint säilytetään Redis Cachessa.

  13. Cachek8s-redis-cachedatavirta: checkpointin lukucheckpoint-syncerk8s-worker-ai · k8s-worker-ai-2

    checkpoint-syncer lukee checkpointin Redisistä.

  14. checkpoint-syncerk8s-worker-ai · k8s-worker-ai-2datavirta: synkronointi PostgreSQL:äänPostgreSQLk8s-postgresql

    AsyncPostgresSaver tallentaa sen PostgreSQL:ään asynkronisesti.

  15. Streamsk8s-redis-streamsdatavirta: chat-persistence grouppersistence consumerk8s-api-chat

    Chat-solmun persistence consumer lukee done-tapahtumat kuluttajaryhmänä.

  16. persistence consumerk8s-api-chatdatavirta: viestien tallennusPostgreSQLk8s-postgresql

    Chat-viestit tallennetaan PostgreSQL:ään. Tämä on eri työkuorma kuin checkpoint-syncer.

Sisääntulo · todennus

Synkroninen polku klusterin sisääntulosta toimialueen API:in. Vain käytännön suojaamat polut tarkistavat todennuksen ensin; solmujen välinen podiliikenne kulkee Calico VXLANissa.

  1. SelainDNS-haku: DNS-hakuRoute 53

    Route 53 -tietueista selvitetään vain nimi. Pyynnöt eivät kulje DNS:n kautta.

  2. Selaindatavirta: HTTPS 443AWS ALB

    TLS päättyy ALB:hen.

  3. AWS ALBdatavirta: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    Välitetään Istio ingress Envoylle EC2-instanssikohteen NodePortin kautta.

  4. Istio ingress Envoyk8s-ingress-gatewaydatavirta: ext-authz · gRPC 50051ext-authzk8s-api-auth

    Vain CUSTOM-käytännön alaiset polut kysyvät ensin Go ext-authzilta (aikakatkaisu 2 s, failOpen false). Esimerkiksi kirjautumis-, health- ja docs-polut on rajattu pois.

  5. ext-authzk8s-api-authdatavirta: estolistan hakublacklistk8s-redis-auth

    Token tarkistetaan Redisin estolistaa vasten.

  6. Istio ingress Envoyk8s-ingress-gatewaydatavirta: VirtualServiceChat APIk8s-api-chat

    Reititetään Chat API:lle.

  7. Chat APIk8s-api-chatdatavirta: gRPCimages APIk8s-api-image

    README:ssä mainittu synkroninen kutsu chat → images.

  8. auth APIk8s-api-authdatavirta: gRPCusers APIk8s-api-users

    README:ssä mainittu synkroninen kutsu auth → users.

Tallennuspooli · asynkroniset kirjoitukset

Todennuksen estolistan ja hahmojen omistajuudet tallentavat tallennuspoolin workerit, jotka ottavat työnsä RabbitMQ:sta.

  1. blacklistk8s-redis-authdatavirta: outbox:blacklistauth-relayk8s-worker-storage · k8s-worker-storage-2

    auth-relay (README:n auth-Bus) lukee Redisin outboxin.

  2. auth-relayk8s-worker-storage · k8s-worker-storage-2datavirta: blacklist.eventsRabbitMQk8s-rabbitmq

    Se julkaisee uudelleen RabbitMQ:hon uusintojen ja DLQ:n kanssa.

  3. RabbitMQk8s-rabbitmqdatavirta: blacklist.eventsauth-workerk8s-worker-storage · k8s-worker-storage-2

    auth-worker vastaanottaa estolistatapahtumat.

  4. auth-workerk8s-worker-storage · k8s-worker-storage-2datavirta: estolistan tallennusblacklistk8s-redis-auth

    Ne tallennetaan Redisin estolistaan.

  5. RabbitMQk8s-rabbitmqdatavirta: Celery batchusers-workerk8s-worker-storage · k8s-worker-storage-2

    users-worker vastaanottaa hahmojen omistajuustyöt erissä.

  6. users-workerk8s-worker-storage · k8s-worker-storage-2datavirta: UPSERTPostgreSQLk8s-postgresql

    Ne viedään PostgreSQL:ään.

Konfigurointi · skaalaus · havainnointi

Platform Layer ei ole vaihe, jonka läpi pyynnöt kulkevat; se ottaa käyttöön, konfiguroi, skaalaa ja havainnoi muita kerroksia. Solmut ovat Terraformilla luotuja EC2-instansseja, joihin Ansible asensi kubeadmin ja Calicon; CI vain validoi Terraformin eikä koskaan toimeenpane sitä automaattisesti.

  1. GitHub Actions · Docker Hubkonfigurointi · skaalaus: levykuva · manifestin revisioArgo CD image updaterk8s-master

    Argo CD yhdenmukaistaa klusterin konfiguraation App-of-Apps- ja Sync Waves -mekanismeilla. Vain image updaterin control-plane-sijoittelu vahvistettiin.

  2. ALB Controller · ExternalDNSk8s-masterkonfigurointi · skaalaus: Ingress → ALB · DNS-tietueetAWS:n hallinnoima

    ALB Controller ja ExternalDNS konfiguroivat AWS-puolen resurssit. Tämä ei ole pyyntöjen kulkema polku.

  3. Istiodk8s-masterkonfigurointi · skaalaus: xDS-konfiguraatioIstio ingress Envoyk8s-ingress-gateway

    Istiod työntää Gateway-, VirtualService- ja EnvoyFilter-konfiguraation xDS:n kautta ingress Envoylle ja kunkin API:n Envoy-sidecarille.

  4. KEDAk8s-monitoringkonfigurointi · skaalaus: podien määräAI-poolik8s-worker-ai · k8s-worker-ai-2

    KEDA säätää worker-podien määrää. Solmujen määrä ei muutu.

  5. KEDAk8s-monitoringkonfigurointi · skaalaus: podien määrätallennuspoolik8s-worker-storage · k8s-worker-storage-2

    Tallennuspoolin worker-podit skaalataan samalla tavalla.

  6. Fluent Bithavaittavuus: lokitElasticsearchk8s-logging

    Fluent Bit on DaemonSet jokaisella solmulla ja lähettää lokit Elasticsearchiin.

  7. AI-poolik8s-worker-ai · k8s-worker-ai-2havaittavuus: LLM-ajojen jäljitysLangSmith

    LLM-kutsujen jäljet menevät LangSmithiin, ulkoiseen SaaS-palveluun.

Kaikki yhteydet samalla painolla. Valitse virta, niin vain sen polku korostuu numeroiduin vaihein.

  • Yhtenäinen · pyyntöjen, töiden, tapahtumien ja kirjoitusten kulkusuunta
  • Pisteviiva · DNS-haku; pyynnöt eivät kulje sen kautta
  • Katkoviiva · konfigurointi tai skaalaus; ei datapolku
  • Pitkä pistekatkoviiva · lokit ja ajojen jäljitys
  • Paksu musta viiva · valittu virta; numerot kertovat järjestyksen
  • Laatikko · fyysinen solmu, isäntänimi otsakkeessa
  • Sisälaatta · solmussa ajettava työkuorma
  • Katkoviivakehys · kahden solmun ajoituspooli
  • Katkoviivalaatikko · klusterin ulkopuolella, ei lasketa solmuksi
  • Oranssi ääriviiva · kohta, jossa malli päättää
  • Control plane1 solmu
  • Domain API8 solmua
  • AI-pooli2 solmua
  • tallennuspooli2 solmua
  • Data5 solmua
  • Platform6 solmua

README:n viisi kerrosta (vyöhykkeet) ja fyysiset ryhmät (kunkin solmun otsakkeen sävy) ryhmittelevät samat 24 solmua eri tavoin. State KV jakaa Streams-solmun eikä sitä lasketa erikseen; Route 53, ALB ja klusterin ulkopuoliset palvelut eivät ole solmuja. Pooli on aikataulutusalue, ei väite siitä, että jokainen podi toimisi molemmilla solmuilla.

24 solmun asettelu · 21.1.2026 kojelaudan solmuluettelon mukaan

24solmua

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

  1. 1Control plane

    role: control-plane

    kube-apiserver · scheduler · controller-manager · etcd sekä alustan kontrollerit.

    1. k8s-master
  2. 8Domain API

    domain: <palvelu>

    Yksi solmu toimialuetta kohden. Sisäiset kutsut käyttävät gRPC:tä.

    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

    Kaksi aikataulutuspoolia, kummassakin kaksi solmua. KEDA muuttaa podien määrää; solmujen määrä pysyy samana.

    tallennuspoolidomain: worker-storage
    1. k8s-worker-storage
    2. k8s-worker-storage-2
    AI-poolidomain: worker-ai
    1. k8s-worker-ai
    2. k8s-worker-ai-2
  4. 5Data

    Redis on jaettu neljälle käyttötarkoituskohtaiselle solmulle. PostgreSQL:n tallennus on EBS CSI · gp3.

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

    Viestinvälityksellä, havaittavuudella, sisääntulolla ja reaaliaikaisella toimituksella on kullakin oma solmunsa.

    1. k8s-rabbitmq
    2. k8s-monitoring
    3. k8s-logging
    4. k8s-ingress-gateway
    5. k8s-sse-gateway
    6. k8s-event-router
Jokainen solmu
  • Fluent Bit · DaemonSet
  • Calico

Konfiguroidut mallit · toimittajittain

Palvelu on suljettu, joten nämä ovat repositorioon konfiguroituja malleja, eivät nykyään valittavissa olevia vaihtoehtoja. Kukin rooli on lueteltu erikseen; tämä ei ole luettelo todennetuista ajoista.

  • OpenAI

    Chatin oletustoimittaja

    Chat

    • openai/gpt-5.2oletus

    Oletusmalli on gpt-5.2; pyynnössä nimettyä mallia käytetään sen sijaan.

    Scan

    • gpt-5.2oletus
    • gpt-5.2-pro
    • gpt-5.1
    • gpt-5
    • gpt-5-pro
    • gpt-5-mini

    13 mallin vastaavuuksien ulkopuoliset mallit hylätään.

    Kuvavastaavuudet

    • gpt-image-1.5

    Erillään Responses-orkestrointimallista gpt-5.2. Kuvien generointi on oletuksena pois päältä.

    Arviointi

    • gpt-4o-minioletus

    Keskustelujen arvioinnin LLM-pisteyttäjä, erillään Chat-mallista.

  • Google

    Kun Chat valitsee Googlen

    Chat

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

    Kun Google on valittu, oletus on 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

    Kuvavastaavuudet

    • gemini-3-pro-image-preview