Theo Chatzimichos 8f379a
include:
Theo Chatzimichos 8f379a
  - role.common.nginx
Theo Chatzimichos 754b1a
  {% if salt['grains.get']('include_secrets', True) %}
Theo Chatzimichos b46876
  - secrets.role.web_gitlab
Theo Chatzimichos 754b1a
  {% endif %}
Theo Chatzimichos 8f379a
Theo Chatzimichos 8f379a
nginx:
Theo Chatzimichos 8f379a
  ng:
Theo Chatzimichos b46876
    certificates:
Theo Chatzimichos b46876
      gitlab.infra.opensuse.org:
Theo Chatzimichos b46876
        public_cert: |
Theo Chatzimichos b46876
          -----BEGIN CERTIFICATE-----
Theo Chatzimichos b46876
          MIIEWTCCA0GgAwIBAgIBDDANBgkqhkiG9w0BAQsFADA9MRswGQYDVQQKDBJJTkZS
Theo Chatzimichos b46876
          QS5PUEVOU1VTRS5PUkcxHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTAe
Theo Chatzimichos b46876
          Fw0xNzEwMTkxMjI5MzVaFw0xOTEwMjAxMjI5MzVaMEExGzAZBgNVBAoMEklORlJB
Theo Chatzimichos b46876
          Lk9QRU5TVVNFLk9SRzEiMCAGA1UEAwwZZ2l0bGFiLmluZnJhLm9wZW5zdXNlLm9y
Theo Chatzimichos b46876
          ZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWfuMhdJOdrwvu2hCw0
Theo Chatzimichos b46876
          +bRNl8AADSvdBBokQlwpUvbgITNWR3tkj/KgIEO0ohBC7j+a2L3t3qm5tP8ETdET
Theo Chatzimichos b46876
          cS96lj1nZ6fTWV1J9qezfpTBRDE3VIK3vykoBqzRMBVq6R4Kajg7SvB9pWRpHBC4
Theo Chatzimichos b46876
          xm3vPA4AnSN9skPtMMGpqZxFMbpGsirObzr5Rit4tM53gZy7zgS2n22TqMeEsEYv
Theo Chatzimichos b46876
          d/fHxW2bNLvS5BwX+RU1NhRlNFDPI7BQgCOGzgWrKZeukGfzcOhIXMKtnLPQc/65
Theo Chatzimichos b46876
          VcGQDRm01ReSBqNbyADuAfbYrFOPyf8V2FlloUG/voM4c5y6WamHv2ZJepel5qxI
Theo Chatzimichos b46876
          ickCAwEAAaOCAV4wggFaMB8GA1UdIwQYMBaAFKlSimqonCWUWJHsFYnI+g8qlmg/
Theo Chatzimichos b46876
          MEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL2lwYS1jYS5pbmZy
Theo Chatzimichos b46876
          YS5vcGVuc3VzZS5vcmcvY2Evb2NzcDAOBgNVHQ8BAf8EBAMCBPAwHQYDVR0lBBYw
Theo Chatzimichos b46876
          FAYIKwYBBQUHAwEGCCsGAQUFBwMCMH0GA1UdHwR2MHQwcqA6oDiGNmh0dHA6Ly9p
Theo Chatzimichos b46876
          cGEtY2EuaW5mcmEub3BlbnN1c2Uub3JnL2lwYS9jcmwvTWFzdGVyQ1JMLmJpbqI0
Theo Chatzimichos b46876
          pDIwMDEOMAwGA1UECgwFaXBhY2ExHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhv
Theo Chatzimichos b46876
          cml0eTAdBgNVHQ4EFgQUrqKLD5dYozCI//zl7UW5jYyEkXIwJAYDVR0RBB0wG4IZ
Theo Chatzimichos b46876
          Z2l0bGFiLmluZnJhLm9wZW5zdXNlLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAVm3I
Theo Chatzimichos b46876
          IpSAJovwTDnbDebdPl0+o9QKCYN91B6HXcet05Z+8endi2Nk/vWsa3pClmfo4hgv
Theo Chatzimichos b46876
          GieObg+fOnjL7JuPXUDf/0/WggaIjGEbk7I8CUubjK3u6AxM2csWBqg0XEL9KdT9
Theo Chatzimichos b46876
          ScNcNVzHqhrIgO2pz2xImVO03hSLnmsVjTl/ssOsSBbWYSHueT3C7ZJIr4gQ7XDI
Theo Chatzimichos b46876
          wL0yxP6NShgkEqAUs9QY5GBjm5bsykOj89qgi6Zu8kUJqPYLKkwjZy62cDRvoiQh
Theo Chatzimichos b46876
          TM0JvF2fa2AjvK0CYcYkIo+Kz1KagM52oQBlZQO7RcEVcW9GfHVMmmj3in5/U45H
Theo Chatzimichos b46876
          nLpMhv4+wJAh8gJ0oA==
Theo Chatzimichos b46876
          -----END CERTIFICATE-----
Theo Chatzimichos b46876
        # private_key included from pillar/secrets/role/web_gitlab.sls
Theo Chatzimichos b46876
    dh_param:
Theo Chatzimichos b46876
      gitlab.infra.opensuse.org.dhparams: |
Theo Chatzimichos b46876
        -----BEGIN DH PARAMETERS-----
Theo Chatzimichos b46876
        MIIBCAKCAQEA7PJQ8wuX4X5olj1lgscd7NWYCdW2+W/8JmBYQE79qnjKhW9I0lg6
