c88e7dd314
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
s3.ceph.unkin.net is the S3 endpoint name (a CNAME to radosgw.service.consul). The radosgw hosts front RGW with nginx (443 -> radosgw:7480) using the vault cert, so both the cert and nginx must recognise the name. - Add s3.ceph.unkin.net to profiles::pki::vault::alt_names (cert SAN). - Add s3.ceph.unkin.net to profiles::nginx::simpleproxy::nginx_aliases so nginx answers for it.
56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
---
|
|
hiera_include:
|
|
- profiles::ceph::rgw
|
|
- profiles::nginx::simpleproxy
|
|
|
|
profiles::ceph::rgw::enable: true
|
|
|
|
# FIXME: puppet-python wants to try manage python-dev, which is required by the ceph package
|
|
python::manage_dev_package: false
|
|
|
|
# additional altnames
|
|
profiles::pki::vault::alt_names:
|
|
- radosgw.main.unkin.net
|
|
- radosgw.service.consul
|
|
- radosgw.query.consul
|
|
- "radosgw.service.%{facts.country}-%{facts.region}.consul"
|
|
# S3 endpoint name (s3.ceph.unkin.net CNAME -> radosgw.service.consul); needed
|
|
# on the cert so TLS validates for that hostname.
|
|
- s3.ceph.unkin.net
|
|
|
|
# additional repos
|
|
profiles::yum::global::repos:
|
|
ceph:
|
|
ensure: present
|
|
ceph-noarch:
|
|
ensure: present
|
|
|
|
# manage a simple nginx reverse proxy
|
|
profiles::nginx::simpleproxy::nginx_vhost: 'radosgw.service.consul'
|
|
profiles::nginx::simpleproxy::nginx_aliases:
|
|
- radosgw.service.au-syd1.consul
|
|
# nginx (443 -> radosgw:7480) must answer for the S3 endpoint name too.
|
|
- s3.ceph.unkin.net
|
|
profiles::nginx::simpleproxy::proxy_port: 7480
|
|
profiles::nginx::simpleproxy::proxy_path: '/'
|
|
nginx::client_max_body_size: 5000M
|
|
|
|
# manage consul service
|
|
consul::services:
|
|
radosgw:
|
|
service_name: 'radosgw'
|
|
address: "%{facts.networking.ip}"
|
|
port: 443
|
|
checks:
|
|
- id: 'radosgw_https_check'
|
|
name: 'RADOSGW HTTPS Check'
|
|
http: "https://%{facts.networking.fqdn}:443"
|
|
method: 'GET'
|
|
tls_skip_verify: true
|
|
interval: '10s'
|
|
timeout: '1s'
|
|
profiles::consul::client::node_rules:
|
|
- resource: service
|
|
segment: radosgw
|
|
disposition: write
|