Convert RKE2 registries to template, disable default endpoints (#474)
## Summary - Replace static `registries.yaml` with EPP template driven by `rke2::registries` hash - Add `disable-default-registry-endpoint: true` to all mirrors — RKE2 will only use artifactapi and never fall back to upstream registries - Registry configuration now fully managed via hiera data (`roles/infra/k8s.yaml`) Reviewed-on: #474 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
This commit was merged in pull request #474.
This commit is contained in:
@@ -12,6 +12,61 @@ hiera_include:
|
||||
rke2::bootstrap_node: prodnxsr0001.main.unkin.net
|
||||
rke2::join_url: https://join-k8s.service.consul:9345
|
||||
rke2::manage_registries: true
|
||||
rke2::registries:
|
||||
docker.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "dockerhub/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
ghcr.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "ghcr/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
quay.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "quay/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
registry.k8s.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "k8s-registry/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
registry.gitlab.com:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "gitlab/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
docker.elastic.co:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "elastic/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
gcr.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "gcr/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
docker.litellm.ai:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "litellm/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
public.ecr.aws:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "ecr-public/$1"
|
||||
disable-default-registry-endpoint: true
|
||||
rke2::config_hash:
|
||||
bind-address: "%{hiera('networking_loopback0_ip')}"
|
||||
node-ip: "%{hiera('networking_loopback0_ip')}"
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
---
|
||||
# DO NOT MODIFY - MANAGED BY PUPPET
|
||||
mirrors:
|
||||
docker.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "dockerhub/$1"
|
||||
ghcr.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "ghcr/$1"
|
||||
quay.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "quay/$1"
|
||||
registry.k8s.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "k8s-registry/$1"
|
||||
registry.gitlab.com:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "gitlab/$1"
|
||||
docker.elastic.co:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "elastic/$1"
|
||||
gcr.io:
|
||||
endpoint:
|
||||
- "https://artifactapi.k8s.syd1.au.unkin.net"
|
||||
rewrite:
|
||||
"^(.*)$": "gcr/$1"
|
||||
@@ -8,6 +8,7 @@ class rke2::config (
|
||||
String $node_token = $rke2::node_token,
|
||||
Array[String[1]] $extra_config_files = $rke2::extra_config_files,
|
||||
Boolean $manage_registries = $rke2::manage_registries,
|
||||
Hash $registries = $rke2::registries,
|
||||
){
|
||||
|
||||
# if its not the bootstrap node, add join path to config
|
||||
@@ -35,7 +36,7 @@ class rke2::config (
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => 'puppet:///modules/rke2/registries.yaml',
|
||||
content => epp('rke2/registries.yaml.epp', { registries => $registries }),
|
||||
require => Package["rke2-${node_type}"],
|
||||
notify => Service["rke2-${node_type}"],
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ class rke2 (
|
||||
Array[String[1]] $extra_config_files = $rke2::params::extra_config_files,
|
||||
Stdlib::HTTPUrl $container_archive_source = $rke2::params::container_archive_source,
|
||||
Boolean $manage_registries = $rke2::params::manage_registries,
|
||||
Hash $registries = $rke2::params::registries,
|
||||
) inherits rke2::params {
|
||||
|
||||
include rke2::install
|
||||
|
||||
@@ -13,4 +13,5 @@ class rke2::params (
|
||||
Array[String[1]] $extra_config_files = [],
|
||||
Stdlib::HTTPUrl $container_archive_source = 'https://github.com/rancher/rke2/releases/download',
|
||||
Boolean $manage_registries = false,
|
||||
Hash $registries = {},
|
||||
) {}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<%- | Hash $registries | -%>
|
||||
---
|
||||
# DO NOT MODIFY - MANAGED BY PUPPET
|
||||
mirrors:
|
||||
<%- $registries.each |$registry, $config| { -%>
|
||||
<%= $registry %>:
|
||||
endpoint:
|
||||
<%- $config['endpoint'].each |$ep| { -%>
|
||||
- "<%= $ep %>"
|
||||
<%- } -%>
|
||||
<%- if $config['rewrite'] { -%>
|
||||
rewrite:
|
||||
<%- $config['rewrite'].each |$pattern, $replacement| { -%>
|
||||
"<%= $pattern %>": "<%= $replacement %>"
|
||||
<%- } -%>
|
||||
<%- } -%>
|
||||
<%- if $config['disable-default-registry-endpoint'] { -%>
|
||||
disable-default-registry-endpoint: true
|
||||
<%- } -%>
|
||||
<%- } -%>
|
||||
Reference in New Issue
Block a user