Theo Chatzimichos b46876
        zigDe6qUh/QonJ9v2rjeoOMa9lFpgee7Hd4QP1ZmS2seaNBVaVBUWaTX/W8Kzi6B
Theo Chatzimichos b46876
        muks7dMjbkrx4hHzw5A/UK4sXR7o2jkZbSF72hrxL9e2EAD0DTH3cyVJnjbbjxC/
Theo Chatzimichos b46876
        G44CZVTNZpPk1J9kl00eq19Nx/0tXoa6mS1I4h6+zHS8mg2rZKwWZ+FbpGunGXmE
Theo Chatzimichos b46876
        V5EOx0TUmcFmCxpdS94+PnFrS78OKpMugJWQNE4hLwZ19+HTzFKRHSoGTUXOZrOk
Theo Chatzimichos b46876
        QwknZM+Uol0R0oUeo/5zEmN4mfQ1Iv0nCwIBAg==
Theo Chatzimichos b46876
        -----END DH PARAMETERS-----
Theo Chatzimichos 8f379a
    servers:
Theo Chatzimichos 8f379a
      managed:
Theo Chatzimichos 8f379a
        gitlab.infra.opensuse.org.conf:
Theo Chatzimichos 8f379a
          ## Modified from http://blog.phusion.nl/2012/04/21/tutorial-setting-up-gitlab-on-debian-6/
Theo Chatzimichos 8f379a
          ## Modified from https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
Theo Chatzimichos 8f379a
          ## Modified from https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
Theo Chatzimichos 8f379a
          config:
Theo Chatzimichos 8f379a
            - upstream gitlab:
Theo Chatzimichos 8f379a
                - server:
Theo Chatzimichos 8f379a
                    - unix:/srv/www/vhosts/gitlab-ce/tmp/sockets/gitlab.socket
Theo Chatzimichos 8f379a
                    - fail_timeout=0
Theo Chatzimichos 8f379a
            - upstream gitlab-workhorse:
Theo Chatzimichos 8f379a
                - server:
Theo Chatzimichos 8f379a
                    - unix:/srv/www/vhosts/gitlab-ce/tmp/sockets/gitlab-workhorse.socket
Theo Chatzimichos 8f379a
                    - fail_timeout=0
Theo Chatzimichos 8f379a
            - map $http_upgrade $connection_upgrade_gitlab_ssl:
Theo Chatzimichos 8f379a
                - default: upgrade
Theo Chatzimichos 8f379a
                - "''": close
Theo Chatzimichos 8f379a
            ## NGINX 'combined' log format with filtered query strings
Theo Chatzimichos 8f379a
            - log_format: gitlab_ssl_access $remote_addr - $remote_user [$time_local] "$request_method $gitlab_ssl_filtered_request_uri $server_protocol" $status $body_bytes_sent "$gitlab_ssl_filtered_http_referer" "$http_user_agent"
Theo Chatzimichos 8f379a
            ## Remove private_token from the request URI
Theo Chatzimichos 8f379a
            # In:  /foo?private_token=unfiltered&authenticity_token=unfiltered&rss_token=unfiltered&...
Theo Chatzimichos 8f379a
            # Out: /foo?private_token=[FILTERED]&authenticity_token=unfiltered&rss_token=unfiltered&...
Theo Chatzimichos 8f379a
            - map $request_uri $gitlab_ssl_temp_request_uri_1:
Theo Chatzimichos 8f379a
                - default: $request_uri
Theo Chatzimichos 8f379a
                - ~(?i)^(?<start>.*)(?<temp>[\?&]private[\-_]token)=[^&]*(?<rest>.*)$: '"$start$temp=[FILTERED]$rest"'
Theo Chatzimichos 8f379a
            ## Remove authenticity_token from the request URI
Theo Chatzimichos 8f379a
            # In:  /foo?private_token=[FILTERED]&authenticity_token=unfiltered&rss_token=unfiltered&...
Theo Chatzimichos 8f379a
            # Out: /foo?private_token=[FILTERED]&authenticity_token=[FILTERED]&rss_token=unfiltered&...
Theo Chatzimichos 8f379a
            - map $gitlab_ssl_temp_request_uri_1 $gitlab_ssl_temp_request_uri_2:
Theo Chatzimichos 8f379a
                - default: $gitlab_ssl_temp_request_uri_1
Theo Chatzimichos 8f379a
                - ~(?i)^(?<start>.*)(?<temp>[\?&]authenticity[\-_]token)=[^&]*(?<rest>.*)$: '"$start$temp=[FILTERED]$rest"'
Theo Chatzimichos 8f379a
            ## Remove rss_token from the request URI
Theo Chatzimichos 8f379a
            # In:  /foo?private_token=[FILTERED]&authenticity_token=[FILTERED]&rss_token=unfiltered&...
Theo Chatzimichos 8f379a
            # Out: /foo?private_token=[FILTERED]&authenticity_token=[FILTERED]&rss_token=[FILTERED]&...
Theo Chatzimichos 8f379a
            - map $gitlab_ssl_temp_request_uri_2 $gitlab_ssl_filtered_request_uri:
Theo Chatzimichos 8f379a
                - default: $gitlab_ssl_temp_request_uri_2
Theo Chatzimichos 8f379a
                - ~(?i)^(?<start>.*)(?<temp>[\?&]rss[\-_]token)=[^&]*(?<rest>.*)$: '"$start$temp=[FILTERED]$rest"'
Theo Chatzimichos 8f379a
            ## A version of the referer without the query string
Theo Chatzimichos 8f379a
            - map $http_referer $gitlab_ssl_filtered_http_referer:
Theo Chatzimichos 8f379a
                - default: $http_referer
Theo Chatzimichos 8f379a
                - ~^(?<temp>.*)\?: $temp
Theo Chatzimichos 8f379a
            ## Redirects all HTTP traffic to the HTTPS host
Theo Chatzimichos 8f379a
            - server:
Theo Chatzimichos 8f379a
                - listen: 0.0.0.0:80
Theo Chatzimichos 8f379a
                - listen:
Theo Chatzimichos 8f379a
                    - "[::]:80"
Theo Chatzimichos 8f379a
                    - ipv6only=on
Theo Chatzimichos 8f379a
                    - default_server
Theo Chatzimichos 8f379a
                - server_name: gitlab.infra.opensuse.org
Theo Chatzimichos 8f379a
                - server_tokens: 'off'
Theo Chatzimichos 8f379a
                - return 301: https://$http_host$request_uri
Theo Chatzimichos 8f379a
                - access_log:
Theo Chatzimichos 8f379a
                    - /var/log/nginx/gitlab_access.log
Theo Chatzimichos 8f379a
                    - gitlab_ssl_access
Theo Chatzimichos 8f379a
                - error_log: /var/log/nginx/gitlab_error.log
Theo Chatzimichos 8f379a
            - server:
Theo Chatzimichos 8f379a
                - listen:
Theo Chatzimichos 8f379a
                    - 0.0.0.0:443
Theo Chatzimichos 8f379a
                    - ssl
Theo Chatzimichos 8f379a
                - listen:
Theo Chatzimichos 8f379a
                    - "[::]:443"
Theo Chatzimichos 8f379a
                    - ipv6only=on
Theo Chatzimichos 8f379a
                    - ssl
Theo Chatzimichos 8f379a
                    - default_server
Theo Chatzimichos 8f379a
                - server_name: gitlab.infra.opensuse.org
Theo Chatzimichos 8f379a
                - server_tokens: 'off'
Theo Chatzimichos 8f379a
                ## Strong SSL Security
Theo Chatzimichos 8f379a
                ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html & https://cipherli.st/
Theo Chatzimichos 8f379a
                - ssl: 'on'
Theo Chatzimichos b46876
                - ssl_certificate: /etc/nginx/ssl/gitlab.infra.opensuse.org.crt
Theo Chatzimichos 95e023
                - ssl_certificate_key: /etc/nginx/ssl/gitlab.infra.opensuse.org.key
Theo Chatzimichos 8f379a
                # GitLab needs backwards compatible ciphers to retain compatibility with Java IDEs
Theo Chatzimichos 8f379a
                - ssl_ciphers: '"ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"'
Theo Chatzimichos 8f379a
                - ssl_protocols:
Theo Chatzimichos 8f379a
                    - TLSv1
Theo Chatzimichos 8f379a
                    - TLSv1.1
Theo Chatzimichos 8f379a
                    - TLSv1.2
Theo Chatzimichos 8f379a
                - ssl_prefer_server_ciphers: 'on'
Theo Chatzimichos 8f379a
                - ssl_session_cache: shared:SSL:10m
Theo Chatzimichos 8f379a
                - ssl_session_timeout: 5m
Theo Chatzimichos b46876
                - ssl_dhparam: /etc/nginx/ssl/gitlab.infra.opensuse.org.dhparams
Theo Chatzimichos 8f379a
                ## [Optional] Enable HTTP Strict Transport Security
Theo Chatzimichos 8f379a
                - add_header: Strict-Transport-Security "max-age=31536000; includeSubDomains"
Theo Chatzimichos 8f379a
                - access_log:
Theo Chatzimichos 8f379a
                    - /var/log/nginx/gitlab_access.log
Theo Chatzimichos 8f379a
                    - gitlab_ssl_access
Theo Chatzimichos 8f379a
                - error_log: /var/log/nginx/gitlab_error.log
Theo Chatzimichos 8f379a
                - location /:
Theo Chatzimichos 8f379a
                    - client_max_body_size: 0
Theo Chatzimichos 8f379a
                    - gzip: 'off'
Theo Chatzimichos 8f379a
                    ## https://github.com/gitlabhq/gitlabhq/issues/694
Theo Chatzimichos 8f379a
                    ## Some requests take more than 30 seconds.
Theo Chatzimichos 8f379a
                    - proxy_read_timeout: 300
Theo Chatzimichos 8f379a
                    - proxy_connect_timeout: 300
Theo Chatzimichos 8f379a
                    - proxy_redirect: 'off'
Theo Chatzimichos 8f379a
                    - proxy_http_version: 1.1
Theo Chatzimichos 8f379a
                    - proxy_set_header: Host $http_host
Theo Chatzimichos 8f379a
                    - proxy_set_header: X-Real-IP $remote_addr
Theo Chatzimichos 8f379a
                    - proxy_set_header: X-Forwarded-Ssl on
Theo Chatzimichos 8f379a
                    - proxy_set_header: X-Forwarded-For $proxy_add_x_forwarded_for
Theo Chatzimichos 8f379a
                    - proxy_set_header: X-Forwarded-Proto $scheme
Theo Chatzimichos 8f379a
                    - proxy_set_header: Upgrade $http_upgrade
Theo Chatzimichos 8f379a
                    - proxy_set_header: Connection $connection_upgrade_gitlab_ssl
