Commit ba3321d2 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 29439d5d
# GitLab instance # GitLab instance
# NOTE instance/software layout is inspired by gitlab omnibus # NOTE instance/software layout is inspired by gitlab omnibus
# TODO last updated for gitlab-omnibus vXXXX # NOTE all services are interconnected via unix sockets - because of easier
# TODO all services are interconnected via unix sockets: write why / more # security and performance reasons.
[buildout] [buildout]
extends = {{ gitlab_parameters_cfg }} extends = {{ gitlab_parameters_cfg }}
parts = parts =
...@@ -50,15 +50,15 @@ cert = ${slap-connection:cert-file} ...@@ -50,15 +50,15 @@ cert = ${slap-connection:cert-file}
# autogenerated gitlab instance parameters # autogenerated gitlab instance parameters
<= gitlab-parameters <= gitlab-parameters
# adjust/override some default settings # adjust/override some default settings:
# automatically load all available CPUs
configuration.unicorn_worker_processes = {{ multiprocessing.cpu_count() + 1 }} configuration.unicorn_worker_processes = {{ multiprocessing.cpu_count() + 1 }}
configuration.nginx_worker_processes = {{ multiprocessing.cpu_count() }} configuration.nginx_worker_processes = {{ multiprocessing.cpu_count() }}
# for convenience # for convenience
# XXX place ok? naming? [backend-info]
# XXX rename -> backend-info ?
[gitlab-backend]
host = ${instance-parameter:ipv6-random} host = ${instance-parameter:ipv6-random}
port = 7777 port = 7777
# TODO http -? https # TODO http -? https
...@@ -74,7 +74,7 @@ git = {{ git }} ...@@ -74,7 +74,7 @@ git = {{ git }}
[publish-instance-info] [publish-instance-info]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
url = ${gitlab-backend:url} url = ${backend-info:url}
...@@ -98,7 +98,7 @@ service = ${:etc}/service ...@@ -98,7 +98,7 @@ service = ${:etc}/service
promise = ${:etc}/promise promise = ${:etc}/promise
# gitlab: etc/ log/ ... # gitlab: etc/ log/ ...
# TODO var/run/ (for *.pid .lock) # TODO var/run/ (for *.pid .lock) ?
[gitlab] [gitlab]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
etc = ${directory:etc}/gitlab etc = ${directory:etc}/gitlab
...@@ -113,7 +113,7 @@ repositories = ${directory:srv}/repositories ...@@ -113,7 +113,7 @@ repositories = ${directory:srv}/repositories
backup = ${directory:srv}/backup backup = ${directory:srv}/backup
# gitlab-shell: etc/ log/ # gitlab-shell: etc/ log/ gitlab_shell_secrete ...
[gitlab-shell-dir] [gitlab-shell-dir]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
etc = ${directory:etc}/gitlab-shell etc = ${directory:etc}/gitlab-shell
...@@ -137,6 +137,7 @@ import-list = ...@@ -137,6 +137,7 @@ import-list =
context = context =
raw autogenerated # This file was autogenerated. (DO NOT EDIT - changes will be lost) raw autogenerated # This file was autogenerated. (DO NOT EDIT - changes will be lost)
section instance_parameter instance-parameter section instance_parameter instance-parameter
section backend_info backend-info
${:context-extra} ${:context-extra}
context-extra = context-extra =
...@@ -152,7 +153,6 @@ rendered= ${gitlab:etc}/${:_buildout_section_name_} ...@@ -152,7 +153,6 @@ rendered= ${gitlab:etc}/${:_buildout_section_name_}
<= gitlab-etc-template <= gitlab-etc-template
template= {{ database_yml_in }} template= {{ database_yml_in }}
context-extra = context-extra =
section gitlab_backend gitlab-backend
section pgsql service-postgresql section pgsql service-postgresql
[gitlab.yml] [gitlab.yml]
...@@ -161,7 +161,6 @@ template= {{ gitlab_yml_in }} ...@@ -161,7 +161,6 @@ template= {{ gitlab_yml_in }}
context-extra = context-extra =
section gitlab gitlab section gitlab gitlab
section gitlab_shell gitlab-shell section gitlab_shell gitlab-shell
section gitlab_backend gitlab-backend
section gitlab_shell_root_shadow gitlab-shell-root-shadow section gitlab_shell_root_shadow gitlab-shell-root-shadow
[resque.yml] [resque.yml]
...@@ -192,10 +191,8 @@ context-extra = ...@@ -192,10 +191,8 @@ context-extra =
template= {{ gitlab_shell_config_yml_in }} template= {{ gitlab_shell_config_yml_in }}
rendered= ${gitlab-shell:etc}/config.yml rendered= ${gitlab-shell:etc}/config.yml
context-extra = context-extra =
import urllib urllib
section gitlab gitlab section gitlab gitlab
section gitlab_shell gitlab-shell section gitlab_shell gitlab-shell
section gitlab_backend gitlab-backend
section unicorn unicorn section unicorn unicorn
section service_redis service-redis section service_redis service-redis
raw redis_bin {{ redis_bin }} raw redis_bin {{ redis_bin }}
...@@ -209,7 +206,6 @@ rendered= ${nginx:etc}/${:_buildout_section_name_} ...@@ -209,7 +206,6 @@ rendered= ${nginx:etc}/${:_buildout_section_name_}
<= nginx-etc-template <= nginx-etc-template
template= {{ nginx_conf_in }} template= {{ nginx_conf_in }}
context-extra = context-extra =
section gitlab_backend gitlab-backend
section directory directory section directory directory
raw mime_types {{ mime_types }} raw mime_types {{ mime_types }}
raw nginx_gitlab_http_conf ${nginx-gitlab-http.conf:rendered} raw nginx_gitlab_http_conf ${nginx-gitlab-http.conf:rendered}
...@@ -218,7 +214,6 @@ context-extra = ...@@ -218,7 +214,6 @@ context-extra =
<= nginx-etc-template <= nginx-etc-template
template= {{ nginx_gitlab_http_conf_in }} template= {{ nginx_gitlab_http_conf_in }}
context-extra = context-extra =
section gitlab_backend gitlab-backend
section nginx nginx section nginx nginx
section gitlab_root_shadow gitlab-root-shadow section gitlab_root_shadow gitlab-root-shadow
section unicorn unicorn section unicorn unicorn
...@@ -418,13 +413,14 @@ port = 0 ...@@ -418,13 +413,14 @@ port = 0
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
srv = ${directory:srv}/gitlab-workhorse srv = ${directory:srv}/gitlab-workhorse
# TODO -authBackend/authSocket ?-pprofListenAddr # XXX -pprofListenAddr ?
[service-gitlab-workhorse] [service-gitlab-workhorse]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:service}/gitlab-workhorse wrapper-path = ${directory:service}/gitlab-workhorse
command-line = {{ gitlab_workhorse }} command-line = {{ gitlab_workhorse }}
-listenNetwork unix -listenNetwork unix
-listenAddr ${gitlab-workhorse:srv}/gitlab-workhorse.socket -listenAddr ${gitlab-workhorse:srv}/gitlab-workhorse.socket
-authSocket ${unicorn:socket}
###################### ######################
......
...@@ -48,8 +48,6 @@ url = https://rubygems.org/rubygems/rubygems-2.4.8.zip ...@@ -48,8 +48,6 @@ url = https://rubygems.org/rubygems/rubygems-2.4.8.zip
# bundler, that we'll use to # bundler, that we'll use to
# - install gems for gitlab # - install gems for gitlab
# - run gitlab services / jobs (via `bundle exec ...`) # - run gitlab services / jobs (via `bundle exec ...`)
#
# TODO say how this bundler/gitlab differ from usual slapos installation
[bundler-4gitlab] [bundler-4gitlab]
<= rubygemsrecipe <= rubygemsrecipe
ruby-location = ${ruby2.1:location} ruby-location = ${ruby2.1:location}
......
...@@ -5,10 +5,9 @@ ...@@ -5,10 +5,9 @@
# (last updated for omnibus-gitlab 8.1.0+rc1.ce.0-77-ge349060) # (last updated for omnibus-gitlab 8.1.0+rc1.ce.0-77-ge349060)
# GitLab user. git by default # GitLab user. git by default
user: {{ gitlab_backend.user }} user: {{ backend_info.user }}
# Url to gitlab instance. Used for api calls. Should end with a slash. # Url to gitlab instance. Used for api calls. Should end with a slash.
#gitlab_url: "http+unix://{{ urllib.quote_plus(unicorn.socket) }}"
#gitlab_url: "http://127.0.0.1:8888" #gitlab_url: "http://127.0.0.1:8888"
gitlab_socket: {{ unicorn.socket }} gitlab_socket: {{ unicorn.socket }}
...@@ -40,8 +39,8 @@ secret_file: "{{ gitlab_shell.secret }}" ...@@ -40,8 +39,8 @@ secret_file: "{{ gitlab_shell.secret }}"
# Redis settings used for pushing commit notices to gitlab # Redis settings used for pushing commit notices to gitlab
redis: redis:
bin: {{ redis_bin }}/redis-cli bin: {{ redis_bin }}/redis-cli
host: {{ service_redis.ipv6 }} {# XXX not specify at all ? #} host: {# {{ service_redis.ipv6 }} XXX not specify at all ? #}
port: {{ service_redis.port }} {# XXX not specify at all ? #} port: {# {{ service_redis.port }} XXX not specify at all ? #}
socket: {{ service_redis.unixsocket }} socket: {{ service_redis.unixsocket }}
{# we don't use password for redis {# we don't use password for redis
<% if @redis_password %> <% if @redis_password %>
......
...@@ -14,17 +14,17 @@ production: &base ...@@ -14,17 +14,17 @@ production: &base
## GitLab settings ## GitLab settings
gitlab: gitlab:
## Web server settings (note: host is the FQDN, do not include http://) ## Web server settings (note: host is the FQDN, do not include http://)
host: {{ gitlab_backend.host }} host: {{ backend_info.host }}
port: {{ gitlab_backend.port }} port: {{ backend_info.port }}
# TODO # TODO
#https: <%= @gitlab_https %> #https: <%= @gitlab_https %>
https: false https: false
# XXX temp workaround for gitlab not building correct url for host being ipv6 addr # XXX temp workaround for gitlab not building correct url for host being ipv6 addr
url: {{ gitlab_backend.url }} url: {{ backend_info.url }}
user: {{ gitlab_backend.user }} user: {{ backend_info.user }}
## Email settings ## Email settings
email_enabled: {{ cfg('email_enabled') }} email_enabled: {{ cfg('email_enabled') }}
...@@ -118,7 +118,7 @@ production: &base ...@@ -118,7 +118,7 @@ production: &base
## Git settings ## Git settings
git: git:
bin_path: {{ gitlab_backend.git }} bin_path: {{ backend_info.git }}
max_size: {{ cfg('git_max_size') }} max_size: {{ cfg('git_max_size') }}
timeout: {{ cfg('git_timeout') }} timeout: {{ cfg('git_timeout') }}
......
...@@ -32,7 +32,7 @@ server { ...@@ -32,7 +32,7 @@ server {
{% endif %} {% endif %}
server { server {
listen [{{ gitlab_backend.host }}]:{{ gitlab_backend.port }}{% if cfg_bool('https') %} ssl spdy{% endif %}; listen [{{ backend_info.host }}]:{{ backend_info.port }}{% if cfg_bool('https') %} ssl spdy{% endif %};
{# we don't use: kerbeeros {# we don't use: kerbeeros
<% if @kerberos_enabled && @kerberos_use_dedicated_port %> <% if @kerberos_enabled && @kerberos_use_dedicated_port %>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% from 'macrolib.cfg.in' import cfg with context %} {% from 'macrolib.cfg.in' import cfg with context %}
# user directive makes sense only when running initially as root (and nginx will complain if not) # user directive makes sense only when running initially as root (and nginx will complain if not)
# user {{ gitlab_backend.user }}; # user {{ backend_info.user }};
worker_processes {{ cfg('nginx_worker_processes') }}; worker_processes {{ cfg('nginx_worker_processes') }};
error_log stderr; error_log stderr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment