diff --git a/salt/server_containerized/install_k3s.sls b/salt/server_containerized/install_k3s.sls index b30d32a27..ae3e6994a 100644 --- a/salt/server_containerized/install_k3s.sls +++ b/salt/server_containerized/install_k3s.sls @@ -23,3 +23,19 @@ helm_install: - refresh: True - name: helm {% endif %} + +{%- set mirror_hostname = grains.get('server_mounted_mirror') if grains.get('server_mounted_mirror') else grains.get('mirror') %} +{% if mirror_hostname %} +mirror_pv_file: + file.managed: + - name: /root/mirror-pv.yaml + - source: salt://server_containerized/mirror-pv.yaml + - template: jinja + +mirror_pv_deploy: + cmd.run: + - name: kubectl apply -f /root/mirror-pv.yaml + - unless: kubectl get pv mirror + - require: + - file: mirror_pv_file +{% endif %} diff --git a/salt/server_containerized/mgradm.yaml b/salt/server_containerized/mgradm.yaml index 6e474d4d3..8001fd183 100644 --- a/salt/server_containerized/mgradm.yaml +++ b/salt/server_containerized/mgradm.yaml @@ -1,3 +1,4 @@ +{% set runtime = grains.get('container_runtime') | default('podman', true) %} db: password: spacewalk reportdb: @@ -18,12 +19,19 @@ registry: {{ grains.get('container_repository') }} tag: {{ grains.get('container_tag') }} {% endif %} {%- set mirror_hostname = grains.get('server_mounted_mirror') if grains.get('server_mounted_mirror') else grains.get('mirror') %} +{%- if runtime == 'podman' %} {%- if mirror_hostname %} mirror: /srv/mirror -{% endif %} +{%- endif %} +{%- else %} +{%- if mirror_hostname %} +volumes: + mirror: mirror +{%- endif %} kubernetes: uyuni: namespace: uyuni +{%- endif %} {%- if grains.get("java_debugging") %} debug: java: true diff --git a/salt/server_containerized/mirror-pv.yaml b/salt/server_containerized/mirror-pv.yaml new file mode 100644 index 000000000..1b30226cc --- /dev/null +++ b/salt/server_containerized/mirror-pv.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: mirror +spec: + capacity: + storage: 100Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Delete + storageClassName: local-storage + local: + path: /srv/mirror + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - {{ grains['hostname'] }} + claimRef: + namespace: uyuni + name: mirror