<?php
$CONFIG = array (
  'app_install_overwrite' =>
  array (
    0 => 'globalsiteselector',
  ),

  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/var/www/html/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/var/www/html/custom_apps',
      'url' => '/custom_apps',
      'writable' => true,
    ),
  ),
  'appstoreenabled' => false,
  'config_is_read_only' => true,
  'csrf.disabled' => true,
  'datadirectory' => '/var/www/html/data',
  'davstorage.request_timeout' => 86401,
<%- if @hostnet -%>
  'dbhost' => '127.0.0.1',
<%- else -%>
  'dbhost' => '<%= @dbhost %>',
<%- end -%>
  'dbname' => '<%= @dbname %>',
  'dbpassword' => '<%= @mysql_user_password %>',
  'dbport' => '3306',
  'dbtableprefix' => 'oc_',
  'dbtype' => 'mysql',
  'dbuser' => '<%= @dbuser %>',
  'default_phone_region' => 'SE',
  'drive_email_template_text_left' => '<%= @drive_email_template_text_left %>',
  'drive_email_template_plain_text_left' => '<%= @drive_email_template_plain_text_left %>',
  'drive_email_template_url_left' => '<%= @drive_email_template_url_left %>',
<% if @location == 'sunet-test' -%>
  'filelocking.debug' => true,
<% end -%>
  'files_external_allow_create_new_local' => false,
  'forcessl' => true,
  'gs.enabled' => '<%= @gs_enabled %>',
  'gs.federation' => '<%= @gs_federation %>',
  'gs.trustedHosts' => ['*.sunet.se'],
  'gss.discovery.manual.mapping.file' => '/var/www/html/mappingfile.json',
  'gss.discovery.manual.mapping.parameter' => 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',
  'gss.discovery.manual.mapping.regex' => true,
  'gss.jwt.key' => '<%= @gss_jwt_key %>',
  'gss.master.admin' =>
   array (
  <%- index = 0 -%>
  <%- @gss_master_admin.each do |item| -%>
    <%= index %> => '<%= item %>',
    <%- index += 1 -%>
  <%- end -%>
  ),
  'gss.master.url' => '<%= @gss_master_url %>',
  'gss.mode' => '<%= @gss_mode %>',
  'gss.user.discovery.module' => '\\OCA\\GlobalSiteSelector\\UserDiscoveryModules\\ManualUserMapping',
  'gss.username_format' => 'sanitize',
  'installed' => true,
  'instanceid' => '<%= @instanceid %>',
  'integrity.check.disabled' => true,
  'log_type' => 'file',
  'loglevel' => 1,
  'lookup_server' => '<%= @lookup_server %>',
  'mail_domain' => '<%= @mail_domain %>',
  'mail_from_address' => '<%= @mail_from_address %>',
  'mail_sendmailmode' => 'smtp',
  'mail_smtpauth' => 1,
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtphost' => '<%= @mail_smtphost %>',
  'mail_smtpmode' => 'smtp',
  'mail_smtpname' => '<%= @smtpuser %>',
  'mail_smtppassword' => '<%= @smtppassword %>',
  'mail_smtpport' => '587',
  'mail_smtpsecure' => 'tls',
  'mail_template_class' => 'OCA\DriveEmailTemplate\EMailTemplate',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'mysql.utf8mb4' => true,
  'objectstore' =>
  array (
    'class' => '\\OC\\Files\\ObjectStore\\S3',
    'arguments' =>
    array (
      'bucket' => '<%= @s3_bucket %>',
      'key' => '<%= @s3_key %>',
      'secret' => '<%= @s3_secret %>',
      'region' => 'us-east-1',
      'hostname' => '<%= @s3_host %>',
      'port' => '',
      'useMultipartCopy' => false,
      'objectPrefix' => 'urn:oid:',
      'autocreate' => false,
      'use_ssl' => true,
      'use_path_style' => true,
      'legacy_auth' => false,
    ),
  ),
  'overwrite.cli.url' => 'https://<%= @site_name %>',
  'overwritehost' => '<%= @site_name %>',
  'overwriteprotocol' => 'https',
  'passwordsalt' => '<%= @passwordsalt %>',
<% if @location == 'gss-test' -%>
  'redis.cluster' => [
    'failover_mode' => \RedisCluster::FAILOVER_ERROR,
    'password' => '<%= @redis_cluster_password %>',
    'read_timeout' => 0.0,
    'seeds' => [
      'redis1.drive.test.sunet.se:6379',
      'redis2.drive.test.sunet.se:6379',
      'redis3.drive.test.sunet.se:6379',
      'redis1.drive.test.sunet.se:6380',
      'redis2.drive.test.sunet.se:6380',
      'redis3.drive.test.sunet.se:6380',
      'redis1.drive.test.sunet.se:6381',
      'redis2.drive.test.sunet.se:6381',
      'redis3.drive.test.sunet.se:6381'
    ],
    'timeout' => 1.1
  ],