Theo Chatzimichos 8f379a
                    - proxy_pass: http://gitlab-workhorse
Theo Chatzimichos 8f379a
                - error_page: 404 /404.html
Theo Chatzimichos 8f379a
                - error_page: 422 /422.html
Theo Chatzimichos 8f379a
                - error_page: 500 /500.html
Theo Chatzimichos 8f379a
                - error_page: 502 /502.html
Theo Chatzimichos 8f379a
                - error_page: 503 /503.html
Theo Chatzimichos 8f379a
                - location ~ ^/(404|422|500|502|503)\.html$:
Theo Chatzimichos 8f379a
                    - root: /srv/www/vhosts/gitlab-ce/public
Theo Chatzimichos 8f379a
                    - internal
Theo Chatzimichos 8f379a
          enabled: True
Christian Boltz d020e3
profile:
Theo Chatzimichos 9d2d8a
  {% set osrelease = salt['grains.get']('osrelease') %}
Theo Chatzimichos 9d2d8a
  {% if osrelease == '42.3' %}
Christian Boltz d020e3
  monitoring:
Christian Boltz d020e3
    check_zypper:
Christian Boltz d020e3
      whitelist:
Christian Boltz d020e3
        - gitaly
Christian Boltz d020e3
        - gitlab-ce
Christian Boltz d020e3
        - gitlab-common
Christian Boltz d020e3
        - gitlab-pages
Christian Boltz d020e3
        - gitlab-shell
Christian Boltz d020e3
        - gitlab-workhorse
Christian Boltz d020e3
        - grpc
Christian Boltz d020e3
        - libgrpc4
Theo Chatzimichos 50cc2a
        - libprotobuf15
Theo Chatzimichos 50cc2a
        - libprotoc15
Christian Boltz d020e3
        - libruby2_4-2_4
Christian Boltz d020e3
        - nodejs8
Christian Boltz d020e3
        - ruby2.4
Christian Boltz d020e3
        - ruby2.4-rubygem-RedCloth
Christian Boltz d020e3
        - ruby2.4-rubygem-ace-rails-ap
Christian Boltz d020e3
        - ruby2.4-rubygem-actionmailer-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-actionpack-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-actionview-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-activejob-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-activemodel-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-activerecord-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-activesupport-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-acts-as-taggable-on
Christian Boltz d020e3
        - ruby2.4-rubygem-addressable
Christian Boltz d020e3
        - ruby2.4-rubygem-akismet
Christian Boltz d020e3
        - ruby2.4-rubygem-allocations
Christian Boltz d020e3
        - ruby2.4-rubygem-arel-6
Christian Boltz d020e3
        - ruby2.4-rubygem-asana
Christian Boltz d020e3
        - ruby2.4-rubygem-asciidoctor
Christian Boltz d020e3
        - ruby2.4-rubygem-asciidoctor-plantuml
Christian Boltz d020e3
        - ruby2.4-rubygem-attr_encrypted
Christian Boltz d020e3
        - ruby2.4-rubygem-attr_required
Christian Boltz d020e3
        - ruby2.4-rubygem-autoprefixer-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-babosa
Christian Boltz d020e3
        - ruby2.4-rubygem-base32
Theo Chatzimichos 50cc2a
        - ruby2.4-rubygem-batch-loader
Christian Boltz d020e3
        - ruby2.4-rubygem-bcrypt_pbkdf
Christian Boltz d020e3
        - ruby2.4-rubygem-bindata
Christian Boltz d020e3
        - ruby2.4-rubygem-bootstrap_form
Christian Boltz d020e3
        - ruby2.4-rubygem-browser
Christian Boltz d020e3
        - ruby2.4-rubygem-builder
Theo Chatzimichos 50cc2a
        - ruby2.4-rubygem-bundler
Christian Boltz d020e3
        - ruby2.4-rubygem-carrierwave
Christian Boltz d020e3
        - ruby2.4-rubygem-cause
Christian Boltz d020e3
        - ruby2.4-rubygem-charlock_holmes
Christian Boltz d020e3
        - ruby2.4-rubygem-chronic
Christian Boltz d020e3
        - ruby2.4-rubygem-chronic_duration
Christian Boltz d020e3
        - ruby2.4-rubygem-chunky_png
Christian Boltz d020e3
        - ruby2.4-rubygem-citrus
Christian Boltz d020e3
        - ruby2.4-rubygem-concurrent-ruby
Christian Boltz d020e3
        - ruby2.4-rubygem-concurrent-ruby-ext
Christian Boltz d020e3
        - ruby2.4-rubygem-connection_pool
Christian Boltz d020e3
        - ruby2.4-rubygem-crack
Christian Boltz d020e3
        - ruby2.4-rubygem-crass
Christian Boltz d020e3
        - ruby2.4-rubygem-creole
Christian Boltz d020e3
        - ruby2.4-rubygem-css_parser
Christian Boltz d020e3
        - ruby2.4-rubygem-d3_rails
Christian Boltz d020e3
        - ruby2.4-rubygem-debugger-ruby_core_source
Christian Boltz d020e3
        - ruby2.4-rubygem-deckar01-task_list
Christian Boltz d020e3
        - ruby2.4-rubygem-declarative
Christian Boltz d020e3
        - ruby2.4-rubygem-declarative-option
Christian Boltz d020e3
        - ruby2.4-rubygem-default_value_for
Christian Boltz d020e3
        - ruby2.4-rubygem-devise
