2724 lines
108 KiB
YAML
2724 lines
108 KiB
YAML
---
|
|
# ConfigMaps
|
|
- name: ConfigMap | uyuni-config
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: ConfigMap
|
|
name: uyuni-config
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "ConfigMap",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "uyuni-config",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"data": {
|
|
"fqdn": "{{ uyuni_helm_values.global.fqdn }}",
|
|
"email": "{{ uyuni_helm_values.server.email }}",
|
|
"db_host": "db",
|
|
"db_port": "5432",
|
|
"db_name": "{{ uyuni_helm_values.db.internal.name }}",
|
|
"reportdb_host": "reportdb",
|
|
"reportdb_port": "5432",
|
|
"reportdb_name": "reportdb"
|
|
}
|
|
}
|
|
state: present
|
|
|
|
# PersistentVolumeClaims
|
|
- name: PersistentVolumeClaim | ca-certs
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: ca-certs
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "ca-certs",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-apache2
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-apache2
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-apache2",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-cobbler
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-cobbler
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-cobbler",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-postfix
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-postfix
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-postfix",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-rhn
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-rhn
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-rhn",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-salt
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-salt
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-salt",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-sssd
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-sssd
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-sssd",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-sysconfig
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-sysconfig
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-sysconfig",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "20Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-systemd-multi
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-systemd-multi
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-systemd-multi",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-systemd-sockets
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-systemd-sockets
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-systemd-sockets",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | etc-tomcat
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: etc-tomcat
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "etc-tomcat",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | run-salt-master
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: run-salt-master
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "run-salt-master",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | srv-formulametadata
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: srv-formulametadata
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "srv-formulametadata",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | srv-pillar
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: srv-pillar
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "srv-pillar",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | srv-salt
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: srv-salt
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "srv-salt",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | srv-spacewalk
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: srv-spacewalk
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "srv-spacewalk",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | srv-susemanager
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: srv-susemanager
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "srv-susemanager",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | srv-tftpboot
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: srv-tftpboot
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "srv-tftpboot",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "300Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | srv-www
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: srv-www
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "srv-www",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "100Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | var-cache
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: var-cache
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "var-cache",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | var-cobbler
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: var-cobbler
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "var-cobbler",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | var-log
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: var-log
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "var-log",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "2Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | var-pgsql18
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: var-pgsql18
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "var-pgsql18",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "50Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | var-salt
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: var-salt
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "var-salt",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Mi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | var-search
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: var-search
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "var-search",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "10Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: PersistentVolumeClaim | var-spacewalk
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: PersistentVolumeClaim
|
|
name: var-spacewalk
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "var-spacewalk",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "100Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
# Services
|
|
- name: Service | cobbler
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: Service
|
|
name: cobbler
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "cobbler",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "cobbler",
|
|
"port": 25151
|
|
}
|
|
],
|
|
"selector": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"type": "ClusterIP"
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Service | db
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: Service
|
|
name: db
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "db",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "db",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "pgsql",
|
|
"port": 5432
|
|
}
|
|
],
|
|
"selector": {
|
|
"app.kubernetes.io/component": "db",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"type": "ClusterIP"
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Service | reportdb
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: Service
|
|
name: reportdb
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "db",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "reportdb",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "pgsql",
|
|
"port": 5432
|
|
}
|
|
],
|
|
"selector": {
|
|
"app.kubernetes.io/component": "db",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"type": "ClusterIP"
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Service | salt
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: Service
|
|
name: salt
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "salt",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "publish",
|
|
"port": 4505
|
|
},
|
|
{
|
|
"name": "request",
|
|
"port": 4506
|
|
}
|
|
],
|
|
"selector": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"type": "ClusterIP"
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Service | taskomatic-internal
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: Service
|
|
name: taskomatic-internal
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "taskomatic-internal",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "jmx",
|
|
"port": 5557
|
|
},
|
|
{
|
|
"name": "mtrx",
|
|
"port": 9800
|
|
}
|
|
],
|
|
"selector": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"type": "ClusterIP"
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Service | tomcat-internal
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: Service
|
|
name: tomcat-internal
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "tomcat-internal",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "node-exporter",
|
|
"port": 9100
|
|
},
|
|
{
|
|
"name": "jmx",
|
|
"port": 5556
|
|
},
|
|
{
|
|
"name": "pgsql-exporter",
|
|
"port": 9187
|
|
}
|
|
],
|
|
"selector": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"type": "ClusterIP"
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Service | web
|
|
kubernetes.core.k8s:
|
|
api_version: v1
|
|
kind: Service
|
|
name: web
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "web",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "http",
|
|
"port": 80,
|
|
"protocol": "TCP",
|
|
"targetPort": 80
|
|
}
|
|
],
|
|
"selector": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"type": "ClusterIP"
|
|
}
|
|
}
|
|
state: present
|
|
|
|
# Deployments
|
|
- name: Deployment | db
|
|
kubernetes.core.k8s:
|
|
api_version: apps/v1
|
|
kind: Deployment
|
|
name: db
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "apps/v1",
|
|
"kind": "Deployment",
|
|
"metadata": {
|
|
"creationTimestamp": null,
|
|
"labels": {
|
|
"app.kubernetes.io/component": "db",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "db",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"replicas": 1,
|
|
"selector": {
|
|
"matchLabels": {
|
|
"app.kubernetes.io/component": "db",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"strategy": {
|
|
"type": "Recreate"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "db",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"env": [
|
|
{
|
|
"name": "TZ",
|
|
"value": "Etc/UTC"
|
|
},
|
|
{
|
|
"name": "POSTGRES_USER",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "username",
|
|
"name": "db-admin-credentials"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "POSTGRES_PASSWORD",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "password",
|
|
"name": "db-admin-credentials"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_USER",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "username",
|
|
"name": "db-credentials"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_PASS",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "password",
|
|
"name": "db-credentials"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "REPORT_DB_USER",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "username",
|
|
"name": "reportdb-credentials"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "REPORT_DB_PASS",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "password",
|
|
"name": "reportdb-credentials"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"image": "registry.opensuse.org/uyuni/server-postgresql:latest",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "db",
|
|
"volumeMounts": [
|
|
{
|
|
"mountPath": "/var/lib/pgsql/data",
|
|
"name": "var-pgsql"
|
|
},
|
|
{
|
|
"mountPath": "/etc/pki",
|
|
"name": "tls-secret"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"securityContext": {
|
|
"fsGroup": 999
|
|
},
|
|
"volumes": [
|
|
{
|
|
"name": "var-pgsql",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "var-pgsql18"
|
|
}
|
|
},
|
|
{
|
|
"name": "tls-secret",
|
|
"secret": {
|
|
"items": [
|
|
{
|
|
"key": "tls.crt",
|
|
"path": "tls/certs/spacewalk.crt"
|
|
},
|
|
{
|
|
"key": "tls.key",
|
|
"mode": 256,
|
|
"path": "tls/private/pg-spacewalk.key"
|
|
},
|
|
{
|
|
"key": "ca.crt",
|
|
"path": "trust/anchors/LOCAL-RHN-ORG-TRUSTED-SSL-CERT"
|
|
}
|
|
],
|
|
"secretName": "db-cert"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Deployment | uyuni
|
|
kubernetes.core.k8s:
|
|
api_version: apps/v1
|
|
kind: Deployment
|
|
name: uyuni
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "apps/v1",
|
|
"kind": "Deployment",
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"name": "uyuni",
|
|
"namespace": "{{ uyuni_namespace }}"
|
|
},
|
|
"spec": {
|
|
"replicas": 1,
|
|
"selector": {
|
|
"matchLabels": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"strategy": {
|
|
"type": "Recreate"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"app.kubernetes.io/component": "server",
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"env": [
|
|
{
|
|
"name": "container",
|
|
"value": "oci"
|
|
},
|
|
{
|
|
"name": "TZ",
|
|
"value": "Etc/UTC"
|
|
},
|
|
{
|
|
"name": "ADMIN_USER",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "username",
|
|
"name": "admin-credentials",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "ADMIN_PASS",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "password",
|
|
"name": "admin-credentials",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_USER",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "username",
|
|
"name": "db-credentials",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_PASS",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "password",
|
|
"name": "db-credentials",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "REPORT_DB_USER",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "username",
|
|
"name": "reportdb-credentials",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "REPORT_DB_PASS",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "password",
|
|
"name": "reportdb-credentials",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_DB_NAME",
|
|
"value": "{{ uyuni_helm_values.db.internal.name }}"
|
|
},
|
|
{
|
|
"name": "MANAGER_DB_HOST",
|
|
"value": "db"
|
|
},
|
|
{
|
|
"name": "MANAGER_DB_CA_CERT",
|
|
"value": "/etc/pki/trust/anchors/DB-RHN-ORG-TRUSTED-SSL-CERT"
|
|
},
|
|
{
|
|
"name": "MANAGER_DB_PORT",
|
|
"value": "5432"
|
|
},
|
|
{
|
|
"name": "EXTERNALDB_PROVIDER"
|
|
},
|
|
{
|
|
"name": "ISS_PARENT"
|
|
},
|
|
{
|
|
"name": "REPORT_DB_NAME",
|
|
"value": "reportdb"
|
|
},
|
|
{
|
|
"name": "REPORT_DB_HOST",
|
|
"value": "reportdb"
|
|
},
|
|
{
|
|
"name": "REPORT_DB_CA_CERT",
|
|
"value": "/etc/pki/trust/anchors/DB-RHN-ORG-TRUSTED-SSL-CERT"
|
|
},
|
|
{
|
|
"name": "REPORT_DB_PORT",
|
|
"value": "5432"
|
|
},
|
|
{
|
|
"name": "MANAGER_ADMIN_EMAIL",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "email",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_MAIL_FROM",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "email",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "UYUNI_HOSTNAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "fqdn",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"image": "registry.opensuse.org/uyuni/server:latest",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"lifecycle": {
|
|
"preStop": {
|
|
"exec": {
|
|
"command": [
|
|
"/bin/sh",
|
|
"-c",
|
|
"spacewalk-service stop"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"name": "uyuni",
|
|
"securityContext": {
|
|
"capabilities": {
|
|
"add": [
|
|
"SYS_ADMIN"
|
|
]
|
|
},
|
|
"seLinuxOptions": {
|
|
"level": "s0"
|
|
}
|
|
},
|
|
"ports": [
|
|
{
|
|
"containerPort": 80
|
|
},
|
|
{
|
|
"containerPort": 4505
|
|
},
|
|
{
|
|
"containerPort": 4506
|
|
},
|
|
{
|
|
"containerPort": 25151
|
|
},
|
|
{
|
|
"containerPort": 9100
|
|
},
|
|
{
|
|
"containerPort": 5556
|
|
},
|
|
{
|
|
"containerPort": 5557
|
|
},
|
|
{
|
|
"containerPort": 9187
|
|
},
|
|
{
|
|
"containerPort": 9800
|
|
}
|
|
],
|
|
"startupProbe": {
|
|
"exec": {
|
|
"command": [
|
|
"/usr/bin/startup-check.sh"
|
|
]
|
|
},
|
|
"periodSeconds": 10,
|
|
"timeoutSeconds": 5,
|
|
"failureThreshold": 3600
|
|
},
|
|
"livenessProbe": {
|
|
"exec": {
|
|
"command": [
|
|
"/usr/bin/liveness-check.sh"
|
|
]
|
|
},
|
|
"timeoutSeconds": 5,
|
|
"failureThreshold": 5,
|
|
"periodSeconds": 60
|
|
},
|
|
"readinessProbe": {
|
|
"httpGet": {
|
|
"path": "/rhn/manager/api/api/getVersion",
|
|
"port": 80,
|
|
"scheme": "HTTP"
|
|
},
|
|
"periodSeconds": 10,
|
|
"successThreshold": 1,
|
|
"initialDelaySeconds": 120
|
|
},
|
|
"volumeMounts": [
|
|
{
|
|
"mountPath": "/var/lib/cobbler",
|
|
"name": "var-cobbler"
|
|
},
|
|
{
|
|
"mountPath": "/var/lib/rhn/search",
|
|
"name": "var-search"
|
|
},
|
|
{
|
|
"mountPath": "/var/lib/salt",
|
|
"name": "var-salt"
|
|
},
|
|
{
|
|
"mountPath": "/var/cache",
|
|
"name": "var-cache"
|
|
},
|
|
{
|
|
"mountPath": "/var/spacewalk",
|
|
"name": "var-spacewalk"
|
|
},
|
|
{
|
|
"mountPath": "/var/log",
|
|
"name": "var-log"
|
|
},
|
|
{
|
|
"mountPath": "/srv/salt",
|
|
"name": "srv-salt"
|
|
},
|
|
{
|
|
"mountPath": "/srv/www/",
|
|
"name": "srv-www"
|
|
},
|
|
{
|
|
"mountPath": "/srv/tftpboot",
|
|
"name": "srv-tftpboot"
|
|
},
|
|
{
|
|
"mountPath": "/srv/formula_metadata",
|
|
"name": "srv-formulametadata"
|
|
},
|
|
{
|
|
"mountPath": "/srv/pillar",
|
|
"name": "srv-pillar"
|
|
},
|
|
{
|
|
"mountPath": "/srv/susemanager",
|
|
"name": "srv-susemanager"
|
|
},
|
|
{
|
|
"mountPath": "/srv/spacewalk",
|
|
"name": "srv-spacewalk"
|
|
},
|
|
{
|
|
"mountPath": "/etc/pki/trust/anchors/",
|
|
"name": "ca-certs"
|
|
},
|
|
{
|
|
"mountPath": "/run/salt/master",
|
|
"name": "run-salt-master"
|
|
},
|
|
{
|
|
"mountPath": "/etc/apache2",
|
|
"name": "etc-apache2"
|
|
},
|
|
{
|
|
"mountPath": "/etc/systemd/system/multi-user.target.wants",
|
|
"name": "etc-systemd-multi"
|
|
},
|
|
{
|
|
"mountPath": "/etc/systemd/system/sockets.target.wants",
|
|
"name": "etc-systemd-sockets"
|
|
},
|
|
{
|
|
"mountPath": "/etc/salt",
|
|
"name": "etc-salt"
|
|
},
|
|
{
|
|
"mountPath": "/etc/tomcat",
|
|
"name": "etc-tomcat"
|
|
},
|
|
{
|
|
"mountPath": "/etc/cobbler",
|
|
"name": "etc-cobbler"
|
|
},
|
|
{
|
|
"mountPath": "/etc/sysconfig",
|
|
"name": "etc-sysconfig"
|
|
},
|
|
{
|
|
"mountPath": "/etc/postfix",
|
|
"name": "etc-postfix"
|
|
},
|
|
{
|
|
"mountPath": "/etc/sssd",
|
|
"name": "etc-sssd"
|
|
},
|
|
{
|
|
"mountPath": "/etc/rhn",
|
|
"name": "etc-rhn"
|
|
},
|
|
{
|
|
"mountPath": "/etc/pki/trust/anchors/LOCAL-RHN-ORG-TRUSTED-SSL-CERT",
|
|
"name": "ca-cert",
|
|
"readOnly": true,
|
|
"subPath": "ca.crt"
|
|
},
|
|
{
|
|
"mountPath": "/usr/share/susemanager/salt/certs/RHN-ORG-TRUSTED-SSL-CERT",
|
|
"name": "ca-cert",
|
|
"readOnly": true,
|
|
"subPath": "ca.crt"
|
|
},
|
|
{
|
|
"mountPath": "/srv/www/htdocs/pub/RHN-ORG-TRUSTED-SSL-CERT",
|
|
"name": "ca-cert",
|
|
"readOnly": true,
|
|
"subPath": "ca.crt"
|
|
},
|
|
{
|
|
"mountPath": "/etc/pki/trust/anchors/DB-RHN-ORG-TRUSTED-SSL-CERT",
|
|
"name": "db-ca-cert",
|
|
"readOnly": true,
|
|
"subPath": "ca.crt"
|
|
},
|
|
{
|
|
"mountPath": "/etc/pki/",
|
|
"name": "tls"
|
|
},
|
|
{
|
|
"mountPath": "/run",
|
|
"name": "run"
|
|
},
|
|
{
|
|
"mountPath": "/sys/fs/cgroup",
|
|
"name": "sys-fs-cgroup"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"initContainers": [
|
|
{
|
|
"command": [
|
|
"sh",
|
|
"-x",
|
|
"-c",
|
|
"# Fill the empty volumes\nfor vol in /var/lib/cobbler \\\n /var/lib/rhn/search \\\n /var/lib/salt \\\n /var/cache \\\n /var/log \\\n /srv/salt \\\n /srv/www \\\n /srv/tftpboot \\\n /srv/formula_metadata \\\n /srv/pillar \\\n /srv/susemanager \\\n /srv/spacewalk \\\n /etc/apache2 \\\n /etc/rhn \\\n /etc/systemd/system/multi-user.target.wants \\\n /etc/systemd/system/sockets.target.wants \\\n /etc/salt \\\n /etc/tomcat \\\n /etc/cobbler \\\n /etc/sysconfig \\\n /etc/postfix \\\n /etc/sssd\ndo\n chown --reference=$vol /mnt$vol;\n chmod --reference=$vol /mnt$vol;\n if [ -z \"$(ls -A /mnt$vol)\" ]; then\n cp -a $vol/. /mnt$vol;\n fi\ndone\n"
|
|
],
|
|
"image": "registry.opensuse.org/uyuni/server:latest",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "init-volumes",
|
|
"securityContext": {
|
|
"seLinuxOptions": {
|
|
"level": "s0"
|
|
}
|
|
},
|
|
"volumeMounts": [
|
|
{
|
|
"mountPath": "/mnt/var/lib/cobbler",
|
|
"name": "var-cobbler"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/var/lib/rhn/search",
|
|
"name": "var-search"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/var/lib/salt",
|
|
"name": "var-salt"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/var/cache",
|
|
"name": "var-cache"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/var/spacewalk",
|
|
"name": "var-spacewalk"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/var/log",
|
|
"name": "var-log"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/srv/salt",
|
|
"name": "srv-salt"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/srv/www/",
|
|
"name": "srv-www"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/srv/tftpboot",
|
|
"name": "srv-tftpboot"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/srv/formula_metadata",
|
|
"name": "srv-formulametadata"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/srv/pillar",
|
|
"name": "srv-pillar"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/srv/susemanager",
|
|
"name": "srv-susemanager"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/srv/spacewalk",
|
|
"name": "srv-spacewalk"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/pki/trust/anchors/",
|
|
"name": "ca-certs"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/run/salt/master",
|
|
"name": "run-salt-master"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/apache2",
|
|
"name": "etc-apache2"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/systemd/system/multi-user.target.wants",
|
|
"name": "etc-systemd-multi"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/systemd/system/sockets.target.wants",
|
|
"name": "etc-systemd-sockets"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/salt",
|
|
"name": "etc-salt"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/tomcat",
|
|
"name": "etc-tomcat"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/cobbler",
|
|
"name": "etc-cobbler"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/sysconfig",
|
|
"name": "etc-sysconfig"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/postfix",
|
|
"name": "etc-postfix"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/sssd",
|
|
"name": "etc-sssd"
|
|
},
|
|
{
|
|
"mountPath": "/mnt/etc/rhn",
|
|
"name": "etc-rhn"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"command": [
|
|
"sh",
|
|
"-c",
|
|
"until pg_isready -U $MANAGER_USER -h $MANAGER_DB_HOST -p $MANAGER_DB_PORT -d $MANAGER_DB_NAME; do\n sleep 60\ndone\n\nuntil pg_isready -U $REPORT_DB_USER -h $REPORT_DB_HOST -p $REPORT_DB_PORT -d $REPORT_DB_NAME; do\n sleep 60\ndone\n"
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "MANAGER_DB_HOST",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "db_host",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_DB_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "db_port",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_DB_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "db_name",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "MANAGER_USER",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "username",
|
|
"name": "db-credentials",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "REPORT_DB_HOST",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "reportdb_host",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "REPORT_DB_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "reportdb_port",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "REPORT_DB_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"key": "reportdb_name",
|
|
"name": "uyuni-config",
|
|
"optional": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "REPORT_DB_USER",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "username",
|
|
"name": "reportdb-credentials",
|
|
"optional": false
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"image": "registry.opensuse.org/uyuni/server:latest",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "db-waiter"
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "var-cobbler",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "var-cobbler"
|
|
}
|
|
},
|
|
{
|
|
"name": "var-search",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "var-search"
|
|
}
|
|
},
|
|
{
|
|
"name": "var-salt",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "var-salt"
|
|
}
|
|
},
|
|
{
|
|
"name": "var-cache",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "var-cache"
|
|
}
|
|
},
|
|
{
|
|
"name": "var-spacewalk",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "var-spacewalk"
|
|
}
|
|
},
|
|
{
|
|
"name": "var-log",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "var-log"
|
|
}
|
|
},
|
|
{
|
|
"name": "srv-salt",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "srv-salt"
|
|
}
|
|
},
|
|
{
|
|
"name": "srv-www",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "srv-www"
|
|
}
|
|
},
|
|
{
|
|
"name": "srv-tftpboot",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "srv-tftpboot"
|
|
}
|
|
},
|
|
{
|
|
"name": "srv-formulametadata",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "srv-formulametadata"
|
|
}
|
|
},
|
|
{
|
|
"name": "srv-pillar",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "srv-pillar"
|
|
}
|
|
},
|
|
{
|
|
"name": "srv-susemanager",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "srv-susemanager"
|
|
}
|
|
},
|
|
{
|
|
"name": "srv-spacewalk",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "srv-spacewalk"
|
|
}
|
|
},
|
|
{
|
|
"name": "ca-certs",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "ca-certs"
|
|
}
|
|
},
|
|
{
|
|
"name": "run-salt-master",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "run-salt-master"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-apache2",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-apache2"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-systemd-multi",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-systemd-multi"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-systemd-sockets",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-systemd-sockets"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-salt",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-salt"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-tomcat",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-tomcat"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-cobbler",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-cobbler"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-sysconfig",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-sysconfig"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-postfix",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-postfix"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-sssd",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-sssd"
|
|
}
|
|
},
|
|
{
|
|
"name": "etc-rhn",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "etc-rhn"
|
|
}
|
|
},
|
|
{
|
|
"configMap": {
|
|
"defaultMode": 420,
|
|
"name": "uyuni-ca"
|
|
},
|
|
"name": "ca-cert"
|
|
},
|
|
{
|
|
"configMap": {
|
|
"defaultMode": 420,
|
|
"name": "db-ca"
|
|
},
|
|
"name": "db-ca-cert"
|
|
},
|
|
{
|
|
"name": "tls",
|
|
"secret": {
|
|
"defaultMode": 420,
|
|
"items": [
|
|
{
|
|
"key": "tls.crt",
|
|
"path": "tls/certs/spacewalk.crt"
|
|
},
|
|
{
|
|
"key": "tls.key",
|
|
"mode": 256,
|
|
"path": "tls/private/spacewalk.key"
|
|
}
|
|
],
|
|
"secretName": "uyuni-cert"
|
|
}
|
|
},
|
|
{
|
|
"emptyDir": {
|
|
"medium": "Memory",
|
|
"sizeLimit": "256Mi"
|
|
},
|
|
"name": "run"
|
|
},
|
|
{
|
|
"name": "sys-fs-cgroup",
|
|
"emptyDir": null
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
# Ingresses
|
|
- name: Ingress | uyuni-ingress-ssl
|
|
kubernetes.core.k8s:
|
|
api_version: networking.k8s.io/v1
|
|
kind: Ingress
|
|
name: uyuni-ingress-ssl
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "networking.k8s.io/v1",
|
|
"kind": "Ingress",
|
|
"metadata": {
|
|
"creationTimestamp": null,
|
|
"name": "uyuni-ingress-ssl",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"annotations": {
|
|
"traefik.ingress.kubernetes.io/router.tls": "true",
|
|
"traefik.ingress.kubernetes.io/router.tls.domains.n.main": "{{ uyuni_helm_values.global.fqdn }}",
|
|
"traefik.ingress.kubernetes.io/router.entrypoints": "websecure",
|
|
"traefik.ingress.kubernetes.io/router.priority": "100",
|
|
"traefik.ingress.kubernetes.io/router.middlewares": "uyuni-server-uyuni-strip-prefixes@kubernetescrd"
|
|
},
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni",
|
|
"app.kubernetes.io/component": "server"
|
|
}
|
|
},
|
|
"spec": {
|
|
"ingressClassName": "traefik",
|
|
"tls": [
|
|
{
|
|
"hosts": [
|
|
"{{ uyuni_helm_values.global.fqdn }}"
|
|
],
|
|
"secretName": "uyuni-cert"
|
|
}
|
|
],
|
|
"rules": [
|
|
{
|
|
"host": "{{ uyuni_helm_values.global.fqdn }}",
|
|
"http": {
|
|
"paths": [
|
|
{
|
|
"path": "/postgresql-exporter",
|
|
"backend": {
|
|
"service": {
|
|
"name": "tomcat-internal",
|
|
"port": {
|
|
"number": 9187
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/node-exporter",
|
|
"backend": {
|
|
"service": {
|
|
"name": "tomcat-internal",
|
|
"port": {
|
|
"number": 9100
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/tasko-exporter",
|
|
"backend": {
|
|
"service": {
|
|
"name": "taskomatic-internal",
|
|
"port": {
|
|
"number": 9800
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/tasko-jmx",
|
|
"backend": {
|
|
"service": {
|
|
"name": "taskomatic-internal",
|
|
"port": {
|
|
"number": 5557
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/tomcat-jmx",
|
|
"backend": {
|
|
"service": {
|
|
"name": "tomcat-internal",
|
|
"port": {
|
|
"number": 5556
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Ingress | uyuni-ingress-ssl-redirect
|
|
kubernetes.core.k8s:
|
|
api_version: networking.k8s.io/v1
|
|
kind: Ingress
|
|
name: uyuni-ingress-ssl-redirect
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "networking.k8s.io/v1",
|
|
"kind": "Ingress",
|
|
"metadata": {
|
|
"creationTimestamp": null,
|
|
"name": "uyuni-ingress-ssl-redirect",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"annotations": {
|
|
"traefik.ingress.kubernetes.io/router.middlewares": "uyuni-server-uyuni-https-redirect@kubernetescrd",
|
|
"traefik.ingress.kubernetes.io/router.entrypoints": "web",
|
|
"traefik.ingress.kubernetes.io/router.priority": "1"
|
|
},
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni",
|
|
"app.kubernetes.io/component": "server"
|
|
}
|
|
},
|
|
"spec": {
|
|
"ingressClassName": "traefik",
|
|
"rules": [
|
|
{
|
|
"host": "{{ uyuni_helm_values.global.fqdn }}",
|
|
"http": {
|
|
"paths": [
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/",
|
|
"pathType": "Prefix"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Ingress | uyuni-ingress-nossl
|
|
kubernetes.core.k8s:
|
|
api_version: networking.k8s.io/v1
|
|
kind: Ingress
|
|
name: uyuni-ingress-nossl
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "networking.k8s.io/v1",
|
|
"kind": "Ingress",
|
|
"metadata": {
|
|
"creationTimestamp": null,
|
|
"name": "uyuni-ingress-nossl",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"annotations": {
|
|
"traefik.ingress.kubernetes.io/router.tls": "false",
|
|
"traefik.ingress.kubernetes.io/router.entrypoints": "web",
|
|
"traefik.ingress.kubernetes.io/router.priority": "100",
|
|
"traefik.ingress.kubernetes.io/router.middlewares": "uyuni-server-uyuni-strip-prefixes@kubernetescrd"
|
|
},
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni",
|
|
"app.kubernetes.io/component": "server"
|
|
}
|
|
},
|
|
"spec": {
|
|
"ingressClassName": "traefik",
|
|
"rules": [
|
|
{
|
|
"host": "{{ uyuni_helm_values.global.fqdn }}",
|
|
"http": {
|
|
"paths": [
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/pub",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/rhn/kickstart/DownloadFile",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/rhn/common/DownloadFile",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/rhn/rpc/api",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/rpc/api",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/rhn/errors",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/rhn/ty/TinyUrl",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/rhn/websocket",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/rhn/metrics",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/cobbler_api",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/cblr",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/httpboot",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/images",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/cobbler",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/os-images",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/tftp",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"backend": {
|
|
"service": {
|
|
"name": "web",
|
|
"port": {
|
|
"number": 80
|
|
}
|
|
}
|
|
},
|
|
"path": "/docs",
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/postgresql-exporter",
|
|
"backend": {
|
|
"service": {
|
|
"name": "tomcat-internal",
|
|
"port": {
|
|
"number": 9187
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/node-exporter",
|
|
"backend": {
|
|
"service": {
|
|
"name": "tomcat-internal",
|
|
"port": {
|
|
"number": 9100
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/tasko-exporter",
|
|
"backend": {
|
|
"service": {
|
|
"name": "taskomatic-internal",
|
|
"port": {
|
|
"number": 9800
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/tasko-jmx",
|
|
"backend": {
|
|
"service": {
|
|
"name": "taskomatic-internal",
|
|
"port": {
|
|
"number": 5557
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
},
|
|
{
|
|
"path": "/tomcat-jmx",
|
|
"backend": {
|
|
"service": {
|
|
"name": "tomcat-internal",
|
|
"port": {
|
|
"number": 5556
|
|
}
|
|
}
|
|
},
|
|
"pathType": "Prefix"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
state: present
|
|
|
|
# Traefik IngressRouteTCP
|
|
- name: IngressRouteTCP | reportdb-pgsql-route
|
|
kubernetes.core.k8s:
|
|
api_version: traefik.io/v1alpha1
|
|
kind: IngressRouteTCP
|
|
name: reportdb-pgsql-route
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "traefik.io/v1alpha1",
|
|
"kind": "IngressRouteTCP",
|
|
"metadata": {
|
|
"name": "reportdb-pgsql-route",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"annotations": {
|
|
"kubernetes.io/ingress.class": "traefik"
|
|
}
|
|
},
|
|
"spec": {
|
|
"entryPoints": [
|
|
"reportdb-pgsql"
|
|
],
|
|
"routes": [
|
|
{
|
|
"match": "HostSNI(`*`)",
|
|
"services": [
|
|
{
|
|
"name": "reportdb",
|
|
"port": 5432
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: IngressRouteTCP | salt-publish-route
|
|
kubernetes.core.k8s:
|
|
api_version: traefik.io/v1alpha1
|
|
kind: IngressRouteTCP
|
|
name: salt-publish-route
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "traefik.io/v1alpha1",
|
|
"kind": "IngressRouteTCP",
|
|
"metadata": {
|
|
"name": "salt-publish-route",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"annotations": {
|
|
"kubernetes.io/ingress.class": "traefik"
|
|
}
|
|
},
|
|
"spec": {
|
|
"entryPoints": [
|
|
"salt-publish"
|
|
],
|
|
"routes": [
|
|
{
|
|
"match": "HostSNI(`*`)",
|
|
"services": [
|
|
{
|
|
"name": "salt",
|
|
"port": 4505
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: IngressRouteTCP | salt-request-route
|
|
kubernetes.core.k8s:
|
|
api_version: traefik.io/v1alpha1
|
|
kind: IngressRouteTCP
|
|
name: salt-request-route
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "traefik.io/v1alpha1",
|
|
"kind": "IngressRouteTCP",
|
|
"metadata": {
|
|
"name": "salt-request-route",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
},
|
|
"annotations": {
|
|
"kubernetes.io/ingress.class": "traefik"
|
|
}
|
|
},
|
|
"spec": {
|
|
"entryPoints": [
|
|
"salt-request"
|
|
],
|
|
"routes": [
|
|
{
|
|
"match": "HostSNI(`*`)",
|
|
"services": [
|
|
{
|
|
"name": "salt",
|
|
"port": 4506
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
state: present
|
|
|
|
# Traefik Middleware
|
|
- name: Middleware | uyuni-https-redirect
|
|
kubernetes.core.k8s:
|
|
api_version: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
name: uyuni-https-redirect
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "traefik.io/v1alpha1",
|
|
"kind": "Middleware",
|
|
"metadata": {
|
|
"name": "uyuni-https-redirect",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"redirectScheme": {
|
|
"scheme": "https",
|
|
"permanent": true
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|
|
- name: Middleware | uyuni-strip-prefixes
|
|
kubernetes.core.k8s:
|
|
api_version: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
name: uyuni-strip-prefixes
|
|
namespace: "{{ uyuni_namespace }}"
|
|
kubeconfig: "{{ uyuni_kubeconfig }}"
|
|
definition:
|
|
{
|
|
"apiVersion": "traefik.io/v1alpha1",
|
|
"kind": "Middleware",
|
|
"metadata": {
|
|
"name": "uyuni-strip-prefixes",
|
|
"namespace": "{{ uyuni_namespace }}",
|
|
"labels": {
|
|
"app.kubernetes.io/part-of": "uyuni"
|
|
}
|
|
},
|
|
"spec": {
|
|
"stripPrefix": {
|
|
"prefixes": [
|
|
"/postgresql-exporter",
|
|
"/node-exporter",
|
|
"/tasko-exporter",
|
|
"/tasko-jmx",
|
|
"/tomcat-jmx",
|
|
"/saline"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
state: present
|
|
|