Commit ba3321d2 authored by Kirill Smelkov's avatar Kirill Smelkov

.

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