heat_template_version: rocky

description: >
  OpenStack containerized Barbican API service

parameters:
  ContainerBarbicanApiImage:
    description: image
    type: string

outputs:
  cmd_extra_args:
    description: Extra command line arguments for running the service in the container.
    value: ''
  config_settings:
    description: Extra hieradata needed to log to files in the host.
    value: null
  volumes:
    description: The volumes needed to log to files in the host.
    value: &barbican_api_volumes
      - /var/log/containers/barbican:/var/log/barbican:z
      - /var/log/containers/httpd/barbican-api:/var/log/httpd:z
  docker_config:
    description: Extra containers needed for logging to files in the host.
    value:
      step_2:
        barbican_init_log:
          image: {get_param: ContainerBarbicanApiImage}
          net: none
          user: root
          volumes: *barbican_api_volumes
          command: ['/bin/bash', '-c', 'chown -R barbican:barbican /var/log/barbican']
  host_prep_tasks:
    description: Extra ansible tasks needed for logging to files in the host.
    value:
      - name: create persistent directories
        file:
          path: "{{ item.path }}"
          state: directory
          setype: "{{ item.setype }}"
        with_items:
          - { 'path': /var/log/containers/barbican, 'setype': svirt_sandbox_file_t, 'mode': '0750' }
          - { 'path': /var/log/containers/httpd/barbican-api, 'setype': svirt_sandbox_file_t, 'mode': '0750' }
