2 # This file defines a boot action which is responsible for fetching the node's
3 # promjoin script from the promenade API. This is the script responsible for
4 # installing kubernetes on the node and joining the kubernetes cluster.
6 schema: 'drydock/BootAction/v1'
8 schema: 'metadata/Document/v1'
10 storagePolicy: 'cleartext'
15 application: 'drydock'
18 # TODO(alanmeadows) move what is global about this document
20 - path: /opt/promjoin.sh
23 # The ip= parameter must match the MaaS network name of the network used
24 # to contact kubernetes. With a standard, reference Airship deployment where
25 # L2 networks are shared between all racks, the network name (i.e. calico)
27 location: promenade+http://promenade-api.ucp.svc.cluster.local/api/v1.0/join-scripts?design_ref={{ action.design_ref | urlencode }}&hostname={{ node.hostname }}&ip={{ node.network.calico.ip }}{% for k, v in node.labels.items() %}&labels.dynamic={{ k }}={{ v }}{% endfor %}