summaryrefslogtreecommitdiff
path: root/doc/development/architecture.md
diff options
context:
space:
mode:
authorJoshua Lambert <joshua@gitlab.com>2019-05-16 16:15:23 -0400
committerJoshua Lambert <joshua@gitlab.com>2019-05-16 16:15:23 -0400
commitbad057e89c1cdeb444d87cc8ca5e1dd250775c39 (patch)
tree34a113f3d77d80d434c707534478f856909b6e27 /doc/development/architecture.md
parent712dccd4c0f37b9fce12f5a945a551f8dca07cc4 (diff)
downloadgitlab-ce-bad057e89c1cdeb444d87cc8ca5e1dd250775c39.tar.gz
Add subheadings to components in architecture pagejl-add-component-subheadings-docs
Diffstat (limited to 'doc/development/architecture.md')
-rw-r--r--doc/development/architecture.md10
1 files changed, 7 insertions, 3 deletions
diff --git a/doc/development/architecture.md b/doc/development/architecture.md
index 88c16a8db22..28a5b51ea53 100644
--- a/doc/development/architecture.md
+++ b/doc/development/architecture.md
@@ -210,6 +210,8 @@ To serve repositories over SSH there's an add-on application called gitlab-shell
### Components
+#### Component Diagram
+
```mermaid
graph TB
@@ -278,15 +280,15 @@ graph TB
```
----
-
-**Legend**:
+#### Component Legend
* ✅ - Automatically configured
* ⚙ - Requires additional configuration
* ⤓ - Additional software/service required
* ❌ - Not available
+#### Component Table
+
| Component | Description | [Omnibus GitLab](https://docs.gitlab.com/omnibus/README.html) | [GitLab chart](https://docs.gitlab.com/charts/) | [Minikube Minimal](https://docs.gitlab.com/charts/development/minikube/#deploying-gitlab-with-minimal-settings) | [GitLab.com](https://gitlab.com) | 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) | [✅](https://about.gitlab.com/handbook/engineering/infrastructure/production-architecture/#service-architecture) | CE & EE |
@@ -324,6 +326,8 @@ graph TB
| Jaeger: deployed apps | Distributed tracing for deployed apps | [⤓](https://docs.gitlab.com/ee/user/project/operations/tracing.html) | [⤓](https://docs.gitlab.com/ee/user/project/operations/tracing.html) | [⤓](https://docs.gitlab.com/ee/user/project/operations/tracing.html) | [⤓](https://docs.gitlab.com/ee/user/project/operations/tracing.html) | EE Only |
| Kubernetes cluster apps | Deploy [Helm](https://docs.helm.sh/), [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/), [Cert-Manager](https://docs.cert-manager.io/en/latest/), [Prometheus](https://prometheus.io/docs/introduction/overview/), a [Runner](https://docs.gitlab.com/runner/), [JupyterHub](http://jupyter.org/), [Knative](https://cloud.google.com/knative) to a cluster | [⤓](https://docs.gitlab.com/ee/user/project/clusters/#installing-applications) | [⤓](https://docs.gitlab.com/ee/user/project/clusters/#installing-applications) | [⤓](https://docs.gitlab.com/ee/user/project/clusters/#installing-applications) | [⤓](https://docs.gitlab.com/ee/user/project/clusters/#installing-applications) | CE & EE |
+#### Component Overview
+
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.
We also support deploying GitLab on Kubernetes using our [gitlab Helm chart](https://docs.gitlab.com/charts/).