blob: cd9951389cb3f033052b7ec823582d294864ee7e [file] [log] [blame]
{%- from "kubernetes/map.jinja" import common with context %}
{%- from "kubernetes/map.jinja" import pool with context %}
{%- if pool.enabled %}
/usr/bin/calicoctl:
file.managed:
- source: {{ pool.network.calico.calicoctl_source }}
- source_hash: {{ pool.network.calico.calicoctl_source_hash }}
- mode: 751
- user: root
- group: root
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
/usr/bin/birdcl:
file.managed:
- source: {{ pool.network.calico.birdcl_source }}
- source_hash: {{ pool.network.calico.birdcl_source_hash }}
- mode: 751
- user: root
- group: root
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
/opt/cni/bin/calico:
file.managed:
- source: {{ pool.network.calico.cni_source }}
- source_hash: {{ pool.network.calico.cni_source_hash }}
- mode: 751
- makedirs: true
- user: root
- group: root
- require_in:
- service: calico_node
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
/opt/cni/bin/calico-ipam:
file.managed:
- source: {{ pool.network.calico.cni_ipam_source }}
- source_hash: {{ pool.network.calico.cni_ipam_source_hash }}
- mode: 751
- makedirs: true
- user: root
- group: root
- require_in:
- service: calico_node
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
/etc/cni/net.d/10-calico.conf:
file.managed:
- source: salt://kubernetes/files/calico/calico.conf
- user: root
- group: root
- mode: 644
- makedirs: true
- dir_mode: 755
- template: jinja
/etc/calico/network-environment:
file.managed:
- source: salt://kubernetes/files/calico/network-environment.pool
- user: root
- group: root
- mode: 644
- makedirs: true
- dir_mode: 755
- template: jinja
/etc/calico/calicoctl.cfg:
file.managed:
- source: salt://kubernetes/files/calico/calicoctl.cfg.pool
- user: root
- group: root
- mode: 644
- makedirs: true
- dir_mode: 755
- template: jinja
{%- if pool.network.calico.get('systemd', true) %}
{%- if common.get('containerd', {}).get('enabled', false) %}
/etc/systemd/system/calico-node.service:
file.managed:
- source: salt://kubernetes/files/calico/calico-node.service.ctr
- user: root
- group: root
- template: jinja
- require:
- service: containerd
- defaults:
hostname: {{ pool.host.name }}{% if pool.host.get('domain') %}.{{ pool.host.domain }}{%- endif %}
address: {{ pool.address }}
calico: {{ pool.network.calico }}
{%- else %}
/etc/systemd/system/calico-node.service:
file.managed:
- source: salt://kubernetes/files/calico/calico-node.service.pool
- user: root
- group: root
- template: jinja
{%- endif %}
{%- for dirname in ['lib', 'log'] %}
/var/{{ dirname }}/calico:
file.directory:
- user: root
- group: root
- require_in:
- service: calico-node
{%- endfor %}
calico_node:
service.running:
- name: calico-node
- enable: True
- watch:
- file: /etc/systemd/system/calico-node.service
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
{%- endif %}
{%- endif %}