{%- load_yaml as server_defaults %}
default:
  bind:
    address: 127.0.0.1
    port: 8080
  cache:
    engine: noop
  message_queue:
    ssl:
      enabled: False
  database:
    ssl:
      enabled: False
  dogtag_admin_cert:
    engine: noop
Debian:
  pkgs:
  - barbican-api
  - barbican-keystone-listener
  - barbican-worker
  services:
  - barbican-keystone-listener
  dogtag_pkgs:
  - libnss3-tools
  - python-nss
  - pki-base
  cacert_file: /etc/ssl/certs/ca-certificates.crt
RedHat:
  cacert_file: /etc/pki/tls/certs/ca-bundle.crt
{%- endload %}

{%- load_yaml as client_defaults %}
Debian:
  pkgs:
  - python-barbicanclient
{%- endload %}

{%- set server = salt['grains.filter_by'](server_defaults, merge=salt['pillar.get']('barbican:server'), base='default') %}
{# Dogtag cert source case #2: Cert from Mine. #}
{%- if server.dogtag_admin_cert.engine == 'mine' %}
{%- set dogtag_mine_admin_certs = salt['mine.get']('I@dogtag:server', 'dogtag_admin_cert', 'compound') %}
{%- if dogtag_mine_admin_certs.get(server.dogtag_admin_cert.minion) == None %}
{%- do server.dogtag_admin_cert.pop('key', None) %}
{%- else %}
{%- do server.dogtag_admin_cert.update({'key': dogtag_mine_admin_certs.get(server.dogtag_admin_cert.minion) }) %}
{%- endif %}
{%- endif %}

{%- set client = salt['grains.filter_by'](client_defaults, merge=salt['pillar.get']('barbican:client')) %}
