# Concourse Argitektuur

{{#include ../../banners/hacktricks-training.md}}

## Concourse Argitektuur

[**Relevante data uit Concourse dokumentasie:**](https://concourse-ci.org/internals.html)

### Argitektuur

![](<../../images/image (187).png>)

#### ATC: web UI & bou skeduler

Die ATC is die hart van Concourse. Dit bestuur die **web UI en API** en is verantwoordelik vir alle pyplyn **skedulering**. Dit **verbind met PostgreSQL**, wat dit gebruik om pyplyn data (insluitend bou logs) te stoor.

Die [checker](https://concourse-ci.org/checker.html)'s verantwoordelikheid is om voortdurend na nuwe weergawes van hulpbronne te kyk. Die [scheduler](https://concourse-ci.org/scheduler.html) is verantwoordelik vir die skedulering van boue vir 'n werk en die [build tracker](https://concourse-ci.org/build-tracker.html) is verantwoordelik vir die uitvoering van enige geskeduleerde boue. Die [garbage collector](https://concourse-ci.org/garbage-collector.html) is die skoonmaakmeganisme vir die verwydering van enige ongebruikte of verouderde objekte, soos houers en volumes.

#### TSA: werker registrasie & forwarding

Die TSA is 'n **aangepaste SSH bediener** wat slegs gebruik word vir die veilige **registrasie** van [**werkers**](https://concourse-ci.org/internals.html#architecture-worker) met die [ATC](https://concourse-ci.org/internals.html#component-atc).

Die TSA luister **standaard op poort `2222`**, en is gewoonlik saamgeplaas met die [ATC](https://concourse-ci.org/internals.html#component-atc) en sit agter 'n laaibalans.

Die **TSA implementeer CLI oor die SSH-verbinding,** wat [**hierdie opdragte**](https://concourse-ci.org/internals.html#component-tsa) ondersteun.

#### Werkers

Om take uit te voer, moet Concourse 'n paar werkers hê. Hierdie werkers **registreer hulself** via die [TSA](https://concourse-ci.org/internals.html#component-tsa) en bestuur die dienste [**Garden**](https://github.com/cloudfoundry-incubator/garden) en [**Baggageclaim**](https://github.com/concourse/baggageclaim).

- **Garden**: Dit is die **Container Manage API**, gewoonlik bedryf in **poort 7777** via **HTTP**.
- **Baggageclaim**: Dit is die **Volume Management API**, gewoonlik bedryf in **poort 7788** via **HTTP**.

## Verwysings

- [https://concourse-ci.org/internals.html](https://concourse-ci.org/internals.html)

{{#include ../../banners/hacktricks-training.md}}
