# This file is managed by gitlab-ctl. Manual changes will be
# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`.

production: &base
  #
  # 1. GitLab app settings
  # ==========================

  ## GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: gitlab.admin.com
    port: 80
    https: false


    # The maximum time puma can spend on the request. This needs to be smaller than the worker timeout.
    # Default is 95% of the worker timeout
    max_request_duration_seconds: 57

    # Uncommment this line below if your ssh host is different from HTTP/HTTPS one
    # (you'd obviously need to replace ssh.host_example.com with your own host).
    # Otherwise, ssh host will be set to the `host:` value above
    ssh_host: 

    # If your ssh user differs from the system user, you need to specify it here
    # Set it to an empty string to omit the username from any ssh url altogether
    ssh_user: 

    # WARNING: See config/application.rb under "Relative url support" for the list of
    # other files that need to be changed for relative url support
    relative_url_root: 

    # Trusted Proxies
    # Customize if you have GitLab behind a reverse proxy which is running on a different machine.
    # Add the IP address for your reverse proxy to the list, otherwise users will appear signed in from that address.
    trusted_proxies:



    # Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
    user: git

    ## Date & Time settings
    time_zone: 

    ## Email settings
    # Uncomment and set to false if you need to disable email sending from GitLab (default: true)
    email_enabled: 
    # Email address used in the "From" field in mails sent by GitLab
    email_from: gitlab@gitlab.admin.com
    email_display_name: 
    email_reply_to: 
    email_subject_suffix: 
    # Email SMIME signing settings
    email_smime:
      enabled: false
      key_file: /etc/gitlab/ssl/gitlab_smime.key
      cert_file: /etc/gitlab/ssl/gitlab_smime.crt
      ca_certs_file: 

    # Email server smtp settings are in [a separate file](initializers/smtp_settings.rb.sample).

    ## User settings
    default_can_create_group:   # default: true
    username_changing_enabled:  # default: true - User can change her username/namespace
    ## Default theme
    ##   1 - Graphite
    ##   2 - Charcoal
    ##   3 - Green
    ##   4 - Gray
    ##   5 - Violet
    ##   6 - Blue
    default_theme:  # default: 2

    ## Automatic issue closing
    # If a commit message matches this regular expression, all issues referenced from the matched text will be closed.
    # This happens when the commit is pushed or merged into the default branch of a project.
    # When not specified the default issue_closing_pattern as specified below will be used.
    # Tip: you can test your closing pattern at http://rubular.com
    issue_closing_pattern: 

    ## Default project features settings
    default_projects_features:
      issues: 
      merge_requests: 
      wiki: 
      snippets: 
      builds: 
      container_registry: 

    ## Webhook settings
    # Number of seconds to wait for HTTP response after sending webhook HTTP POST request (default: 10)
    webhook_timeout: 

    ### GraphQL Settings
    # Tells the rails application how long it has to complete a GraphQL request.
    # We suggest this value to be higher than the database timeout value
    # and lower than the worker timeout set in puma. (default: 30)
    graphql_timeout: 

    ## Repository downloads directory
    # When a user clicks e.g. 'Download zip' on a project, a temporary zip file is created in the following directory.
    # The default is 'tmp/repositories' relative to the root of the Rails app.
    repository_downloads_path: 

    ## Impersonation settings
    impersonation_enabled: 

    ## Disable jQuery and CSS animations
    disable_animations: false

    ## Application settings cache expiry in seconds. (default: 60)
    application_settings_cache_seconds: 

    usage_ping_enabled: 

    ## Print initial root password to stdout during initialization
    display_initial_root_password: false

  # Allows delivery of emails using Microsoft Graph API with OAuth 2.0 client credentials flow.
  microsoft_graph_mailer:
    enabled: false
    # The unique identifier for the user. To use Microsoft Graph on behalf of the user.
    user_id: 
    # The directory tenant the application plans to operate against, in GUID or domain-name format.
    tenant: 
    # The application ID that's assigned to your app. You can find this information in the portal where you registered your app.
    client_id: 
    # The client secret that you generated for your app in the app registration portal.
    client_secret: 
    # Defaults to "https://login.microsoftonline.com".
    azure_ad_endpoint: 
    # Defaults to "https://graph.microsoft.com".
    graph_endpoint: 

  ## Reply by email
  # Allow users to comment on issues and merge requests by replying to notification emails.
  # For documentation on how to set this up, see https://docs.gitlab.com/ee/administration/reply_by_email.html
  incoming_email:
    enabled: false

    # The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
    # The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
    address: 

    # Email account username
    # With third party providers, this is usually the full email address.
    # With self-hosted email servers, this is usually the user part of the email address.
    user: 
    # Email account password
    password: 

    # IMAP server host
    host: 
    # IMAP server port
    port: 
    # Whether the IMAP server uses SSL
    ssl: 
    # Whether the IMAP server uses StartTLS
    start_tls: 

    # Inbox configuration (for Microsoft Graph)
    inbox_method: imap

    # The mailbox where incoming mail will end up. Usually "inbox".
    mailbox: "inbox"
    # The IDLE command timeout.
    idle_timeout: 
    # file path of internal `mail_room` JSON logs
    log_path: /var/log/gitlab/mailroom/mail_room_json.log

    # If you are using Microsoft Graph instead of IMAP, set this to false to retain
    # messages in the inbox since deleted messages are auto-expunged after some time.
    delete_after_delivery: true

    # Whether to expunge (permanently remove) messages from the mailbox when they are marked as deleted after delivery
    # Only applies to IMAP. Microsoft Graph will auto-expunge any deleted messages.
    expunge_deleted: 

    # How mailroom delivers email content to Rails. There are two methods at the moment:
    # - sidekiq: mailroom pushes the email content to Sidekiq's Sidekiq
    # directly. This job is then picked up by Sidekiq.
    # - webhook: mailroom triggers a HTTP POST request to Rails web server. The
    # content is embedded into the request body.
    # Default is webhook.
    delivery_method: webhook

    # When the delivery method is webhook, those configs tell the url that
    # mailroom can contact to. Note that the combined url must not end with "/".
    # At the moment, the webhook delivery method doesn't support HTTP/HTTPs via
    # UNIX socket.
    gitlab_url: http://gitlab.admin.com

    # When the delivery method is webhook, this config is the file that
    # contains the shared secret key for verifying access for mailroom's
    # incoming_email.
    secret_file: .gitlab_incoming_email_secret


  ## Service desk email
  # Allow users to use a separate service desk address
  # For documentation on how to set this up, see https://docs.gitlab.com/ee/user/project/service_desk.html
  service_desk_email:
    enabled: false

    # The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
    # The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
    address: 

    # Email account username
    # With third party providers, this is usually the full email address.
    # With self-hosted email servers, this is usually the user part of the email address.
    user: 
    # Email account password
    password: 

    # IMAP server host
    host: 
    # IMAP server port
    port: 
    # Whether the IMAP server uses SSL
    ssl: 
    # Whether the IMAP server uses StartTLS
    start_tls: 

    # Inbox configuration (for Microsoft Graph)
    inbox_method: imap

    # The mailbox where incoming mail will end up. Usually "inbox".
    mailbox: "inbox"
    # The IDLE command timeout.
    idle_timeout: 
    # file path of internal `mail_room` JSON logs
    log_path: /var/log/gitlab/mailroom/mail_room_json.log

    # How mailroom delivers email content to Rails. There are two methods at the moment:
    # - sidekiq: mailroom pushes the email content to Sidekiq's Sidekiq
    # directly. This job is then picked up by Sidekiq.
    # - webhook: mailroom triggers a HTTP POST request to Rails web server. The
    # content is embedded into the request body.
    # Default is webhook.
    delivery_method: webhook

    # When the delivery method is webhook, those configs tell the url that
    # mailroom can contact to. Note that the combined url must not end with "/".
    # At the moment, the webhook delivery method doesn't support HTTP/HTTPs via
    # UNIX socket.
    gitlab_url: http://gitlab.admin.com

    # When the delivery method is webhook, this config is the file that
    # contains the shared secret key for verifying access for mailroom's
    # service_desk_email.
    secret_file: .gitlab_service_desk_email_secret

  ## Build Artifacts
  artifacts:
    enabled: true
    # The location where Build Artifacts are stored (default: shared/artifacts).
    path: /var/opt/gitlab/gitlab-rails/shared/artifacts
    object_store:
      enabled: false
      proxy_download: false
      remote_directory: "artifacts"
      connection: {}

  ## External merge request diffs
  external_diffs:
    enabled: 
    # The location where merge request diffs are stored (default: shared/external-diffs).
    storage_path: /var/opt/gitlab/gitlab-rails/shared/external-diffs
    object_store:
      enabled: false
      proxy_download: false
      remote_directory: "external-diffs"
      connection: {}

  ## Git LFS
  lfs:
    enabled: 
    # The location where LFS objects are stored (default: shared/lfs-objects).
    storage_path: /var/opt/gitlab/gitlab-rails/shared/lfs-objects
    object_store:
      enabled: false
      proxy_download: false
      remote_directory: "lfs-objects"
      connection: {}

  ## Uploads
  uploads:
    # The location where uploads objects are stored (default: public/).
    storage_path: /opt/gitlab/embedded/service/gitlab-rails/public
    object_store:
      enabled: false
      proxy_download: false
      remote_directory: "uploads"
      connection: {}

  ## Packages
  packages:
    enabled: 
    # The location where build packages are stored (default: shared/packages).
    storage_path: /var/opt/gitlab/gitlab-rails/shared/packages
    object_store:
      enabled: false
      proxy_download: false
      remote_directory: "packages"
      connection: {}

  ## Dependency proxy (EE only)
  dependency_proxy:
    enabled: 
    # The location where dependency_proxy blobs are stored (default: shared/dependency_proxy).
    storage_path: /var/opt/gitlab/gitlab-rails/shared/dependency_proxy
    object_store:
      enabled: false
      proxy_download: false
      remote_directory: "dependency_proxy"
      connection: {}

  ## Terraform state
  terraform_state:
    enabled: 
    # The location where terraform state files are stored (default: shared/terraform_state).
    storage_path: /var/opt/gitlab/gitlab-rails/shared/terraform_state
    object_store:
      enabled: false
      remote_directory: "terraform"
      connection: {}

  ## CI Secure Files
  ci_secure_files:
    enabled: 
    # The location where ci secure files are stored (default: shared/ci_secure_files).
    storage_path: /var/opt/gitlab/gitlab-rails/shared/ci_secure_files
    object_store:
      enabled: false
      remote_directory: "ci-secure-files"
      connection: {}

  ## Container Registry
  registry:
    enabled: false
    host: 
    port: 
    api_url:  # internal address to the registry, will be used by GitLab to directly communicate with API
    path: 
    key: /var/opt/gitlab/gitlab-rails/etc/gitlab-registry.key
    issuer: omnibus-gitlab-issuer
    notification_secret: 

  ## Kubernetes Agent Server
  gitlab_kas:
    enabled: true
    internal_url: grpc://localhost:8153
    external_url: ws://gitlab.admin.com/-/kubernetes-agent/
    external_k8s_proxy_url: http://gitlab.admin.com/-/kubernetes-agent/k8s-proxy/

  ## Error Reporting and Logging with Sentry
  sentry:
    enabled: false
    dsn: 
    clientside_dsn: 
    environment:  # e.g. development, staging, production

  mattermost:
    enabled: false
    host: 

  ## GitLab Pages
  pages:
    enabled: false
    access_control: false
    path: /var/opt/gitlab/gitlab-rails/shared/pages
    host: 
    port: 
    https: false
    external_http: false
    external_https: false
    artifacts_server: true
    object_store:
      enabled: false
      remote_directory: "pages"
      connection: {}
    local_store:
      enabled: true
      path: /var/opt/gitlab/gitlab-rails/shared/pages

  ## Gravatar
  ## For Libravatar see: https://docs.gitlab.com/ee/customization/libravatar.html
  gravatar:
    # gravatar urls: possible placeholders: %{hash} %{size} %{email}
    plain_url:      # default: http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
    ssl_url:       # default: https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon

  ## Sidekiq
  sidekiq:
    log_format: json

  ## Auxiliary jobs
  # Periodically executed jobs, to self-heal GitLab, do external synchronizations, etc.
  # Please read here for more information: https://github.com/ondrejbartas/sidekiq-cron#adding-cron-job
  cron_jobs:
    # Flag stuck CI builds as failed

    # Remove expired build artifacts

    # Stop expired environments

    # Schedule pipelines in the near future

    # Periodically run 'git fsck' on all repositories. If started more than
    # once per hour you will have concurrent 'git fsck' jobs.

    # Send admin emails once a week

    # Send emails about personal tokens about to expired

    # Send emails about personal tokens that have expired

    # Remove outdated repository archives

    # Archive live traces which have not been archived yet

    # Verify custom GitLab Pages domains

    # Obtain and renew SSL certificates for pages domain through Let's Encrypt

    # Removes unverified pages domains

    # Remove unaccepted member invitations

    # Periodically migrate diffs from the database to external storage

    # Update CI Platform Metrics daily

    # Send emails about ssh keys that have expired

    # Send emails about ssh keys that are expiring soon

    # Orphaned record cleanup with the loose foreign key feature

    # Periodically update ci_runner_versions table with up-to-date versions and status

    # Periodically clean up stale ci_runner_machines records

    ##
    # GitLab EE only jobs:

    # Snapshot Devops Adoption statistics

    # Snapshot active users statistics

    # In addition to refreshing users when they log in,
    # periodically refresh LDAP users membership.
    # NOTE: This will only take effect if LDAP is enabled

    # GitLab LDAP group sync worker
    # NOTE: This will only take effect if LDAP is enabled

    # GitLab Geo prune event log worker
    # NOTE: This will only take effect if Geo is enabled (primary node only)

    # GitLab Geo repository sync worker
    # NOTE: This will only take effect if Geo is enabled

    # GitLab Geo registry backfill worker
    # NOTE: This will only take effect if Geo is enabled (secondary nodes only)

    # GitLab Geo Secondary Usage Data worker
    # NOTE: This will only take effect if Geo and Usage Data are enabled (secondary nodes only)

    # GitLab Geo repository verification primary batch worker
    # NOTE: This will only take effect if Geo is enabled

    # GitLab Geo repository verification secondary scheduler worker
    # NOTE: This will only take effect if Geo is enabled

    # GitLab Geo migrated local files clean up worker
    # NOTE: This will only take effect if Geo is enabled (secondary nodes only)


    # Worker for triggering counter jobs for usage trends

    # Worker for triggering member invitation reminder emails

    # Worker for the scheduled user status cleanup

    # Worker for triggering in-product marketing emails

    # Worker for pruning stale group runners on opted-in namespaces

  ## Geo
  # NOTE: These settings will only take effect if Geo is enabled
  geo:
    # This is an optional identifier which Geo nodes can use to identify themselves.
    # For example, if external_url is the same for two secondaries, you must specify
    # a unique Geo node name for those secondaries.
    #
    # If it is blank, it defaults to external_url.
    node_name: 

    registry_replication:
      enabled: 
      primary_api_url:  # internal address to the primary registry, will be used by GitLab to directly communicate with primary registry API

  ## Feature Flag https://docs.gitlab.com/ee/user/project/operations/feature_flags.html
  feature_flags:
    unleash:
      enabled: false

  #
  # 2. GitLab CI settings
  # ==========================

  gitlab_ci:
    # Default project notifications settings:
    #
    # Send emails only on broken builds (default: true)
    all_broken_builds: 
    #
    # Add pusher to recipients list (default: false)
    add_pusher: 

    # The location where build traces are stored (default: builds/). Relative paths are relative to Rails.root
    builds_path: /var/opt/gitlab/gitlab-ci/builds

  #
  # 3. Auth settings
  # ==========================

  ## LDAP settings
  # You can inspect a sample of the LDAP users with login access by running:
  #   bundle exec rake gitlab:ldap:check RAILS_ENV=production
  ldap:
    enabled: false
    sync_time: 
    prevent_ldap_sign_in: false
    host: 
    port: 
    uid: 
    method:  # "tls" or "ssl" or "plain"
    bind_dn: 
    password: 
    active_directory: 
    allow_username_or_email_login: 
    lowercase_usernames: 
    base: 
    user_filter: 

    ## EE only
    group_base: 
    admin_group: 
    sync_ssh_keys: 
    sync_time: 

  ## Smartcard authentication settings
  smartcard:
    # Allow smartcard authentication
    enabled: false

    # Path to a file containing a CA certificate
    ca_file: "/etc/gitlab/ssl/CA.pem"

    # Host and port where the client side certificate is requested by the
    # webserver (NGINX/Apache)
    client_certificate_required_host: 
    client_certificate_required_port: 3444

    # Browser session with smartcard sign-in is required for Git access
    required_for_git_access: false

    # SAN extensions to match users with certificates
    san_extensions: false

  ## Kerberos settings
  kerberos:
    # Allow the HTTP Negotiate authentication method for Git clients
    enabled: 

    # Kerberos 5 keytab file. The keytab file must be readable by the GitLab user,
    # and should be different from other keytabs in the system.
    # (default: use default keytab from Krb5 config)
    keytab: 

    # The Kerberos service name to be used by GitLab.
    # (default: accept any service name in keytab file)
    service_principal_name: 

    # Kerberos realms/domains that are allowed to automatically link LDAP identities.
    # By default, GitLab accepts a realm that matches the domain derived from the
    # LDAP `base` DN. For example, `ou=users,dc=example,dc=com` would allow users
    # with a realm matching `example.com`.
    simple_ldap_linking_allowed_realms: null

    # Dedicated port: Git before 2.4 does not fall back to Basic authentication if Negotiate fails.
    # To support both Basic and Negotiate methods with older versions of Git, configure
    # nginx to proxy GitLab on an extra port (e.g. 8443) and uncomment the following lines
    # to dedicate this port to Kerberos authentication. (default: false)
    use_dedicated_port: 
    port: 
    https: 


  ## OmniAuth settings
  omniauth:
    # Allow login via Twitter, Google, etc. using OmniAuth providers
    enabled: 

    # Uncomment this to automatically sign in with a specific omniauth provider's without
    # showing GitLab's sign-in page (default: show the GitLab sign-in page)
    auto_sign_in_with_provider: 

    # Sync user's email address from the specified Omniauth provider every time the user logs
    # in (default: nil). And consequently make this field read-only.

    # Sync user's profile from the specified Omniauth providers every time the user logs in (default: empty).
    # Define the allowed providers using an array, e.g. ["cas3", "saml", "twitter"],
    # or as true/false to allow all providers or none.
    # sync_profile_from_provider: []

    # Select which info to sync from the providers above. (default: email).
    # Define the synced profile info using an array. Available options are "name", "email" and "location"
    # e.g. ["name", "email", "location"] or as true to sync all available.
    # This consequently will make the selected attributes read-only.
    # sync_profile_attributes: true

    # CAUTION!
    # This allows users to login without having a user account first. Define the allowed
    # providers using an array, e.g. ["saml", "twitter"]
    # User accounts will be created automatically when authentication was successful.
    allow_single_sign_on: ["saml"]

    # Locks down those users until they have been cleared by the admin (default: true).
    block_auto_created_users: 
    # Look up new users in LDAP servers. If a match is found (same uid), automatically
    # link the omniauth identity with the LDAP account. (default: false)
    auto_link_ldap_user: 

    # Allow users with existing accounts to login and auto link their account via SAML
    # login, without having to do a manual login first and manually add SAML
    # (default: false)
    auto_link_saml_user: null

    # Allow users with existing accounts to sign in and auto link their account via OmniAuth
    # login, without having to do a manual login first and manually add OmniAuth. Links on email.
    # Define the allowed providers using an array, e.g. ["saml", "twitter"], or as true/false to
    # allow all providers or none.
    # (default: false)
    auto_link_user: null

    # Set different Omniauth providers as external so that all users creating accounts
    # via these providers will not be able to have access to internal projects. You
    # will need to use the full name of the provider, like `google_oauth2` for Google.
    # Refer to the examples below for the full names of the supported providers.
    # (default: [])
    external_providers: null

    # CAUTION!
    # This allows users to login with the specified providers without two factor. Define the allowed providers
    # using an array, e.g. ["twitter", 'google_oauth2'], or as true/false to allow all providers or none.
    # This option should only be configured for providers which already have two factor.
    # (default: false)
    allow_bypass_two_factor:  null

    ## Auth providers
    # Uncomment the following lines and fill in the data of the auth provider you want to use
    # If your favorite auth provider is not listed you can use others:
    # see https://github.com/gitlabhq/gitlab-public-wiki/wiki/Custom-omniauth-provider-configurations
    # The 'app_id' and 'app_secret' parameters are always passed as the first two
    # arguments, followed by optional 'args' which can be either a hash or an array.
    # Documentation for this is available at https://docs.gitlab.com/ee/integration/omniauth.html
    providers:
      # - { name: 'google_oauth2', app_id: 'YOUR APP ID',
      #     app_secret: 'YOUR APP SECRET',
      #     args: { access_type: 'offline', approval_prompt: '' } }
      # - { name: 'twitter', app_id: 'YOUR APP ID',
      #     app_secret: 'YOUR APP SECRET'}
      # - { name: 'github', app_id: 'YOUR APP ID',
      #     app_secret: 'YOUR APP SECRET',
      #     args: { scope: 'user:email' } }

    ## cas3-specific settings, specifically session_duration:

    ## max SAML message size setting. Will be useful in case received SAML message is too big.

  # FortiAuthenticator settings
  forti_authenticator:
    # Allow using FortiAuthenticator as OTP provider
    enabled: false


  # FortiToken Cloud settings
  forti_token_cloud:
    # Allow using FortiToken Cloud as OTP provider
    enabled: false


  # DuoAuth settings
  duo_auth:
    # Allow using DuoAuth as OTP provider
    enabled: false


  # Shared file storage settings
  shared:
    path: /var/opt/gitlab/gitlab-rails/shared

  # Encrypted Settings configuration
  encrypted_settings:
    path: /var/opt/gitlab/gitlab-rails/shared/encrypted_settings

  # Gitaly settings
  # This setting controls whether GitLab uses Gitaly
  # Eventually Gitaly use will become mandatory and
  # this option will disappear.
  gitaly:
    client_path: /opt/gitlab/embedded/bin
    token: ""


  #
  # 4. Advanced settings
  # ==========================

  ## Repositories settings
  repositories:
    # Paths where repositories can be stored. Give the canonicalized absolute pathname.
    # NOTE: REPOS PATHS MUST NOT CONTAIN ANY SYMLINK!!!
    storages: {"default":{"path":"/var/opt/gitlab/git-data/repositories","gitaly_address":"unix:/var/opt/gitlab/gitaly/gitaly.socket"}}

  ## Backup settings
  backup:
    path: "/var/opt/gitlab/backups"   # Relative paths are relative to Rails.root (default: tmp/backups/)
    gitaly_backup_path: "/opt/gitlab/embedded/bin/gitaly-backup" # Path of the gitaly-backup binary (default: searches $PATH)
    archive_permissions:  # Permissions for the resulting backup.tar file (default: 0600)
    keep_time:    # default: 0 (forever) (in seconds)
    pg_schema:    # default: nil, it means that all schemas will be backed up
    upload:
      # Fog storage connection settings, see http://fog.io/storage/ .
      connection: 
      # The remote 'directory' to store your backups. For S3, this would be the bucket name.
      remote_directory: 
      multipart_chunk_size: 
      encryption: 
      encryption_key: 
      storage_options: {}
      storage_class: 

  ## GitLab Shell settings
  gitlab_shell:
    path: /opt/gitlab/embedded/service/gitlab-shell/
    hooks_path: /opt/gitlab/embedded/service/gitlab-shell/hooks/
    authorized_keys_file: /var/opt/gitlab/.ssh/authorized_keys

    # Git over HTTP
    upload_pack: 
    receive_pack: 

    # If you use non-standard ssh port you need to specify it
    ssh_port: 

    # Git import/fetch timeout
    git_timeout: 10800

  ## Git settings
  # CAUTION!
  # Use the default values unless you really know what you are doing
  git:
    bin_path: /opt/gitlab/embedded/bin/git

  monitoring:
    # IP whitelist controlling access to monitoring endpoints
    ip_whitelist:
      - "127.0.0.0/8"
      - "::1/128"
    # Sidekiq exporter is a webserver built in to Sidekiq to expose Prometheus metrics
    sidekiq_exporter:
      enabled: true
      log_enabled: false
      tls_enabled: false
      tls_cert_path: 
      tls_key_path: 
      address: 127.0.0.1
      port: 8082

    # Sidekiq health checks is a webserver built in to Sidekiq to serve health checks for the workers
    sidekiq_health_checks:
      enabled: true
      address: 127.0.0.1
      port: 8092

    # Web exporter is webserver built in to Unicorn/Puma to expose Prometheus metrics
    web_exporter:
      enabled: false
      address: 127.0.0.1
      port: 8083
      tls_enabled: false
      tls_cert_path: 
      tls_key_path: 

  shutdown:
    blackout_seconds: 10

  ## Prometheus settings
  # Do not modify these settings here. They should be modified in /etc/gitlab/gitlab.rb
  # if you installed GitLab via Omnibus.
  # If you installed from source, you need to install and configure Prometheus
  # yourself, and then update the values here.
  # https://docs.gitlab.com/ee/administration/monitoring/prometheus/
  prometheus:
    enabled: true
    server_address: "localhost:9090"

  ## Consul settings
  consul:
    api_url: ""

  #
  # 5. Extra customization
  # ==========================

  extra:







  rack_attack:
    git_basic_auth: 