Christian Boltz d020e3
        - ruby2.4-rubygem-devise-two-factor
Christian Boltz d020e3
        - ruby2.4-rubygem-diff-lcs
Christian Boltz d020e3
        - ruby2.4-rubygem-diffy
Christian Boltz d020e3
        - ruby2.4-rubygem-domain_name
Christian Boltz d020e3
        - ruby2.4-rubygem-doorkeeper
Christian Boltz d020e3
        - ruby2.4-rubygem-doorkeeper-openid_connect
Christian Boltz d020e3
        - ruby2.4-rubygem-dropzonejs-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-email_reply_trimmer
Christian Boltz d020e3
        - ruby2.4-rubygem-encryptor
Christian Boltz d020e3
        - ruby2.4-rubygem-escape_utils
Christian Boltz d020e3
        - ruby2.4-rubygem-et-orbi
Christian Boltz d020e3
        - ruby2.4-rubygem-excon
Christian Boltz d020e3
        - ruby2.4-rubygem-execjs
Christian Boltz d020e3
        - ruby2.4-rubygem-expression_parser
Christian Boltz d020e3
        - ruby2.4-rubygem-faraday
Christian Boltz d020e3
        - ruby2.4-rubygem-faraday-0.8
Christian Boltz d020e3
        - ruby2.4-rubygem-faraday_middleware
Christian Boltz d020e3
        - ruby2.4-rubygem-fast_gettext
Christian Boltz d020e3
        - ruby2.4-rubygem-ffi
Christian Boltz d020e3
        - ruby2.4-rubygem-flipper
Christian Boltz d020e3
        - ruby2.4-rubygem-flipper-active_record
Christian Boltz d020e3
        - ruby2.4-rubygem-flowdock
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-aliyun
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-aws
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-core
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-google
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-json
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-local
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-openstack
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-rackspace
Christian Boltz d020e3
        - ruby2.4-rubygem-fog-xml
Christian Boltz d020e3
        - ruby2.4-rubygem-font-awesome-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-formatador
Christian Boltz d020e3
        - ruby2.4-rubygem-gemnasium-gitlab-service
Christian Boltz d020e3
        - ruby2.4-rubygem-gemojione
Christian Boltz d020e3
        - ruby2.4-rubygem-gettext
Christian Boltz d020e3
        - ruby2.4-rubygem-gettext_i18n_rails
Christian Boltz d020e3
        - ruby2.4-rubygem-gettext_i18n_rails_js
Christian Boltz d020e3
        - ruby2.4-rubygem-gitaly-proto
Christian Boltz d020e3
        - ruby2.4-rubygem-github-linguist
Christian Boltz d020e3
        - ruby2.4-rubygem-github-markup
Christian Boltz d020e3
        - ruby2.4-rubygem-gitlab-flowdock-git-hook
Christian Boltz d020e3
        - ruby2.4-rubygem-gitlab-grit
Christian Boltz d020e3
        - ruby2.4-rubygem-gitlab-markup
Christian Boltz d020e3
        - ruby2.4-rubygem-gitlab_omniauth-ldap
Christian Boltz d020e3
        - ruby2.4-rubygem-globalid
Christian Boltz d020e3
        - ruby2.4-rubygem-gollum-grit_adapter
Christian Boltz d020e3
        - ruby2.4-rubygem-gollum-lib
Christian Boltz d020e3
        - ruby2.4-rubygem-gollum-rugged_adapter
Christian Boltz d020e3
        - ruby2.4-rubygem-gon
Christian Boltz d020e3
        - ruby2.4-rubygem-google-api-client
Christian Boltz d020e3
        - ruby2.4-rubygem-google-protobuf
Christian Boltz d020e3
        - ruby2.4-rubygem-googleapis-common-protos-types
Christian Boltz d020e3
        - ruby2.4-rubygem-googleauth
Christian Boltz d020e3
        - ruby2.4-rubygem-gpgme
Christian Boltz d020e3
        - ruby2.4-rubygem-grape
Christian Boltz d020e3
        - ruby2.4-rubygem-grape-entity
Christian Boltz d020e3
        - ruby2.4-rubygem-grape-route-helpers
Christian Boltz d020e3
        - ruby2.4-rubygem-grape_logging
Christian Boltz d020e3
        - ruby2.4-rubygem-grpc
Christian Boltz d020e3
        - ruby2.4-rubygem-hamlit
Christian Boltz d020e3
        - ruby2.4-rubygem-hashie
Christian Boltz d020e3
        - ruby2.4-rubygem-hashie-forbidden_attributes
Christian Boltz d020e3
        - ruby2.4-rubygem-health_check
Christian Boltz d020e3
        - ruby2.4-rubygem-hipchat
Christian Boltz d020e3
        - ruby2.4-rubygem-html-pipeline
Christian Boltz d020e3
        - ruby2.4-rubygem-html2text
Christian Boltz d020e3
        - ruby2.4-rubygem-htmlentities
Christian Boltz d020e3
        - ruby2.4-rubygem-http-0.9
Christian Boltz d020e3
        - ruby2.4-rubygem-http-cookie
Christian Boltz d020e3
        - ruby2.4-rubygem-http-form_data
Christian Boltz d020e3
        - ruby2.4-rubygem-httparty
Christian Boltz d020e3
        - ruby2.4-rubygem-httpclient
Christian Boltz d020e3
        - ruby2.4-rubygem-i18n
Christian Boltz d020e3
        - ruby2.4-rubygem-ice_nine