<% elsif @location == 'gss-prod' -%>
  'redis.cluster' => [
    'failover_mode' => \RedisCluster::FAILOVER_ERROR,
    'password' => '<%= @redis_cluster_password %>',
    'read_timeout' => 0.0,
    'seeds' => [
      'redis1.drive.sunet.se:6379',
      'redis2.drive.sunet.se:6379',
      'redis3.drive.sunet.se:6379',
      'redis1.drive.sunet.se:6380',
      'redis2.drive.sunet.se:6380',
      'redis3.drive.sunet.se:6380',
      'redis1.drive.sunet.se:6381',
      'redis2.drive.sunet.se:6381',
      'redis3.drive.sunet.se:6381'
    ],
    'timeout' => 1.1
  ],
<% elsif @environment == 'test' && ! @is_multinode -%>
  'redis.cluster' => [
    'failover_mode' => \RedisCluster::FAILOVER_ERROR,
    'password' => '<%= @redis_cluster_password %>',
    'read_timeout' => 0.0,
    'seeds' => [
      'redis1.<%= @customer %>.drive.test.sunet.se:6379',
      'redis2.<%= @customer %>.drive.test.sunet.se:6379',
      'redis3.<%= @customer %>.drive.test.sunet.se:6379',
      'redis1.<%= @customer %>.drive.test.sunet.se:6380',
      'redis2.<%= @customer %>.drive.test.sunet.se:6380',
      'redis3.<%= @customer %>.drive.test.sunet.se:6380',
      'redis1.<%= @customer %>.drive.test.sunet.se:6381',
      'redis2.<%= @customer %>.drive.test.sunet.se:6381',
      'redis3.<%= @customer %>.drive.test.sunet.se:6381'
    ],
    'timeout' => 1.1
  ],
<% elsif @environment == 'prod' && ! @is_multinode && @location != 'gss-prod' -%>
  'redis.cluster' => [
    'failover_mode' => \RedisCluster::FAILOVER_ERROR,
    'password' => '<%= @redis_cluster_password %>',
    'read_timeout' => 0.0,
    'seeds' => [
      'redis1.<%= @customer %>.drive.sunet.se:6379',
      'redis2.<%= @customer %>.drive.sunet.se:6379',
      'redis3.<%= @customer %>.drive.sunet.se:6379',
      'redis1.<%= @customer %>.drive.sunet.se:6380',
      'redis2.<%= @customer %>.drive.sunet.se:6380',
      'redis3.<%= @customer %>.drive.sunet.se:6380',
      'redis1.<%= @customer %>.drive.sunet.se:6381',
      'redis2.<%= @customer %>.drive.sunet.se:6381',
      'redis3.<%= @customer %>.drive.sunet.se:6381'
    ],
    'timeout' => 1.1
  ],
<% else -%>
  'redis' =>
    array (
      'host' => '<%= @redis_host %>',
      'password' => '<%= @redis_host_password %>',
      'port' => 6379,
    ),
<% end -%>
  'secret' => '<%= @secret %>',
  'skeletondirectory' => '<%= @skeletondirectory %>',
  'templatedirectory' => '',
<% if @environment == 'test' -%>
  'trashbin_retention_obligation' => 'auto, 30',
<% end -%>
  'trusted_domains' =>
    array (
    <%- index = 0 -%>
    <%- @trusted_domains.each do |item| -%>
      <%= index %> => '<%= item %>',<% index += 1 %>
    <%- end -%>
    ),
  <%- unless @trusted_proxies.empty? -%>
  'trusted_proxies' =>
    array (
    <%- index = 0 -%>
    <%- @trusted_proxies.each do |item| -%>
      <%= index %> => '<%= item %>',
      <%- index += 1 -%>
    <%- end -%>
    ),
  <%- end -%>
  'twofactor_enforced' => 'true',
  'twofactor_enforced_groups' =>
    array (
      0 => 'admin',
      1 => 'forcemfa',
    <%- if @twofactor_enforced_groups -%>
      <%- index = 2 -%>
      <%- @twofactor_enforced_groups.each do |item| -%>
      <%= index %> => '<%= item %>',
        <%- index += 1 -%>
      <%- end -%>
    <%- end -%>
    ),
  'twofactor_enforced_excluded_groups' =>
    array (
    <%- if @twofactor_enforced_excluded_groups -%>
      <%- index = 0 -%>
      <%- @twofactor_enforced_excluded_groups.each do |item| -%>
      <%= index %> => '<%= item %>',
        <%- index += 1 -%>
      <%- end -%>
    <%- end -%>
    ),
  'updatechecker' => false,
  'version' => '<%= @nextcloud_version_string %>',
<% if @environment == 'test' -%>
  'versions_retention_obligation' => '<%= @expiration_days_min %>, <%= @expiration_days_max %>',
<% end -%>
);