summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Lambert <joshua@gitlab.com>2019-05-06 11:52:09 -0400
committerJoshua Lambert <joshua@gitlab.com>2019-05-06 11:52:09 -0400
commit9e86e375ba88b7920a1166a72501a562a1e569c2 (patch)
tree7d9f4661d8025cd900282a45d0e8340ce1ed662c
parent00305fe6f87653a77a7eae9948d5125669d1c028 (diff)
downloadgitlab-ce-9e86e375ba88b7920a1166a72501a562a1e569c2.tar.gz
Polish chart
-rw-r--r--doc/development/architecture.md60
1 files changed, 33 insertions, 27 deletions
diff --git a/doc/development/architecture.md b/doc/development/architecture.md
index 6fa9b98349e..6e79246ae29 100644
--- a/doc/development/architecture.md
+++ b/doc/development/architecture.md
@@ -312,33 +312,39 @@ class ObjectStorage defaultoff
class Geo defaultoff
```
-| Component | Description | On by Default | Required | CE/EE | Included in Omnibus / Chart | Omnibus Configuration | Chart Configuration |
-| --------- | ----------- |:-------------:|:--------:|:-----:| --------------- | --------------------- | ------------------- |
-| NGINX | Routes requests to appropriate components, terminates SSL | ✅ | | CE & EE | Omnibus & Chart | [NGINX Settings](https://docs.gitlab.com/omnibus/settings/nginx.html) | [NGINX Ingress settings](https://docs.gitlab.com/charts/charts/nginx/index.html) |
-| Unicorn (GitLab Rails) | Handles requests for the web interface and API | ✅ | ✅ | CE & EE | Omnibus & Chart | [Unicorn specific settings](https://docs.gitlab.com/omnibus/settings/unicorn.html), for general GitLab Rails settings search for `gitlab_rails` in the Omnibus [`gitlab.rb` configuration file](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) | [Unicorn chart settings](https://docs.gitlab.com/charts/charts/gitlab/unicorn/index.html) |
-| Sidekiq | Background jobs processor | ✅ | ✅ | CE & EE | Omnibus & Chart | Search for `sidekiq` in Omnibus [`gitlab.rb` configuration file](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) | [Sidekiq chart settings](https://docs.gitlab.com/charts/charts/gitlab/sidekiq/index.html) |
-| Gitaly | Git RPC service for handling all git calls made by GitLab | ✅ | ✅ | CE & EE | Omnibus & Chart | [Gitaly Settings](https://docs.gitlab.com/ee/administration/gitaly/) | [Gitaly chart settings](https://docs.gitlab.com/charts/charts/gitlab/gitaly/index.html) |
-| GitLab Workhorse | Smart reverse proxy, handles large HTTP requests | ✅ | ✅ | CE & EE | Omnibus & Chart | Search for `gitlab_workhorse` in Omnibus [`gitlab.rb` configuration file](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) | Workhorse settings are included in the [Unicorn chart](https://docs.gitlab.com/charts/charts/gitlab/unicorn/index.html) |
-| GitLab Shell | Handles `git` over SSH sessions | ✅ | ✅ | CE & EE | Omnibus & Chart | Search for `gitlab_shell` in Omnibus [`gitlab.rb` configuration file](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) | [Gitlab-Shell chart settings](https://docs.gitlab.com/charts/charts/gitlab/gitlab-shell/index.html) |
-| GitLab Pages | Hosts static websites | | | CE & EE | Omnibus | [Pages Settings](https://docs.gitlab.com/ee/administration/pages/) | Pages is currently [not supported](https://gitlab.com/charts/gitlab/issues/37) |
-| Registry | Container registry, allows pushing and pulling of images | Chart ✅ | | CE & EE | Omnibus & Chart | [Registry settings](https://docs.gitlab.com/ee/administration/container_registry.html#container-registry-domain-configuration) | [Registry chart settings](https://docs.gitlab.com/charts/charts/registry/index.html) |
-| Redis | Caching service | ✅ | ✅ | CE & EE | Omnibus & Chart | [Redis Settings](https://docs.gitlab.com/omnibus/settings/redis.html) | [Redis chart settings](https://docs.gitlab.com/charts/charts/redis/index.html) |
-| PostgreSQL | Database | ✅ | ✅ | CE & EE | Omnibus & Chart | [Database settings](https://docs.gitlab.com/omnibus/settings/database.html) | Upstream [Postgres chart settings](https://github.com/helm/charts/tree/master/stable/postgresql) |
-| PgBouncer | Database connection pooling, failover | | | EE Only | Omnibus | [PgBouncer settings](https://docs.gitlab.com/ee/administration/high_availability/pgbouncer.html) | |
-| Consul | Database node discovery, failover | | | EE Only | Omnibus | [Consul settings](https://docs.gitlab.com/ee/administration/high_availability/consul.html) | |
-| Prometheus | Time-series database, metrics collection, and query service | ✅ | | CE & EE | Omnibus & Chart | [Prometheus settings](https://docs.gitlab.com/ee/administration/monitoring/prometheus/)| Upstream [Prometheus chart settings](https://github.com/helm/charts/tree/master/stable/prometheus) |
-| Prometheus Alertmanager | Deduplicates, groups, and routes alerts from Prometheus | ✅ | | CE & EE | Omnibus & Chart | Search for `alertmanager` in Omnibus [`gitlab.rb` configuration file](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template)| Included in upstream [Prometheus chart settings](https://github.com/helm/charts/tree/master/stable/prometheus) |
-| Grafana | Metrics dashboard | | | CE & EE | Omnibus | [Grafana settings](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html) | |
-| Redis Exporter | Prometheus endpoint with Redis metrics | ✅ | | CE & EE | Omnibus & Chart | [Redis Exporter settings](https://docs.gitlab.com/ee/administration/monitoring/prometheus/redis_exporter.html) | Included in [Redis chart](https://docs.gitlab.com/charts/charts/redis/index.html) |
-| PostgreSQL Exporter | Prometheus endpoint with PostgreSQL metrics | ✅ | | CE & EE | Omnibus & Chart | [PostgreSQL Exporter](https://docs.gitlab.com/ee/administration/monitoring/prometheus/postgres_exporter.html) | Included in upstream [Postgres chart](https://github.com/helm/charts/tree/master/stable/postgresql) |
-| PgBouncer Exporter | Prometheus endpoint with PgBouncer metrics | | | CE & EE | Omnibus | [PgBouncer Exporter settings](https://docs.gitlab.com/ee/administration/monitoring/prometheus/pgbouncer_exporter.html) |
-| GitLab Monitor | Tracks a variety of GitLab metrics | ✅ | | CE & EE | Omnibus | [GitLab Monitor settings](https://docs.gitlab.com/ee/administration/monitoring/prometheus/gitlab_monitor_exporter.html)| Currently [not supported in charts](https://gitlab.com/charts/gitlab/issues/319) |
-| Mattermost | Open-source Slack alternative | | | CE & EE | Omnibus | [Mattermost settings](https://docs.gitlab.com/omnibus/gitlab-mattermost/) | Currently [not included](https://gitlab.com/charts/gitlab/issues/251) |
-| ElasticSearch | Advanced search engine | | | EE Only | Omnibus & Chart | [Elasticsearch settings](https://docs.gitlab.com/ee/integration/elasticsearch.html) | [Elasticsearch settings](https://docs.gitlab.com/ee/integration/elasticsearch.html) |
-| Minio | In-cluster object storage | | | CE & EE | Chart | | [Minio configuration](https://docs.gitlab.com/charts/charts/minio/index.html) |
-| Runner | Executes GitLab CI jobs | Chart ✅ | | CE & EE | Omnibus & Chart | [Download and configuration instructions](https://docs.gitlab.com/runner/) | [Runner settings](https://docs.gitlab.com/charts/charts/gitlab/gitlab-runner/index.html)
-| Migrations | Response for database migrations in Charts | ✅ | ✅ | CE & EE | Chart | | [Migration settings](https://docs.gitlab.com/charts/charts/gitlab/migrations/index.html) |
-| Cert-Manager | Certificate management, Let's Encrypt | ✅ | | CE & EE | Chart | | [TLS settings](https://docs.gitlab.com/charts/installation/tls.html) |
+| Component | Description | Installed by [Omnibus](https://docs.gitlab.com/omnibus/README.html) | Installed by [Chart](https://docs.gitlab.com/charts/) | Installed by Chart [Minikube Minimal](https://gitlab.com/charts/gitlab/blob/master/examples/values-minikube-minimum.yaml) | CE/EE |
+| --------- | ----------- |:--------------------:|:------------------:|:-----:|:--------:|
+| NGINX | Routes requests to appropriate components, terminates SSL | [✅](https://docs.gitlab.com/omnibus/settings/nginx.html) | [✅](https://docs.gitlab.com/charts/charts/nginx/index.html) | [✅](https://docs.gitlab.com/charts/charts/nginx/index.html) | CE & EE |
+| Unicorn (GitLab Rails) | Handles requests for the web interface and API | [✅](https://docs.gitlab.com/omnibus/settings/unicorn.html) | [✅](https://docs.gitlab.com/charts/charts/gitlab/unicorn/index.html) | [✅](https://docs.gitlab.com/charts/charts/gitlab/unicorn/index.html) | CE & EE |
+| Sidekiq | Background jobs processor | [✅](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) | [✅](https://docs.gitlab.com/charts/charts/gitlab/sidekiq/index.html) | [✅](https://docs.gitlab.com/charts/charts/gitlab/sidekiq/index.html) | CE & EE |
+| Gitaly | Git RPC service for handling all git calls made by GitLab | [✅](https://docs.gitlab.com/ee/administration/gitaly/) | [✅](https://docs.gitlab.com/charts/charts/gitlab/gitaly/index.html) | [✅](https://docs.gitlab.com/charts/charts/gitlab/gitaly/index.html) | CE & EE |
+| GitLab Workhorse | Smart reverse proxy, handles large HTTP requests | [✅](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) | [✅](https://docs.gitlab.com/charts/charts/gitlab/unicorn/index.html) | [✅](https://docs.gitlab.com/charts/charts/gitlab/unicorn/index.html) | CE & EE |
+| GitLab Shell | Handles `git` over SSH sessions | [✅](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) | [✅](https://docs.gitlab.com/charts/charts/gitlab/gitlab-shell/index.html) | [✅](https://docs.gitlab.com/charts/charts/gitlab/gitlab-shell/index.html) | CE & EE |
+| GitLab Pages | Hosts static websites | [⚙](https://docs.gitlab.com/ee/administration/pages/) | [❌](https://gitlab.com/charts/gitlab/issues/37) | [❌](https://gitlab.com/charts/gitlab/issues/37) | CE & EE |
+| Registry | Container registry, allows pushing and pulling of images | [⚙](https://docs.gitlab.com/ee/administration/container_registry.html#container-registry-domain-configuration) | [✅](https://docs.gitlab.com/charts/charts/registry/index.html) | [✅](https://docs.gitlab.com/charts/charts/registry/index.html) | CE & EE | Omnibus & Chart | [Registry settings](https://docs.gitlab.com/ee/administration/container_registry.html#container-registry-domain-configuration) | [Registry chart settings](https://docs.gitlab.com/charts/charts/registry/index.html) |
+| Redis | Caching service | [✅](https://docs.gitlab.com/omnibus/settings/redis.html) | [✅](https://docs.gitlab.com/charts/charts/redis/index.html) | [✅](https://docs.gitlab.com/charts/charts/redis/index.html) | CE & EE |
+| PostgreSQL | Database | [✅](https://docs.gitlab.com/omnibus/settings/database.html) | [✅](https://github.com/helm/charts/tree/master/stable/postgresql) | [✅](https://github.com/helm/charts/tree/master/stable/postgresql) | CE & EE |
+| PgBouncer | Database connection pooling, failover | [⚙](https://docs.gitlab.com/ee/administration/high_availability/pgbouncer.html) | [❌](https://docs.gitlab.com/charts/installation/deployment.html#postgresql) | [❌](https://docs.gitlab.com/charts/installation/deployment.html#postgresql) | EE Only |
+| Consul | Database node discovery, failover | [⚙](https://docs.gitlab.com/ee/administration/high_availability/consul.html) | [❌](https://docs.gitlab.com/charts/installation/deployment.html#postgresql) | [❌](https://docs.gitlab.com/charts/installation/deployment.html#postgresql) | EE Only |
+| Prometheus | Time-series database, metrics collection, and query service | [✅](https://docs.gitlab.com/ee/administration/monitoring/prometheus/) | [✅](https://github.com/helm/charts/tree/master/stable/prometheus) | [✅](https://github.com/helm/charts/tree/master/stable/prometheus) | CE & EE |
+| Prometheus Alertmanager | Deduplicates, groups, and routes alerts from Prometheus | [✅](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) | [✅](https://github.com/helm/charts/tree/master/stable/prometheus) | [✅](https://github.com/helm/charts/tree/master/stable/prometheus) | CE & EE | Omnibus & Chart |
+| Grafana | Metrics dashboard | [⚙](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html) | [⤓](https://github.com/helm/charts/tree/master/stable/grafana) | [⤓](https://github.com/helm/charts/tree/master/stable/grafana) | CE & EE |
+| Redis Exporter | Prometheus endpoint with Redis metrics | [✅](https://docs.gitlab.com/ee/administration/monitoring/prometheus/redis_exporter.html) | [✅](https://docs.gitlab.com/charts/charts/redis/index.html) | [✅](https://docs.gitlab.com/charts/charts/redis/index.html) | CE & EE |
+| PostgreSQL Exporter | Prometheus endpoint with PostgreSQL metrics | [✅](https://docs.gitlab.com/ee/administration/monitoring/prometheus/postgres_exporter.html) | [✅](https://github.com/helm/charts/tree/master/stable/postgresql) | [✅](https://github.com/helm/charts/tree/master/stable/postgresql) | CE & EE |
+| PgBouncer Exporter | Prometheus endpoint with PgBouncer metrics | [⚙](https://docs.gitlab.com/ee/administration/monitoring/prometheus/pgbouncer_exporter.html) | [❌](https://docs.gitlab.com/charts/installation/deployment.html#postgresql) | [❌](https://docs.gitlab.com/charts/installation/deployment.html#postgresql) | CE & EE |
+| GitLab Monitor | Tracks a variety of GitLab metrics | [✅](https://docs.gitlab.com/ee/administration/monitoring/prometheus/gitlab_monitor_exporter.html) | [❌](https://gitlab.com/charts/gitlab/issues/319) | [❌](https://gitlab.com/charts/gitlab/issues/319) | CE & EE |
+| Mattermost | Open-source Slack alternative | [⚙](https://docs.gitlab.com/omnibus/gitlab-mattermost/) | [⤓](https://docs.mattermost.com/install/install-mmte-helm-gitlab-helm.html) | [⤓](https://docs.mattermost.com/install/install-mmte-helm-gitlab-helm.html) | CE & EE |
+| ElasticSearch | Advanced search engine | [⤓](https://docs.gitlab.com/ee/integration/elasticsearch.html) | [⤓](https://docs.gitlab.com/ee/integration/elasticsearch.html) | [⤓](https://docs.gitlab.com/ee/integration/elasticsearch.html) | EE Only |
+| Minio | Object storage service | [⤓](https://min.io/download) | [✅](https://docs.gitlab.com/charts/charts/minio/index.html) | [✅](https://docs.gitlab.com/charts/charts/minio/index.html) | CE & EE |
+| Runner | Executes GitLab CI jobs | [⤓](https://docs.gitlab.com/runner/) | [✅](https://docs.gitlab.com/runner/) | [✅](https://docs.gitlab.com/runner/) | CE & EE |
+| Migrations | Database migrations | [✅](https://docs.gitlab.com/omnibus/settings/database.html#disabling-automatic-database-migration) | [✅](https://docs.gitlab.com/charts/charts/gitlab/migrations/index.html) | [✅](https://docs.gitlab.com/charts/charts/gitlab/migrations/index.html) | CE & EE |
+| Certificate Management | TLS Settings, Let's Encrypt | [✅](https://docs.gitlab.com/omnibus/settings/ssl.html) | [✅](https://docs.gitlab.com/charts/installation/tls.html) | [✅](https://docs.gitlab.com/charts/installation/tls.html) | CE & EE |
+
+**Legend**:
+* ✅ - Automatically configured
+* ⚙ - Requires additional configuration
+* ⤓ - Additional software required
+* ❌ - Not available
A typical install of GitLab will be on GNU/Linux. It uses Nginx or Apache as a web front end to proxypass the Unicorn web server. By default, communication between Unicorn and the front end is via a Unix domain socket but forwarding requests via TCP is also supported. The web front end accesses `/home/git/gitlab/public` bypassing the Unicorn server to serve static pages, uploads (e.g. avatar images or attachments), and precompiled assets. GitLab serves web pages and a [GitLab API](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/api) using the Unicorn web server. It uses Sidekiq as a job queue which, in turn, uses redis as a non-persistent database backend for job information, meta data, and incoming jobs.