Christian Boltz d020e3
        - ruby2.4-rubygem-influxdb
Christian Boltz d020e3
        - ruby2.4-rubygem-ipaddress
Christian Boltz d020e3
        - ruby2.4-rubygem-jira-ruby
Christian Boltz d020e3
        - ruby2.4-rubygem-jquery-atwho-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-jquery-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-json-1
Christian Boltz d020e3
        - ruby2.4-rubygem-json-jwt
Christian Boltz d020e3
        - ruby2.4-rubygem-jwt
Christian Boltz d020e3
        - ruby2.4-rubygem-kaminari
Christian Boltz d020e3
        - ruby2.4-rubygem-kaminari-actionview
Christian Boltz d020e3
        - ruby2.4-rubygem-kaminari-activerecord
Christian Boltz d020e3
        - ruby2.4-rubygem-kaminari-core
Christian Boltz d020e3
        - ruby2.4-rubygem-kgio
Christian Boltz d020e3
        - ruby2.4-rubygem-kubeclient
Christian Boltz d020e3
        - ruby2.4-rubygem-licensee
Christian Boltz d020e3
        - ruby2.4-rubygem-little-plugger
Christian Boltz d020e3
        - ruby2.4-rubygem-logging
Christian Boltz d020e3
        - ruby2.4-rubygem-lograge
Christian Boltz d020e3
        - ruby2.4-rubygem-loofah
Christian Boltz d020e3
        - ruby2.4-rubygem-mail
Christian Boltz d020e3
        - ruby2.4-rubygem-mail_room
Christian Boltz d020e3
        - ruby2.4-rubygem-memoist
Christian Boltz d020e3
        - ruby2.4-rubygem-method_source
Christian Boltz d020e3
        - ruby2.4-rubygem-mime-types
Theo Chatzimichos 50cc2a
        - ruby2.4-rubygem-mini_mime
Christian Boltz d020e3
        - ruby2.4-rubygem-mini_portile2
Christian Boltz d020e3
        - ruby2.4-rubygem-mousetrap-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-multi_json
Christian Boltz d020e3
        - ruby2.4-rubygem-multi_xml
Christian Boltz d020e3
        - ruby2.4-rubygem-multipart-post-1.2
Christian Boltz d020e3
        - ruby2.4-rubygem-mustermann
Christian Boltz d020e3
        - ruby2.4-rubygem-mustermann-grape
Christian Boltz d020e3
        - ruby2.4-rubygem-net-ldap
Christian Boltz d020e3
        - ruby2.4-rubygem-net-ssh
Christian Boltz d020e3
        - ruby2.4-rubygem-netrc
Christian Boltz d020e3
        - ruby2.4-rubygem-nokogiri
Christian Boltz d020e3
        - ruby2.4-rubygem-numerizer
Christian Boltz d020e3
        - ruby2.4-rubygem-oauth
Christian Boltz d020e3
        - ruby2.4-rubygem-oauth2
Christian Boltz d020e3
        - ruby2.4-rubygem-octokit
Christian Boltz d020e3
        - ruby2.4-rubygem-oj
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-auth0
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-authentiq
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-azure-oauth2
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-cas3
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-facebook
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-github
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-gitlab
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-google-oauth2
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-kerberos
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-multipassword
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-oauth
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-oauth2
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-oauth2-generic
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-saml
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-shibboleth
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth-twitter
Christian Boltz d020e3
        - ruby2.4-rubygem-omniauth_crowd
Christian Boltz d020e3
        - ruby2.4-rubygem-org-ruby
Christian Boltz d020e3
        - ruby2.4-rubygem-orm_adapter
Christian Boltz d020e3
        - ruby2.4-rubygem-os
Christian Boltz d020e3
        - ruby2.4-rubygem-paranoia
Christian Boltz d020e3
        - ruby2.4-rubygem-peek
Christian Boltz d020e3
        - ruby2.4-rubygem-peek-gc
Christian Boltz d020e3
        - ruby2.4-rubygem-peek-host
Christian Boltz d020e3
        - ruby2.4-rubygem-peek-performance_bar
Christian Boltz d020e3
        - ruby2.4-rubygem-peek-pg
Christian Boltz d020e3
        - ruby2.4-rubygem-peek-rblineprof
Christian Boltz d020e3
        - ruby2.4-rubygem-peek-redis
Christian Boltz d020e3
        - ruby2.4-rubygem-peek-sidekiq
Christian Boltz d020e3
        - ruby2.4-rubygem-pg
Christian Boltz d020e3
        - ruby2.4-rubygem-po_to_json
Christian Boltz d020e3
        - ruby2.4-rubygem-posix-spawn
Christian Boltz d020e3
        - ruby2.4-rubygem-premailer
Christian Boltz d020e3
        - ruby2.4-rubygem-premailer-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-prometheus-client-mmap
Christian Boltz d020e3
        - ruby2.4-rubygem-public_suffix
Christian Boltz d020e3
        - ruby2.4-rubygem-puma
Theo Chatzimichos 50cc2a
        - ruby2.4-rubygem-puma_worker_killer
Christian Boltz d020e3
        - ruby2.4-rubygem-pyu-ruby-sasl
Christian Boltz d020e3
        - ruby2.4-rubygem-rack-1_6
Christian Boltz d020e3
        - ruby2.4-rubygem-rack-accept
Christian Boltz d020e3
        - ruby2.4-rubygem-rack-attack
Christian Boltz d020e3
        - ruby2.4-rubygem-rack-cors
