heat_template_version: pike

description: >
  Configures docker on the host

parameters:
  DockerInsecureRegistryAddress:
    description: Optional. The IP Address and Port of an insecure docker
                 namespace that will be configured in /etc/sysconfig/docker.
                 The value can be multiple addresses separated by commas.
    type: comma_delimited_list
    default: []
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  ServiceData:
    default: {}
    description: Dictionary packing service data
    type: json
  ServiceNetMap:
    default: {}
    description: Mapping of service_name -> network name. Typically set
                 via parameter_defaults in the resource registry.  This
                 mapping overrides those in ServiceNetMapDefaults.
    type: json
  DefaultPasswords:
    default: {}
    type: json
  RoleName:
    default: ''
    description: Role name on which the service is applied
    type: string
  RoleParameters:
    default: {}
    description: Parameters specific to the role
    type: json

conditions:
  insecure_registry_is_empty: {equals : [{get_param: DockerInsecureRegistryAddress}, []]}

outputs:
  role_data:
    description: Role data for the docker service
    value:
      service_name: docker
      config_settings:
        if:
        - insecure_registry_is_empty
        - {}
        - tripleo::profile::base::docker::insecure_registries: {get_param: DockerInsecureRegistryAddress}
      step_config: |
        include ::tripleo::profile::base::docker
      upgrade_tasks:
        - name: Install docker packages on upgrade if missing
          tags: step3
          yum: name=docker state=latest