# Architettura di Concourse ## Architettura di Concourse {{#include ../../banners/hacktricks-training.md}} [**Dati rilevanti dalla documentazione di Concourse:**](https://concourse-ci.org/internals.html) ### Architettura ![](<../../images/image (187).png>) #### ATC: interfaccia web e pianificatore di build L'ATC è il cuore di Concourse. Esegue la **web UI e API** ed è responsabile di tutta la **pianificazione** delle pipeline. Si **collega a PostgreSQL**, che utilizza per memorizzare i dati delle pipeline (inclusi i log di build). La responsabilità del [checker](https://concourse-ci.org/checker.html) è quella di controllare continuamente nuove versioni delle risorse. Il [scheduler](https://concourse-ci.org/scheduler.html) è responsabile della pianificazione delle build per un lavoro e il [build tracker](https://concourse-ci.org/build-tracker.html) è responsabile dell'esecuzione di qualsiasi build pianificata. Il [garbage collector](https://concourse-ci.org/garbage-collector.html) è il meccanismo di pulizia per rimuovere oggetti non utilizzati o obsoleti, come contenitori e volumi. #### TSA: registrazione dei worker e inoltro La TSA è un **server SSH personalizzato** utilizzato esclusivamente per **registrare** in modo sicuro i [**worker**](https://concourse-ci.org/internals.html#architecture-worker) con l'[ATC](https://concourse-ci.org/internals.html#component-atc). La TSA per **default ascolta sulla porta `2222`**, ed è solitamente collocata insieme all'[ATC](https://concourse-ci.org/internals.html#component-atc) e si trova dietro un bilanciatore di carico. La **TSA implementa CLI attraverso la connessione SSH,** supportando [**questi comandi**](https://concourse-ci.org/internals.html#component-tsa). #### Worker Per eseguire compiti, Concourse deve avere alcuni worker. Questi worker **si registrano** tramite la [TSA](https://concourse-ci.org/internals.html#component-tsa) e eseguono i servizi [**Garden**](https://github.com/cloudfoundry-incubator/garden) e [**Baggageclaim**](https://github.com/concourse/baggageclaim). - **Garden**: Questo è il **Container Manage API**, solitamente eseguito sulla **porta 7777** tramite **HTTP**. - **Baggageclaim**: Questo è il **Volume Management API**, solitamente eseguito sulla **porta 7788** tramite **HTTP**. ## Riferimenti - [https://concourse-ci.org/internals.html](https://concourse-ci.org/internals.html) {{#include ../../banners/hacktricks-training.md}}