spyglass/spyglass/examples/templates/pki/pki-catalogue.yaml.j2

165 lines
5.4 KiB
Django/Jinja

---
schema: promenade/PKICatalog/v1
metadata:
schema: metadata/Document/v1
name: cluster-certificates
layeringDefinition:
abstract: false
layer: site
storagePolicy: cleartext
data:
certificate_authorities:
kubernetes:
description: CA for Kubernetes components
certificates:
- document_name: apiserver
description: Service certificate for Kubernetes apiserver
common_name: apiserver
hosts:
- localhost
- 127.0.0.1
- 10.96.0.1
kubernetes_service_names:
- kubernetes.default.svc.cluster.local
{% for host in data.get_baremetal_host_by_type('genesis') %}
- document_name: kubelet-genesis
common_name: system:node:{{ host.name }}
hosts:
- {{ host.name }}
- {{ host.ip.oam }}
- {{ host.ip.calico }}
groups:
- system:nodes
{% endfor %}
{% for rack in data.baremetal %}
{% for host in rack.hosts %}
- document_name: kubelet-{{ host.name }}
common_name: system:node:{{ host.name }}
hosts:
- {{ host.name }}
- {{ host.ip.oam }}
- {{ host.ip.calico }}
groups:
- system:nodes
{% endfor %}
{% endfor %}
- document_name: scheduler
description: Service certificate for Kubernetes scheduler
common_name: system:kube-scheduler
- document_name: controller-manager
description: certificate for controller-manager
common_name: system:kube-controller-manager
- document_name: admin
common_name: admin
groups:
- system:masters
- document_name: armada
common_name: armada
groups:
- system:masters
kubernetes-etcd:
description: Certificates for Kubernetes's etcd servers
certificates:
- document_name: apiserver-etcd
description: etcd client certificate for use by Kubernetes apiserver
common_name: apiserver
# NOTE(mark-burnett): hosts not required for client certificates
- document_name: kubernetes-etcd-anchor
description: anchor
common_name: anchor
{% for host in data.get_baremetal_host_by_type('genesis') %}
- document_name: kubernetes-etcd-genesis
common_name: kubernetes-etcd-genesis
hosts:
- {{ host.name }}
- {{ host.ip.oam }}
- {{ host.ip.calico }}
- 127.0.0.1
- localhost
- kubernetes-etcd.kube-system.svc.cluster.local
- 10.96.0.2
{% endfor %}
{% for host in data.get_baremetal_host_by_type('controller', 'genesis') %}
- document_name: kubernetes-etcd-{{ host.name }}
common_name: kubernetes-etcd-{{ host.name }}
hosts:
- {{ host.name }}
- {{ host.ip.oam }}
- {{ host.ip.calico }}
- 127.0.0.1
- localhost
- kubernetes-etcd.kube-system.svc.cluster.local
- 10.96.0.2
{% endfor %}
kubernetes-etcd-peer:
certificates:
{% for host in data.get_baremetal_host_by_type('genesis') %}
- document_name: kubernetes-etcd-genesis-peer
common_name: kubernetes-etcd-genesis-peer
hosts:
- {{ host.name }}
- {{ host.ip.oam }}
- {{ host.ip.calico }}
- 127.0.0.1
- localhost
- kubernetes-etcd.kube-system.svc.cluster.local
- 10.96.0.2
{% endfor %}
{% for host in data.get_baremetal_host_by_type('controller', 'genesis') %}
- document_name: kubernetes-etcd-{{ host.name }}-peer
common_name: kubernetes-etcd-{{ host.name }}-peer
hosts:
- {{ host.name }}
- {{ host.ip.oam }}
- {{ host.ip.calico }}
- 127.0.0.1
- localhost
- kubernetes-etcd.kube-system.svc.cluster.local
- 10.96.0.2
{% endfor %}
calico-etcd:
description: Certificates for Calico etcd client traffic
certificates:
- document_name: ksn-etcd-anchor
description: anchor
common_name: anchor
{% for host in data.get_baremetal_host_by_type('controller', 'genesis') %}
- document_name: ksn-etcd-{{ host.name }}
common_name: ksn-etcd-{{ host.name }}
hosts:
- {{ host.name }}
- {{ host.ip.oam }}
- {{ host.ip.calico }}
- 127.0.0.1
- localhost
- 10.96.232.136
{% endfor %}
- document_name: ksn-node
common_name: calcico-node
calico-etcd-peer:
description: Certificates for Calico etcd clients
certificates:
{% for host in data.get_baremetal_host_by_type('controller', 'genesis') %}
- document_name: ksn-etcd-{{ host.name }}-peer
common_name: ksn-etcd-{{ host.name }}-peer
hosts:
- {{ host.name }}
- {{ host.ip.oam }}
- {{ host.ip.calico }}
- 127.0.0.1
- localhost
- 10.96.232.136
{% endfor %}
- document_name: ksn-node-peer
common_name: calico-node-peer
keypairs:
- name: service-account
description: Service account signing key for use by Kubernetes controller-manager.
...