# Do not delete! This file is for global parameters overrides over all the nodes in the environment.
classes:
# Enable root and *ALL* users access
- system.openssh.server.team.all
- system.linux.network.dynamic_hosts
- system.openssh.client.root

# Example: salt-call reclass.cluster_meta_set foo bar /path/to/overrides.yml
#parameters:
#  _param:
#    foo: bar
parameters:
  _param:
    salt_api_password_hash: $6$V7O4vDAF$1FYwutKk53WFY314nq5IshabL5YXMuYklGglD7/Toj9bzCcgHTgudxhdeexmE3jf21lZPLmXy9K5mwzGyFbQt1
    salt_api_password: hovno12345!
    apt_mk_version: stable  # This will be replaced with REPOSITORY_SUITE env variable
    # Use galera options suitable for virtualized control plane
    galera_innodb_read_io_threads: 2
    galera_innodb_write_io_threads: 2
    galera_wsrep_slave_threads: 2
    galera_xtrabackup_parallel: 1
    galera_error_log_enabled: true
  openssh:
    server:
      password_auth: true
      alive:
        interval: 18000
        count: 0
    client:
      user:
        root:
          config:
            '*':
              alive:
                interval: 60
                count: 5
              stricthostkeychecking: no
              userknownhostsfile: '/dev/null'
  linux:
    system:
      user:
        root:
          password: $6$oV7iKxfx$7DOZUfLw30d/W.pzUf97F0z1JhxgNmFAiKT1HhIodjkWb0M/.dTYAc3uxDCScR3lvCALjRe4/xWtiDyywf8wi1
      purge_repos: true
  salt:
    minion:
      log:
        level: debug
