diff options
Diffstat (limited to 'doc/development/architecture.md')
-rw-r--r-- | doc/development/architecture.md | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/doc/development/architecture.md b/doc/development/architecture.md index bd2e4f5e37c..1b06db5766f 100644 --- a/doc/development/architecture.md +++ b/doc/development/architecture.md @@ -212,9 +212,11 @@ To serve repositories over SSH there's an add-on application called gitlab-shell ```mermaid graph TB + + HTTP(HTTP/HTTPS) -- TCP 80, 443 --> NGINX + SSH((SSH)) --TCP 22 --> GitLabShell(GitLab Shell) + subgraph Omnibus GitLab EE - SSH((SSH)) --TCP 22 --> GitLabShell(GitLab Shell) - HTTP(HTTP/HTTPS) -- TCP 80, 443 --> NGINX GitLabShell --TCP 8080 -->Unicorn("Unicorn (GitLab Rails)") GitLabShell --> Gitaly GitLabShell --> Redis @@ -251,14 +253,19 @@ graph TB Unicorn --> Registry end + HTTPK8s(HTTP/HTTPS) -- TCP 80, 443 --> LoadBalancerK8s(Load Balancer) + LoadBalancerK8s -- TCP 80, 443 --> nginx-ingressK8s subgraph Kubernetes PrometheusK8s(Prometheus) TillerK8s(Tiller) nginx-ingressK8s(NGINX Ingress) Cert-ManagerK8s(Cert-Manager) GitLabRunnerK8s(GitLab Runner) + GitLabRunnerK8s --> NGINX JupyterHubK8s(JupyterHub) + nginx-ingressK8s --> JupyterHubK8s KnativeK8s(Knative) + Istio end Unicorn -- TCP 9200 --> ElasticSearch Sidekiq -- TCP 9200 --> ElasticSearch @@ -273,6 +280,8 @@ class Cert-ManagerK8s defaultoff class GitLabRunnerK8s defaultoff class JupyterHubK8s defaultoff class KnativeK8s defaultoff +class HTTPK8s defaultoff +class LoadBalancerK8s defaultoff ``` 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. |