# Concourse Arhitektura

## Concourse Arhitektura

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

[**Relevantni podaci iz Concourse dokumentacije:**](https://concourse-ci.org/internals.html)

### Arhitektura

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

#### ATC: web UI i raspoređivač gradnje

ATC je srce Concourse-a. Pokreće **web UI i API** i odgovoran je za sve **raspoređivanje** pipeline-a. **Povezuje se sa PostgreSQL**, koji koristi za čuvanje podataka o pipeline-u (uključujući logove gradnje).

Odgovornost [checker-a](https://concourse-ci.org/checker.html) je da kontinuirano proverava nove verzije resursa. [Raspoređivač](https://concourse-ci.org/scheduler.html) je odgovoran za raspoređivanje gradnji za posao, a [traker gradnje](https://concourse-ci.org/build-tracker.html) je odgovoran za pokretanje bilo kojih raspoređenih gradnji. [Sakupljač otpada](https://concourse-ci.org/garbage-collector.html) je mehanizam za čišćenje koji uklanja sve neiskorišćene ili zastarele objekte, kao što su kontejneri i volumeni.

#### TSA: registracija radnika i prosleđivanje

TSA je **prilagođeni SSH server** koji se koristi isključivo za sigurno **registraciju** [**radnika**](https://concourse-ci.org/internals.html#architecture-worker) sa [ATC](https://concourse-ci.org/internals.html#component-atc).

TSA po **default-u sluša na portu `2222`**, i obično je smešten sa [ATC](https://concourse-ci.org/internals.html#component-atc) i nalazi se iza balansirača opterećenja.

**TSA implementira CLI preko SSH veze,** podržavajući [**ove komande**](https://concourse-ci.org/internals.html#component-tsa).

#### Radnici

Da bi izvršio zadatke, Concourse mora imati neke radnike. Ovi radnici **registruju sebe** putem [TSA](https://concourse-ci.org/internals.html#component-tsa) i pokreću usluge [**Garden**](https://github.com/cloudfoundry-incubator/garden) i [**Baggageclaim**](https://github.com/concourse/baggageclaim).

- **Garden**: Ovo je **Container Manage API**, obično se pokreće na **portu 7777** putem **HTTP**.
- **Baggageclaim**: Ovo je **Volume Management API**, obično se pokreće na **portu 7788** putem **HTTP**.

## Reference

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

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