Christian Boltz d020e3
        - ruby2.4-rubygem-rack-oauth2
Christian Boltz d020e3
        - ruby2.4-rubygem-rack-protection
Christian Boltz d020e3
        - ruby2.4-rubygem-rack-proxy
Christian Boltz d020e3
        - ruby2.4-rubygem-rails-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-rails-dom-testing-1
Christian Boltz d020e3
        - ruby2.4-rubygem-rails-html-sanitizer
Christian Boltz d020e3
        - ruby2.4-rubygem-rails-i18n-4
Christian Boltz d020e3
        - ruby2.4-rubygem-railties-4_2
Christian Boltz d020e3
        - ruby2.4-rubygem-rainbow
Christian Boltz d020e3
        - ruby2.4-rubygem-raindrops
Christian Boltz d020e3
        - ruby2.4-rubygem-rake
Christian Boltz d020e3
        - ruby2.4-rubygem-rb-fsevent
Christian Boltz d020e3
        - ruby2.4-rubygem-rb-inotify
Christian Boltz d020e3
        - ruby2.4-rubygem-rblineprof
Christian Boltz d020e3
        - ruby2.4-rubygem-rbnacl
Christian Boltz d020e3
        - ruby2.4-rubygem-re2
Christian Boltz d020e3
        - ruby2.4-rubygem-recaptcha
Christian Boltz d020e3
        - ruby2.4-rubygem-recursive-open-struct
Christian Boltz d020e3
        - ruby2.4-rubygem-redcarpet
Christian Boltz d020e3
        - ruby2.4-rubygem-redis-3
Christian Boltz d020e3
        - ruby2.4-rubygem-redis-actionpack
Christian Boltz d020e3
        - ruby2.4-rubygem-redis-activesupport
Christian Boltz d020e3
        - ruby2.4-rubygem-redis-namespace
Christian Boltz d020e3
        - ruby2.4-rubygem-redis-rack
Christian Boltz d020e3
        - ruby2.4-rubygem-redis-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-redis-store
Christian Boltz d020e3
        - ruby2.4-rubygem-representable
Christian Boltz d020e3
        - ruby2.4-rubygem-request_store
Christian Boltz d020e3
        - ruby2.4-rubygem-responders
Christian Boltz d020e3
        - ruby2.4-rubygem-rest-client
Christian Boltz d020e3
        - ruby2.4-rubygem-retriable
Christian Boltz d020e3
        - ruby2.4-rubygem-rinku
Christian Boltz d020e3
        - ruby2.4-rubygem-rotp
Christian Boltz d020e3
        - ruby2.4-rubygem-rouge
Christian Boltz d020e3
        - ruby2.4-rubygem-rqrcode
Christian Boltz d020e3
        - ruby2.4-rubygem-rqrcode-rails3
Christian Boltz d020e3
        - ruby2.4-rubygem-ruby-fogbugz
Christian Boltz d020e3
        - ruby2.4-rubygem-ruby-prof
Christian Boltz d020e3
        - ruby2.4-rubygem-ruby-saml
Christian Boltz d020e3
        - ruby2.4-rubygem-ruby_parser
Christian Boltz d020e3
        - ruby2.4-rubygem-rubyntlm
Christian Boltz d020e3
        - ruby2.4-rubygem-rubypants
Christian Boltz d020e3
        - ruby2.4-rubygem-rufus-scheduler
Christian Boltz d020e3
        - ruby2.4-rubygem-rugged
Christian Boltz d020e3
        - ruby2.4-rubygem-sanitize-2.1
Christian Boltz d020e3
        - ruby2.4-rubygem-sass
Christian Boltz d020e3
        - ruby2.4-rubygem-sass-listen
Christian Boltz d020e3
        - ruby2.4-rubygem-sass-rails-5_0
Christian Boltz d020e3
        - ruby2.4-rubygem-sawyer
Christian Boltz d020e3
        - ruby2.4-rubygem-securecompare
Christian Boltz d020e3
        - ruby2.4-rubygem-seed-fu
Christian Boltz d020e3
        - ruby2.4-rubygem-select2-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-sentry-raven
Christian Boltz d020e3
        - ruby2.4-rubygem-settingslogic
Christian Boltz d020e3
        - ruby2.4-rubygem-sexp_processor
Christian Boltz d020e3
        - ruby2.4-rubygem-sidekiq
Christian Boltz d020e3
        - ruby2.4-rubygem-sidekiq-cron
Christian Boltz d020e3
        - ruby2.4-rubygem-sidekiq-limit_fetch
Christian Boltz d020e3
        - ruby2.4-rubygem-signet
Christian Boltz d020e3
        - ruby2.4-rubygem-slack-notifier
Christian Boltz d020e3
        - ruby2.4-rubygem-sprockets
Christian Boltz d020e3
        - ruby2.4-rubygem-sprockets-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-state_machines
Christian Boltz d020e3
        - ruby2.4-rubygem-state_machines-activemodel
Christian Boltz d020e3
        - ruby2.4-rubygem-state_machines-activerecord
Christian Boltz d020e3
        - ruby2.4-rubygem-stringex
Christian Boltz d020e3
        - ruby2.4-rubygem-sys-filesystem
Christian Boltz d020e3
        - ruby2.4-rubygem-temple
Christian Boltz d020e3
        - ruby2.4-rubygem-thor
Christian Boltz d020e3
        - ruby2.4-rubygem-thread_safe
Christian Boltz d020e3
        - ruby2.4-rubygem-tilt
