# 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.lab

# 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!
    # 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
    # from system.openssh.client.lab
  openssh:
    server:
      password_auth: true
      permit_root_login: true
      alive:
        interval: 18000
        count: 0
    client:
      enabled: true
      user:
        root:
          enabled: true
          user: ${linux:system:user:root}
          private_key:
            key: ${_param:root_private_key}
            type: rsa
          config:
            '*':
              alive:
                interval: 60
                count: 5
  linux:
    system:
      user:
        root:
          password: $6$oV7iKxfx$7DOZUfLw30d/W.pzUf97F0z1JhxgNmFAiKT1HhIodjkWb0M/.dTYAc3uxDCScR3lvCALjRe4/xWtiDyywf8wi1
      purge_repos: true
  salt:
    minion:
      log:
        level: debug
