heat_template_version: queens

description: Triggers a Mistral workflow for the deployment of Kubernetes

parameters:
  RoleNetIpMap:
    default: {}
    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
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json

outputs:
  role_data:
    description: Role data for the Kubernetes Service
    value:
      # This service template essentially tags the nodes that we want
      # as workers. The actual installation is performed in
      # kubernetes-master service template.
      service_name: kubernetes_worker
      config_settings:
        tripleo.kubernetes_worker.firewall_rules:
          '200 kubernetes-worker kubelet':
            dport:
              - 10250
              - 10255
            proto: tcp
          '200 kubernetes-worker external services':
            dport: '30000-32767'
          '200 kubernetes-worker flannel':
            dport:
              - 8285
              - 8472
            proto: udp
          '200 kubernetes-worker calico bgp':
            dport: 179
            proto: tcp
          '200 kubernetes-worker calico ipv4-in-ip':
            proto: ipv4
      upgrade_tasks: []
      step_config: ''