Christian Boltz d020e3
        - ruby2.4-rubygem-timfel-krb5-auth
Christian Boltz d020e3
        - ruby2.4-rubygem-toml-rb
Christian Boltz d020e3
        - ruby2.4-rubygem-truncato
Christian Boltz d020e3
        - ruby2.4-rubygem-tzinfo
Christian Boltz d020e3
        - ruby2.4-rubygem-u2f
Christian Boltz d020e3
        - ruby2.4-rubygem-uber
Christian Boltz d020e3
        - ruby2.4-rubygem-uglifier
Christian Boltz d020e3
        - ruby2.4-rubygem-unf
Christian Boltz d020e3
        - ruby2.4-rubygem-unf_ext
Christian Boltz d020e3
        - ruby2.4-rubygem-unicorn
Christian Boltz d020e3
        - ruby2.4-rubygem-unicorn-worker-killer
Christian Boltz d020e3
        - ruby2.4-rubygem-url_safe_base64
Christian Boltz d020e3
        - ruby2.4-rubygem-validates_hostname
Christian Boltz d020e3
        - ruby2.4-rubygem-version_sorter
Christian Boltz d020e3
        - ruby2.4-rubygem-vmstat
Christian Boltz d020e3
        - ruby2.4-rubygem-warden
Christian Boltz d020e3
        - ruby2.4-rubygem-webpack-rails
Christian Boltz d020e3
        - ruby2.4-rubygem-wikicloth
Christian Boltz d020e3
        - ruby2.4-stdlib
Theo Chatzimichos 9d2d8a
  {% endif %}
Theo Chatzimichos 9d2d8a
  web:
Theo Chatzimichos 9d2d8a
    server:
Theo Chatzimichos 9d2d8a
      nginx:
Theo Chatzimichos 9d2d8a
        csr:
Theo Chatzimichos 9d2d8a
          gitlab.infra.opensuse.org: |
Theo Chatzimichos 9d2d8a
            -----BEGIN CERTIFICATE REQUEST-----
Theo Chatzimichos 9d2d8a
            MIIDGzCCAgMCAQAwgZ4xCzAJBgNVBAYTAkRFMRAwDgYDVQQIDAdCYXZhcmlhMRIw
Theo Chatzimichos 9d2d8a
            EAYDVQQHDAlOdXJlbWJlcmcxETAPBgNVBAoMCG9wZW5TVVNFMQ8wDQYDVQQLDAZI
Theo Chatzimichos 9d2d8a
            ZXJvZXMxIjAgBgNVBAMMGWdpdGxhYi5pbmZyYS5vcGVuc3VzZS5vcmcxITAfBgkq
Theo Chatzimichos 9d2d8a
            hkiG9w0BCQEWEmFkbWluQG9wZW5zdXNlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQAD
Theo Chatzimichos 9d2d8a
            ggEPADCCAQoCggEBALWfuMhdJOdrwvu2hCw0+bRNl8AADSvdBBokQlwpUvbgITNW
Theo Chatzimichos 9d2d8a
            R3tkj/KgIEO0ohBC7j+a2L3t3qm5tP8ETdETcS96lj1nZ6fTWV1J9qezfpTBRDE3
Theo Chatzimichos 9d2d8a
            VIK3vykoBqzRMBVq6R4Kajg7SvB9pWRpHBC4xm3vPA4AnSN9skPtMMGpqZxFMbpG
Theo Chatzimichos 9d2d8a
            sirObzr5Rit4tM53gZy7zgS2n22TqMeEsEYvd/fHxW2bNLvS5BwX+RU1NhRlNFDP
Theo Chatzimichos 9d2d8a
            I7BQgCOGzgWrKZeukGfzcOhIXMKtnLPQc/65VcGQDRm01ReSBqNbyADuAfbYrFOP
Theo Chatzimichos 9d2d8a
            yf8V2FlloUG/voM4c5y6WamHv2ZJepel5qxIickCAwEAAaA3MDUGCSqGSIb3DQEJ
Theo Chatzimichos 9d2d8a
            DjEoMCYwJAYDVR0RBB0wG4IZZ2l0bGFiLmluZnJhLm9wZW5zdXNlLm9yZzANBgkq
Theo Chatzimichos 9d2d8a
            hkiG9w0BAQsFAAOCAQEAGJ+RU/bwMTZ+/rkCibJD3Ylp+UUBm0qvFTFkEtkptrM2
Theo Chatzimichos 9d2d8a
            5/im/ogEPgYZnJNBlU+lTba7XL3uyG+eX3A3n8aX9wJE7DMYB7x1qZGkUppd0zIG
Theo Chatzimichos 9d2d8a
            myRBZlZUBxtGtOLGW5+AcpjHdqk5aeLjaWz3PaX3WD7QnAYx7XWPJMdcFVzzwPoO
Theo Chatzimichos 9d2d8a
            M+mSd9H9RUx9HOYy2Wolxg+Mx05mvBrTHoTYsgSBhrmSNLVbA7ZgvAx+cc4vh9Q0
Theo Chatzimichos 9d2d8a
            6NaN7mDmnbT1CVSlQ43o0pRpUIwa9NGD7DQ/Ccrw0FevD/7szXa9KZvXhHdqS7BP
Theo Chatzimichos 9d2d8a
            PJKOVLf4VbNDRGmkks0fst/NNdNuXRlS4lZMePi6pQ==
Theo Chatzimichos 9d2d8a
            -----END CERTIFICATE REQUEST-----