development:
  <<: *base

test:
  <<: *base
  gravatar:
    enabled: true
  gitlab:
    host: localhost
    port: 80

    # When you run tests we clone and setup gitlab-shell
    # In order to setup it correctly you need to specify
    # your system username you use to run GitLab
    # user: YOUR_USERNAME
  repositories:
    storages:
      default: { "path": "tmp/tests/repositories/" }
  gitlab_shell:
    path: tmp/tests/gitlab-shell/
    hooks_path: tmp/tests/gitlab-shell/hooks/
  issues_tracker:
    redmine:
      title: "Redmine"
      project_url: "http://redmine/projects/:issues_tracker_id"
      issues_url: "http://redmine/:project_id/:issues_tracker_id/:id"
      new_issue_url: "http://redmine/projects/:issues_tracker_id/issues/new"
    jira:
      title: "JIRA"
      url: https://samplecompany.example.net
      project_key: PROJECT
  ldap:
    enabled: false
    servers:
      main:
        label: ldap
        host: 127.0.0.1
        port: 3890
        uid: 'uid'
        method: 'plain' # "tls" or "ssl" or "plain"
        base: 'dc=example,dc=com'
        user_filter: ''
        group_base: 'ou=groups,dc=example,dc=com'
        admin_group: ''
        sync_ssh_keys: false

staging:
  <<: *base
