forked from suse-edge/Factory
		
	Compare commits
	
		
			93 Commits
		
	
	
		
	
	| Author | SHA256 | Date | |
|---|---|---|---|
| 45343089f7 | |||
| 3aae51cfae | |||
| 75cc915112 | |||
| ad45235c74 | |||
| 947493ce38 | |||
| 6e914e78fd | |||
| 9c481c528a | |||
| b784e686ce | |||
| c82b927ab8 | |||
| c79a6c5dcc | |||
| 04e92de18a | |||
| 1d8d3b3924 | |||
| 019c3da9db | |||
| 6029137fb3 | |||
| 51b4330cab | |||
| 8596d9328b | |||
| 7649db04b8 | |||
| 47ad45bfab | |||
| 4fdcb0ecb7 | |||
| 7723e20aa0 | |||
| 4434e36b70 | |||
| 2f235ceb1a | |||
| 8816f3b054 | |||
| 453f3564aa | |||
| 421b511d19 | |||
| 1f1e6eae55 | |||
| d32507597f | |||
| eaa7dad6f6 | |||
| 9b502acd83 | |||
| 49894ba16d | |||
| 43d5ffa2bd | |||
| 13b4cd50e2 | |||
| 93f5662ace | |||
| a7284b5d35 | |||
| 312688449c | |||
| cfc89b579d | |||
| 
						
						
							
						
						a089bf30e4
	
				 | 
					
					
						|||
| 
						
						
							
						
						6dc2406148
	
				 | 
					
					
						|||
| 
						
						
							
						
						1928a4cc98
	
				 | 
					
					
						|||
| 
						
						
							
						
						5c48860dcd
	
				 | 
					
					
						|||
| 2f6c9b294c | |||
| cfad38ccb4 | |||
| 1872e09bdf | |||
| d15eb56f43 | |||
| c97db6d3a3 | |||
| fbdab3228e | |||
| e6f27f3ecc | |||
| 4fab8da5d5 | |||
| 1583758ffa | |||
| 9cf01c4934 | |||
| 5c9ab033b3 | |||
| 8138909378 | |||
| e55661d20b | |||
| 7ba1026bf5 | |||
| 5b6a86f405 | |||
| 71257047ed | |||
| 
						
						
							
						
						477a4e15eb
	
				 | 
					
					
						|||
| 
						
						
							
						
						be0d25d8f7
	
				 | 
					
					
						|||
| 
						
						
							
						
						70a42948aa
	
				 | 
					
					
						|||
| fb0f99ee20 | |||
| cc8d3fe431 | |||
| 4ee8e8c6f2 | |||
| 79268b8e71 | |||
| d5e487518a | |||
| a7d128b8c4 | |||
| d97b554f8c | |||
| 1ca6ea51ea | |||
| c9b9e2223b | |||
| 027df1b35c | |||
| e7448eeb1c | |||
| fb4d399f0f | |||
| f47b6df822 | |||
| 4e3f1b61fd | |||
| df60bb2ed3 | |||
| 
						
						
							
						
						3a654b9826
	
				 | 
					
					
						|||
| 15e4de98a7 | |||
| 
						
						
							
						
						fe8d0ba120
	
				 | 
					
					
						|||
| 0b431c75e2 | |||
| a59e253ecd | |||
| b28f7a5817 | |||
| 
						
						
							
						
						c6b78eb569
	
				 | 
					
					
						|||
| 
						
						
							
						
						8f7747415c
	
				 | 
					
					
						|||
| e5ba38d02f | |||
| f221cf4b37 | |||
| f42ac11716 | |||
| 08ef2fe86f | |||
| ad221cd94e | |||
| 81a856e586 | |||
| 3c9ebbd7ef | |||
| 03018e5cd1 | |||
| e91096e13e | |||
| 93f3abfeb5 | |||
| 
						
						
							
						
						2c4991cb24
	
				 | 
					
					
						
							
								
								
									
										23
									
								
								.gitea/workflows/check_manifest.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.gitea/workflows/check_manifest.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					name: Check Release Manifest Local Charts Versions
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					      branches-ignore:
 | 
				
			||||||
 | 
					      - "devel"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  sync-pr-project:
 | 
				
			||||||
 | 
					    name: "Check Release Manifest Local Charts Versions"
 | 
				
			||||||
 | 
					    runs-on: tumbleweed
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					        # Waiting on PR to get merged for support in upstream action/checkout action
 | 
				
			||||||
 | 
					      - uses: 'https://github.com/yangskyboxlabs/action-checkout@sha256'
 | 
				
			||||||
 | 
					        name: Checkout repository
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          object-format: 'sha256'
 | 
				
			||||||
 | 
					      - name: Setup dependencies
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          zypper in -y python3-ruamel.yaml
 | 
				
			||||||
 | 
					      - name: Check release manifest
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          python3 .obs/manifest-check.py --check
 | 
				
			||||||
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,3 @@
 | 
				
			|||||||
*/.osc
 | 
					*/.osc
 | 
				
			||||||
*/__pycache__
 | 
					*/__pycache__
 | 
				
			||||||
.venv/
 | 
					.venv/
 | 
				
			||||||
.idea/
 | 
					 | 
				
			||||||
@@ -1,3 +1,3 @@
 | 
				
			|||||||
PROJECT = "isv:SUSE:Edge:Factory:Devel"
 | 
					PROJECT = "isv:SUSE:Edge:3.3"
 | 
				
			||||||
REPOSITORY = "https://src.opensuse.org/suse-edge/Factory"
 | 
					REPOSITORY = "https://src.opensuse.org/suse-edge/Factory"
 | 
				
			||||||
BRANCH = "devel"
 | 
					BRANCH = "3.3"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										84
									
								
								.obs/manifest-check.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										84
									
								
								.obs/manifest-check.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,84 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/python3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import ruamel.yaml
 | 
				
			||||||
 | 
					import pathlib
 | 
				
			||||||
 | 
					import argparse
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					yaml = ruamel.yaml.YAML()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_chart_version(chart_name: str) -> str:
 | 
				
			||||||
 | 
					    with open(f"./{chart_name}-chart/Chart.yaml") as f:
 | 
				
			||||||
 | 
					        chart = yaml.load(f)
 | 
				
			||||||
 | 
					        return chart["version"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_charts(chart):
 | 
				
			||||||
 | 
					    if not chart["chart"].startswith("%%CHART_REPO%%"):
 | 
				
			||||||
 | 
					        # Not a locally managed chart
 | 
				
			||||||
 | 
					        return {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    chart_name = chart["chart"][len("%%CHART_REPO%%/%%CHART_PREFIX%%"):]
 | 
				
			||||||
 | 
					    charts = { chart_name: chart["version"] }
 | 
				
			||||||
 | 
					    for child_chart in chart.get("dependencyCharts", []) + chart.get("addonCharts", []):
 | 
				
			||||||
 | 
					        charts.update(get_charts(child_chart))
 | 
				
			||||||
 | 
					    return charts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_charts_list():
 | 
				
			||||||
 | 
					    with open("./release-manifest-image/release_manifest.yaml") as f:
 | 
				
			||||||
 | 
					        manifest = yaml.load(f)
 | 
				
			||||||
 | 
					    charts = {}
 | 
				
			||||||
 | 
					    for chart in manifest["spec"]["components"]["workloads"]["helm"]:
 | 
				
			||||||
 | 
					        charts.update(get_charts(chart))
 | 
				
			||||||
 | 
					    return charts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def check_charts(fix: bool) -> bool:
 | 
				
			||||||
 | 
					    success = True
 | 
				
			||||||
 | 
					    charts = get_charts_list()
 | 
				
			||||||
 | 
					    to_fix = {}
 | 
				
			||||||
 | 
					    for chart in charts:
 | 
				
			||||||
 | 
					        expected_version = get_chart_version(chart)
 | 
				
			||||||
 | 
					        if expected_version != charts[chart]:
 | 
				
			||||||
 | 
					            success = False
 | 
				
			||||||
 | 
					            to_fix[f'%%CHART_REPO%%/%%CHART_PREFIX%%{chart}'] = expected_version
 | 
				
			||||||
 | 
					            print(f"{chart}: Expected: {expected_version}, Got: {charts[chart]}")
 | 
				
			||||||
 | 
					    if fix and not success:
 | 
				
			||||||
 | 
					        fix_charts(to_fix)
 | 
				
			||||||
 | 
					        return True
 | 
				
			||||||
 | 
					    return success
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def fix_charts(to_fix):
 | 
				
			||||||
 | 
					    manifest_path = pathlib.Path("./release-manifest-image/release_manifest.yaml")
 | 
				
			||||||
 | 
					    manifest = yaml.load(manifest_path)
 | 
				
			||||||
 | 
					    yaml.indent(mapping=2, sequence=4, offset=2)
 | 
				
			||||||
 | 
					    yaml.width = 4096
 | 
				
			||||||
 | 
					    for chart_index, chart in enumerate(manifest["spec"]["components"]["workloads"]["helm"]):
 | 
				
			||||||
 | 
					        changed = False
 | 
				
			||||||
 | 
					        if chart["chart"] in to_fix.keys():
 | 
				
			||||||
 | 
					            changed = True
 | 
				
			||||||
 | 
					            chart["version"] = to_fix[chart["chart"]]
 | 
				
			||||||
 | 
					        for subchart_index, subchart in enumerate(chart.get("addonCharts", [])):
 | 
				
			||||||
 | 
					            if subchart["chart"] in to_fix.keys():
 | 
				
			||||||
 | 
					                changed = True
 | 
				
			||||||
 | 
					                subchart["version"] = to_fix[subchart["chart"]]
 | 
				
			||||||
 | 
					                chart["addonCharts"][subchart_index] = subchart
 | 
				
			||||||
 | 
					        for subchart_index, subchart in enumerate(chart.get("dependencyCharts", [])):
 | 
				
			||||||
 | 
					            if subchart["chart"] in to_fix.keys():
 | 
				
			||||||
 | 
					                changed = True
 | 
				
			||||||
 | 
					                subchart["version"] = to_fix[subchart["chart"]]
 | 
				
			||||||
 | 
					                chart["dependencyCharts"][subchart_index] = subchart
 | 
				
			||||||
 | 
					        if changed:
 | 
				
			||||||
 | 
					            manifest["spec"]["components"]["workloads"]["helm"][chart_index] = chart
 | 
				
			||||||
 | 
					    yaml.dump(manifest, manifest_path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def main():
 | 
				
			||||||
 | 
					    print("Checking charts versions in release manifest")
 | 
				
			||||||
 | 
					    parser = argparse.ArgumentParser()
 | 
				
			||||||
 | 
					    parser.add_argument('-c', '--check', action='store_true')
 | 
				
			||||||
 | 
					    args = parser.parse_args()
 | 
				
			||||||
 | 
					    if not check_charts(not args.check):
 | 
				
			||||||
 | 
					        sys.exit(1)
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        print("All local charts in release manifest are using the right version")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == "__main__":
 | 
				
			||||||
 | 
					    main()
 | 
				
			||||||
@@ -1,65 +0,0 @@
 | 
				
			|||||||
import xml.etree.ElementTree as ET
 | 
					 | 
				
			||||||
import subprocess
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from sync_packages import get_local_packages
 | 
					 | 
				
			||||||
from common import PROJECT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def get_service_repo(package):
 | 
					 | 
				
			||||||
    with open(f"{package}/_service") as service:
 | 
					 | 
				
			||||||
        root = ET.parse(service).getroot()
 | 
					 | 
				
			||||||
        for service in root.findall("service"):
 | 
					 | 
				
			||||||
            if service.get("mode") in ["manual", "disabled"]:
 | 
					 | 
				
			||||||
                continue
 | 
					 | 
				
			||||||
            if service.get("name") not in ["obs_scm", "tar_scm"]:
 | 
					 | 
				
			||||||
                continue
 | 
					 | 
				
			||||||
            ref = service.find("param[@name='revision']").text
 | 
					 | 
				
			||||||
            repo = service.find("param[@name='url']").text
 | 
					 | 
				
			||||||
            return (repo, ref)
 | 
					 | 
				
			||||||
    return None
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def get_remote_ref(project, package):
 | 
					 | 
				
			||||||
    files = subprocess.run(["osc", "ls", "-e", project, package], encoding='utf-8' , capture_output=True).stdout.splitlines()
 | 
					 | 
				
			||||||
    for filename in files:
 | 
					 | 
				
			||||||
        if filename.startswith("_service") and filename.endswith(".obsinfo"):
 | 
					 | 
				
			||||||
            obsinfo = subprocess.run(["osc", "cat", project, package, filename], encoding='utf-8' , capture_output=True).stdout.splitlines()
 | 
					 | 
				
			||||||
            for line in obsinfo:
 | 
					 | 
				
			||||||
                if line.startswith("commit:"):
 | 
					 | 
				
			||||||
                    return line.split(':')[-1].strip()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def get_upstream_ref(repo, ref):
 | 
					 | 
				
			||||||
    refs = subprocess.run(["git", "ls-remote", repo, ref, f"{ref}^{{}}"], encoding='utf-8' , capture_output=True).stdout.splitlines()
 | 
					 | 
				
			||||||
    refpath = ref.split('/')
 | 
					 | 
				
			||||||
    best = None
 | 
					 | 
				
			||||||
    for rref in refs:
 | 
					 | 
				
			||||||
        value = rref.split('\t')
 | 
					 | 
				
			||||||
        (sha, name) = (value[0].strip(), value[1].strip())
 | 
					 | 
				
			||||||
        namepath = name.split('/')
 | 
					 | 
				
			||||||
        if len(namepath) == len(refpath) or len(namepath) - 2 == len(refpath):
 | 
					 | 
				
			||||||
            if name.endswith(ref) and best is None:
 | 
					 | 
				
			||||||
                best = sha
 | 
					 | 
				
			||||||
            if name.endswith("^{}"):
 | 
					 | 
				
			||||||
                best = sha
 | 
					 | 
				
			||||||
    return best
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def trigger_service(project, package):
 | 
					 | 
				
			||||||
    subprocess.run(["osc", "service", "remoterun", project, package], encoding="utf-8",check=True)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def main():
 | 
					 | 
				
			||||||
    packages = get_local_packages()
 | 
					 | 
				
			||||||
    for package in packages:
 | 
					 | 
				
			||||||
        try:
 | 
					 | 
				
			||||||
            (repo, ref) = get_service_repo(package)
 | 
					 | 
				
			||||||
            print(f"{package} uses {repo} at {ref}")
 | 
					 | 
				
			||||||
        except: # Package is not using server side scm service
 | 
					 | 
				
			||||||
            continue
 | 
					 | 
				
			||||||
        remote_ref = get_remote_ref(PROJECT, package)
 | 
					 | 
				
			||||||
        upstream_ref = get_upstream_ref(repo, ref)
 | 
					 | 
				
			||||||
        if upstream_ref != remote_ref:
 | 
					 | 
				
			||||||
            print(f"\t{package} needs a refresh")
 | 
					 | 
				
			||||||
            print(f"\tOBS ref is {remote_ref}")
 | 
					 | 
				
			||||||
            print(f"\tgit ref is {upstream_ref}")
 | 
					 | 
				
			||||||
            trigger_service(PROJECT, package)
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
if __name__ == "__main__":
 | 
					 | 
				
			||||||
    main()
 | 
					 | 
				
			||||||
							
								
								
									
										10
									
								
								.pre-commit-config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.pre-commit-config.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					repos:
 | 
				
			||||||
 | 
					  - repo: local
 | 
				
			||||||
 | 
					    hooks:
 | 
				
			||||||
 | 
					      - id: check-manifest
 | 
				
			||||||
 | 
					        name: "Check release-manifest"
 | 
				
			||||||
 | 
					        entry: python3 .obs/manifest-check.py
 | 
				
			||||||
 | 
					        language: python
 | 
				
			||||||
 | 
					        additional_dependencies: ['ruamel.yaml']
 | 
				
			||||||
 | 
					        pass_filenames: false
 | 
				
			||||||
 | 
					        always_run: true
 | 
				
			||||||
							
								
								
									
										11
									
								
								_config
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								_config
									
									
									
									
									
								
							@@ -108,7 +108,12 @@ BuildFlags: onlybuild:release-manifest-image
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # Publish multi-arch container images only once all archs have been built
 | 
					    # Publish multi-arch container images only once all archs have been built
 | 
				
			||||||
    PublishFlags: archsync
 | 
					    PublishFlags: archsync
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # skopeo and umoci are used by build scripts to list packages
 | 
				
			||||||
 | 
					    Substitute: system-packages:podman podman buildah createrepo_c release-compare skopeo umoci
 | 
				
			||||||
 | 
					%endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%if "%_repository" == "images"
 | 
				
			||||||
    # skopeo and umoci are used by build scripts to list packages
 | 
					    # skopeo and umoci are used by build scripts to list packages
 | 
				
			||||||
    Substitute: system-packages:podman podman buildah createrepo_c release-compare edge-build-checks skopeo umoci
 | 
					    Substitute: system-packages:podman podman buildah createrepo_c release-compare edge-build-checks skopeo umoci
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -122,6 +127,8 @@ BuildFlags: onlybuild:release-manifest-image
 | 
				
			|||||||
    Patterntype: none
 | 
					    Patterntype: none
 | 
				
			||||||
    BuildFlags: dockerarg:SLE_VERSION=16.0
 | 
					    BuildFlags: dockerarg:SLE_VERSION=16.0
 | 
				
			||||||
    BuildFlags: onlybuild:kiwi-builder-image
 | 
					    BuildFlags: onlybuild:kiwi-builder-image
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    Substitute: system-packages:podman podman buildah createrepo_c release-compare skopeo umoci
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Publish multi-arch container images only once all archs have been built
 | 
					    # Publish multi-arch container images only once all archs have been built
 | 
				
			||||||
    PublishFlags: archsync
 | 
					    PublishFlags: archsync
 | 
				
			||||||
@@ -140,7 +147,9 @@ BuildFlags: onlybuild:release-manifest-image
 | 
				
			|||||||
    %endif
 | 
					    %endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%else
 | 
					%else
 | 
				
			||||||
    BuildFlags: excludebuild:kiwi-builder-image
 | 
					    %if "%{sub %{reverse %_project} 1 7}" != "%{reverse :ToTest}" && "%{sub %{reverse %_project} 1 9}" != "%{reverse :Snapshot}"
 | 
				
			||||||
 | 
					      BuildFlags: excludebuild:kiwi-builder-image
 | 
				
			||||||
 | 
					    %endif
 | 
				
			||||||
%endif
 | 
					%endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								_meta
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								_meta
									
									
									
									
									
								
							@@ -23,6 +23,9 @@
 | 
				
			|||||||
    <disable/>
 | 
					    <disable/>
 | 
				
			||||||
    <enable repository="charts"/>
 | 
					    <enable repository="charts"/>
 | 
				
			||||||
    <enable repository="test_manifest_images"/>
 | 
					    <enable repository="test_manifest_images"/>
 | 
				
			||||||
 | 
					    {%- if for_release %}
 | 
				
			||||||
 | 
					    <enable repository="releasecharts"/>
 | 
				
			||||||
 | 
					    {%- endif %}
 | 
				
			||||||
  </build>
 | 
					  </build>
 | 
				
			||||||
  <publish>
 | 
					  <publish>
 | 
				
			||||||
    <disable repository="phantomcharts"/>
 | 
					    <disable repository="phantomcharts"/>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.1
 | 
					#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.2
 | 
				
			||||||
#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.1_up1.3.0
 | 
					#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.2_up1.3.1
 | 
				
			||||||
#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.1_up1.3.0-%RELEASE%
 | 
					#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.2_up1.3.1-%RELEASE%
 | 
				
			||||||
annotations:
 | 
					annotations:
 | 
				
			||||||
  catalog.cattle.io/certified: rancher
 | 
					  catalog.cattle.io/certified: rancher
 | 
				
			||||||
  catalog.cattle.io/namespace: cattle-ui-plugin-system
 | 
					  catalog.cattle.io/namespace: cattle-ui-plugin-system
 | 
				
			||||||
@@ -10,13 +10,13 @@ annotations:
 | 
				
			|||||||
  catalog.cattle.io/ui-component: plugins
 | 
					  catalog.cattle.io/ui-component: plugins
 | 
				
			||||||
  catalog.cattle.io/display-name: Akri
 | 
					  catalog.cattle.io/display-name: Akri
 | 
				
			||||||
  catalog.cattle.io/rancher-version: '>= 2.11.0-0'
 | 
					  catalog.cattle.io/rancher-version: '>= 2.11.0-0'
 | 
				
			||||||
  catalog.cattle.io/ui-extensions-version: '>= 3.0.4 < 4.0.0'
 | 
					  catalog.cattle.io/ui-extensions-version: '>= 3.0.2 < 4.0.0'
 | 
				
			||||||
  catalog.cattle.io/kube-version: '>= v1.26.0-0'
 | 
					  catalog.cattle.io/kube-version: '>= v1.26.0-0'
 | 
				
			||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
appVersion: 303.0.1+up1.3.0
 | 
					appVersion: 303.0.2+up1.3.1
 | 
				
			||||||
description: 'SUSE Edge: Akri extension for Rancher Dashboard'
 | 
					description: 'SUSE Edge: Akri extension for Rancher Dashboard'
 | 
				
			||||||
name: akri-dashboard-extension
 | 
					name: akri-dashboard-extension
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: "%%CHART_MAJOR%%.0.1+up1.3.0"
 | 
					version: "%%CHART_MAJOR%%.0.2+up1.3.1"
 | 
				
			||||||
icon: >-
 | 
					icon: >-
 | 
				
			||||||
  https://raw.githubusercontent.com/cncf/artwork/main/projects/akri/icon/color/akri-icon-color.svg
 | 
					  https://raw.githubusercontent.com/cncf/artwork/main/projects/akri/icon/color/akri-icon-color.svg
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ spec:
 | 
				
			|||||||
  plugin:
 | 
					  plugin:
 | 
				
			||||||
    name: {{ include "extension-server.fullname" . }}
 | 
					    name: {{ include "extension-server.fullname" . }}
 | 
				
			||||||
    version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
 | 
					    version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
 | 
				
			||||||
    endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/akri-dashboard-extension/303.0.1+up1.3.0
 | 
					    endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/akri-dashboard-extension/303.0.2+up1.3.1
 | 
				
			||||||
    noCache: {{ .Values.plugin.noCache }}
 | 
					    noCache: {{ .Values.plugin.noCache }}
 | 
				
			||||||
    noAuth: {{ .Values.plugin.noAuth }}
 | 
					    noAuth: {{ .Values.plugin.noAuth }}
 | 
				
			||||||
    metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
 | 
					    metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,5 +8,5 @@ plugin:
 | 
				
			|||||||
  metadata:
 | 
					  metadata:
 | 
				
			||||||
    catalog.cattle.io/display-name: Akri
 | 
					    catalog.cattle.io/display-name: Akri
 | 
				
			||||||
    catalog.cattle.io/rancher-version: ">= 2.11.0-0"
 | 
					    catalog.cattle.io/rancher-version: ">= 2.11.0-0"
 | 
				
			||||||
    catalog.cattle.io/ui-extensions-version: ">= 3.0.4 < 4.0.0"
 | 
					    catalog.cattle.io/ui-extensions-version: ">= 3.0.2 < 4.0.0"
 | 
				
			||||||
    catalog.cattle.io/kube-version: ">= v1.26.0-0"
 | 
					    catalog.cattle.io/kube-version: ">= v1.26.0-0"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,13 @@
 | 
				
			|||||||
# SPDX-License-Identifier: Apache-2.0
 | 
					# SPDX-License-Identifier: Apache-2.0
 | 
				
			||||||
#!BuildTag: %%IMG_PREFIX%%baremetal-operator:%%baremetal-operator_version%%
 | 
					#!BuildTag: %%IMG_PREFIX%%baremetal-operator:%%baremetal-operator_version%%.1
 | 
				
			||||||
#!BuildTag: %%IMG_PREFIX%%baremetal-operator:%%baremetal-operator_version%%-%RELEASE%
 | 
					#!BuildTag: %%IMG_PREFIX%%baremetal-operator:%%baremetal-operator_version%%.1-%RELEASE%
 | 
				
			||||||
#!BuildVersion: 15.6
 | 
					#!BuildVersion: 15.6
 | 
				
			||||||
ARG SLE_VERSION
 | 
					ARG SLE_VERSION
 | 
				
			||||||
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
 | 
					FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
 | 
					FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
 | 
				
			||||||
COPY --from=micro / /installroot/
 | 
					COPY --from=micro / /installroot/
 | 
				
			||||||
RUN zypper --installroot /installroot --non-interactive install --no-recommends baremetal-operator iproute2 bind-utils vim shadow; zypper -n clean; rm -rf /var/log/*
 | 
					RUN zypper --installroot /installroot --non-interactive install --no-recommends baremetal-operator inotify-tools procps iproute2 bind-utils vim shadow; zypper -n clean; rm -rf /var/log/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM micro AS final
 | 
					FROM micro AS final
 | 
				
			||||||
# Define labels according to https://en.opensuse.org/Building_derived_containers
 | 
					# Define labels according to https://en.opensuse.org/Building_derived_containers
 | 
				
			||||||
@@ -19,7 +19,7 @@ LABEL org.opencontainers.image.version="%%baremetal-operator_version%%"
 | 
				
			|||||||
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
 | 
					LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
 | 
				
			||||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
					LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
				
			||||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
					LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
				
			||||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%baremetal-operator:%%baremetal-operator_version%%-%RELEASE%"
 | 
					LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%baremetal-operator:%%baremetal-operator_version%%.1-%RELEASE%"
 | 
				
			||||||
LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
					LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
				
			||||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
					LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
				
			||||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
					LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
				
			||||||
@@ -29,6 +29,8 @@ LABEL com.suse.release-stage="released"
 | 
				
			|||||||
# endlabelprefix
 | 
					# endlabelprefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY --from=base /installroot /
 | 
					COPY --from=base /installroot /
 | 
				
			||||||
 | 
					COPY bmo-run /usr/bin/bmo-run
 | 
				
			||||||
 | 
					RUN chmod +x /usr/bin/bmo-run
 | 
				
			||||||
RUN groupadd -r -g 11000 bmo
 | 
					RUN groupadd -r -g 11000 bmo
 | 
				
			||||||
RUN useradd -u 11000 -g 11000 bmo
 | 
					RUN useradd -u 11000 -g 11000 bmo
 | 
				
			||||||
ENTRYPOINT [ "/usr/bin/baremetal-operator" ]
 | 
					ENTRYPOINT [ "/usr/bin/bmo-run" ]
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								baremetal-operator-image/bmo-run
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								baremetal-operator-image/bmo-run
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					export RESTART_CONTAINER_CERTIFICATE_UPDATED=${RESTART_CONTAINER_CERTIFICATE_UPDATED:-"false"}
 | 
				
			||||||
 | 
					export IRONIC_CACERT_FILE=${IRONIC_CACERT_FILE:-"/opt/metal3/certs/ca/tls.crt"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ "${RESTART_CONTAINER_CERTIFICATE_UPDATED}" == "true" ]]; then
 | 
				
			||||||
 | 
					    # shellcheck disable=SC2034
 | 
				
			||||||
 | 
					    inotifywait -m -e delete_self "${IRONIC_CACERT_FILE}" | while read -r file event; do
 | 
				
			||||||
 | 
					        kill $(pgrep baremetal-opera)
 | 
				
			||||||
 | 
					    done &
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exec /usr/bin/baremetal-operator $@
 | 
				
			||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
#!BuildTag: %%CHART_PREFIX%%cdi:%%CHART_MAJOR%%.0.0_up0.4.0
 | 
					#!BuildTag: %%CHART_PREFIX%%cdi:%%CHART_MAJOR%%.0.0_up0.5.0
 | 
				
			||||||
#!BuildTag: %%CHART_PREFIX%%cdi:%%CHART_MAJOR%%.0.0_up0.4.0-%RELEASE%
 | 
					#!BuildTag: %%CHART_PREFIX%%cdi:%%CHART_MAJOR%%.0.0_up0.5.0-%RELEASE%
 | 
				
			||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
appVersion: 1.60.1
 | 
					appVersion: 1.61.0
 | 
				
			||||||
description: A Helm chart for Containerized Data Importer (CDI)
 | 
					description: A Helm chart for Containerized Data Importer (CDI)
 | 
				
			||||||
icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/kubevirt/icon/color/kubevirt-icon-color.svg
 | 
					icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/kubevirt/icon/color/kubevirt-icon-color.svg
 | 
				
			||||||
name: cdi
 | 
					name: cdi
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: "%%CHART_MAJOR%%.0.0+up0.4.0"
 | 
					version: "%%CHART_MAJOR%%.0.0+up0.5.0"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5079,4 +5079,4 @@ spec:
 | 
				
			|||||||
          type: object
 | 
					          type: object
 | 
				
			||||||
      served: true
 | 
					      served: true
 | 
				
			||||||
      storage: true
 | 
					      storage: true
 | 
				
			||||||
      subresources: {}
 | 
					      subresources: {}
 | 
				
			||||||
@@ -1,2 +1,2 @@
 | 
				
			|||||||
Verify that all CDI components are installed correctly:
 | 
					Verify that all CDI components are installed correctly:
 | 
				
			||||||
  kubectl get all -n {{ .Release.Namespace }}
 | 
					  kubectl get all -n {{ .Release.Namespace }}
 | 
				
			||||||
@@ -59,4 +59,4 @@ Create the name of the service account to use
 | 
				
			|||||||
{{- else }}
 | 
					{{- else }}
 | 
				
			||||||
{{- default "default" .Values.serviceAccount.name }}
 | 
					{{- default "default" .Values.serviceAccount.name }}
 | 
				
			||||||
{{- end }}
 | 
					{{- end }}
 | 
				
			||||||
{{- end }}
 | 
					{{- end }}
 | 
				
			||||||
@@ -44,4 +44,4 @@
 | 
				
			|||||||
{{/* CRD uninstalling hook name */}}
 | 
					{{/* CRD uninstalling hook name */}}
 | 
				
			||||||
{{- define "cdi.crdUninstallHook.name" -}}
 | 
					{{- define "cdi.crdUninstallHook.name" -}}
 | 
				
			||||||
{{ include "cdi.fullname" . }}-crd-uninstall
 | 
					{{ include "cdi.fullname" . }}-crd-uninstall
 | 
				
			||||||
{{- end }}
 | 
					{{- end }}
 | 
				
			||||||
@@ -606,17 +606,7 @@ spec:
 | 
				
			|||||||
        prometheus.cdi.kubevirt.io: "true"
 | 
					        prometheus.cdi.kubevirt.io: "true"
 | 
				
			||||||
    spec:
 | 
					    spec:
 | 
				
			||||||
      affinity:
 | 
					      affinity:
 | 
				
			||||||
        podAffinity:
 | 
					{{- .Values.deployment.affinity | toYaml | nindent 8 }}
 | 
				
			||||||
          preferredDuringSchedulingIgnoredDuringExecution:
 | 
					 | 
				
			||||||
            - podAffinityTerm:
 | 
					 | 
				
			||||||
                labelSelector:
 | 
					 | 
				
			||||||
                  matchExpressions:
 | 
					 | 
				
			||||||
                    - key: cdi.kubevirt.io
 | 
					 | 
				
			||||||
                      operator: In
 | 
					 | 
				
			||||||
                      values:
 | 
					 | 
				
			||||||
                        - cdi-operator
 | 
					 | 
				
			||||||
                topologyKey: kubernetes.io/hostname
 | 
					 | 
				
			||||||
              weight: 1
 | 
					 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
        - env:
 | 
					        - env:
 | 
				
			||||||
            - name: DEPLOY_CLUSTER_RESOURCES
 | 
					            - name: DEPLOY_CLUSTER_RESOURCES
 | 
				
			||||||
@@ -650,9 +640,7 @@ spec:
 | 
				
			|||||||
              name: metrics
 | 
					              name: metrics
 | 
				
			||||||
              protocol: TCP
 | 
					              protocol: TCP
 | 
				
			||||||
          resources:
 | 
					          resources:
 | 
				
			||||||
            requests:
 | 
					{{- .Values.deployment.resources | toYaml | nindent 12 }}
 | 
				
			||||||
              cpu: 100m
 | 
					 | 
				
			||||||
              memory: 150Mi
 | 
					 | 
				
			||||||
          securityContext:
 | 
					          securityContext:
 | 
				
			||||||
            allowPrivilegeEscalation: false
 | 
					            allowPrivilegeEscalation: false
 | 
				
			||||||
            capabilities:
 | 
					            capabilities:
 | 
				
			||||||
@@ -661,6 +649,8 @@ spec:
 | 
				
			|||||||
            runAsNonRoot: true
 | 
					            runAsNonRoot: true
 | 
				
			||||||
            seccompProfile:
 | 
					            seccompProfile:
 | 
				
			||||||
              type: RuntimeDefault
 | 
					              type: RuntimeDefault
 | 
				
			||||||
 | 
					          terminationMessagePath: /dev/termination-log
 | 
				
			||||||
 | 
					          terminationMessagePolicy: File
 | 
				
			||||||
      nodeSelector:
 | 
					      nodeSelector:
 | 
				
			||||||
        kubernetes.io/os: linux
 | 
					        kubernetes.io/os: linux
 | 
				
			||||||
      securityContext:
 | 
					      securityContext:
 | 
				
			||||||
@@ -668,4 +658,4 @@ spec:
 | 
				
			|||||||
      serviceAccountName: cdi-operator
 | 
					      serviceAccountName: cdi-operator
 | 
				
			||||||
      tolerations:
 | 
					      tolerations:
 | 
				
			||||||
        - key: CriticalAddonsOnly
 | 
					        - key: CriticalAddonsOnly
 | 
				
			||||||
          operator: Exists
 | 
					          operator: Exists
 | 
				
			||||||
@@ -66,4 +66,4 @@ spec:
 | 
				
			|||||||
            - deployments/cdi-apiserver
 | 
					            - deployments/cdi-apiserver
 | 
				
			||||||
            - deployments/cdi-deployment
 | 
					            - deployments/cdi-deployment
 | 
				
			||||||
            - deployments/cdi-uploadproxy
 | 
					            - deployments/cdi-uploadproxy
 | 
				
			||||||
            - --timeout=60s
 | 
					            - --timeout=60s
 | 
				
			||||||
@@ -18,4 +18,4 @@ spec:
 | 
				
			|||||||
  {{- with .Values.cdi.workload }}
 | 
					  {{- with .Values.cdi.workload }}
 | 
				
			||||||
  workload:
 | 
					  workload:
 | 
				
			||||||
  {{- toYaml . | nindent 4 }}
 | 
					  {{- toYaml . | nindent 4 }}
 | 
				
			||||||
  {{- end }}
 | 
					  {{- end }}
 | 
				
			||||||
@@ -52,4 +52,4 @@ spec:
 | 
				
			|||||||
            - customresourcedefinitions
 | 
					            - customresourcedefinitions
 | 
				
			||||||
            - cdis.cdi.kubevirt.io
 | 
					            - cdis.cdi.kubevirt.io
 | 
				
			||||||
          securityContext:
 | 
					          securityContext:
 | 
				
			||||||
            {{- toYaml .Values.hookSecurityContext | nindent 12 }}
 | 
					            {{- toYaml .Values.hookSecurityContext | nindent 12 }}
 | 
				
			||||||
@@ -77,4 +77,4 @@ spec:
 | 
				
			|||||||
            name: cdi-crd-manifest
 | 
					            name: cdi-crd-manifest
 | 
				
			||||||
            items:
 | 
					            items:
 | 
				
			||||||
              - key: crd
 | 
					              - key: crd
 | 
				
			||||||
                path: crd.yaml
 | 
					                path: crd.yaml
 | 
				
			||||||
@@ -53,4 +53,4 @@ spec:
 | 
				
			|||||||
            - label
 | 
					            - label
 | 
				
			||||||
            - namespace
 | 
					            - namespace
 | 
				
			||||||
            - {{ .Release.Namespace }}
 | 
					            - {{ .Release.Namespace }}
 | 
				
			||||||
            - cdi.kubevirt.io=
 | 
					            - cdi.kubevirt.io=
 | 
				
			||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
deployment:
 | 
					deployment:
 | 
				
			||||||
  version: 1.60.1-150600.3.9.1
 | 
					  version: 1.61.0-150600.3.12.1
 | 
				
			||||||
  operatorImage: registry.suse.com/suse/sles/15.6/cdi-operator
 | 
					  operatorImage: registry.suse.com/suse/sles/15.6/cdi-operator
 | 
				
			||||||
  controllerImage: registry.suse.com/suse/sles/15.6/cdi-controller
 | 
					  controllerImage: registry.suse.com/suse/sles/15.6/cdi-controller
 | 
				
			||||||
  importerImage: registry.suse.com/suse/sles/15.6/cdi-importer
 | 
					  importerImage: registry.suse.com/suse/sles/15.6/cdi-importer
 | 
				
			||||||
@@ -8,6 +8,22 @@ deployment:
 | 
				
			|||||||
  uploadserverImage: registry.suse.com/suse/sles/15.6/cdi-uploadserver
 | 
					  uploadserverImage: registry.suse.com/suse/sles/15.6/cdi-uploadserver
 | 
				
			||||||
  uploadproxyImage: registry.suse.com/suse/sles/15.6/cdi-uploadproxy
 | 
					  uploadproxyImage: registry.suse.com/suse/sles/15.6/cdi-uploadproxy
 | 
				
			||||||
  pullPolicy: IfNotPresent
 | 
					  pullPolicy: IfNotPresent
 | 
				
			||||||
 | 
					  affinity:
 | 
				
			||||||
 | 
					    podAffinity:
 | 
				
			||||||
 | 
					      preferredDuringSchedulingIgnoredDuringExecution:
 | 
				
			||||||
 | 
					        - podAffinityTerm:
 | 
				
			||||||
 | 
					            labelSelector:
 | 
				
			||||||
 | 
					              matchExpressions:
 | 
				
			||||||
 | 
					                - key: cdi.kubevirt.io
 | 
				
			||||||
 | 
					                  operator: In
 | 
				
			||||||
 | 
					                  values:
 | 
				
			||||||
 | 
					                    - cdi-operator
 | 
				
			||||||
 | 
					            topologyKey: kubernetes.io/hostname
 | 
				
			||||||
 | 
					          weight: 1
 | 
				
			||||||
 | 
					  resources:
 | 
				
			||||||
 | 
					    requests:
 | 
				
			||||||
 | 
					      cpu: 100m
 | 
				
			||||||
 | 
					      memory: 150Mi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdi:
 | 
					cdi:
 | 
				
			||||||
  config:
 | 
					  config:
 | 
				
			||||||
@@ -35,4 +51,4 @@ hookSecurityContext:
 | 
				
			|||||||
  allowPrivilegeEscalation: false
 | 
					  allowPrivilegeEscalation: false
 | 
				
			||||||
  capabilities:
 | 
					  capabilities:
 | 
				
			||||||
    drop:
 | 
					    drop:
 | 
				
			||||||
      - ALL
 | 
					      - ALL
 | 
				
			||||||
@@ -8,6 +8,7 @@ import pprint
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
AUTHORIZED_REPOS = [
 | 
					AUTHORIZED_REPOS = [
 | 
				
			||||||
    "registry.suse.com/suse/sles/",
 | 
					    "registry.suse.com/suse/sles/",
 | 
				
			||||||
 | 
					    "registry.suse.com/rancher",
 | 
				
			||||||
    "registry.rancher.com",
 | 
					    "registry.rancher.com",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:%PACKAGE_VERSION%
 | 
					#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.2.1
 | 
				
			||||||
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:%PACKAGE_VERSION%-%RELEASE%
 | 
					#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.2.1-%RELEASE%
 | 
				
			||||||
#!BuildVersion: 15.6
 | 
					#!BuildVersion: 15.6
 | 
				
			||||||
ARG SLE_VERSION
 | 
					ARG SLE_VERSION
 | 
				
			||||||
FROM registry.suse.com/bci/bci-base:$SLE_VERSION
 | 
					FROM registry.suse.com/bci/bci-base:$SLE_VERSION
 | 
				
			||||||
@@ -15,11 +15,11 @@ RUN zypper --non-interactive install --no-recommends edge-image-builder qemu-x86
 | 
				
			|||||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
					LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
				
			||||||
LABEL org.opencontainers.image.title="SLE edge-image-builder Container Image"
 | 
					LABEL org.opencontainers.image.title="SLE edge-image-builder Container Image"
 | 
				
			||||||
LABEL org.opencontainers.image.description="edge-image-builder based on the SLE Base Container Image."
 | 
					LABEL org.opencontainers.image.description="edge-image-builder based on the SLE Base Container Image."
 | 
				
			||||||
LABEL org.opencontainers.image.version="%PACKAGE_VERSION%"
 | 
					LABEL org.opencontainers.image.version="1.2.1"
 | 
				
			||||||
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
 | 
					LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
 | 
				
			||||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
					LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
				
			||||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
					LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
				
			||||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%edge-image-builder:%PACKAGE_VERSION%-%RELEASE%"
 | 
					LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%edge-image-builder:1.2.1-%RELEASE%"
 | 
				
			||||||
LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
					LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
				
			||||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
					LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
				
			||||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
					LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,5 @@
 | 
				
			|||||||
<services>
 | 
					<services>
 | 
				
			||||||
  <service mode="buildtime" name="kiwi_metainfo_helper"/>
 | 
					  <service mode="buildtime" name="kiwi_metainfo_helper"/>
 | 
				
			||||||
  <service name="replace_using_package_version" mode="buildtime">
 | 
					 | 
				
			||||||
      <param name="file">Dockerfile</param>
 | 
					 | 
				
			||||||
      <param name="regex">%PACKAGE_VERSION%</param>
 | 
					 | 
				
			||||||
      <param name="package">edge-image-builder</param>
 | 
					 | 
				
			||||||
    </service>
 | 
					 | 
				
			||||||
  <service name="replace_using_env" mode="buildtime">
 | 
					  <service name="replace_using_env" mode="buildtime">
 | 
				
			||||||
    <param name="file">Dockerfile</param>
 | 
					    <param name="file">Dockerfile</param>
 | 
				
			||||||
    <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
 | 
					    <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,15 @@
 | 
				
			|||||||
<services>
 | 
					<services>
 | 
				
			||||||
  <service name="obs_scm">
 | 
					  <service name="obs_scm">
 | 
				
			||||||
    <param name="url">https://github.com/suse-edge/edge-image-builder.git</param>
 | 
					    <param name="url">https://github.com/suse-edge/edge-image-builder.git</param>
 | 
				
			||||||
    <param name="versionformat">@PARENT_TAG@_%h.%ad</param>
 | 
					 | 
				
			||||||
    <param name="scm">git</param>
 | 
					    <param name="scm">git</param>
 | 
				
			||||||
    <param name="exclude">.git</param>
 | 
					    <param name="exclude">.git</param>
 | 
				
			||||||
    <param name="revision">main</param>
 | 
					    <param name="revision">v1.2.1</param>
 | 
				
			||||||
    <param name="versionrewrite-pattern">v(.*)</param>
 | 
					    <!-- Uncomment and set this For Pre-Release Version -->
 | 
				
			||||||
    <param name="versionrewrite-replacement">\1</param>
 | 
					    <!-- <param name="version">1.2.0~rc1</param> -->
 | 
				
			||||||
 | 
					    <!-- Uncomment and this for regular version -->
 | 
				
			||||||
 | 
					    <param name="versionformat">@PARENT_TAG@</param>
 | 
				
			||||||
 | 
					    <param name="versionrewrite-pattern">v(\d+).(\d+).(\d+)</param>
 | 
				
			||||||
 | 
					    <param name="versionrewrite-replacement">\1.\2.\3</param>
 | 
				
			||||||
    <param name="changesgenerate">enable</param>
 | 
					    <param name="changesgenerate">enable</param>
 | 
				
			||||||
  </service>
 | 
					  </service>
 | 
				
			||||||
  <service mode="buildtime" name="tar">
 | 
					  <service mode="buildtime" name="tar">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Name:           edge-image-builder
 | 
					Name:           edge-image-builder
 | 
				
			||||||
Version:        0
 | 
					Version:        1.2.1
 | 
				
			||||||
Release:        0
 | 
					Release:        0
 | 
				
			||||||
Summary:        Edge Image Builder
 | 
					Summary:        Edge Image Builder
 | 
				
			||||||
License:        Apache-2.0
 | 
					License:        Apache-2.0
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,6 @@
 | 
				
			|||||||
# SPDX-License-Identifier: Apache-2.0
 | 
					# SPDX-License-Identifier: Apache-2.0
 | 
				
			||||||
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.3
 | 
					#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.8
 | 
				
			||||||
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.3-%RELEASE%
 | 
					#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.8-%RELEASE%
 | 
				
			||||||
#!BuildVersion: 15.6
 | 
					 | 
				
			||||||
ARG SLE_VERSION
 | 
					ARG SLE_VERSION
 | 
				
			||||||
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
 | 
					FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -19,11 +18,11 @@ FROM micro AS final
 | 
				
			|||||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
					LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
				
			||||||
LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image"
 | 
					LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image"
 | 
				
			||||||
LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image."
 | 
					LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image."
 | 
				
			||||||
LABEL org.opencontainers.image.version="3.0.3"
 | 
					LABEL org.opencontainers.image.version="3.0.8"
 | 
				
			||||||
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
 | 
					LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
 | 
				
			||||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
					LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
				
			||||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
					LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
				
			||||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.3-%RELEASE%"
 | 
					LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.8-%RELEASE%"
 | 
				
			||||||
LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
					LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
				
			||||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
					LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
				
			||||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
					LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
				
			||||||
@@ -34,8 +33,6 @@ LABEL com.suse.release-stage="released"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
COPY --from=base /installroot /
 | 
					COPY --from=base /installroot /
 | 
				
			||||||
RUN cp /getopt /usr/bin/
 | 
					RUN cp /getopt /usr/bin/
 | 
				
			||||||
RUN cp /srv/tftpboot/openstack-ironic-image/initrd*.zst /tmp
 | 
					 | 
				
			||||||
RUN cp /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel /tmp
 | 
					 | 
				
			||||||
RUN sha256sum /srv/tftpboot/openstack-ironic-image/initrd*.zst /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel > /tmp/images.sha256
 | 
					RUN sha256sum /srv/tftpboot/openstack-ironic-image/initrd*.zst /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel > /tmp/images.sha256
 | 
				
			||||||
# configure non-root user
 | 
					# configure non-root user
 | 
				
			||||||
COPY configure-nonroot.sh /bin/
 | 
					COPY configure-nonroot.sh /bin/
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										43
									
								
								ironic-ipa-downloader-image/Dockerfile.aarch64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								ironic-ipa-downloader-image/Dockerfile.aarch64
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					# SPDX-License-Identifier: Apache-2.0
 | 
				
			||||||
 | 
					#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader-aarch64:3.0.8
 | 
				
			||||||
 | 
					#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader-aarch64:3.0.8-%RELEASE%
 | 
				
			||||||
 | 
					ARG SLE_VERSION
 | 
				
			||||||
 | 
					FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
 | 
				
			||||||
 | 
					COPY --from=micro / /installroot/
 | 
				
			||||||
 | 
					RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf
 | 
				
			||||||
 | 
					RUN zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-aarch64 tar gawk curl xz zstd shadow cpio findutils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN cp /usr/bin/getopt /installroot/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM micro AS final
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Define labels according to https://en.opensuse.org/Building_derived_containers
 | 
				
			||||||
 | 
					# labelprefix=com.suse.application.ironic
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image."
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.version="3.0.8"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
				
			||||||
 | 
					LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.8-%RELEASE%"
 | 
				
			||||||
 | 
					LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
				
			||||||
 | 
					LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
				
			||||||
 | 
					LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
				
			||||||
 | 
					LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle"
 | 
				
			||||||
 | 
					LABEL com.suse.image-type="application"
 | 
				
			||||||
 | 
					LABEL com.suse.release-stage="released"
 | 
				
			||||||
 | 
					# endlabelprefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY --from=base /installroot /
 | 
				
			||||||
 | 
					RUN cp /getopt /usr/bin/
 | 
				
			||||||
 | 
					RUN sha256sum /srv/tftpboot/openstack-ironic-image/initrd*.zst /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel > /tmp/images.sha256
 | 
				
			||||||
 | 
					# configure non-root user
 | 
				
			||||||
 | 
					COPY configure-nonroot.sh /bin/
 | 
				
			||||||
 | 
					RUN set -euo pipefail; chmod +x /bin/configure-nonroot.sh
 | 
				
			||||||
 | 
					RUN set -euo pipefail; /bin/configure-nonroot.sh && rm -f /bin/configure-nonroot.sh
 | 
				
			||||||
 | 
					COPY get-resource.sh /usr/local/bin/get-resource.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN set -euo pipefail; chmod +x /usr/local/bin/get-resource.sh
 | 
				
			||||||
							
								
								
									
										43
									
								
								ironic-ipa-downloader-image/Dockerfile.x86_64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								ironic-ipa-downloader-image/Dockerfile.x86_64
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					# SPDX-License-Identifier: Apache-2.0
 | 
				
			||||||
 | 
					#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader-x86_64:3.0.8
 | 
				
			||||||
 | 
					#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader-x86_64:3.0.8-%RELEASE%
 | 
				
			||||||
 | 
					ARG SLE_VERSION
 | 
				
			||||||
 | 
					FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
 | 
				
			||||||
 | 
					COPY --from=micro / /installroot/
 | 
				
			||||||
 | 
					RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf
 | 
				
			||||||
 | 
					RUN zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-x86_64 tar gawk curl xz zstd shadow cpio findutils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN cp /usr/bin/getopt /installroot/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM micro AS final
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Define labels according to https://en.opensuse.org/Building_derived_containers
 | 
				
			||||||
 | 
					# labelprefix=com.suse.application.ironic
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image."
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.version="3.0.8"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
				
			||||||
 | 
					LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
				
			||||||
 | 
					LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.8-%RELEASE%"
 | 
				
			||||||
 | 
					LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
				
			||||||
 | 
					LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
				
			||||||
 | 
					LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
				
			||||||
 | 
					LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle"
 | 
				
			||||||
 | 
					LABEL com.suse.image-type="application"
 | 
				
			||||||
 | 
					LABEL com.suse.release-stage="released"
 | 
				
			||||||
 | 
					# endlabelprefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY --from=base /installroot /
 | 
				
			||||||
 | 
					RUN cp /getopt /usr/bin/
 | 
				
			||||||
 | 
					RUN sha256sum /srv/tftpboot/openstack-ironic-image/initrd*.zst /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel > /tmp/images.sha256
 | 
				
			||||||
 | 
					# configure non-root user
 | 
				
			||||||
 | 
					COPY configure-nonroot.sh /bin/
 | 
				
			||||||
 | 
					RUN set -euo pipefail; chmod +x /bin/configure-nonroot.sh
 | 
				
			||||||
 | 
					RUN set -euo pipefail; /bin/configure-nonroot.sh && rm -f /bin/configure-nonroot.sh
 | 
				
			||||||
 | 
					COPY get-resource.sh /usr/local/bin/get-resource.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN set -euo pipefail; chmod +x /usr/local/bin/get-resource.sh
 | 
				
			||||||
							
								
								
									
										4
									
								
								ironic-ipa-downloader-image/_multibuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								ironic-ipa-downloader-image/_multibuild
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					<multibuild>
 | 
				
			||||||
 | 
					  <flavor>x86_64</flavor>
 | 
				
			||||||
 | 
					  <flavor>aarch64</flavor>
 | 
				
			||||||
 | 
					</multibuild>
 | 
				
			||||||
@@ -2,6 +2,8 @@
 | 
				
			|||||||
  <service mode="buildtime" name="kiwi_metainfo_helper"/>
 | 
					  <service mode="buildtime" name="kiwi_metainfo_helper"/>
 | 
				
			||||||
  <service mode="buildtime" name="docker_label_helper"/>
 | 
					  <service mode="buildtime" name="docker_label_helper"/>
 | 
				
			||||||
  <service name="replace_using_env" mode="buildtime">
 | 
					  <service name="replace_using_env" mode="buildtime">
 | 
				
			||||||
 | 
					    <param name="file">Dockerfile.aarch64</param>
 | 
				
			||||||
 | 
					    <param name="file">Dockerfile.x86_64</param>
 | 
				
			||||||
    <param name="file">Dockerfile</param>
 | 
					    <param name="file">Dockerfile</param>
 | 
				
			||||||
    <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
 | 
					    <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
 | 
				
			||||||
    <param name="var">IMG_PREFIX</param>
 | 
					    <param name="var">IMG_PREFIX</param>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,8 @@ export http_proxy=${http_proxy:-$HTTP_PROXY}
 | 
				
			|||||||
export https_proxy=${https_proxy:-$HTTPS_PROXY}
 | 
					export https_proxy=${https_proxy:-$HTTPS_PROXY}
 | 
				
			||||||
export no_proxy=${no_proxy:-$NO_PROXY}
 | 
					export no_proxy=${no_proxy:-$NO_PROXY}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IMAGES_BASE_PATH="/srv/tftpboot/openstack-ironic-image"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ -d "/tmp/ironic-certificates" ]; then
 | 
					if [ -d "/tmp/ironic-certificates" ]; then
 | 
				
			||||||
  sha256sum /tmp/ironic-certificates/* > /tmp/certificates.sha256
 | 
					  sha256sum /tmp/ironic-certificates/* > /tmp/certificates.sha256
 | 
				
			||||||
  if cmp "/shared/certificates.sha256" "/tmp/certificates.sha256"; then
 | 
					  if cmp "/shared/certificates.sha256" "/tmp/certificates.sha256"; then
 | 
				
			||||||
@@ -26,11 +28,15 @@ if [ -z "${IPA_BASEURI}" ]; then
 | 
				
			|||||||
  IMAGE_CHANGED=1
 | 
					  IMAGE_CHANGED=1
 | 
				
			||||||
  # SLES BASED IPA - ironic-ipa-ramdisk-x86_64 and ironic-ipa-ramdisk-aarch64 packages
 | 
					  # SLES BASED IPA - ironic-ipa-ramdisk-x86_64 and ironic-ipa-ramdisk-aarch64 packages
 | 
				
			||||||
  mkdir -p /shared/html/images
 | 
					  mkdir -p /shared/html/images
 | 
				
			||||||
  cp /tmp/initrd-x86_64.zst /shared/html/images/ironic-python-agent-x86_64.initramfs
 | 
					  if [ -f ${IMAGES_BASE_PATH}/initrd-x86_64.zst ]; then
 | 
				
			||||||
  cp /tmp/openstack-ironic-image.x86_64*.kernel /shared/html/images/ironic-python-agent-x86_64.kernel
 | 
					    cp ${IMAGES_BASE_PATH}/initrd-x86_64.zst /shared/html/images/ironic-python-agent-x86_64.initramfs
 | 
				
			||||||
 | 
					    cp ${IMAGES_BASE_PATH}/openstack-ironic-image.x86_64*.kernel /shared/html/images/ironic-python-agent-x86_64.kernel
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
  # Use arm64 as destination for iPXE compatibility
 | 
					  # Use arm64 as destination for iPXE compatibility
 | 
				
			||||||
  cp /tmp/initrd-aarch64.zst /shared/html/images/ironic-python-agent-arm64.initramfs
 | 
					  if [ -f ${IMAGES_BASE_PATH}/initrd-aarch64.zst ]; then
 | 
				
			||||||
  cp /tmp/openstack-ironic-image.aarch64*.kernel /shared/html/images/ironic-python-agent-arm64.kernel
 | 
					    cp ${IMAGES_BASE_PATH}/initrd-aarch64.zst /shared/html/images/ironic-python-agent-arm64.initramfs
 | 
				
			||||||
 | 
					    cp ${IMAGES_BASE_PATH}/openstack-ironic-image.aarch64*.kernel /shared/html/images/ironic-python-agent-arm64.kernel
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  cp /tmp/images.sha256 /shared/images.sha256
 | 
					  cp /tmp/images.sha256 /shared/images.sha256
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,15 +13,10 @@ echo "Configure image: [$kiwi_iname]..."
 | 
				
			|||||||
#------------------------------------------
 | 
					#------------------------------------------
 | 
				
			||||||
baseSetupBuildDay
 | 
					baseSetupBuildDay
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#======================================
 | 
					 | 
				
			||||||
# Mount system filesystems
 | 
					 | 
				
			||||||
#--------------------------------------
 | 
					 | 
				
			||||||
#baseMount
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#==========================================
 | 
					#==========================================
 | 
				
			||||||
# remove unneded kernel files
 | 
					# remove unneded kernel files
 | 
				
			||||||
#------------------------------------------
 | 
					#------------------------------------------
 | 
				
			||||||
suseStripKernel
 | 
					#suseStripKernel
 | 
				
			||||||
baseStripLocales en_US.utf-8 C.utf8
 | 
					baseStripLocales en_US.utf-8 C.utf8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#======================================
 | 
					#======================================
 | 
				
			||||||
@@ -39,12 +34,8 @@ suseImportBuildKey
 | 
				
			|||||||
#--------------------------------------
 | 
					#--------------------------------------
 | 
				
			||||||
baseInsertService openstack-ironic-python-agent
 | 
					baseInsertService openstack-ironic-python-agent
 | 
				
			||||||
baseInsertService suse-ironic-image-setup
 | 
					baseInsertService suse-ironic-image-setup
 | 
				
			||||||
baseInsertService suse-network-setup
 | 
					 | 
				
			||||||
baseInsertService sshd
 | 
					baseInsertService sshd
 | 
				
			||||||
baseInsertService NetworkManager
 | 
					baseInsertService NetworkManager
 | 
				
			||||||
#suseInsertService sshd
 | 
					 | 
				
			||||||
#suseInsertService openstack-ironic-python-agent
 | 
					 | 
				
			||||||
#suseInsertService suse-ironic-image-setup
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo 'DEFAULT_TIMEZONE="UTC"' >> /etc/sysconfig/clock
 | 
					echo 'DEFAULT_TIMEZONE="UTC"' >> /etc/sysconfig/clock
 | 
				
			||||||
baseUpdateSysConfig /etc/sysconfig/clock HWCLOCK "-u"
 | 
					baseUpdateSysConfig /etc/sysconfig/clock HWCLOCK "-u"
 | 
				
			||||||
@@ -64,42 +55,7 @@ sed -E 's/^(ExecStart=.*\/agetty).*(--noclear.*)/\1 \2 --autologin root/' /usr/l
 | 
				
			|||||||
#------------------------------------------
 | 
					#------------------------------------------
 | 
				
			||||||
echo 'tmpfs /tmp tmpfs size=3G 0 0' >> /etc/fstab
 | 
					echo 'tmpfs /tmp tmpfs size=3G 0 0' >> /etc/fstab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#==========================================
 | 
					 | 
				
			||||||
# remove package docs and manuals
 | 
					 | 
				
			||||||
#------------------------------------------
 | 
					 | 
				
			||||||
#baseStripDocs
 | 
					 | 
				
			||||||
#baseStripMans
 | 
					 | 
				
			||||||
#baseStripInfos
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#======================================
 | 
					 | 
				
			||||||
# only basic version of vim is
 | 
					 | 
				
			||||||
# installed; no syntax highlighting
 | 
					 | 
				
			||||||
#--------------------------------------
 | 
					 | 
				
			||||||
sed -i -e's/^syntax on/" syntax on/' /etc/vimrc
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#======================================
 | 
					 | 
				
			||||||
# Remove yast if not in use
 | 
					 | 
				
			||||||
#--------------------------------------
 | 
					 | 
				
			||||||
#suseRemoveYaST
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#======================================
 | 
					 | 
				
			||||||
# Remove package manager
 | 
					 | 
				
			||||||
#--------------------------------------
 | 
					 | 
				
			||||||
#suseStripPackager
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#rm -f usr/lib/perl5/*/*/auto/Encode/??/??.so # 9MB
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#======================================
 | 
					 | 
				
			||||||
# Umount kernel filesystems
 | 
					 | 
				
			||||||
#--------------------------------------
 | 
					 | 
				
			||||||
#baseCleanMount
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ln -s /sbin/init /init
 | 
					ln -s /sbin/init /init
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#==========================================
 | 
					 | 
				
			||||||
# umount
 | 
					 | 
				
			||||||
#------------------------------------------
 | 
					 | 
				
			||||||
umount /proc >/dev/null 2>&1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
exit 0
 | 
					exit 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,7 @@
 | 
				
			|||||||
        <locale>en_US</locale>
 | 
					        <locale>en_US</locale>
 | 
				
			||||||
        <packagemanager>zypper</packagemanager>
 | 
					        <packagemanager>zypper</packagemanager>
 | 
				
			||||||
        <rpm-check-signatures>false</rpm-check-signatures>
 | 
					        <rpm-check-signatures>false</rpm-check-signatures>
 | 
				
			||||||
 | 
					        <rpm-excludedocs>true</rpm-excludedocs>
 | 
				
			||||||
        <timezone>UTC</timezone>
 | 
					        <timezone>UTC</timezone>
 | 
				
			||||||
        <version>1.0.0</version> 
 | 
					        <version>1.0.0</version> 
 | 
				
			||||||
    </preferences>	
 | 
					    </preferences>	
 | 
				
			||||||
@@ -27,68 +28,6 @@
 | 
				
			|||||||
      <source path="dir:///.build.binaries"/>
 | 
					      <source path="dir:///.build.binaries"/>
 | 
				
			||||||
    </repository>
 | 
					    </repository>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <drivers>
 | 
					 | 
				
			||||||
        <file name="crypto/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/acpi/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/acpi/dock.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/ata/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/block/brd.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/block/cciss.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/block/loop.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/block/virtio_blk.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/cdrom/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/char/hw_random/virtio-rng.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/char/lp.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/char/ipmi/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/firmware/iscsi_ibft.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/firmware/edd.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/gpu/drm/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/hid/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/hv/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/hwmon/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/ide/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/input/keyboard/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/input/mouse/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/md/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/message/fusion/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/misc/hpilo.ko"/>
 | 
					 | 
				
			||||||
        <file name="drivers/net/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/parport/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/scsi/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/staging/hv/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/target/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/thermal/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/usb/*"/>
 | 
					 | 
				
			||||||
        <file name="drivers/virtio/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/binfmt_aout.ko"/>
 | 
					 | 
				
			||||||
        <file name="fs/binfmt_misc.ko"/>
 | 
					 | 
				
			||||||
        <file name="fs/overlayfs/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/btrfs/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/exportfs/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/ext4/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/fat/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/fuse/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/hfs/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/jbd2/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/nfs/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/mbcache.ko"/>
 | 
					 | 
				
			||||||
        <file name="fs/nls/nls_cp437.ko"/>
 | 
					 | 
				
			||||||
        <file name="fs/nls/nls_iso8859-1.ko"/>
 | 
					 | 
				
			||||||
        <file name="fs/nls/nls_utf8.ko"/>
 | 
					 | 
				
			||||||
        <file name="fs/quota_v1.ko"/>
 | 
					 | 
				
			||||||
        <file name="fs/quota_v2.ko"/>
 | 
					 | 
				
			||||||
        <file name="fs/squashfs/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/udf/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/vfat/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/xfs/*"/>
 | 
					 | 
				
			||||||
        <file name="fs/isofs/*"/>
 | 
					 | 
				
			||||||
        <file name="lib/crc-t10dif.ko"/>
 | 
					 | 
				
			||||||
        <file name="lib/crc16.ko"/>
 | 
					 | 
				
			||||||
        <file name="lib/libcrc32c.ko"/>
 | 
					 | 
				
			||||||
        <file name="lib/zlib_deflate/zlib_deflate.ko"/>
 | 
					 | 
				
			||||||
        <file name="net/packet/*"/>
 | 
					 | 
				
			||||||
    </drivers>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <packages type="delete">
 | 
					    <packages type="delete">
 | 
				
			||||||
        <package name="gpg2"/>
 | 
					        <package name="gpg2"/>
 | 
				
			||||||
        <package name="libcairo2"/>
 | 
					        <package name="libcairo2"/>
 | 
				
			||||||
@@ -102,64 +41,25 @@
 | 
				
			|||||||
        <package name="libxcb-render0"/>
 | 
					        <package name="libxcb-render0"/>
 | 
				
			||||||
        <package name="libxcb-shm0"/>
 | 
					        <package name="libxcb-shm0"/>
 | 
				
			||||||
        <package name="libxcb1"/>
 | 
					        <package name="libxcb1"/>
 | 
				
			||||||
        <package name="plymouth"/>
 | 
					        <package name="kernel-firmware-amdgpu"/>
 | 
				
			||||||
        <package name="plymouth-branding-SLE"/>
 | 
					        <package name="kernel-firmware-ath10k"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-ath11k"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-ath12k"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-atheros"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-bluetooth"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-brcm"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-i915"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-iwlwifi"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-media"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-nvidia"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-qcom"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-radeon"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-realtek"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-sound"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-ti"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-ueagle"/>
 | 
				
			||||||
    </packages>
 | 
					    </packages>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <packages type="image">
 | 
					 | 
				
			||||||
        <package name="checkmedia"/>
 | 
					 | 
				
			||||||
        <package name="plymouth-branding-SLE"/>
 | 
					 | 
				
			||||||
        <package name="plymouth-dracut"/>
 | 
					 | 
				
			||||||
        <package name="plymouth-theme-bgrt"/>
 | 
					 | 
				
			||||||
        <package name="grub2-branding-SLE"/>
 | 
					 | 
				
			||||||
        <package name="iputils"/>
 | 
					 | 
				
			||||||
        <package name="vim"/>
 | 
					 | 
				
			||||||
        <package name="grub2"/>
 | 
					 | 
				
			||||||
        <package name="grub2-x86_64-efi" arch="x86_64"/>
 | 
					 | 
				
			||||||
        <package name="grub2-arm64-efi" arch="aarch64"/>
 | 
					 | 
				
			||||||
        <package name="grub2-i386-pc" arch="x86_64"/>
 | 
					 | 
				
			||||||
        <package name="syslinux" arch="x86_64"/>
 | 
					 | 
				
			||||||
        <package name="lvm2"/>
 | 
					 | 
				
			||||||
        <package name="plymouth"/>
 | 
					 | 
				
			||||||
        <package name="fontconfig"/>
 | 
					 | 
				
			||||||
        <package name="fonts-config"/>
 | 
					 | 
				
			||||||
        <package name="openssh"/>
 | 
					 | 
				
			||||||
        <package name="iproute2"/>
 | 
					 | 
				
			||||||
        <package name="which"/>
 | 
					 | 
				
			||||||
        <package name="kernel-firmware"/>
 | 
					 | 
				
			||||||
        <package name="kernel-default"/>
 | 
					 | 
				
			||||||
        <package name="NetworkManager"/>
 | 
					 | 
				
			||||||
        <package name="nm-configurator"/>
 | 
					 | 
				
			||||||
        <package name="timezone"/>
 | 
					 | 
				
			||||||
        <package name="haveged"/>
 | 
					 | 
				
			||||||
        <!-- ironic-python-agent specific -->
 | 
					 | 
				
			||||||
        <package name="openstack-ironic-python-agent"/>
 | 
					 | 
				
			||||||
        <package name="hdparm"/>
 | 
					 | 
				
			||||||
        <package name="qemu-tools"/>
 | 
					 | 
				
			||||||
        <package name="python311-proliantutils"/>
 | 
					 | 
				
			||||||
        <package name="lshw"/>
 | 
					 | 
				
			||||||
        <package name="dmidecode"/>
 | 
					 | 
				
			||||||
        <package name="efibootmgr"/>
 | 
					 | 
				
			||||||
        <package name="gptfdisk"/>
 | 
					 | 
				
			||||||
        <package name="open-iscsi"/>
 | 
					 | 
				
			||||||
        <package name="hwinfo"/>
 | 
					 | 
				
			||||||
        <package name="ipmitool"/>
 | 
					 | 
				
			||||||
        <package name="iputils"/>
 | 
					 | 
				
			||||||
        <package name="lvm2"/>
 | 
					 | 
				
			||||||
        <package name="net-tools"/>
 | 
					 | 
				
			||||||
        <package name="ntp"/>
 | 
					 | 
				
			||||||
        <package name="parted"/>
 | 
					 | 
				
			||||||
        <package name="psmisc"/>
 | 
					 | 
				
			||||||
        <package name="timezone"/>
 | 
					 | 
				
			||||||
        <package name="which"/>
 | 
					 | 
				
			||||||
        <package name="kbd"/>
 | 
					 | 
				
			||||||
    </packages>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <packages type="kis">
 | 
					 | 
				
			||||||
        <package name="dracut-kiwi-oem-repart"/>
 | 
					 | 
				
			||||||
        <package name="dracut-kiwi-oem-dump"/>
 | 
					 | 
				
			||||||
    </packages> 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <packages type="bootstrap">
 | 
					    <packages type="bootstrap">
 | 
				
			||||||
        <package name="glibc-locale"/>
 | 
					        <package name="glibc-locale"/>
 | 
				
			||||||
        <package name="udev"/>
 | 
					        <package name="udev"/>
 | 
				
			||||||
@@ -167,5 +67,50 @@
 | 
				
			|||||||
        <package name="cracklib-dict-full"/>
 | 
					        <package name="cracklib-dict-full"/>
 | 
				
			||||||
        <package name="ca-certificates"/>
 | 
					        <package name="ca-certificates"/>
 | 
				
			||||||
        <package name="sles-release"/>
 | 
					        <package name="sles-release"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <package name="checkmedia"/>
 | 
				
			||||||
 | 
					        <package name="fontconfig"/>
 | 
				
			||||||
 | 
					        <package name="fonts-config"/>
 | 
				
			||||||
 | 
					        <package name="grub2-arm64-efi" arch="aarch64"/>
 | 
				
			||||||
 | 
					        <package name="grub2-branding-SLE"/>
 | 
				
			||||||
 | 
					        <package name="grub2-i386-pc" arch="x86_64"/>
 | 
				
			||||||
 | 
					        <package name="grub2-x86_64-efi" arch="x86_64"/>
 | 
				
			||||||
 | 
					        <package name="grub2"/>
 | 
				
			||||||
 | 
					        <package name="iproute2"/>
 | 
				
			||||||
 | 
					        <package name="iputils"/>
 | 
				
			||||||
 | 
					        <package name="kernel-default"/>
 | 
				
			||||||
 | 
					        <package name="kernel-firmware-all"/>
 | 
				
			||||||
 | 
					        <package name="lvm2"/>
 | 
				
			||||||
 | 
					        <package name="NetworkManager"/>
 | 
				
			||||||
 | 
					        <package name="nm-configurator"/>
 | 
				
			||||||
 | 
					        <package name="openssh"/>
 | 
				
			||||||
 | 
					        <package name="timezone"/>
 | 
				
			||||||
 | 
					        <package name="which"/>
 | 
				
			||||||
 | 
					        <!-- ironic-python-agent specific -->
 | 
				
			||||||
 | 
					        <package name="dmidecode"/>
 | 
				
			||||||
 | 
					        <package name="efibootmgr"/>
 | 
				
			||||||
 | 
					        <package name="gptfdisk"/>
 | 
				
			||||||
 | 
					        <package name="hdparm"/>
 | 
				
			||||||
 | 
					        <package name="hwinfo"/>
 | 
				
			||||||
 | 
					        <package name="ipmitool"/>
 | 
				
			||||||
 | 
					        <package name="iputils"/>
 | 
				
			||||||
 | 
					        <package name="kbd"/>
 | 
				
			||||||
 | 
					        <package name="lshw"/>
 | 
				
			||||||
 | 
					        <package name="lvm2"/>
 | 
				
			||||||
 | 
					        <package name="net-tools"/>
 | 
				
			||||||
 | 
					        <package name="ntp"/>
 | 
				
			||||||
 | 
					        <package name="open-iscsi"/>
 | 
				
			||||||
 | 
					        <package name="openstack-ironic-python-agent"/>
 | 
				
			||||||
 | 
					        <package name="parted"/>
 | 
				
			||||||
 | 
					        <package name="psmisc"/>
 | 
				
			||||||
 | 
					        <package name="python311-proliantutils"/>
 | 
				
			||||||
 | 
					        <package name="qemu-tools"/>
 | 
				
			||||||
 | 
					        <package name="timezone"/>
 | 
				
			||||||
 | 
					        <package name="which"/>
 | 
				
			||||||
    </packages>
 | 
					    </packages>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <packages type="kis">
 | 
				
			||||||
 | 
					        <package name="dracut-kiwi-oem-repart"/>
 | 
				
			||||||
 | 
					        <package name="dracut-kiwi-oem-dump"/>
 | 
				
			||||||
 | 
					    </packages> 
 | 
				
			||||||
</image>
 | 
					</image>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Name:           ironic-ipa-ramdisk
 | 
					Name:           ironic-ipa-ramdisk
 | 
				
			||||||
Version:        3.0.3
 | 
					Version:        3.0.7
 | 
				
			||||||
Release:        0
 | 
					Release:        0
 | 
				
			||||||
Summary:        Kernel and ramdisk image for OpenStack Ironic
 | 
					Summary:        Kernel and ramdisk image for OpenStack Ironic
 | 
				
			||||||
License:        SUSE-EULA
 | 
					License:        SUSE-EULA
 | 
				
			||||||
@@ -27,7 +27,7 @@ Group:          System/Management
 | 
				
			|||||||
URL:            https://github.com/SUSE-Cloud/
 | 
					URL:            https://github.com/SUSE-Cloud/
 | 
				
			||||||
Source0:        config.sh
 | 
					Source0:        config.sh
 | 
				
			||||||
Source10:       ironic-ipa-ramdisk.kiwi
 | 
					Source10:       ironic-ipa-ramdisk.kiwi
 | 
				
			||||||
Source20:       root.tar.bz2
 | 
					Source20:       root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BuildRequires:  -post-build-checks
 | 
					BuildRequires:  -post-build-checks
 | 
				
			||||||
BuildRequires:  bash
 | 
					BuildRequires:  bash
 | 
				
			||||||
@@ -38,7 +38,7 @@ BuildArch:      noarch
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
BuildRequires:  checkmedia
 | 
					BuildRequires:  checkmedia
 | 
				
			||||||
BuildRequires:  acl
 | 
					BuildRequires:  acl
 | 
				
			||||||
BuildRequires:  ca-certificates
 | 
					BuildRequires:  ca-certificates-mozilla-prebuilt
 | 
				
			||||||
BuildRequires:  cracklib-dict-full
 | 
					BuildRequires:  cracklib-dict-full
 | 
				
			||||||
BuildRequires:  cron
 | 
					BuildRequires:  cron
 | 
				
			||||||
BuildRequires:  dbus-1
 | 
					BuildRequires:  dbus-1
 | 
				
			||||||
@@ -62,7 +62,7 @@ BuildRequires:  ipmitool
 | 
				
			|||||||
BuildRequires:  iproute2
 | 
					BuildRequires:  iproute2
 | 
				
			||||||
BuildRequires:  iputils
 | 
					BuildRequires:  iputils
 | 
				
			||||||
BuildRequires:  kernel-default
 | 
					BuildRequires:  kernel-default
 | 
				
			||||||
BuildRequires:  kernel-firmware
 | 
					BuildRequires:  kernel-firmware-all
 | 
				
			||||||
BuildRequires:  lvm2
 | 
					BuildRequires:  lvm2
 | 
				
			||||||
BuildRequires:  net-tools
 | 
					BuildRequires:  net-tools
 | 
				
			||||||
BuildRequires:  ntp
 | 
					BuildRequires:  ntp
 | 
				
			||||||
@@ -123,13 +123,13 @@ Kernel and ramdisk image for use with Metal3
 | 
				
			|||||||
For %{_arch}
 | 
					For %{_arch}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%prep
 | 
					%prep
 | 
				
			||||||
mkdir -p /tmp/openstack-ironic-image/build /tmp/openstack-ironic-image/root /tmp/openstack-ironic-image/img
 | 
					mkdir -p /tmp/openstack-ironic-image/build /tmp/openstack-ironic-image/img
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cp -a %{SOURCE0} /tmp/openstack-ironic-image/config.sh
 | 
					cp -a %{SOURCE0} /tmp/openstack-ironic-image/config.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cp -a %{SOURCE10} /tmp/openstack-ironic-image/config.kiwi
 | 
					cp -a %{SOURCE10} /tmp/openstack-ironic-image/config.kiwi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
tar -xC /tmp/openstack-ironic-image/root -f %{SOURCE20}
 | 
					cp -ar %{SOURCE20} /tmp/openstack-ironic-image/root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%build
 | 
					%build
 | 
				
			||||||
if ! which kiwi; then
 | 
					if ! which kiwi; then
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								ironic-ipa-ramdisk/root.tar.bz2
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ironic-ipa-ramdisk/root.tar.bz2
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					# WARNING: This file has been modified by the diskimage-builder
 | 
				
			||||||
 | 
					# dhcp-all-interfaces element as this machine is likely running
 | 
				
			||||||
 | 
					# a ramdisk or needs to attempt auto-configuration on all interfaces.
 | 
				
			||||||
 | 
					[main]
 | 
				
			||||||
 | 
					# This makes sense even with dhcp on all interfaces in the event
 | 
				
			||||||
 | 
					# that the configuration has been or is being supplied via external means.
 | 
				
			||||||
 | 
					ignore-carrier=*
 | 
				
			||||||
 | 
					# Use dhclient as was done previously to the Centos8/RHEL8 RPM defaults.
 | 
				
			||||||
 | 
					# This is because dhclient shuts the interface down after a retry attempt
 | 
				
			||||||
 | 
					# which allows the link state to reset with some switches, which may be
 | 
				
			||||||
 | 
					# important for the ramdisk to recover networking.
 | 
				
			||||||
 | 
					dhcp=dhclient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[connection]
 | 
				
			||||||
 | 
					# Keep retrying, this is important for this important espescialy for
 | 
				
			||||||
 | 
					# ramdisks in environments where varying switch configurations may
 | 
				
			||||||
 | 
					# cause traffic to be blocked or intermittent connectivity failures
 | 
				
			||||||
 | 
					# such as those at an edge site may cause issues.
 | 
				
			||||||
 | 
					autoconnect-retries=-1
 | 
				
			||||||
 | 
					# Set the timeout. Diskimage-builder dhcp-all-interfaces has a 30
 | 
				
			||||||
 | 
					# second default. NetworkManager, by default, is 45 seconds.
 | 
				
			||||||
 | 
					# In some cases where ramdisks are in use, 60 seconds is advisable.
 | 
				
			||||||
 | 
					ipv4.dhcp-timeout=30
 | 
				
			||||||
 | 
					ipv6.dhcp-timeout=30
 | 
				
			||||||
							
								
								
									
										1
									
								
								ironic-ipa-ramdisk/root/etc/ironic-python-agent.conf.d
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								ironic-ipa-ramdisk/root/etc/ironic-python-agent.conf.d
									
									
									
									
									
										Symbolic link
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					ironic-python-agent/ironic-python-agent.conf.d
 | 
				
			||||||
							
								
								
									
										1
									
								
								ironic-ipa-ramdisk/root/etc/issue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ironic-ipa-ramdisk/root/etc/issue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					SUSE Ironic Python Agent Ramdisk - terminal \l
 | 
				
			||||||
							
								
								
									
										2
									
								
								ironic-ipa-ramdisk/root/etc/sysctl.d/98-rp_filter.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								ironic-ipa-ramdisk/root/etc/sysctl.d/98-rp_filter.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					# avoid problems with multiple network interfaces
 | 
				
			||||||
 | 
					net.ipv4.conf.all.rp_filter=0
 | 
				
			||||||
@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					#WantsMountsFor=/mnt/ipa
 | 
				
			||||||
 | 
					After=mnt-ipa.mount
 | 
				
			||||||
 | 
					Wants=mnt-ipa.mount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					ExecStartPre=-/usr/local/bin/suse-network-setup.sh
 | 
				
			||||||
							
								
								
									
										7
									
								
								ironic-ipa-ramdisk/root/etc/systemd/system/mnt-ipa.mount
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ironic-ipa-ramdisk/root/etc/systemd/system/mnt-ipa.mount
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=config-2 rom consumed by IPA for networking configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Mount]
 | 
				
			||||||
 | 
					What=/dev/ipa
 | 
				
			||||||
 | 
					Where=/mnt/ipa
 | 
				
			||||||
 | 
					TimeoutSec=30
 | 
				
			||||||
@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Setup ironic-python-agent image
 | 
				
			||||||
 | 
					After=getty.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					Type=oneshot
 | 
				
			||||||
 | 
					ExecStart=/usr/local/bin/suse-ironic-image-setup.sh
 | 
				
			||||||
 | 
					StandardOutput=journal+console
 | 
				
			||||||
 | 
					RemainAfterExit=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Before=local-fs.target
 | 
				
			||||||
 | 
					WantedBy=local-fs.target
 | 
				
			||||||
@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					ACTION=="add|change", SUBSYSTEM=="block", ENV{ID_FS_LABEL}=="config-2", ENV{ID_FS_PUBLISHER_ID}=="?*", PROGRAM="/usr/local/bin/suse-test-config-2.sh", SYMLINK+="ipa"
 | 
				
			||||||
							
								
								
									
										52
									
								
								ironic-ipa-ramdisk/root/usr/local/bin/suse-ironic-image-setup.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										52
									
								
								ironic-ipa-ramdisk/root/usr/local/bin/suse-ironic-image-setup.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					PARAMS=$(</proc/cmdline)
 | 
				
			||||||
 | 
					# find vfloppy device (based on IPA code)
 | 
				
			||||||
 | 
					VMEDIA_DEVICE=$(find /dev/disk/by-label -iname ir-vfd-dev)
 | 
				
			||||||
 | 
					# read params from vmedia and prepend them to params from kernel cmdline
 | 
				
			||||||
 | 
					if [[ -b "$VMEDIA_DEVICE" ]]; then
 | 
				
			||||||
 | 
					  VMEDIA_MOUNT=$(mktemp -d)
 | 
				
			||||||
 | 
					  if mount -o loop $VMEDIA_DEVICE $VMEDIA_MOUNT; then
 | 
				
			||||||
 | 
					    # parameters.txt has one param per line, reformat to match cmdline
 | 
				
			||||||
 | 
					    VMEDIA_PARAMS=$(cat $VMEDIA_MOUNT/parameters.txt | tr '\n' ' ')
 | 
				
			||||||
 | 
					    umount $VMEDIA_MOUNT
 | 
				
			||||||
 | 
					    PARAMS="$VMEDIA_PARAMS $PARAMS"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  rmdir $VMEDIA_MOUNT
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# resize /tmp
 | 
				
			||||||
 | 
					if [[ $PARAMS =~ suse.tmpsize=([^ ]+) ]]; then
 | 
				
			||||||
 | 
					  echo "Resizing /tmp to ${BASH_REMATCH[1]}..."
 | 
				
			||||||
 | 
					  mount -o remount,size=${BASH_REMATCH[1]} /tmp
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					# deploy authorized sshkey from kernel command line
 | 
				
			||||||
 | 
					if [[ $PARAMS =~ sshkey=\"([^\"]+)\" ]]; then
 | 
				
			||||||
 | 
					  echo "Adding authorized SSH key..."
 | 
				
			||||||
 | 
					  (umask 077 ; mkdir -p /root/.ssh)
 | 
				
			||||||
 | 
					  echo "${BASH_REMATCH[1]}" >> /root/.ssh/authorized_keys
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					# Inject certs
 | 
				
			||||||
 | 
					if [[ $PARAMS =~ tls.enabled=(true|True) ]]; then
 | 
				
			||||||
 | 
					  cp /etc/ironic-python-agent.d/ca-certs/* /etc/pki/trust/anchors/
 | 
				
			||||||
 | 
					  cp /etc/ironic-python-agent.d/ca-certs/* /usr/share/pki/trust/anchors/
 | 
				
			||||||
 | 
					  update-ca-certificates
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					# autologin root on given console (default tty1) if suse.autologin or coreos.autologin is enabled
 | 
				
			||||||
 | 
					if [[ $PARAMS =~ (suse|coreos)\.autologin=?([^ ]*) ]]; then
 | 
				
			||||||
 | 
					  tty="${BASH_REMATCH[2]:-tty1}"
 | 
				
			||||||
 | 
					  echo "Enabling autologin on $tty..."
 | 
				
			||||||
 | 
					  systemctl stop getty@$tty
 | 
				
			||||||
 | 
					  systemctl disable getty@$tty
 | 
				
			||||||
 | 
					  systemctl start autologin@$tty
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Append to /etc/hosts
 | 
				
			||||||
 | 
					# hosts.append=1.2.3.4_foo,4.5.6.7_foo2
 | 
				
			||||||
 | 
					if [[ $PARAMS =~ hosts.append=([^ ]+) ]]; then
 | 
				
			||||||
 | 
					  HOSTS=${BASH_REMATCH[1]}
 | 
				
			||||||
 | 
					  echo "Appending to hosts ${HOSTS}..."
 | 
				
			||||||
 | 
					  for h in ${HOSTS/,/ }; do
 | 
				
			||||||
 | 
					    echo "${h/_/ }" >> /etc/hosts
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					  cat /etc/hosts
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										24
									
								
								ironic-ipa-ramdisk/root/usr/local/bin/suse-network-setup.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								ironic-ipa-ramdisk/root/usr/local/bin/suse-network-setup.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -eux
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Inspired by/based on glean-early.sh
 | 
				
			||||||
 | 
					# https://opendev.org/opendev/glean/src/branch/master/glean/init/glean-early.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NOTE(TheJulia): We care about iso images, and would expect lower case as a
 | 
				
			||||||
 | 
					# result. In the case of VFAT partitions, they would be upper case.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PATH=/bin:/usr/bin:/sbin:/usr/sbin
 | 
				
			||||||
 | 
					NETWORK_DATA_FILE="/mnt/ipa/openstack/latest/network_data.json"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ ! -f "${NETWORK_DATA_FILE}" ]; then
 | 
				
			||||||
 | 
						echo "No network_data.json found, skipping network configuration"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mkdir -p /tmp/nmc/{desired,generated}
 | 
				
			||||||
 | 
					cp ${NETWORK_DATA_FILE} /tmp/nmc/desired/_all.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nmc generate --config-dir /tmp/nmc/desired --output-dir /tmp/nmc/generated
 | 
				
			||||||
 | 
					nmc apply --config-dir /tmp/nmc/generated
 | 
				
			||||||
							
								
								
									
										23
									
								
								ironic-ipa-ramdisk/root/usr/local/bin/suse-test-config-2.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								ironic-ipa-ramdisk/root/usr/local/bin/suse-test-config-2.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -eux
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PATH=/bin:/usr/bin:/sbin:/usr/sbin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Transform the ID from the drive being considered to lower case
 | 
				
			||||||
 | 
					device_publisher_id=$(echo ${ID_FS_PUBLISHER_ID} | tr '[A-Z]' '[a-z]')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Retrieve the publisher ID from the command line and convert to lower case
 | 
				
			||||||
 | 
					cmdline_publisher_id=""
 | 
				
			||||||
 | 
					if grep -q "ir_pub_id" /proc/cmdline; then
 | 
				
			||||||
 | 
					    cmdline_publisher_id=$(cat /proc/cmdline | sed -e 's/^.*ir_pub_id=//' -e 's/ .*$//')
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Is this the filesystem we are looking for?
 | 
				
			||||||
 | 
					if [[ "${cmdline_publisher_id}" == "${device_publisher_id}" ]]; then
 | 
				
			||||||
 | 
						# It is the device we are looking for, return success
 | 
				
			||||||
 | 
						exit 0
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						# Not a match, return failure
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0-%RELEASE%
 | 
					#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.2.12.0-%RELEASE%
 | 
				
			||||||
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0
 | 
					#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.2.12.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Base image version, should match the tag above
 | 
				
			||||||
ARG KIWIVERSION="10.2.12"
 | 
					ARG KIWIVERSION="10.2.12"
 | 
				
			||||||
FROM registry.suse.com/bci/kiwi:${KIWIVERSION}
 | 
					FROM registry.suse.com/bci/kiwi:${KIWIVERSION}
 | 
				
			||||||
ARG KIWIVERSION
 | 
					ARG KIWIVERSION
 | 
				
			||||||
@@ -10,11 +11,11 @@ ARG KIWIVERSION
 | 
				
			|||||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
					LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
				
			||||||
LABEL org.opencontainers.image.title="SLE Kiwi Builder Container Image"
 | 
					LABEL org.opencontainers.image.title="SLE Kiwi Builder Container Image"
 | 
				
			||||||
LABEL org.opencontainers.image.description="kiwi-builder based on the SLE Base Container Image."
 | 
					LABEL org.opencontainers.image.description="kiwi-builder based on the SLE Base Container Image."
 | 
				
			||||||
LABEL org.opencontainers.image.version="%%kiwi_version%%"
 | 
					LABEL org.opencontainers.image.version="${KIWIVERSION}"
 | 
				
			||||||
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
 | 
					LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
 | 
				
			||||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
					LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
				
			||||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
					LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
				
			||||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0-%RELEASE%"
 | 
					LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:${KIWIVERSION}.0-%RELEASE%"
 | 
				
			||||||
LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
					LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
				
			||||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
					LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
				
			||||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
					LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
				
			||||||
@@ -23,9 +24,6 @@ LABEL com.suse.image-type="application"
 | 
				
			|||||||
LABEL com.suse.release-stage="released"
 | 
					LABEL com.suse.release-stage="released"
 | 
				
			||||||
# endlabelprefix
 | 
					# endlabelprefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# help the build service understand the need for python3-kiwi
 | 
					 | 
				
			||||||
RUN zypper -n install -d -D python3-kiwi; [ "%%kiwi_version%%" = "${KIWIVERSION}" ] || { echo "expected kiwi version ${KIWIVERSION}: version mismatch"; exit 1; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Copy build script into image and make it executable
 | 
					# Copy build script into image and make it executable
 | 
				
			||||||
ADD build-image.sh /usr/bin/build-image
 | 
					ADD build-image.sh /usr/bin/build-image
 | 
				
			||||||
RUN chmod a+x /usr/bin/build-image
 | 
					RUN chmod a+x /usr/bin/build-image
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,15 +1,9 @@
 | 
				
			|||||||
<services>
 | 
					<services>
 | 
				
			||||||
  <service mode="buildtime" name="kiwi_metainfo_helper"/>
 | 
					  <service mode="buildtime" name="kiwi_metainfo_helper"/>
 | 
				
			||||||
  <service name="docker_label_helper" mode="buildtime"/>
 | 
					  <service name="docker_label_helper" mode="buildtime"/>
 | 
				
			||||||
  <service name="replace_using_env" mode="buildtime">
 | 
					 | 
				
			||||||
    <param name="file">README</param>
 | 
					 | 
				
			||||||
    <param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
 | 
					 | 
				
			||||||
    <param name="var">IMG_REPO</param>
 | 
					 | 
				
			||||||
    <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
 | 
					 | 
				
			||||||
    <param name="var">IMG_PREFIX</param>
 | 
					 | 
				
			||||||
  </service>
 | 
					 | 
				
			||||||
  <service name="replace_using_env" mode="buildtime">
 | 
					  <service name="replace_using_env" mode="buildtime">
 | 
				
			||||||
    <param name="file">Dockerfile</param>
 | 
					    <param name="file">Dockerfile</param>
 | 
				
			||||||
 | 
					    <param name="file">README</param>
 | 
				
			||||||
    <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
 | 
					    <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
 | 
				
			||||||
    <param name="var">IMG_PREFIX</param>
 | 
					    <param name="var">IMG_PREFIX</param>
 | 
				
			||||||
    <param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
 | 
					    <param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
 | 
				
			||||||
@@ -17,14 +11,4 @@
 | 
				
			|||||||
    <param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
 | 
					    <param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
 | 
				
			||||||
    <param name="var">SUPPORT_LEVEL</param>
 | 
					    <param name="var">SUPPORT_LEVEL</param>
 | 
				
			||||||
  </service>
 | 
					  </service>
 | 
				
			||||||
  <service mode="buildtime" name="replace_using_package_version">
 | 
					 | 
				
			||||||
    <param name="file">Dockerfile</param>
 | 
					 | 
				
			||||||
    <param name="regex">%%kiwi_version%%</param>
 | 
					 | 
				
			||||||
    <param name="package">python3-kiwi</param>
 | 
					 | 
				
			||||||
  </service>
 | 
					 | 
				
			||||||
  <service mode="buildtime" name="replace_using_package_version">
 | 
					 | 
				
			||||||
    <param name="file">README</param>
 | 
					 | 
				
			||||||
    <param name="regex">%%kiwi_version%%</param>
 | 
					 | 
				
			||||||
    <param name="package">python3-kiwi</param>
 | 
					 | 
				
			||||||
  </service>
 | 
					 | 
				
			||||||
</services>
 | 
					</services>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
# SPDX-License-Identifier: Apache-2.0
 | 
					# SPDX-License-Identifier: Apache-2.0
 | 
				
			||||||
#!BuildTag: %%IMG_PREFIX%%kubectl:1.30.3
 | 
					#!BuildTag: %%IMG_PREFIX%%kubectl:1.32.4
 | 
				
			||||||
#!BuildTag: %%IMG_PREFIX%%kubectl:1.30.3-%RELEASE%
 | 
					#!BuildTag: %%IMG_PREFIX%%kubectl:1.32.4-%RELEASE%
 | 
				
			||||||
#!BuildVersion: 15.6
 | 
					#!BuildVersion: 15.6
 | 
				
			||||||
ARG SLE_VERSION
 | 
					ARG SLE_VERSION
 | 
				
			||||||
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
 | 
					FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
 | 
				
			||||||
@@ -16,11 +16,11 @@ FROM micro AS final
 | 
				
			|||||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
					LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
 | 
				
			||||||
LABEL org.opencontainers.image.title="SLE kubectl image"
 | 
					LABEL org.opencontainers.image.title="SLE kubectl image"
 | 
				
			||||||
LABEL org.opencontainers.image.description="kubectl on the SLE Base Container Image."
 | 
					LABEL org.opencontainers.image.description="kubectl on the SLE Base Container Image."
 | 
				
			||||||
LABEL org.opencontainers.image.version="1.30.3"
 | 
					LABEL org.opencontainers.image.version="1.32.4"
 | 
				
			||||||
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
 | 
					LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
 | 
				
			||||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
					LABEL org.opencontainers.image.created="%BUILDTIME%"
 | 
				
			||||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
					LABEL org.opencontainers.image.vendor="SUSE LLC"
 | 
				
			||||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kubectl:1.30.3-%RELEASE%"
 | 
					LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kubectl:1.32.4-%RELEASE%"
 | 
				
			||||||
LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
					LABEL org.openbuildservice.disturl="%DISTURL%"
 | 
				
			||||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
					LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
 | 
				
			||||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
					LABEL com.suse.eula="SUSE Combined EULA February 2024"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
%global debug_package %{nil}
 | 
					%global debug_package %{nil}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Name: kubectl
 | 
					Name: kubectl
 | 
				
			||||||
Version: 1.30.3
 | 
					Version: 1.32.4
 | 
				
			||||||
Release: 0
 | 
					Release: 0
 | 
				
			||||||
Summary: Command-line utility for interacting with a Kubernetes cluster
 | 
					Summary: Command-line utility for interacting with a Kubernetes cluster
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -12,7 +12,7 @@ Group: admin
 | 
				
			|||||||
Packager: Kubernetes Authors <dev@kubernetes.io>
 | 
					Packager: Kubernetes Authors <dev@kubernetes.io>
 | 
				
			||||||
License: Apache-2.0
 | 
					License: Apache-2.0
 | 
				
			||||||
URL: https://kubernetes.io
 | 
					URL: https://kubernetes.io
 | 
				
			||||||
Source0: kubectl_%{version}.orig.tar.gz
 | 
					Source0: %{name}_%{version}.orig.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%description
 | 
					%description
 | 
				
			||||||
%{summary}.
 | 
					%{summary}.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								kubectl/kubectl_1.30.3.orig.tar.gz
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								kubectl/kubectl_1.30.3.orig.tar.gz
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								kubectl/kubectl_1.32.4.orig.tar.gz
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								kubectl/kubectl_1.32.4.orig.tar.gz
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.1
 | 
					#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.2
 | 
				
			||||||
#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.1_up1.3.1
 | 
					#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.2_up1.3.2
 | 
				
			||||||
#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.1_up1.3.1-%RELEASE%
 | 
					#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.2_up1.3.2-%RELEASE%
 | 
				
			||||||
annotations:
 | 
					annotations:
 | 
				
			||||||
  catalog.cattle.io/certified: rancher
 | 
					  catalog.cattle.io/certified: rancher
 | 
				
			||||||
  catalog.cattle.io/namespace: cattle-ui-plugin-system
 | 
					  catalog.cattle.io/namespace: cattle-ui-plugin-system
 | 
				
			||||||
@@ -10,13 +10,13 @@ annotations:
 | 
				
			|||||||
  catalog.cattle.io/ui-component: plugins
 | 
					  catalog.cattle.io/ui-component: plugins
 | 
				
			||||||
  catalog.cattle.io/display-name: KubeVirt
 | 
					  catalog.cattle.io/display-name: KubeVirt
 | 
				
			||||||
  catalog.cattle.io/rancher-version: '>= 2.11.0-0'
 | 
					  catalog.cattle.io/rancher-version: '>= 2.11.0-0'
 | 
				
			||||||
  catalog.cattle.io/ui-extensions-version: '>= 3.0.4 < 4.0.0'
 | 
					  catalog.cattle.io/ui-extensions-version: '>= 3.0.2 < 4.0.0'
 | 
				
			||||||
  catalog.cattle.io/kube-version: '>= v1.26.0-0'
 | 
					  catalog.cattle.io/kube-version: '>= v1.26.0-0'
 | 
				
			||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
appVersion: 303.0.1+up1.3.1
 | 
					appVersion: 303.0.2+up1.3.2
 | 
				
			||||||
description: 'SUSE Edge: KubeVirt extension for Rancher Dashboard'
 | 
					description: 'SUSE Edge: KubeVirt extension for Rancher Dashboard'
 | 
				
			||||||
name: kubevirt-dashboard-extension
 | 
					name: kubevirt-dashboard-extension
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: "%%CHART_MAJOR%%.0.1+up1.3.1"
 | 
					version: "%%CHART_MAJOR%%.0.2+up1.3.2"
 | 
				
			||||||
icon: >-
 | 
					icon: >-
 | 
				
			||||||
  https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg
 | 
					  https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ spec:
 | 
				
			|||||||
  plugin:
 | 
					  plugin:
 | 
				
			||||||
    name: {{ include "extension-server.fullname" . }}
 | 
					    name: {{ include "extension-server.fullname" . }}
 | 
				
			||||||
    version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
 | 
					    version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
 | 
				
			||||||
    endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/kubevirt-dashboard-extension/303.0.1+up1.3.1
 | 
					    endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/kubevirt-dashboard-extension/303.0.2+up1.3.2
 | 
				
			||||||
    noCache: {{ .Values.plugin.noCache }}
 | 
					    noCache: {{ .Values.plugin.noCache }}
 | 
				
			||||||
    noAuth: {{ .Values.plugin.noAuth }}
 | 
					    noAuth: {{ .Values.plugin.noAuth }}
 | 
				
			||||||
    metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
 | 
					    metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,5 +8,5 @@ plugin:
 | 
				
			|||||||
  metadata:
 | 
					  metadata:
 | 
				
			||||||
    catalog.cattle.io/display-name: KubeVirt
 | 
					    catalog.cattle.io/display-name: KubeVirt
 | 
				
			||||||
    catalog.cattle.io/rancher-version: ">= 2.11.0-0"
 | 
					    catalog.cattle.io/rancher-version: ">= 2.11.0-0"
 | 
				
			||||||
    catalog.cattle.io/ui-extensions-version: ">= 3.0.4 < 4.0.0"
 | 
					    catalog.cattle.io/ui-extensions-version: ">= 3.0.2 < 4.0.0"
 | 
				
			||||||
    catalog.cattle.io/kube-version: ">= v1.26.0-0"
 | 
					    catalog.cattle.io/kube-version: ">= v1.26.0-0"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,28 +1,28 @@
 | 
				
			|||||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.2_up0.11.0
 | 
					#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.8_up0.11.7
 | 
				
			||||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.2_up0.11.0-%RELEASE%
 | 
					#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.8_up0.11.7-%RELEASE%
 | 
				
			||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
appVersion: 0.11.0
 | 
					appVersion: 0.11.7
 | 
				
			||||||
dependencies:
 | 
					dependencies:
 | 
				
			||||||
- alias: metal3-baremetal-operator
 | 
					- alias: metal3-baremetal-operator
 | 
				
			||||||
  name: baremetal-operator
 | 
					  name: baremetal-operator
 | 
				
			||||||
  repository: file://./charts/baremetal-operator
 | 
					  repository: file://./charts/baremetal-operator
 | 
				
			||||||
  version: 0.9.1
 | 
					  version: 0.9.2
 | 
				
			||||||
- alias: metal3-ironic
 | 
					- alias: metal3-ironic
 | 
				
			||||||
  name: ironic
 | 
					  name: ironic
 | 
				
			||||||
  repository: file://./charts/ironic
 | 
					  repository: file://./charts/ironic
 | 
				
			||||||
  version: 0.10.0
 | 
					  version: 0.10.6
 | 
				
			||||||
- alias: metal3-mariadb
 | 
					- alias: metal3-mariadb
 | 
				
			||||||
  condition: global.enable_mariadb
 | 
					  condition: global.enable_mariadb
 | 
				
			||||||
  name: mariadb
 | 
					  name: mariadb
 | 
				
			||||||
  repository: file://./charts/mariadb
 | 
					  repository: file://./charts/mariadb
 | 
				
			||||||
  version: 0.5.4
 | 
					  version: 0.6.0
 | 
				
			||||||
- alias: metal3-media
 | 
					- alias: metal3-media
 | 
				
			||||||
  condition: global.enable_metal3_media_server
 | 
					  condition: global.enable_metal3_media_server
 | 
				
			||||||
  name: media
 | 
					  name: media
 | 
				
			||||||
  repository: file://./charts/media
 | 
					  repository: file://./charts/media
 | 
				
			||||||
  version: 0.6.1
 | 
					  version: 0.6.2
 | 
				
			||||||
description: A Helm chart that installs all of the dependencies needed for Metal3
 | 
					description: A Helm chart that installs all of the dependencies needed for Metal3
 | 
				
			||||||
icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg
 | 
					icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg
 | 
				
			||||||
name: metal3
 | 
					name: metal3
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: "%%CHART_MAJOR%%.0.2+up0.11.0"
 | 
					version: "%%CHART_MAJOR%%.0.8+up0.11.7"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,4 +3,4 @@ appVersion: 0.9.1
 | 
				
			|||||||
description: A Helm chart for baremetal-operator, used by Metal3
 | 
					description: A Helm chart for baremetal-operator, used by Metal3
 | 
				
			||||||
name: baremetal-operator
 | 
					name: baremetal-operator
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: 0.9.1
 | 
					version: 0.9.2
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,14 +10,15 @@
 | 
				
			|||||||
apiVersion: v1
 | 
					apiVersion: v1
 | 
				
			||||||
data:
 | 
					data:
 | 
				
			||||||
  IRONIC_ENDPOINT: "{{ $protocol }}://{{ $ironicApiHost }}/v1/"
 | 
					  IRONIC_ENDPOINT: "{{ $protocol }}://{{ $ironicApiHost }}/v1/"
 | 
				
			||||||
  RESTART_CONTAINER_CERTIFICATE_UPDATED: "false"
 | 
					 | 
				
			||||||
  # Switch VMedia to HTTP if enable_vmedia_tls is false
 | 
					  # Switch VMedia to HTTP if enable_vmedia_tls is false
 | 
				
			||||||
  {{- if and $enableTLS $enableVMediaTLS }}
 | 
					  {{- if and $enableTLS $enableVMediaTLS }}
 | 
				
			||||||
    {{- $ironicBootHost = print $ironicIP ":" .Values.global.vmediaTLSPort }}
 | 
					    {{- $ironicBootHost = print $ironicIP ":" .Values.global.vmediaTLSPort }}
 | 
				
			||||||
    {{- $ironicCacheHost = print $ironicIP ":" .Values.global.vmediaTLSPort }}
 | 
					    {{- $ironicCacheHost = print $ironicIP ":" .Values.global.vmediaTLSPort }}
 | 
				
			||||||
    {{- $protocol = "https" }}
 | 
					    {{- $protocol = "https" }}
 | 
				
			||||||
 | 
					  RESTART_CONTAINER_CERTIFICATE_UPDATED: "true"
 | 
				
			||||||
  {{- else }}
 | 
					  {{- else }}
 | 
				
			||||||
    {{- $protocol = "http" }}
 | 
					    {{- $protocol = "http" }}
 | 
				
			||||||
 | 
					  RESTART_CONTAINER_CERTIFICATE_UPDATED: "false"
 | 
				
			||||||
  {{- end }}
 | 
					  {{- end }}
 | 
				
			||||||
  CACHEURL: "{{ $protocol }}://{{ $ironicCacheHost }}/images"
 | 
					  CACHEURL: "{{ $protocol }}://{{ $ironicCacheHost }}/images"
 | 
				
			||||||
  DEPLOY_KERNEL_URL: "{{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent-{{ $deployArch }}.kernel"
 | 
					  DEPLOY_KERNEL_URL: "{{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent-{{ $deployArch }}.kernel"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,19 +0,0 @@
 | 
				
			|||||||
apiVersion: v1
 | 
					 | 
				
			||||||
data:
 | 
					 | 
				
			||||||
  controller_manager_config.yaml: |
 | 
					 | 
				
			||||||
    apiVersion: controller-runtime.sigs.k8s.io/v1alpha1
 | 
					 | 
				
			||||||
    kind: ControllerManagerConfig
 | 
					 | 
				
			||||||
    health:
 | 
					 | 
				
			||||||
      healthProbeBindAddress: :9440
 | 
					 | 
				
			||||||
    metrics:
 | 
					 | 
				
			||||||
      bindAddress: 127.0.0.1:8085
 | 
					 | 
				
			||||||
    webhook:
 | 
					 | 
				
			||||||
      port: 9443
 | 
					 | 
				
			||||||
    leaderElection:
 | 
					 | 
				
			||||||
      leaderElect: true
 | 
					 | 
				
			||||||
      resourceName: a9498140.metal3.io
 | 
					 | 
				
			||||||
kind: ConfigMap
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: baremetal-operator-manager-config
 | 
					 | 
				
			||||||
  labels:
 | 
					 | 
				
			||||||
    {{- include "baremetal-operator.labels" . | nindent 4 }}
 | 
					 | 
				
			||||||
@@ -17,6 +17,8 @@ spec:
 | 
				
			|||||||
      control-plane: controller-manager
 | 
					      control-plane: controller-manager
 | 
				
			||||||
  template:
 | 
					  template:
 | 
				
			||||||
    metadata:
 | 
					    metadata:
 | 
				
			||||||
 | 
					      annotations:
 | 
				
			||||||
 | 
					        checksum/config-env: {{ include (print $.Template.BasePath "/configmap-ironic.yaml") . | sha256sum }}
 | 
				
			||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        {{- include "baremetal-operator.selectorLabels" . | nindent 8 }}
 | 
					        {{- include "baremetal-operator.selectorLabels" . | nindent 8 }}
 | 
				
			||||||
        control-plane: controller-manager
 | 
					        control-plane: controller-manager
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,15 +22,13 @@ global:
 | 
				
			|||||||
  # Comment this out when pinning the baremetal-operator container to a specfic host.
 | 
					  # Comment this out when pinning the baremetal-operator container to a specfic host.
 | 
				
			||||||
  nodeSelector: {}
 | 
					  nodeSelector: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  enable_tls: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
replicaCount: 1
 | 
					replicaCount: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
images:
 | 
					images:
 | 
				
			||||||
  baremetalOperator:
 | 
					  baremetalOperator:
 | 
				
			||||||
    repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/baremetal-operator
 | 
					    repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/baremetal-operator
 | 
				
			||||||
    pullPolicy: IfNotPresent
 | 
					    pullPolicy: IfNotPresent
 | 
				
			||||||
    tag: "0.9.1"
 | 
					    tag: "0.9.1.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
imagePullSecrets: []
 | 
					imagePullSecrets: []
 | 
				
			||||||
nameOverride: "manger"
 | 
					nameOverride: "manger"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,4 +3,4 @@ appVersion: 26.1.2
 | 
				
			|||||||
description: A Helm chart for Ironic, used by Metal3
 | 
					description: A Helm chart for Ironic, used by Metal3
 | 
				
			||||||
name: ironic
 | 
					name: ironic
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: 0.10.0
 | 
					version: 0.10.6
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,10 +14,11 @@ spec:
 | 
				
			|||||||
    type: Recreate
 | 
					    type: Recreate
 | 
				
			||||||
  template:
 | 
					  template:
 | 
				
			||||||
    metadata:
 | 
					    metadata:
 | 
				
			||||||
      {{- with .Values.podAnnotations }}
 | 
					 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        {{- toYaml . | nindent 8 }}
 | 
					        checksum/config-env: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
 | 
				
			||||||
      {{- end }}
 | 
					        {{- with .Values.podAnnotations }}
 | 
				
			||||||
 | 
					          {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					        {{- end }}
 | 
				
			||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        {{- include "ironic.selectorLabels" . | nindent 8 }}
 | 
					        {{- include "ironic.selectorLabels" . | nindent 8 }}
 | 
				
			||||||
    spec:
 | 
					    spec:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,8 +50,6 @@ global:
 | 
				
			|||||||
  # Comment this out when pinning the pdns containers to a specfic host.
 | 
					  # Comment this out when pinning the pdns containers to a specfic host.
 | 
				
			||||||
  nodeSelector: {}
 | 
					  nodeSelector: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  enable_tls: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
replicaCount: 1
 | 
					replicaCount: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
images:
 | 
					images:
 | 
				
			||||||
@@ -62,7 +60,7 @@ images:
 | 
				
			|||||||
  ironicIPADownloader:
 | 
					  ironicIPADownloader:
 | 
				
			||||||
    repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic-ipa-downloader
 | 
					    repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic-ipa-downloader
 | 
				
			||||||
    pullPolicy: IfNotPresent
 | 
					    pullPolicy: IfNotPresent
 | 
				
			||||||
    tag: 3.0.3
 | 
					    tag: 3.0.8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
nameOverride: ""
 | 
					nameOverride: ""
 | 
				
			||||||
fullnameOverride: ""
 | 
					fullnameOverride: ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
appVersion: 10.6.7
 | 
					appVersion: "10.11"
 | 
				
			||||||
description: A Helm chart for MariaDB, used by Metal3
 | 
					description: A Helm chart for MariaDB, used by Metal3
 | 
				
			||||||
name: mariadb
 | 
					name: mariadb
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: 0.5.4
 | 
					version: 0.6.0
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								metal3-chart/charts/mariadb/templates/configmap-mariadb.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								metal3-chart/charts/mariadb/templates/configmap-mariadb.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					kind: ConfigMap 
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: mariadb-config
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "mariadb.labels" . | nindent 4 }}
 | 
				
			||||||
 | 
					data:
 | 
				
			||||||
 | 
					  ironic.conf: |
 | 
				
			||||||
 | 
					    [mariadb]
 | 
				
			||||||
 | 
					    max_connections 64
 | 
				
			||||||
 | 
					    max_heap_table_size 1M
 | 
				
			||||||
 | 
					    innodb_buffer_pool_size 5M
 | 
				
			||||||
 | 
					    innodb_log_buffer_size 512K
 | 
				
			||||||
@@ -5,4 +5,7 @@ metadata:
 | 
				
			|||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    {{- include "mariadb.labels" . | nindent 4 }}
 | 
					    {{- include "mariadb.labels" . | nindent 4 }}
 | 
				
			||||||
data:
 | 
					data:
 | 
				
			||||||
  RESTART_CONTAINER_CERTIFICATE_UPDATED: "false"
 | 
					  MARIADB_USER: ironic
 | 
				
			||||||
 | 
					  MARIADB_RANDOM_ROOT_PASSWORD: "yes"
 | 
				
			||||||
 | 
					  MARIADB_DATABASE: ironic
 | 
				
			||||||
 | 
					  MARIADB_AUTO_UPGRADE: "yes"
 | 
				
			||||||
@@ -25,23 +25,50 @@ spec:
 | 
				
			|||||||
      serviceAccountName: {{ include "mariadb.serviceAccountName" . }}
 | 
					      serviceAccountName: {{ include "mariadb.serviceAccountName" . }}
 | 
				
			||||||
      securityContext:
 | 
					      securityContext:
 | 
				
			||||||
        {{- toYaml .Values.podSecurityContext | nindent 8 }}
 | 
					        {{- toYaml .Values.podSecurityContext | nindent 8 }}
 | 
				
			||||||
 | 
					      initContainers:
 | 
				
			||||||
 | 
					      # This would run during entrypoint if run as root
 | 
				
			||||||
 | 
					      - name: set-volume-owners
 | 
				
			||||||
 | 
					        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
 | 
				
			||||||
 | 
					        imagePullPolicy: {{ .Values.image.pullPolicy }}
 | 
				
			||||||
 | 
					        securityContext:
 | 
				
			||||||
 | 
					            runAsUser: 0
 | 
				
			||||||
 | 
					            allowPrivilegeEscalation: true
 | 
				
			||||||
 | 
					            capabilities:
 | 
				
			||||||
 | 
					              drop:
 | 
				
			||||||
 | 
					              - ALL
 | 
				
			||||||
 | 
					              add:
 | 
				
			||||||
 | 
					              - CHOWN
 | 
				
			||||||
 | 
					              - FOWNER
 | 
				
			||||||
 | 
					              - DAC_OVERRIDE
 | 
				
			||||||
 | 
					            seccompProfile:
 | 
				
			||||||
 | 
					              type: RuntimeDefault
 | 
				
			||||||
 | 
					        volumeMounts:
 | 
				
			||||||
 | 
					          - name: mariadb-conf
 | 
				
			||||||
 | 
					            mountPath: /etc/mysql/conf.d
 | 
				
			||||||
 | 
					          - name: mariadb-run
 | 
				
			||||||
 | 
					            mountPath: /run/mysql
 | 
				
			||||||
 | 
					          {{- $volmounts }}
 | 
				
			||||||
 | 
					        command: ['bash', '-c', 'source /usr/local/bin/docker-entrypoint.sh && docker_create_db_directories']
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          - name: DATADIR
 | 
				
			||||||
 | 
					            value: /var/lib/mysql
 | 
				
			||||||
 | 
					          - name: SOCKET
 | 
				
			||||||
 | 
					            value: /run/mysql/mysql.sock
 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
      - name: mariadb
 | 
					      - name: mariadb
 | 
				
			||||||
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
 | 
					        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
 | 
				
			||||||
        imagePullPolicy: {{ .Values.image.pullPolicy }}
 | 
					        imagePullPolicy: {{ .Values.image.pullPolicy }}
 | 
				
			||||||
        securityContext:
 | 
					        securityContext:
 | 
				
			||||||
          {{- toYaml .Values.securityContext | nindent 12 }}
 | 
					          {{- toYaml .Values.securityContext | nindent 12 }}
 | 
				
			||||||
 | 
					        envFrom:
 | 
				
			||||||
 | 
					          - configMapRef:
 | 
				
			||||||
 | 
					              name: mariadb-cm
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          - name: MARIADB_PASSWORD
 | 
					          - name: MARIADB_PASSWORD
 | 
				
			||||||
            valueFrom:
 | 
					            valueFrom:
 | 
				
			||||||
              secretKeyRef:
 | 
					              secretKeyRef:
 | 
				
			||||||
                key: password
 | 
					                key: password
 | 
				
			||||||
                name: ironic-mariadb
 | 
					                name: ironic-mariadb
 | 
				
			||||||
          - name: RESTART_CONTAINER_CERTIFICATE_UPDATED
 | 
					 | 
				
			||||||
            valueFrom:
 | 
					 | 
				
			||||||
              configMapKeyRef:
 | 
					 | 
				
			||||||
                name: mariadb-cm
 | 
					 | 
				
			||||||
                key: RESTART_CONTAINER_CERTIFICATE_UPDATED
 | 
					 | 
				
			||||||
        lifecycle:
 | 
					        lifecycle:
 | 
				
			||||||
          preStop:
 | 
					          preStop:
 | 
				
			||||||
            exec:
 | 
					            exec:
 | 
				
			||||||
@@ -52,9 +79,9 @@ spec:
 | 
				
			|||||||
        livenessProbe:
 | 
					        livenessProbe:
 | 
				
			||||||
          exec:
 | 
					          exec:
 | 
				
			||||||
            command:
 | 
					            command:
 | 
				
			||||||
              - sh
 | 
					              - healthcheck.sh
 | 
				
			||||||
              - -c
 | 
					              - --connect
 | 
				
			||||||
              - mysqladmin status -uironic -p$(printenv MARIADB_PASSWORD)
 | 
					              - --innodb_initialized
 | 
				
			||||||
          failureThreshold: 10
 | 
					          failureThreshold: 10
 | 
				
			||||||
          initialDelaySeconds: 30
 | 
					          initialDelaySeconds: 30
 | 
				
			||||||
          periodSeconds: 30
 | 
					          periodSeconds: 30
 | 
				
			||||||
@@ -67,19 +94,29 @@ spec:
 | 
				
			|||||||
        readinessProbe:
 | 
					        readinessProbe:
 | 
				
			||||||
          exec:
 | 
					          exec:
 | 
				
			||||||
            command:
 | 
					            command:
 | 
				
			||||||
              - sh
 | 
					              - healthcheck.sh
 | 
				
			||||||
              - -c
 | 
					              - --connect
 | 
				
			||||||
              - mysqladmin status -uironic -p$(printenv MARIADB_PASSWORD)
 | 
					              - --innodb_initialized
 | 
				
			||||||
          failureThreshold: 10
 | 
					          failureThreshold: 10
 | 
				
			||||||
          initialDelaySeconds: 30
 | 
					          initialDelaySeconds: 30
 | 
				
			||||||
          periodSeconds: 30
 | 
					          periodSeconds: 30
 | 
				
			||||||
          successThreshold: 1
 | 
					          successThreshold: 1
 | 
				
			||||||
          timeoutSeconds: 10
 | 
					          timeoutSeconds: 10
 | 
				
			||||||
        volumeMounts:
 | 
					        volumeMounts:
 | 
				
			||||||
 | 
					            - name: mariadb-conf
 | 
				
			||||||
 | 
					              mountPath: /etc/mysql/conf.d
 | 
				
			||||||
 | 
					            - name: mariadb-run
 | 
				
			||||||
 | 
					              mountPath: /run/mysql
 | 
				
			||||||
            {{- $volmounts }}
 | 
					            {{- $volmounts }}
 | 
				
			||||||
      {{- with .Values.global.nodeSelector }}
 | 
					      {{- with .Values.global.nodeSelector }}
 | 
				
			||||||
      nodeSelector:
 | 
					      nodeSelector:
 | 
				
			||||||
        {{- toYaml . | nindent 8 }}
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
      {{- end }}
 | 
					      {{- end }}
 | 
				
			||||||
      volumes:
 | 
					      volumes:
 | 
				
			||||||
 | 
					        - name: mariadb-conf
 | 
				
			||||||
 | 
					          configMap:
 | 
				
			||||||
 | 
					            name: mariadb-config
 | 
				
			||||||
 | 
					        - name: mariadb-run
 | 
				
			||||||
 | 
					          emptyDir:
 | 
				
			||||||
 | 
					            sizeLimit: 20Mi
 | 
				
			||||||
        {{- $volumes }}
 | 
					        {{- $volumes }}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,9 +12,9 @@ service:
 | 
				
			|||||||
    targetPort: 3306
 | 
					    targetPort: 3306
 | 
				
			||||||
 | 
					
 | 
				
			||||||
image:
 | 
					image:
 | 
				
			||||||
  repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/suse/mariadb
 | 
					  repository: registry.suse.com/suse/mariadb
 | 
				
			||||||
  pullPolicy: IfNotPresent
 | 
					  pullPolicy: IfNotPresent
 | 
				
			||||||
  tag: 10.6.15.1
 | 
					  tag: 10.11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
nameOverride: ""
 | 
					nameOverride: ""
 | 
				
			||||||
fullnameOverride: ""
 | 
					fullnameOverride: ""
 | 
				
			||||||
@@ -31,8 +31,8 @@ serviceAccount:
 | 
				
			|||||||
podAnnotations: {}
 | 
					podAnnotations: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
podSecurityContext:
 | 
					podSecurityContext:
 | 
				
			||||||
  runAsUser: 10060
 | 
					  runAsUser: 60
 | 
				
			||||||
  fsGroup: 10060
 | 
					  fsGroup: 60
 | 
				
			||||||
 | 
					
 | 
				
			||||||
securityContext:
 | 
					securityContext:
 | 
				
			||||||
  allowPrivilegeEscalation: false
 | 
					  allowPrivilegeEscalation: false
 | 
				
			||||||
@@ -60,6 +60,7 @@ persistence:
 | 
				
			|||||||
volumeMounts:
 | 
					volumeMounts:
 | 
				
			||||||
  - name: mariadb-data-volume
 | 
					  - name: mariadb-data-volume
 | 
				
			||||||
    mountPath: /var/lib/mysql
 | 
					    mountPath: /var/lib/mysql
 | 
				
			||||||
 | 
					    subPath: data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  - name: mariadb-data-volume
 | 
					  - name: mariadb-data-volume
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,4 +3,4 @@ appVersion: 1.16.0
 | 
				
			|||||||
description: A Helm chart for Media, used by Metal3
 | 
					description: A Helm chart for Media, used by Metal3
 | 
				
			||||||
name: media
 | 
					name: media
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: 0.6.1
 | 
					version: 0.6.2
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,7 @@ replicaCount: 1
 | 
				
			|||||||
image:
 | 
					image:
 | 
				
			||||||
  repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
 | 
					  repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
 | 
				
			||||||
  pullPolicy: IfNotPresent
 | 
					  pullPolicy: IfNotPresent
 | 
				
			||||||
  tag: 26.1.2.2
 | 
					  tag: 26.1.2.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
imagePullSecrets: []
 | 
					imagePullSecrets: []
 | 
				
			||||||
nameOverride: ""
 | 
					nameOverride: ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -115,8 +115,8 @@ metal3-mariadb:
 | 
				
			|||||||
  persistence:
 | 
					  persistence:
 | 
				
			||||||
    storageClass: ""
 | 
					    storageClass: ""
 | 
				
			||||||
  image:
 | 
					  image:
 | 
				
			||||||
    repository: "registry.suse.com/edge/mariadb"
 | 
					    repository: "registry.suse.com/suse/mariadb"
 | 
				
			||||||
    tag: "10.6.15.1"
 | 
					    tag: "10.11"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Baremetal Operator
 | 
					# Baremetal Operator
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
    <param name="url">https://github.com/suse-edge/nm-configurator.git</param>
 | 
					    <param name="url">https://github.com/suse-edge/nm-configurator.git</param>
 | 
				
			||||||
    <param name="versionformat">@PARENT_TAG@</param>
 | 
					    <param name="versionformat">@PARENT_TAG@</param>
 | 
				
			||||||
    <param name="scm">git</param>
 | 
					    <param name="scm">git</param>
 | 
				
			||||||
    <param name="revision">v0.3.2</param>
 | 
					    <param name="revision">v0.3.3</param>
 | 
				
			||||||
    <param name="match-tag">*</param>
 | 
					    <param name="match-tag">*</param>
 | 
				
			||||||
    <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
 | 
					    <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
 | 
				
			||||||
    <param name="versionrewrite-replacement">\1</param>
 | 
					    <param name="versionrewrite-replacement">\1</param>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
<servicedata>
 | 
					<servicedata>
 | 
				
			||||||
<service name="tar_scm">
 | 
					<service name="tar_scm">
 | 
				
			||||||
                <param name="url">https://github.com/suse-edge/nm-configurator.git</param>
 | 
					                <param name="url">https://github.com/suse-edge/nm-configurator.git</param>
 | 
				
			||||||
              <param name="changesrevision">747301ba15a28e758d1f06070dc7ff29a5e80242</param></service></servicedata>
 | 
					              <param name="changesrevision">4563857d761c6d83e4013721f68ec4ac5828a1a7</param></service></servicedata>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								nm-configurator/nm-configurator-0.3.2.obscpio
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								nm-configurator/nm-configurator-0.3.2.obscpio
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								nm-configurator/nm-configurator-0.3.3.obscpio
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								nm-configurator/nm-configurator-0.3.3.obscpio
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
name: nm-configurator
 | 
					name: nm-configurator
 | 
				
			||||||
version: 0.3.2
 | 
					version: 0.3.3
 | 
				
			||||||
mtime: 1744218621
 | 
					mtime: 1748341626
 | 
				
			||||||
commit: 747301ba15a28e758d1f06070dc7ff29a5e80242
 | 
					commit: 4563857d761c6d83e4013721f68ec4ac5828a1a7
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								nm-configurator/vendor.tar.xz
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								nm-configurator/vendor.tar.xz
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1,10 +1,10 @@
 | 
				
			|||||||
#!BuildTag: %%CHART_PREFIX%%rancher-turtles-airgap-resources:%%CHART_MAJOR%%.0.0_up0.17.0
 | 
					#!BuildTag: %%CHART_PREFIX%%rancher-turtles-airgap-resources:%%CHART_MAJOR%%.0.5_up0.21.0
 | 
				
			||||||
#!BuildTag: %%CHART_PREFIX%%rancher-turtles-airgap-resources:%%CHART_MAJOR%%.0.0_up0.17.0-%RELEASE%
 | 
					#!BuildTag: %%CHART_PREFIX%%rancher-turtles-airgap-resources:%%CHART_MAJOR%%.0.5_up0.21.0-%RELEASE%
 | 
				
			||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
appVersion: 0.17.0
 | 
					appVersion: 0.21.0
 | 
				
			||||||
description: Rancher Turtles utility chart for airgap scenarios
 | 
					description: Rancher Turtles utility chart for airgap scenarios
 | 
				
			||||||
home: https://github.com/rancher/turtles/
 | 
					home: https://github.com/rancher/turtles/
 | 
				
			||||||
icon: https://raw.githubusercontent.com/rancher/turtles/main/logos/capi.svg
 | 
					icon: https://raw.githubusercontent.com/rancher/turtles/main/logos/capi.svg
 | 
				
			||||||
name: rancher-turtles-airgap-resources
 | 
					name: rancher-turtles-airgap-resources
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: "%%CHART_MAJOR%%.0.0+up0.17.0"
 | 
					version: "%%CHART_MAJOR%%.0.5+up0.21.0"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  <service mode="buildtime" name="kiwi_metainfo_helper"/>
 | 
					  <service mode="buildtime" name="kiwi_metainfo_helper"/>
 | 
				
			||||||
  <service name="replace_using_env" mode="buildtime">
 | 
					  <service name="replace_using_env" mode="buildtime">
 | 
				
			||||||
    <param name="file">Chart.yaml</param>
 | 
					    <param name="file">Chart.yaml</param>
 | 
				
			||||||
    <param name="eval">CHART_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
 | 
					    <param name="eval">CHART_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?chart_prefix})</param>
 | 
				
			||||||
    <param name="var">CHART_PREFIX</param>
 | 
					    <param name="var">CHART_PREFIX</param>
 | 
				
			||||||
    <param name="eval">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
 | 
					    <param name="eval">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
 | 
				
			||||||
    <param name="var">CHART_MAJOR</param>
 | 
					    <param name="var">CHART_MAJOR</param>
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -1,11 +1,899 @@
 | 
				
			|||||||
apiVersion: v1
 | 
					apiVersion: v1
 | 
				
			||||||
data:
 | 
					data:
 | 
				
			||||||
  components: Not Found
 | 
					  components: |
 | 
				
			||||||
  metadata: Not Found
 | 
					    apiVersion: v1
 | 
				
			||||||
 | 
					    kind: Namespace
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					        control-plane: controller-manager
 | 
				
			||||||
 | 
					      name: caapf-system
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: apiextensions.k8s.io/v1
 | 
				
			||||||
 | 
					    kind: CustomResourceDefinition
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					      name: fleetaddonconfigs.addons.cluster.x-k8s.io
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					      group: addons.cluster.x-k8s.io
 | 
				
			||||||
 | 
					      names:
 | 
				
			||||||
 | 
					        categories: []
 | 
				
			||||||
 | 
					        kind: FleetAddonConfig
 | 
				
			||||||
 | 
					        plural: fleetaddonconfigs
 | 
				
			||||||
 | 
					        shortNames: []
 | 
				
			||||||
 | 
					        singular: fleetaddonconfig
 | 
				
			||||||
 | 
					      scope: Cluster
 | 
				
			||||||
 | 
					      versions:
 | 
				
			||||||
 | 
					      - additionalPrinterColumns: []
 | 
				
			||||||
 | 
					        name: v1alpha1
 | 
				
			||||||
 | 
					        schema:
 | 
				
			||||||
 | 
					          openAPIV3Schema:
 | 
				
			||||||
 | 
					            description: Auto-generated derived type for FleetAddonConfigSpec via `CustomResource`
 | 
				
			||||||
 | 
					            properties:
 | 
				
			||||||
 | 
					              spec:
 | 
				
			||||||
 | 
					                description: This provides a config for fleet addon functionality
 | 
				
			||||||
 | 
					                properties:
 | 
				
			||||||
 | 
					                  cluster:
 | 
				
			||||||
 | 
					                    description: |-
 | 
				
			||||||
 | 
					                      Enable Cluster config funtionality.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                      This will create Fleet Cluster for each Cluster with the same name. In case the cluster specifies topology.class, the name of the `ClusterClass` will be added to the Fleet Cluster labels.
 | 
				
			||||||
 | 
					                    nullable: true
 | 
				
			||||||
 | 
					                    properties:
 | 
				
			||||||
 | 
					                      agentEnvVars:
 | 
				
			||||||
 | 
					                        description: '`AgentEnvVars` are extra environment variables to
 | 
				
			||||||
 | 
					                          be added to the agent deployment.'
 | 
				
			||||||
 | 
					                        items:
 | 
				
			||||||
 | 
					                          description: EnvVar represents an environment variable present
 | 
				
			||||||
 | 
					                            in a Container.
 | 
				
			||||||
 | 
					                          properties:
 | 
				
			||||||
 | 
					                            name:
 | 
				
			||||||
 | 
					                              description: Name of the environment variable. Must be a
 | 
				
			||||||
 | 
					                                C_IDENTIFIER.
 | 
				
			||||||
 | 
					                              type: string
 | 
				
			||||||
 | 
					                            value:
 | 
				
			||||||
 | 
					                              description: 'Variable references $(VAR_NAME) are expanded
 | 
				
			||||||
 | 
					                                using the previously defined environment variables in
 | 
				
			||||||
 | 
					                                the container and any service environment variables. If
 | 
				
			||||||
 | 
					                                a variable cannot be resolved, the reference in the input
 | 
				
			||||||
 | 
					                                string will be unchanged. Double $$ are reduced to a single
 | 
				
			||||||
 | 
					                                $, which allows for escaping the $(VAR_NAME) syntax: i.e.
 | 
				
			||||||
 | 
					                                "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
 | 
				
			||||||
 | 
					                                Escaped references will never be expanded, regardless
 | 
				
			||||||
 | 
					                                of whether the variable exists or not. Defaults to "".'
 | 
				
			||||||
 | 
					                              nullable: true
 | 
				
			||||||
 | 
					                              type: string
 | 
				
			||||||
 | 
					                            valueFrom:
 | 
				
			||||||
 | 
					                              description: Source for the environment variable's value.
 | 
				
			||||||
 | 
					                                Cannot be used if value is not empty.
 | 
				
			||||||
 | 
					                              nullable: true
 | 
				
			||||||
 | 
					                              properties:
 | 
				
			||||||
 | 
					                                configMapKeyRef:
 | 
				
			||||||
 | 
					                                  description: Selects a key of a ConfigMap.
 | 
				
			||||||
 | 
					                                  nullable: true
 | 
				
			||||||
 | 
					                                  properties:
 | 
				
			||||||
 | 
					                                    key:
 | 
				
			||||||
 | 
					                                      description: The key to select.
 | 
				
			||||||
 | 
					                                      type: string
 | 
				
			||||||
 | 
					                                    name:
 | 
				
			||||||
 | 
					                                      description: 'Name of the referent. This field is
 | 
				
			||||||
 | 
					                                        effectively required, but due to backwards compatibility
 | 
				
			||||||
 | 
					                                        is allowed to be empty. Instances of this type
 | 
				
			||||||
 | 
					                                        with an empty value here are almost certainly
 | 
				
			||||||
 | 
					                                        wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
 | 
				
			||||||
 | 
					                                      nullable: true
 | 
				
			||||||
 | 
					                                      type: string
 | 
				
			||||||
 | 
					                                    optional:
 | 
				
			||||||
 | 
					                                      description: Specify whether the ConfigMap or its
 | 
				
			||||||
 | 
					                                        key must be defined
 | 
				
			||||||
 | 
					                                      nullable: true
 | 
				
			||||||
 | 
					                                      type: boolean
 | 
				
			||||||
 | 
					                                  required:
 | 
				
			||||||
 | 
					                                  - key
 | 
				
			||||||
 | 
					                                  type: object
 | 
				
			||||||
 | 
					                                fieldRef:
 | 
				
			||||||
 | 
					                                  description: 'Selects a field of the pod: supports metadata.name,
 | 
				
			||||||
 | 
					                                    metadata.namespace, `metadata.labels[''<KEY>'']`,
 | 
				
			||||||
 | 
					                                    `metadata.annotations[''<KEY>'']`, spec.nodeName,
 | 
				
			||||||
 | 
					                                    spec.serviceAccountName, status.hostIP, status.podIP,
 | 
				
			||||||
 | 
					                                    status.podIPs.'
 | 
				
			||||||
 | 
					                                  nullable: true
 | 
				
			||||||
 | 
					                                  properties:
 | 
				
			||||||
 | 
					                                    apiVersion:
 | 
				
			||||||
 | 
					                                      description: Version of the schema the FieldPath
 | 
				
			||||||
 | 
					                                        is written in terms of, defaults to "v1".
 | 
				
			||||||
 | 
					                                      nullable: true
 | 
				
			||||||
 | 
					                                      type: string
 | 
				
			||||||
 | 
					                                    fieldPath:
 | 
				
			||||||
 | 
					                                      description: Path of the field to select in the
 | 
				
			||||||
 | 
					                                        specified API version.
 | 
				
			||||||
 | 
					                                      type: string
 | 
				
			||||||
 | 
					                                  required:
 | 
				
			||||||
 | 
					                                  - fieldPath
 | 
				
			||||||
 | 
					                                  type: object
 | 
				
			||||||
 | 
					                                resourceFieldRef:
 | 
				
			||||||
 | 
					                                  description: 'Selects a resource of the container: only
 | 
				
			||||||
 | 
					                                    resources limits and requests (limits.cpu, limits.memory,
 | 
				
			||||||
 | 
					                                    limits.ephemeral-storage, requests.cpu, requests.memory
 | 
				
			||||||
 | 
					                                    and requests.ephemeral-storage) are currently supported.'
 | 
				
			||||||
 | 
					                                  nullable: true
 | 
				
			||||||
 | 
					                                  properties:
 | 
				
			||||||
 | 
					                                    containerName:
 | 
				
			||||||
 | 
					                                      description: 'Container name: required for volumes,
 | 
				
			||||||
 | 
					                                        optional for env vars'
 | 
				
			||||||
 | 
					                                      nullable: true
 | 
				
			||||||
 | 
					                                      type: string
 | 
				
			||||||
 | 
					                                    divisor:
 | 
				
			||||||
 | 
					                                      description: Specifies the output format of the
 | 
				
			||||||
 | 
					                                        exposed resources, defaults to "1"
 | 
				
			||||||
 | 
					                                      nullable: true
 | 
				
			||||||
 | 
					                                      x-kubernetes-int-or-string: true
 | 
				
			||||||
 | 
					                                    resource:
 | 
				
			||||||
 | 
					                                      description: 'Required: resource to select'
 | 
				
			||||||
 | 
					                                      type: string
 | 
				
			||||||
 | 
					                                  required:
 | 
				
			||||||
 | 
					                                  - resource
 | 
				
			||||||
 | 
					                                  type: object
 | 
				
			||||||
 | 
					                                secretKeyRef:
 | 
				
			||||||
 | 
					                                  description: Selects a key of a secret in the pod's
 | 
				
			||||||
 | 
					                                    namespace
 | 
				
			||||||
 | 
					                                  nullable: true
 | 
				
			||||||
 | 
					                                  properties:
 | 
				
			||||||
 | 
					                                    key:
 | 
				
			||||||
 | 
					                                      description: The key of the secret to select from.  Must
 | 
				
			||||||
 | 
					                                        be a valid secret key.
 | 
				
			||||||
 | 
					                                      type: string
 | 
				
			||||||
 | 
					                                    name:
 | 
				
			||||||
 | 
					                                      description: 'Name of the referent. This field is
 | 
				
			||||||
 | 
					                                        effectively required, but due to backwards compatibility
 | 
				
			||||||
 | 
					                                        is allowed to be empty. Instances of this type
 | 
				
			||||||
 | 
					                                        with an empty value here are almost certainly
 | 
				
			||||||
 | 
					                                        wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
 | 
				
			||||||
 | 
					                                      nullable: true
 | 
				
			||||||
 | 
					                                      type: string
 | 
				
			||||||
 | 
					                                    optional:
 | 
				
			||||||
 | 
					                                      description: Specify whether the Secret or its key
 | 
				
			||||||
 | 
					                                        must be defined
 | 
				
			||||||
 | 
					                                      nullable: true
 | 
				
			||||||
 | 
					                                      type: boolean
 | 
				
			||||||
 | 
					                                  required:
 | 
				
			||||||
 | 
					                                  - key
 | 
				
			||||||
 | 
					                                  type: object
 | 
				
			||||||
 | 
					                              type: object
 | 
				
			||||||
 | 
					                          required:
 | 
				
			||||||
 | 
					                          - name
 | 
				
			||||||
 | 
					                          type: object
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: array
 | 
				
			||||||
 | 
					                      agentNamespace:
 | 
				
			||||||
 | 
					                        description: Namespace selection for the fleet agent
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
 | 
					                      agentTolerations:
 | 
				
			||||||
 | 
					                        description: Agent taint toleration settings for every cluster
 | 
				
			||||||
 | 
					                        items:
 | 
				
			||||||
 | 
					                          description: The pod this Toleration is attached to tolerates
 | 
				
			||||||
 | 
					                            any taint that matches the triple <key,value,effect> using
 | 
				
			||||||
 | 
					                            the matching operator <operator>.
 | 
				
			||||||
 | 
					                          properties:
 | 
				
			||||||
 | 
					                            effect:
 | 
				
			||||||
 | 
					                              description: Effect indicates the taint effect to match.
 | 
				
			||||||
 | 
					                                Empty means match all taint effects. When specified, allowed
 | 
				
			||||||
 | 
					                                values are NoSchedule, PreferNoSchedule and NoExecute.
 | 
				
			||||||
 | 
					                              nullable: true
 | 
				
			||||||
 | 
					                              type: string
 | 
				
			||||||
 | 
					                            key:
 | 
				
			||||||
 | 
					                              description: Key is the taint key that the toleration applies
 | 
				
			||||||
 | 
					                                to. Empty means match all taint keys. If the key is empty,
 | 
				
			||||||
 | 
					                                operator must be Exists; this combination means to match
 | 
				
			||||||
 | 
					                                all values and all keys.
 | 
				
			||||||
 | 
					                              nullable: true
 | 
				
			||||||
 | 
					                              type: string
 | 
				
			||||||
 | 
					                            operator:
 | 
				
			||||||
 | 
					                              description: Operator represents a key's relationship to
 | 
				
			||||||
 | 
					                                the value. Valid operators are Exists and Equal. Defaults
 | 
				
			||||||
 | 
					                                to Equal. Exists is equivalent to wildcard for value,
 | 
				
			||||||
 | 
					                                so that a pod can tolerate all taints of a particular
 | 
				
			||||||
 | 
					                                category.
 | 
				
			||||||
 | 
					                              nullable: true
 | 
				
			||||||
 | 
					                              type: string
 | 
				
			||||||
 | 
					                            tolerationSeconds:
 | 
				
			||||||
 | 
					                              description: TolerationSeconds represents the period of
 | 
				
			||||||
 | 
					                                time the toleration (which must be of effect NoExecute,
 | 
				
			||||||
 | 
					                                otherwise this field is ignored) tolerates the taint.
 | 
				
			||||||
 | 
					                                By default, it is not set, which means tolerate the taint
 | 
				
			||||||
 | 
					                                forever (do not evict). Zero and negative values will
 | 
				
			||||||
 | 
					                                be treated as 0 (evict immediately) by the system.
 | 
				
			||||||
 | 
					                              format: int64
 | 
				
			||||||
 | 
					                              nullable: true
 | 
				
			||||||
 | 
					                              type: integer
 | 
				
			||||||
 | 
					                            value:
 | 
				
			||||||
 | 
					                              description: Value is the taint value the toleration matches
 | 
				
			||||||
 | 
					                                to. If the operator is Exists, the value should be empty,
 | 
				
			||||||
 | 
					                                otherwise just a regular string.
 | 
				
			||||||
 | 
					                              nullable: true
 | 
				
			||||||
 | 
					                              type: string
 | 
				
			||||||
 | 
					                          type: object
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: array
 | 
				
			||||||
 | 
					                      applyClassGroup:
 | 
				
			||||||
 | 
					                        description: Apply a `ClusterGroup` for a `ClusterClass` referenced
 | 
				
			||||||
 | 
					                          from a different namespace.
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
 | 
					                      hostNetwork:
 | 
				
			||||||
 | 
					                        description: 'Host network allows to deploy agent configuration
 | 
				
			||||||
 | 
					                          using hostNetwork: true setting which eludes dependency on the
 | 
				
			||||||
 | 
					                          CNI configuration for the cluster.'
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
 | 
					                      namespaceSelector:
 | 
				
			||||||
 | 
					                        description: Namespace label selector. If set, only clusters in
 | 
				
			||||||
 | 
					                          the namespace matching label selector will be imported.
 | 
				
			||||||
 | 
					                        properties:
 | 
				
			||||||
 | 
					                          matchExpressions:
 | 
				
			||||||
 | 
					                            description: matchExpressions is a list of label selector
 | 
				
			||||||
 | 
					                              requirements. The requirements are ANDed.
 | 
				
			||||||
 | 
					                            items:
 | 
				
			||||||
 | 
					                              description: A label selector requirement is a selector
 | 
				
			||||||
 | 
					                                that contains values, a key, and an operator that relates
 | 
				
			||||||
 | 
					                                the key and values.
 | 
				
			||||||
 | 
					                              properties:
 | 
				
			||||||
 | 
					                                key:
 | 
				
			||||||
 | 
					                                  description: key is the label key that the selector
 | 
				
			||||||
 | 
					                                    applies to.
 | 
				
			||||||
 | 
					                                  type: string
 | 
				
			||||||
 | 
					                                operator:
 | 
				
			||||||
 | 
					                                  description: operator represents a key's relationship
 | 
				
			||||||
 | 
					                                    to a set of values. Valid operators are In, NotIn,
 | 
				
			||||||
 | 
					                                    Exists and DoesNotExist.
 | 
				
			||||||
 | 
					                                  type: string
 | 
				
			||||||
 | 
					                                values:
 | 
				
			||||||
 | 
					                                  description: values is an array of string values. If
 | 
				
			||||||
 | 
					                                    the operator is In or NotIn, the values array must
 | 
				
			||||||
 | 
					                                    be non-empty. If the operator is Exists or DoesNotExist,
 | 
				
			||||||
 | 
					                                    the values array must be empty. This array is replaced
 | 
				
			||||||
 | 
					                                    during a strategic merge patch.
 | 
				
			||||||
 | 
					                                  items:
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  type: array
 | 
				
			||||||
 | 
					                              required:
 | 
				
			||||||
 | 
					                              - key
 | 
				
			||||||
 | 
					                              - operator
 | 
				
			||||||
 | 
					                              type: object
 | 
				
			||||||
 | 
					                            type: array
 | 
				
			||||||
 | 
					                          matchLabels:
 | 
				
			||||||
 | 
					                            additionalProperties:
 | 
				
			||||||
 | 
					                              type: string
 | 
				
			||||||
 | 
					                            description: matchLabels is a map of {key,value} pairs. A
 | 
				
			||||||
 | 
					                              single {key,value} in the matchLabels map is equivalent
 | 
				
			||||||
 | 
					                              to an element of matchExpressions, whose key field is "key",
 | 
				
			||||||
 | 
					                              the operator is "In", and the values array contains only
 | 
				
			||||||
 | 
					                              "value". The requirements are ANDed.
 | 
				
			||||||
 | 
					                            type: object
 | 
				
			||||||
 | 
					                        type: object
 | 
				
			||||||
 | 
					                      naming:
 | 
				
			||||||
 | 
					                        description: Naming settings for the fleet cluster
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        properties:
 | 
				
			||||||
 | 
					                          prefix:
 | 
				
			||||||
 | 
					                            description: Specify a prefix for the Cluster name, applied
 | 
				
			||||||
 | 
					                              to created Fleet cluster
 | 
				
			||||||
 | 
					                            nullable: true
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                          suffix:
 | 
				
			||||||
 | 
					                            description: Specify a suffix for the Cluster name, applied
 | 
				
			||||||
 | 
					                              to created Fleet cluster
 | 
				
			||||||
 | 
					                            nullable: true
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                        type: object
 | 
				
			||||||
 | 
					                      patchResource:
 | 
				
			||||||
 | 
					                        description: Allow to patch resources, maintaining the desired
 | 
				
			||||||
 | 
					                          state. If is not set, resources will only be re-created in case
 | 
				
			||||||
 | 
					                          of removal.
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
 | 
					                      selector:
 | 
				
			||||||
 | 
					                        description: Cluster label selector. If set, only clusters matching
 | 
				
			||||||
 | 
					                          label selector will be imported.
 | 
				
			||||||
 | 
					                        properties:
 | 
				
			||||||
 | 
					                          matchExpressions:
 | 
				
			||||||
 | 
					                            description: matchExpressions is a list of label selector
 | 
				
			||||||
 | 
					                              requirements. The requirements are ANDed.
 | 
				
			||||||
 | 
					                            items:
 | 
				
			||||||
 | 
					                              description: A label selector requirement is a selector
 | 
				
			||||||
 | 
					                                that contains values, a key, and an operator that relates
 | 
				
			||||||
 | 
					                                the key and values.
 | 
				
			||||||
 | 
					                              properties:
 | 
				
			||||||
 | 
					                                key:
 | 
				
			||||||
 | 
					                                  description: key is the label key that the selector
 | 
				
			||||||
 | 
					                                    applies to.
 | 
				
			||||||
 | 
					                                  type: string
 | 
				
			||||||
 | 
					                                operator:
 | 
				
			||||||
 | 
					                                  description: operator represents a key's relationship
 | 
				
			||||||
 | 
					                                    to a set of values. Valid operators are In, NotIn,
 | 
				
			||||||
 | 
					                                    Exists and DoesNotExist.
 | 
				
			||||||
 | 
					                                  type: string
 | 
				
			||||||
 | 
					                                values:
 | 
				
			||||||
 | 
					                                  description: values is an array of string values. If
 | 
				
			||||||
 | 
					                                    the operator is In or NotIn, the values array must
 | 
				
			||||||
 | 
					                                    be non-empty. If the operator is Exists or DoesNotExist,
 | 
				
			||||||
 | 
					                                    the values array must be empty. This array is replaced
 | 
				
			||||||
 | 
					                                    during a strategic merge patch.
 | 
				
			||||||
 | 
					                                  items:
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  type: array
 | 
				
			||||||
 | 
					                              required:
 | 
				
			||||||
 | 
					                              - key
 | 
				
			||||||
 | 
					                              - operator
 | 
				
			||||||
 | 
					                              type: object
 | 
				
			||||||
 | 
					                            type: array
 | 
				
			||||||
 | 
					                          matchLabels:
 | 
				
			||||||
 | 
					                            additionalProperties:
 | 
				
			||||||
 | 
					                              type: string
 | 
				
			||||||
 | 
					                            description: matchLabels is a map of {key,value} pairs. A
 | 
				
			||||||
 | 
					                              single {key,value} in the matchLabels map is equivalent
 | 
				
			||||||
 | 
					                              to an element of matchExpressions, whose key field is "key",
 | 
				
			||||||
 | 
					                              the operator is "In", and the values array contains only
 | 
				
			||||||
 | 
					                              "value". The requirements are ANDed.
 | 
				
			||||||
 | 
					                            type: object
 | 
				
			||||||
 | 
					                        type: object
 | 
				
			||||||
 | 
					                      setOwnerReferences:
 | 
				
			||||||
 | 
					                        description: Setting to disable setting owner references on the
 | 
				
			||||||
 | 
					                          created resources
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
 | 
					                    required:
 | 
				
			||||||
 | 
					                    - namespaceSelector
 | 
				
			||||||
 | 
					                    - selector
 | 
				
			||||||
 | 
					                    type: object
 | 
				
			||||||
 | 
					                  clusterClass:
 | 
				
			||||||
 | 
					                    description: |-
 | 
				
			||||||
 | 
					                      Enable clusterClass controller functionality.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                      This will create Fleet `ClusterGroups` for each `ClusterClaster` with the same name.
 | 
				
			||||||
 | 
					                    nullable: true
 | 
				
			||||||
 | 
					                    properties:
 | 
				
			||||||
 | 
					                      patchResource:
 | 
				
			||||||
 | 
					                        description: Allow to patch resources, maintaining the desired
 | 
				
			||||||
 | 
					                          state. If is not set, resources will only be re-created in case
 | 
				
			||||||
 | 
					                          of removal.
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
 | 
					                      setOwnerReferences:
 | 
				
			||||||
 | 
					                        description: Setting to disable setting owner references on the
 | 
				
			||||||
 | 
					                          created resources
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
 | 
					                    type: object
 | 
				
			||||||
 | 
					                  config:
 | 
				
			||||||
 | 
					                    nullable: true
 | 
				
			||||||
 | 
					                    properties:
 | 
				
			||||||
 | 
					                      bootstrapLocalCluster:
 | 
				
			||||||
 | 
					                        description: Enable auto-installation of a fleet agent in the
 | 
				
			||||||
 | 
					                          local cluster.
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
 | 
					                      featureGates:
 | 
				
			||||||
 | 
					                        description: feature gates controlling experimental features
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        properties:
 | 
				
			||||||
 | 
					                          configMap:
 | 
				
			||||||
 | 
					                            description: '`FeaturesConfigMap` references a `ConfigMap`
 | 
				
			||||||
 | 
					                              where to apply feature flags. If a `ConfigMap` is referenced,
 | 
				
			||||||
 | 
					                              the controller will update it instead of upgrading the Fleet
 | 
				
			||||||
 | 
					                              chart.'
 | 
				
			||||||
 | 
					                            nullable: true
 | 
				
			||||||
 | 
					                            properties:
 | 
				
			||||||
 | 
					                              ref:
 | 
				
			||||||
 | 
					                                description: ObjectReference contains enough information
 | 
				
			||||||
 | 
					                                  to let you inspect or modify the referred object.
 | 
				
			||||||
 | 
					                                nullable: true
 | 
				
			||||||
 | 
					                                properties:
 | 
				
			||||||
 | 
					                                  apiVersion:
 | 
				
			||||||
 | 
					                                    description: API version of the referent.
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  fieldPath:
 | 
				
			||||||
 | 
					                                    description: 'If referring to a piece of an object
 | 
				
			||||||
 | 
					                                      instead of an entire object, this string should
 | 
				
			||||||
 | 
					                                      contain a valid JSON/Go field access statement,
 | 
				
			||||||
 | 
					                                      such as desiredState.manifest.containers[2]. For
 | 
				
			||||||
 | 
					                                      example, if the object reference is to a container
 | 
				
			||||||
 | 
					                                      within a pod, this would take on a value like: "spec.containers{name}"
 | 
				
			||||||
 | 
					                                      (where "name" refers to the name of the container
 | 
				
			||||||
 | 
					                                      that triggered the event) or if no container name
 | 
				
			||||||
 | 
					                                      is specified "spec.containers[2]" (container with
 | 
				
			||||||
 | 
					                                      index 2 in this pod). This syntax is chosen only
 | 
				
			||||||
 | 
					                                      to have some well-defined way of referencing a part
 | 
				
			||||||
 | 
					                                      of an object.'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  kind:
 | 
				
			||||||
 | 
					                                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  name:
 | 
				
			||||||
 | 
					                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  namespace:
 | 
				
			||||||
 | 
					                                    description: 'Namespace of the referent. More info:
 | 
				
			||||||
 | 
					                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  resourceVersion:
 | 
				
			||||||
 | 
					                                    description: 'Specific resourceVersion to which this
 | 
				
			||||||
 | 
					                                      reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  uid:
 | 
				
			||||||
 | 
					                                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                type: object
 | 
				
			||||||
 | 
					                            type: object
 | 
				
			||||||
 | 
					                          experimentalHelmOps:
 | 
				
			||||||
 | 
					                            description: Enables experimental Helm operations support.
 | 
				
			||||||
 | 
					                            type: boolean
 | 
				
			||||||
 | 
					                          experimentalOciStorage:
 | 
				
			||||||
 | 
					                            description: Enables experimental OCI  storage support.
 | 
				
			||||||
 | 
					                            type: boolean
 | 
				
			||||||
 | 
					                        required:
 | 
				
			||||||
 | 
					                        - experimentalHelmOps
 | 
				
			||||||
 | 
					                        - experimentalOciStorage
 | 
				
			||||||
 | 
					                        type: object
 | 
				
			||||||
 | 
					                      server:
 | 
				
			||||||
 | 
					                        description: fleet server url configuration options
 | 
				
			||||||
 | 
					                        nullable: true
 | 
				
			||||||
 | 
					                        oneOf:
 | 
				
			||||||
 | 
					                        - required:
 | 
				
			||||||
 | 
					                          - inferLocal
 | 
				
			||||||
 | 
					                        - required:
 | 
				
			||||||
 | 
					                          - custom
 | 
				
			||||||
 | 
					                        properties:
 | 
				
			||||||
 | 
					                          custom:
 | 
				
			||||||
 | 
					                            properties:
 | 
				
			||||||
 | 
					                              apiServerCaConfigRef:
 | 
				
			||||||
 | 
					                                description: ObjectReference contains enough information
 | 
				
			||||||
 | 
					                                  to let you inspect or modify the referred object.
 | 
				
			||||||
 | 
					                                nullable: true
 | 
				
			||||||
 | 
					                                properties:
 | 
				
			||||||
 | 
					                                  apiVersion:
 | 
				
			||||||
 | 
					                                    description: API version of the referent.
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  fieldPath:
 | 
				
			||||||
 | 
					                                    description: 'If referring to a piece of an object
 | 
				
			||||||
 | 
					                                      instead of an entire object, this string should
 | 
				
			||||||
 | 
					                                      contain a valid JSON/Go field access statement,
 | 
				
			||||||
 | 
					                                      such as desiredState.manifest.containers[2]. For
 | 
				
			||||||
 | 
					                                      example, if the object reference is to a container
 | 
				
			||||||
 | 
					                                      within a pod, this would take on a value like: "spec.containers{name}"
 | 
				
			||||||
 | 
					                                      (where "name" refers to the name of the container
 | 
				
			||||||
 | 
					                                      that triggered the event) or if no container name
 | 
				
			||||||
 | 
					                                      is specified "spec.containers[2]" (container with
 | 
				
			||||||
 | 
					                                      index 2 in this pod). This syntax is chosen only
 | 
				
			||||||
 | 
					                                      to have some well-defined way of referencing a part
 | 
				
			||||||
 | 
					                                      of an object.'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  kind:
 | 
				
			||||||
 | 
					                                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  name:
 | 
				
			||||||
 | 
					                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  namespace:
 | 
				
			||||||
 | 
					                                    description: 'Namespace of the referent. More info:
 | 
				
			||||||
 | 
					                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  resourceVersion:
 | 
				
			||||||
 | 
					                                    description: 'Specific resourceVersion to which this
 | 
				
			||||||
 | 
					                                      reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  uid:
 | 
				
			||||||
 | 
					                                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                type: object
 | 
				
			||||||
 | 
					                              apiServerUrl:
 | 
				
			||||||
 | 
					                                nullable: true
 | 
				
			||||||
 | 
					                                type: string
 | 
				
			||||||
 | 
					                            type: object
 | 
				
			||||||
 | 
					                          inferLocal:
 | 
				
			||||||
 | 
					                            type: boolean
 | 
				
			||||||
 | 
					                        type: object
 | 
				
			||||||
 | 
					                    type: object
 | 
				
			||||||
 | 
					                  install:
 | 
				
			||||||
 | 
					                    nullable: true
 | 
				
			||||||
 | 
					                    oneOf:
 | 
				
			||||||
 | 
					                    - required:
 | 
				
			||||||
 | 
					                      - followLatest
 | 
				
			||||||
 | 
					                    - required:
 | 
				
			||||||
 | 
					                      - version
 | 
				
			||||||
 | 
					                    properties:
 | 
				
			||||||
 | 
					                      followLatest:
 | 
				
			||||||
 | 
					                        description: Follow the latest version of the chart on install
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
 | 
					                      version:
 | 
				
			||||||
 | 
					                        description: Use specific version to install
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
 | 
					                    type: object
 | 
				
			||||||
 | 
					                type: object
 | 
				
			||||||
 | 
					              status:
 | 
				
			||||||
 | 
					                nullable: true
 | 
				
			||||||
 | 
					                properties:
 | 
				
			||||||
 | 
					                  conditions:
 | 
				
			||||||
 | 
					                    description: conditions represents the observations of a Fleet addon
 | 
				
			||||||
 | 
					                      current state.
 | 
				
			||||||
 | 
					                    items:
 | 
				
			||||||
 | 
					                      description: Condition contains details for one aspect of the current
 | 
				
			||||||
 | 
					                        state of this API Resource.
 | 
				
			||||||
 | 
					                      properties:
 | 
				
			||||||
 | 
					                        lastTransitionTime:
 | 
				
			||||||
 | 
					                          description: lastTransitionTime is the last time the condition
 | 
				
			||||||
 | 
					                            transitioned from one status to another. This should be when
 | 
				
			||||||
 | 
					                            the underlying condition changed.  If that is not known, then
 | 
				
			||||||
 | 
					                            using the time when the API field changed is acceptable.
 | 
				
			||||||
 | 
					                          format: date-time
 | 
				
			||||||
 | 
					                          type: string
 | 
				
			||||||
 | 
					                        message:
 | 
				
			||||||
 | 
					                          description: message is a human readable message indicating
 | 
				
			||||||
 | 
					                            details about the transition. This may be an empty string.
 | 
				
			||||||
 | 
					                          type: string
 | 
				
			||||||
 | 
					                        observedGeneration:
 | 
				
			||||||
 | 
					                          description: observedGeneration represents the .metadata.generation
 | 
				
			||||||
 | 
					                            that the condition was set based upon. For instance, if .metadata.generation
 | 
				
			||||||
 | 
					                            is currently 12, but the .status.conditions[x].observedGeneration
 | 
				
			||||||
 | 
					                            is 9, the condition is out of date with respect to the current
 | 
				
			||||||
 | 
					                            state of the instance.
 | 
				
			||||||
 | 
					                          format: int64
 | 
				
			||||||
 | 
					                          type: integer
 | 
				
			||||||
 | 
					                        reason:
 | 
				
			||||||
 | 
					                          description: reason contains a programmatic identifier indicating
 | 
				
			||||||
 | 
					                            the reason for the condition's last transition. Producers
 | 
				
			||||||
 | 
					                            of specific condition types may define expected values and
 | 
				
			||||||
 | 
					                            meanings for this field, and whether the values are considered
 | 
				
			||||||
 | 
					                            a guaranteed API. The value should be a CamelCase string.
 | 
				
			||||||
 | 
					                            This field may not be empty.
 | 
				
			||||||
 | 
					                          type: string
 | 
				
			||||||
 | 
					                        status:
 | 
				
			||||||
 | 
					                          description: status of the condition, one of True, False, Unknown.
 | 
				
			||||||
 | 
					                          type: string
 | 
				
			||||||
 | 
					                        type:
 | 
				
			||||||
 | 
					                          description: type of condition in CamelCase or in foo.example.com/CamelCase.
 | 
				
			||||||
 | 
					                          type: string
 | 
				
			||||||
 | 
					                      required:
 | 
				
			||||||
 | 
					                      - lastTransitionTime
 | 
				
			||||||
 | 
					                      - message
 | 
				
			||||||
 | 
					                      - reason
 | 
				
			||||||
 | 
					                      - status
 | 
				
			||||||
 | 
					                      - type
 | 
				
			||||||
 | 
					                      type: object
 | 
				
			||||||
 | 
					                    type: array
 | 
				
			||||||
 | 
					                  installedVersion:
 | 
				
			||||||
 | 
					                    nullable: true
 | 
				
			||||||
 | 
					                    type: string
 | 
				
			||||||
 | 
					                type: object
 | 
				
			||||||
 | 
					            required:
 | 
				
			||||||
 | 
					            - spec
 | 
				
			||||||
 | 
					            title: FleetAddonConfigValidated
 | 
				
			||||||
 | 
					            type: object
 | 
				
			||||||
 | 
					            x-kubernetes-validations:
 | 
				
			||||||
 | 
					            - rule: self.metadata.name == 'fleet-addon-config'
 | 
				
			||||||
 | 
					        served: true
 | 
				
			||||||
 | 
					        storage: true
 | 
				
			||||||
 | 
					        subresources:
 | 
				
			||||||
 | 
					          status: {}
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: v1
 | 
				
			||||||
 | 
					    kind: ServiceAccount
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					      name: caapf-controller-manager
 | 
				
			||||||
 | 
					      namespace: caapf-system
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: v1
 | 
				
			||||||
 | 
					    kind: ServiceAccount
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					      name: caapf-helm-manager
 | 
				
			||||||
 | 
					      namespace: caapf-system
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: rbac.authorization.k8s.io/v1
 | 
				
			||||||
 | 
					    kind: Role
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					      name: caapf-leader-election-role
 | 
				
			||||||
 | 
					      namespace: caapf-system
 | 
				
			||||||
 | 
					    rules:
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - ""
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - configmaps
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					      - create
 | 
				
			||||||
 | 
					      - update
 | 
				
			||||||
 | 
					      - patch
 | 
				
			||||||
 | 
					      - delete
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - coordination.k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - leases
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					      - create
 | 
				
			||||||
 | 
					      - update
 | 
				
			||||||
 | 
					      - patch
 | 
				
			||||||
 | 
					      - delete
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - ""
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - events
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - create
 | 
				
			||||||
 | 
					      - patch
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: rbac.authorization.k8s.io/v1
 | 
				
			||||||
 | 
					    kind: ClusterRole
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					      name: caapf-manager-role
 | 
				
			||||||
 | 
					    rules:
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - addons.cluster.x-k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - fleetaddonconfigs
 | 
				
			||||||
 | 
					      - fleetaddonconfigs/status
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - '*'
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - ""
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - namespaces
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					      - create
 | 
				
			||||||
 | 
					      - patch
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - events.k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - events
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - create
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - ""
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - secrets
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - ""
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - configmaps
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - patch
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - ""
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - endpoints
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - apiextensions.k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - customresourcedefinitions
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - authentication.k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - tokenreviews
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - create
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - authorization.k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - subjectaccessreviews
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - create
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - bootstrap.cluster.x-k8s.io
 | 
				
			||||||
 | 
					      - clusterctl.cluster.x-k8s.io
 | 
				
			||||||
 | 
					      - controlplane.cluster.x-k8s.io
 | 
				
			||||||
 | 
					      - infrastructure.cluster.x-k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - '*'
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - cluster.x-k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - clusters
 | 
				
			||||||
 | 
					      - clusterclasses
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					      - patch
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - fleet.cattle.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - clusters
 | 
				
			||||||
 | 
					      - clustergroups
 | 
				
			||||||
 | 
					      - clusterregistrationtokens
 | 
				
			||||||
 | 
					      - bundlenamespacemappings
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - create
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - patch
 | 
				
			||||||
 | 
					      - update
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - fleet.cattle.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - bundlenamespacemappings
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - delete
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: rbac.authorization.k8s.io/v1
 | 
				
			||||||
 | 
					    kind: ClusterRoleBinding
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					      name: caapf-helm-manager-rolebinding
 | 
				
			||||||
 | 
					    roleRef:
 | 
				
			||||||
 | 
					      apiGroup: rbac.authorization.k8s.io
 | 
				
			||||||
 | 
					      kind: ClusterRole
 | 
				
			||||||
 | 
					      name: cluster-admin
 | 
				
			||||||
 | 
					    subjects:
 | 
				
			||||||
 | 
					    - kind: ServiceAccount
 | 
				
			||||||
 | 
					      name: caapf-helm-manager
 | 
				
			||||||
 | 
					      namespace: caapf-system
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: rbac.authorization.k8s.io/v1
 | 
				
			||||||
 | 
					    kind: ClusterRoleBinding
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					      name: caapf-manager-rolebinding
 | 
				
			||||||
 | 
					    roleRef:
 | 
				
			||||||
 | 
					      apiGroup: rbac.authorization.k8s.io
 | 
				
			||||||
 | 
					      kind: ClusterRole
 | 
				
			||||||
 | 
					      name: caapf-manager-role
 | 
				
			||||||
 | 
					    subjects:
 | 
				
			||||||
 | 
					    - kind: ServiceAccount
 | 
				
			||||||
 | 
					      name: caapf-controller-manager
 | 
				
			||||||
 | 
					      namespace: caapf-system
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: v1
 | 
				
			||||||
 | 
					    kind: Secret
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      annotations:
 | 
				
			||||||
 | 
					        kubernetes.io/service-account.name: caapf-helm-manager
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/fleet-addon-registration: "true"
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					      name: caapf-helm-manager
 | 
				
			||||||
 | 
					      namespace: caapf-system
 | 
				
			||||||
 | 
					    type: kubernetes.io/service-account-token
 | 
				
			||||||
 | 
					    ---
 | 
				
			||||||
 | 
					    apiVersion: apps/v1
 | 
				
			||||||
 | 
					    kind: Deployment
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					        control-plane: controller-manager
 | 
				
			||||||
 | 
					      name: caapf-controller-manager
 | 
				
			||||||
 | 
					      namespace: caapf-system
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					      replicas: 1
 | 
				
			||||||
 | 
					      selector:
 | 
				
			||||||
 | 
					        matchLabels:
 | 
				
			||||||
 | 
					          cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					          control-plane: controller-manager
 | 
				
			||||||
 | 
					      template:
 | 
				
			||||||
 | 
					        metadata:
 | 
				
			||||||
 | 
					          annotations:
 | 
				
			||||||
 | 
					            kubectl.kubernetes.io/default-container: manager
 | 
				
			||||||
 | 
					          labels:
 | 
				
			||||||
 | 
					            cluster.x-k8s.io/provider: fleet
 | 
				
			||||||
 | 
					            control-plane: controller-manager
 | 
				
			||||||
 | 
					        spec:
 | 
				
			||||||
 | 
					          containers:
 | 
				
			||||||
 | 
					          - image: ghcr.io/rancher-sandbox/cluster-api-addon-provider-fleet:v0.11.0
 | 
				
			||||||
 | 
					            imagePullPolicy: IfNotPresent
 | 
				
			||||||
 | 
					            name: manager
 | 
				
			||||||
 | 
					            ports:
 | 
				
			||||||
 | 
					            - containerPort: 8443
 | 
				
			||||||
 | 
					              name: http
 | 
				
			||||||
 | 
					              protocol: TCP
 | 
				
			||||||
 | 
					            readinessProbe:
 | 
				
			||||||
 | 
					              httpGet:
 | 
				
			||||||
 | 
					                path: /health
 | 
				
			||||||
 | 
					                port: http
 | 
				
			||||||
 | 
					              initialDelaySeconds: 5
 | 
				
			||||||
 | 
					              periodSeconds: 5
 | 
				
			||||||
 | 
					            resources:
 | 
				
			||||||
 | 
					              limits:
 | 
				
			||||||
 | 
					                cpu: 100m
 | 
				
			||||||
 | 
					                memory: 150Mi
 | 
				
			||||||
 | 
					              requests:
 | 
				
			||||||
 | 
					                cpu: 100m
 | 
				
			||||||
 | 
					                memory: 100Mi
 | 
				
			||||||
 | 
					          - args:
 | 
				
			||||||
 | 
					            - --helm-install
 | 
				
			||||||
 | 
					            image: ghcr.io/rancher-sandbox/cluster-api-addon-provider-fleet:v0.11.0
 | 
				
			||||||
 | 
					            name: helm-manager
 | 
				
			||||||
 | 
					            resources:
 | 
				
			||||||
 | 
					              limits:
 | 
				
			||||||
 | 
					                cpu: 100m
 | 
				
			||||||
 | 
					                memory: 150Mi
 | 
				
			||||||
 | 
					              requests:
 | 
				
			||||||
 | 
					                cpu: 100m
 | 
				
			||||||
 | 
					                memory: 100Mi
 | 
				
			||||||
 | 
					            volumeMounts:
 | 
				
			||||||
 | 
					            - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
 | 
				
			||||||
 | 
					              name: helm-kubeconfig
 | 
				
			||||||
 | 
					              readOnly: true
 | 
				
			||||||
 | 
					          serviceAccountName: caapf-controller-manager
 | 
				
			||||||
 | 
					          terminationGracePeriodSeconds: 10
 | 
				
			||||||
 | 
					          volumes:
 | 
				
			||||||
 | 
					          - name: helm-kubeconfig
 | 
				
			||||||
 | 
					            secret:
 | 
				
			||||||
 | 
					              secretName: caapf-helm-manager
 | 
				
			||||||
 | 
					  metadata: |
 | 
				
			||||||
 | 
					    apiVersion: clusterctl.cluster.x-k8s.io/v1alpha3
 | 
				
			||||||
 | 
					    releaseSeries:
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 1
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 2
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 3
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 4
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 5
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 6
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 7
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 8
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 9
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 10
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 11
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
kind: ConfigMap
 | 
					kind: ConfigMap
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  creationTimestamp: null
 | 
					  creationTimestamp: null
 | 
				
			||||||
  name: v0.6.0
 | 
					  name: v0.11.0
 | 
				
			||||||
  namespace: rancher-turtles-system
 | 
					  namespace: rancher-turtles-system
 | 
				
			||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    provider-components: fleet
 | 
					    provider-components: fleet
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3734,7 +3734,7 @@ data:
 | 
				
			|||||||
            envFrom:
 | 
					            envFrom:
 | 
				
			||||||
            - configMapRef:
 | 
					            - configMapRef:
 | 
				
			||||||
                name: capm3-capm3fasttrack-configmap
 | 
					                name: capm3-capm3fasttrack-configmap
 | 
				
			||||||
            image: registry.rancher.com/rancher/cluster-api-provider-metal3:v1.9.3
 | 
					            image: registry.rancher.com/rancher/cluster-api-provider-metal3:v1.9.4
 | 
				
			||||||
            imagePullPolicy: IfNotPresent
 | 
					            imagePullPolicy: IfNotPresent
 | 
				
			||||||
            livenessProbe:
 | 
					            livenessProbe:
 | 
				
			||||||
              httpGet:
 | 
					              httpGet:
 | 
				
			||||||
@@ -3820,7 +3820,7 @@ data:
 | 
				
			|||||||
              valueFrom:
 | 
					              valueFrom:
 | 
				
			||||||
                fieldRef:
 | 
					                fieldRef:
 | 
				
			||||||
                  fieldPath: metadata.namespace
 | 
					                  fieldPath: metadata.namespace
 | 
				
			||||||
            image: quay.io/metal3-io/ip-address-manager:v1.9.4
 | 
					            image: quay.io/metal3-io/ip-address-manager:v1.9.5
 | 
				
			||||||
            imagePullPolicy: IfNotPresent
 | 
					            imagePullPolicy: IfNotPresent
 | 
				
			||||||
            livenessProbe:
 | 
					            livenessProbe:
 | 
				
			||||||
              httpGet:
 | 
					              httpGet:
 | 
				
			||||||
@@ -4524,7 +4524,7 @@ data:
 | 
				
			|||||||
kind: ConfigMap
 | 
					kind: ConfigMap
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  creationTimestamp: null
 | 
					  creationTimestamp: null
 | 
				
			||||||
  name: v1.9.3
 | 
					  name: v1.9.4
 | 
				
			||||||
  namespace: capm3-system
 | 
					  namespace: capm3-system
 | 
				
			||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    provider-components: metal3
 | 
					    provider-components: metal3
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,7 +22,7 @@ data:
 | 
				
			|||||||
    metadata:
 | 
					    metadata:
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        cert-manager.io/inject-ca-from: rke2-bootstrap-system/rke2-bootstrap-serving-cert
 | 
					        cert-manager.io/inject-ca-from: rke2-bootstrap-system/rke2-bootstrap-serving-cert
 | 
				
			||||||
        controller-gen.kubebuilder.io/version: v0.16.1
 | 
					        controller-gen.kubebuilder.io/version: v0.17.3
 | 
				
			||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        cluster.x-k8s.io/provider: bootstrap-rke2
 | 
					        cluster.x-k8s.io/provider: bootstrap-rke2
 | 
				
			||||||
        cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
 | 
					        cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
 | 
				
			||||||
@@ -985,6 +985,9 @@ data:
 | 
				
			|||||||
                      - path
 | 
					                      - path
 | 
				
			||||||
                      type: object
 | 
					                      type: object
 | 
				
			||||||
                    type: array
 | 
					                    type: array
 | 
				
			||||||
 | 
					                  gzipUserData:
 | 
				
			||||||
 | 
					                    description: GzipUserData specifies if the user data should be gzipped.
 | 
				
			||||||
 | 
					                    type: boolean
 | 
				
			||||||
                  postRKE2Commands:
 | 
					                  postRKE2Commands:
 | 
				
			||||||
                    description: PostRKE2Commands specifies extra commands to run after
 | 
					                    description: PostRKE2Commands specifies extra commands to run after
 | 
				
			||||||
                      rke2 setup runs.
 | 
					                      rke2 setup runs.
 | 
				
			||||||
@@ -1218,7 +1221,7 @@ data:
 | 
				
			|||||||
    metadata:
 | 
					    metadata:
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        cert-manager.io/inject-ca-from: rke2-bootstrap-system/rke2-bootstrap-serving-cert
 | 
					        cert-manager.io/inject-ca-from: rke2-bootstrap-system/rke2-bootstrap-serving-cert
 | 
				
			||||||
        controller-gen.kubebuilder.io/version: v0.16.1
 | 
					        controller-gen.kubebuilder.io/version: v0.17.3
 | 
				
			||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        cluster.x-k8s.io/provider: bootstrap-rke2
 | 
					        cluster.x-k8s.io/provider: bootstrap-rke2
 | 
				
			||||||
        cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
 | 
					        cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
 | 
				
			||||||
@@ -2164,6 +2167,10 @@ data:
 | 
				
			|||||||
                              - path
 | 
					                              - path
 | 
				
			||||||
                              type: object
 | 
					                              type: object
 | 
				
			||||||
                            type: array
 | 
					                            type: array
 | 
				
			||||||
 | 
					                          gzipUserData:
 | 
				
			||||||
 | 
					                            description: GzipUserData specifies if the user data should
 | 
				
			||||||
 | 
					                              be gzipped.
 | 
				
			||||||
 | 
					                            type: boolean
 | 
				
			||||||
                          postRKE2Commands:
 | 
					                          postRKE2Commands:
 | 
				
			||||||
                            description: PostRKE2Commands specifies extra commands to
 | 
					                            description: PostRKE2Commands specifies extra commands to
 | 
				
			||||||
                              run after rke2 setup runs.
 | 
					                              run after rke2 setup runs.
 | 
				
			||||||
@@ -2525,9 +2532,12 @@ data:
 | 
				
			|||||||
            - --leader-elect
 | 
					            - --leader-elect
 | 
				
			||||||
            - --diagnostics-address=${CAPRKE2_DIAGNOSTICS_ADDRESS:=:8443}
 | 
					            - --diagnostics-address=${CAPRKE2_DIAGNOSTICS_ADDRESS:=:8443}
 | 
				
			||||||
            - --insecure-diagnostics=${CAPRKE2_INSECURE_DIAGNOSTICS:=false}
 | 
					            - --insecure-diagnostics=${CAPRKE2_INSECURE_DIAGNOSTICS:=false}
 | 
				
			||||||
 | 
					            - --v=${CAPRKE2_DEBUG_LEVEL:=0}
 | 
				
			||||||
 | 
					            - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=true},ClusterTopology=${CLUSTER_TOPOLOGY:=true}
 | 
				
			||||||
 | 
					            - --concurrency=${CONCURRENCY_NUMBER:=10}
 | 
				
			||||||
            command:
 | 
					            command:
 | 
				
			||||||
            - /manager
 | 
					            - /manager
 | 
				
			||||||
            image: ghcr.io/rancher/cluster-api-provider-rke2-bootstrap:v0.12.0
 | 
					            image: ghcr.io/rancher/cluster-api-provider-rke2-bootstrap:v0.18.0
 | 
				
			||||||
            imagePullPolicy: IfNotPresent
 | 
					            imagePullPolicy: IfNotPresent
 | 
				
			||||||
            livenessProbe:
 | 
					            livenessProbe:
 | 
				
			||||||
              httpGet:
 | 
					              httpGet:
 | 
				
			||||||
@@ -2750,10 +2760,28 @@ data:
 | 
				
			|||||||
      - major: 0
 | 
					      - major: 0
 | 
				
			||||||
        minor: 12
 | 
					        minor: 12
 | 
				
			||||||
        contract: v1beta1
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 13
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 14
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 15
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 16
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 17
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 18
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
kind: ConfigMap
 | 
					kind: ConfigMap
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  creationTimestamp: null
 | 
					  creationTimestamp: null
 | 
				
			||||||
  name: v0.12.0
 | 
					  name: v0.18.0
 | 
				
			||||||
  namespace: rke2-bootstrap-system
 | 
					  namespace: rke2-bootstrap-system
 | 
				
			||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    provider-components: rke2-bootstrap
 | 
					    provider-components: rke2-bootstrap
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,7 +22,7 @@ data:
 | 
				
			|||||||
    metadata:
 | 
					    metadata:
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        cert-manager.io/inject-ca-from: rke2-control-plane-system/rke2-control-plane-serving-cert
 | 
					        cert-manager.io/inject-ca-from: rke2-control-plane-system/rke2-control-plane-serving-cert
 | 
				
			||||||
        controller-gen.kubebuilder.io/version: v0.16.1
 | 
					        controller-gen.kubebuilder.io/version: v0.17.3
 | 
				
			||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        cluster.x-k8s.io/provider: control-plane-rke2
 | 
					        cluster.x-k8s.io/provider: control-plane-rke2
 | 
				
			||||||
        cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
 | 
					        cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
 | 
				
			||||||
@@ -1624,6 +1624,9 @@ data:
 | 
				
			|||||||
                      - path
 | 
					                      - path
 | 
				
			||||||
                      type: object
 | 
					                      type: object
 | 
				
			||||||
                    type: array
 | 
					                    type: array
 | 
				
			||||||
 | 
					                  gzipUserData:
 | 
				
			||||||
 | 
					                    description: GzipUserData specifies if the user data should be gzipped.
 | 
				
			||||||
 | 
					                    type: boolean
 | 
				
			||||||
                  infrastructureRef:
 | 
					                  infrastructureRef:
 | 
				
			||||||
                    description: |-
 | 
					                    description: |-
 | 
				
			||||||
                      InfrastructureRef is a required reference to a custom resource
 | 
					                      InfrastructureRef is a required reference to a custom resource
 | 
				
			||||||
@@ -1744,12 +1747,23 @@ data:
 | 
				
			|||||||
                              More info: http://kubernetes.io/docs/user-guide/labels
 | 
					                              More info: http://kubernetes.io/docs/user-guide/labels
 | 
				
			||||||
                            type: object
 | 
					                            type: object
 | 
				
			||||||
                        type: object
 | 
					                        type: object
 | 
				
			||||||
 | 
					                      nodeDeletionTimeout:
 | 
				
			||||||
 | 
					                        description: |-
 | 
				
			||||||
 | 
					                          nodeDeletionTimeout defines how long the machine controller will attempt to delete the Node that the Machine
 | 
				
			||||||
 | 
					                          hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely.
 | 
				
			||||||
 | 
					                          If no value is provided, the default value for this property of the Machine resource will be used.
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
                      nodeDrainTimeout:
 | 
					                      nodeDrainTimeout:
 | 
				
			||||||
                        description: |-
 | 
					                        description: |-
 | 
				
			||||||
                          NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node
 | 
					                          NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node
 | 
				
			||||||
                          The default value is 0, meaning that the node can be drained without any time limitations.
 | 
					                          The default value is 0, meaning that the node can be drained without any time limitations.
 | 
				
			||||||
                          NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
 | 
					                          NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
 | 
				
			||||||
                        type: string
 | 
					                        type: string
 | 
				
			||||||
 | 
					                      nodeVolumeDetachTimeout:
 | 
				
			||||||
 | 
					                        description: |-
 | 
				
			||||||
 | 
					                          nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes
 | 
				
			||||||
 | 
					                          to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
                    required:
 | 
					                    required:
 | 
				
			||||||
                    - infrastructureRef
 | 
					                    - infrastructureRef
 | 
				
			||||||
                    type: object
 | 
					                    type: object
 | 
				
			||||||
@@ -1974,6 +1988,54 @@ data:
 | 
				
			|||||||
                    - control-plane-endpoint
 | 
					                    - control-plane-endpoint
 | 
				
			||||||
                    - ""
 | 
					                    - ""
 | 
				
			||||||
                    type: string
 | 
					                    type: string
 | 
				
			||||||
 | 
					                  remediationStrategy:
 | 
				
			||||||
 | 
					                    description: remediationStrategy is the RemediationStrategy that controls
 | 
				
			||||||
 | 
					                      how control plane machine remediation happens.
 | 
				
			||||||
 | 
					                    properties:
 | 
				
			||||||
 | 
					                      maxRetry:
 | 
				
			||||||
 | 
					                        description: "maxRetry is the Max number of retries while attempting
 | 
				
			||||||
 | 
					                          to remediate an unhealthy machine.\nA retry happens when a machine
 | 
				
			||||||
 | 
					                          that was created as a replacement for an unhealthy machine also
 | 
				
			||||||
 | 
					                          fails.\nFor example, given a control plane with three machines
 | 
				
			||||||
 | 
					                          M1, M2, M3:\n\n\tM1 become unhealthy; remediation happens, and
 | 
				
			||||||
 | 
					                          M1-1 is created as a replacement.\n\tIf M1-1 (replacement of
 | 
				
			||||||
 | 
					                          M1) has problems while bootstrapping it will become unhealthy,
 | 
				
			||||||
 | 
					                          and then be\n\tremediated; such operation is considered a retry,
 | 
				
			||||||
 | 
					                          remediation-retry #1.\n\tIf M1-2 (replacement of M1-1) becomes
 | 
				
			||||||
 | 
					                          unhealthy, remediation-retry #2 will happen, etc.\n\nA retry
 | 
				
			||||||
 | 
					                          could happen only after RetryPeriod from the previous retry.\nIf
 | 
				
			||||||
 | 
					                          a machine is marked as unhealthy after MinHealthyPeriod from
 | 
				
			||||||
 | 
					                          the previous remediation expired,\nthis is not considered a
 | 
				
			||||||
 | 
					                          retry anymore because the new issue is assumed unrelated from
 | 
				
			||||||
 | 
					                          the previous one.\n\nIf not set, the remedation will be retried
 | 
				
			||||||
 | 
					                          infinitely."
 | 
				
			||||||
 | 
					                        format: int32
 | 
				
			||||||
 | 
					                        type: integer
 | 
				
			||||||
 | 
					                      minHealthyPeriod:
 | 
				
			||||||
 | 
					                        description: "minHealthyPeriod defines the duration after which
 | 
				
			||||||
 | 
					                          RKE2ControlPlane will consider any failure to a machine unrelated\nfrom
 | 
				
			||||||
 | 
					                          the previous one. In this case the remediation is not considered
 | 
				
			||||||
 | 
					                          a retry anymore, and thus the retry\ncounter restarts from 0.
 | 
				
			||||||
 | 
					                          For example, assuming MinHealthyPeriod is set to 1h (default)\n\n\tM1
 | 
				
			||||||
 | 
					                          become unhealthy; remediation happens, and M1-1 is created as
 | 
				
			||||||
 | 
					                          a replacement.\n\tIf M1-1 (replacement of M1) has problems within
 | 
				
			||||||
 | 
					                          the 1hr after the creation, also\n\tthis machine will be remediated
 | 
				
			||||||
 | 
					                          and this operation is considered a retry - a problem related\n\tto
 | 
				
			||||||
 | 
					                          the original issue happened to M1 -.\n\n\tIf instead the problem
 | 
				
			||||||
 | 
					                          on M1-1 is happening after MinHealthyPeriod expired, e.g. four
 | 
				
			||||||
 | 
					                          days after\n\tm1-1 has been created as a remediation of M1,
 | 
				
			||||||
 | 
					                          the problem on M1-1 is considered unrelated to\n\tthe original
 | 
				
			||||||
 | 
					                          issue happened to M1.\n\nIf not set, this value is defaulted
 | 
				
			||||||
 | 
					                          to 1h."
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
 | 
					                      retryPeriod:
 | 
				
			||||||
 | 
					                        description: |-
 | 
				
			||||||
 | 
					                          retryPeriod is the duration that RKE2ControlPlane should wait before remediating a machine being created as a replacement
 | 
				
			||||||
 | 
					                          for an unhealthy machine (a retry).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                          If not set, a retry will happen immediately.
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
 | 
					                    type: object
 | 
				
			||||||
                  replicas:
 | 
					                  replicas:
 | 
				
			||||||
                    description: Replicas is the number of replicas for the Control Plane.
 | 
					                    description: Replicas is the number of replicas for the Control Plane.
 | 
				
			||||||
                    format: int32
 | 
					                    format: int32
 | 
				
			||||||
@@ -2185,9 +2247,15 @@ data:
 | 
				
			|||||||
                              - rke2-coredns
 | 
					                              - rke2-coredns
 | 
				
			||||||
                              - rke2-ingress-nginx
 | 
					                              - rke2-ingress-nginx
 | 
				
			||||||
                              - rke2-metrics-server
 | 
					                              - rke2-metrics-server
 | 
				
			||||||
 | 
					                              - rke2-snapshot-controller
 | 
				
			||||||
 | 
					                              - rke2-snapshot-controller-crd
 | 
				
			||||||
 | 
					                              - rke2-snapshot-validation-webhook
 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            type: array
 | 
					                            type: array
 | 
				
			||||||
                        type: object
 | 
					                        type: object
 | 
				
			||||||
 | 
					                      embeddedRegistry:
 | 
				
			||||||
 | 
					                        description: EmbeddedRegistry enables the embedded registry.
 | 
				
			||||||
 | 
					                        type: boolean
 | 
				
			||||||
                      etcd:
 | 
					                      etcd:
 | 
				
			||||||
                        description: Etcd defines optional custom configuration of ETCD.
 | 
					                        description: Etcd defines optional custom configuration of ETCD.
 | 
				
			||||||
                        properties:
 | 
					                        properties:
 | 
				
			||||||
@@ -2369,6 +2437,51 @@ data:
 | 
				
			|||||||
                              if value is false, ETCD metrics will NOT be exposed
 | 
					                              if value is false, ETCD metrics will NOT be exposed
 | 
				
			||||||
                            type: boolean
 | 
					                            type: boolean
 | 
				
			||||||
                        type: object
 | 
					                        type: object
 | 
				
			||||||
 | 
					                      externalDatastoreSecret:
 | 
				
			||||||
 | 
					                        description: |-
 | 
				
			||||||
 | 
					                          ExternalDatastoreSecret is a reference to a Secret that contains configuration about connecting to an external datastore.
 | 
				
			||||||
 | 
					                          The secret must contain a key named "endpoint" that contains the connection string for the external datastore.
 | 
				
			||||||
 | 
					                        properties:
 | 
				
			||||||
 | 
					                          apiVersion:
 | 
				
			||||||
 | 
					                            description: API version of the referent.
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                          fieldPath:
 | 
				
			||||||
 | 
					                            description: |-
 | 
				
			||||||
 | 
					                              If referring to a piece of an object instead of an entire object, this string
 | 
				
			||||||
 | 
					                              should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
 | 
				
			||||||
 | 
					                              For example, if the object reference is to a container within a pod, this would take on a value like:
 | 
				
			||||||
 | 
					                              "spec.containers{name}" (where "name" refers to the name of the container that triggered
 | 
				
			||||||
 | 
					                              the event) or if no container name is specified "spec.containers[2]" (container with
 | 
				
			||||||
 | 
					                              index 2 in this pod). This syntax is chosen only to have some well-defined way of
 | 
				
			||||||
 | 
					                              referencing a part of an object.
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                          kind:
 | 
				
			||||||
 | 
					                            description: |-
 | 
				
			||||||
 | 
					                              Kind of the referent.
 | 
				
			||||||
 | 
					                              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                          name:
 | 
				
			||||||
 | 
					                            description: |-
 | 
				
			||||||
 | 
					                              Name of the referent.
 | 
				
			||||||
 | 
					                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                          namespace:
 | 
				
			||||||
 | 
					                            description: |-
 | 
				
			||||||
 | 
					                              Namespace of the referent.
 | 
				
			||||||
 | 
					                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                          resourceVersion:
 | 
				
			||||||
 | 
					                            description: |-
 | 
				
			||||||
 | 
					                              Specific resourceVersion to which this reference is made, if any.
 | 
				
			||||||
 | 
					                              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                          uid:
 | 
				
			||||||
 | 
					                            description: |-
 | 
				
			||||||
 | 
					                              UID of the referent.
 | 
				
			||||||
 | 
					                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
 | 
				
			||||||
 | 
					                            type: string
 | 
				
			||||||
 | 
					                        type: object
 | 
				
			||||||
 | 
					                        x-kubernetes-map-type: atomic
 | 
				
			||||||
                      kubeAPIServer:
 | 
					                      kubeAPIServer:
 | 
				
			||||||
                        description: KubeAPIServer defines optional custom configuration
 | 
					                        description: KubeAPIServer defines optional custom configuration
 | 
				
			||||||
                          of the Kube API Server.
 | 
					                          of the Kube API Server.
 | 
				
			||||||
@@ -2541,14 +2654,42 @@ data:
 | 
				
			|||||||
                    description: Initialized indicates the target cluster has completed
 | 
					                    description: Initialized indicates the target cluster has completed
 | 
				
			||||||
                      initialization.
 | 
					                      initialization.
 | 
				
			||||||
                    type: boolean
 | 
					                    type: boolean
 | 
				
			||||||
 | 
					                  lastRemediation:
 | 
				
			||||||
 | 
					                    description: lastRemediation stores info about last remediation performed.
 | 
				
			||||||
 | 
					                    properties:
 | 
				
			||||||
 | 
					                      machine:
 | 
				
			||||||
 | 
					                        description: machine is the machine name of the latest machine
 | 
				
			||||||
 | 
					                          being remediated.
 | 
				
			||||||
 | 
					                        maxLength: 253
 | 
				
			||||||
 | 
					                        minLength: 1
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
 | 
					                      retryCount:
 | 
				
			||||||
 | 
					                        description: |-
 | 
				
			||||||
 | 
					                          retryCount used to keep track of remediation retry for the last remediated machine.
 | 
				
			||||||
 | 
					                          A retry happens when a machine that was created as a replacement for an unhealthy machine also fails.
 | 
				
			||||||
 | 
					                        type: integer
 | 
				
			||||||
 | 
					                      timestamp:
 | 
				
			||||||
 | 
					                        description: timestamp is when last remediation happened. It is
 | 
				
			||||||
 | 
					                          represented in RFC3339 form and is in UTC.
 | 
				
			||||||
 | 
					                        format: date-time
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
 | 
					                    required:
 | 
				
			||||||
 | 
					                    - machine
 | 
				
			||||||
 | 
					                    - retryCount
 | 
				
			||||||
 | 
					                    - timestamp
 | 
				
			||||||
 | 
					                    type: object
 | 
				
			||||||
                  observedGeneration:
 | 
					                  observedGeneration:
 | 
				
			||||||
                    description: ObservedGeneration is the latest generation observed
 | 
					                    description: ObservedGeneration is the latest generation observed
 | 
				
			||||||
                      by the controller.
 | 
					                      by the controller.
 | 
				
			||||||
                    format: int64
 | 
					                    format: int64
 | 
				
			||||||
                    type: integer
 | 
					                    type: integer
 | 
				
			||||||
                  ready:
 | 
					                  ready:
 | 
				
			||||||
                    description: Ready indicates the BootstrapData field is ready to be
 | 
					                    description: |-
 | 
				
			||||||
                      consumed.
 | 
					                      Ready denotes that the RKE2ControlPlane API Server became ready during initial provisioning
 | 
				
			||||||
 | 
					                      to receive requests.
 | 
				
			||||||
 | 
					                      NOTE: this field is part of the Cluster API contract and it is used to orchestrate provisioning.
 | 
				
			||||||
 | 
					                      The value of this field is never updated after provisioning is completed. Please use conditions
 | 
				
			||||||
 | 
					                      to check the operational state of the control plane.
 | 
				
			||||||
                    type: boolean
 | 
					                    type: boolean
 | 
				
			||||||
                  readyReplicas:
 | 
					                  readyReplicas:
 | 
				
			||||||
                    description: ReadyReplicas is the number of replicas current attached
 | 
					                    description: ReadyReplicas is the number of replicas current attached
 | 
				
			||||||
@@ -2589,7 +2730,7 @@ data:
 | 
				
			|||||||
    metadata:
 | 
					    metadata:
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        cert-manager.io/inject-ca-from: rke2-control-plane-system/rke2-control-plane-serving-cert
 | 
					        cert-manager.io/inject-ca-from: rke2-control-plane-system/rke2-control-plane-serving-cert
 | 
				
			||||||
        controller-gen.kubebuilder.io/version: v0.16.1
 | 
					        controller-gen.kubebuilder.io/version: v0.17.3
 | 
				
			||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        cluster.x-k8s.io/provider: control-plane-rke2
 | 
					        cluster.x-k8s.io/provider: control-plane-rke2
 | 
				
			||||||
        cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
 | 
					        cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
 | 
				
			||||||
@@ -3032,6 +3173,10 @@ data:
 | 
				
			|||||||
                              - path
 | 
					                              - path
 | 
				
			||||||
                              type: object
 | 
					                              type: object
 | 
				
			||||||
                            type: array
 | 
					                            type: array
 | 
				
			||||||
 | 
					                          gzipUserData:
 | 
				
			||||||
 | 
					                            description: GzipUserData specifies if the user data should
 | 
				
			||||||
 | 
					                              be gzipped.
 | 
				
			||||||
 | 
					                            type: boolean
 | 
				
			||||||
                          infrastructureRef:
 | 
					                          infrastructureRef:
 | 
				
			||||||
                            description: |-
 | 
					                            description: |-
 | 
				
			||||||
                              InfrastructureRef is a required reference to a custom resource
 | 
					                              InfrastructureRef is a required reference to a custom resource
 | 
				
			||||||
@@ -3152,12 +3297,23 @@ data:
 | 
				
			|||||||
                                      More info: http://kubernetes.io/docs/user-guide/labels
 | 
					                                      More info: http://kubernetes.io/docs/user-guide/labels
 | 
				
			||||||
                                    type: object
 | 
					                                    type: object
 | 
				
			||||||
                                type: object
 | 
					                                type: object
 | 
				
			||||||
 | 
					                              nodeDeletionTimeout:
 | 
				
			||||||
 | 
					                                description: |-
 | 
				
			||||||
 | 
					                                  nodeDeletionTimeout defines how long the machine controller will attempt to delete the Node that the Machine
 | 
				
			||||||
 | 
					                                  hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely.
 | 
				
			||||||
 | 
					                                  If no value is provided, the default value for this property of the Machine resource will be used.
 | 
				
			||||||
 | 
					                                type: string
 | 
				
			||||||
                              nodeDrainTimeout:
 | 
					                              nodeDrainTimeout:
 | 
				
			||||||
                                description: |-
 | 
					                                description: |-
 | 
				
			||||||
                                  NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node
 | 
					                                  NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node
 | 
				
			||||||
                                  The default value is 0, meaning that the node can be drained without any time limitations.
 | 
					                                  The default value is 0, meaning that the node can be drained without any time limitations.
 | 
				
			||||||
                                  NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
 | 
					                                  NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
 | 
				
			||||||
                                type: string
 | 
					                                type: string
 | 
				
			||||||
 | 
					                              nodeVolumeDetachTimeout:
 | 
				
			||||||
 | 
					                                description: |-
 | 
				
			||||||
 | 
					                                  nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes
 | 
				
			||||||
 | 
					                                  to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.
 | 
				
			||||||
 | 
					                                type: string
 | 
				
			||||||
                            required:
 | 
					                            required:
 | 
				
			||||||
                            - infrastructureRef
 | 
					                            - infrastructureRef
 | 
				
			||||||
                            type: object
 | 
					                            type: object
 | 
				
			||||||
@@ -3384,6 +3540,57 @@ data:
 | 
				
			|||||||
                            - control-plane-endpoint
 | 
					                            - control-plane-endpoint
 | 
				
			||||||
                            - ""
 | 
					                            - ""
 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
 | 
					                          remediationStrategy:
 | 
				
			||||||
 | 
					                            description: remediationStrategy is the RemediationStrategy
 | 
				
			||||||
 | 
					                              that controls how control plane machine remediation happens.
 | 
				
			||||||
 | 
					                            properties:
 | 
				
			||||||
 | 
					                              maxRetry:
 | 
				
			||||||
 | 
					                                description: "maxRetry is the Max number of retries while
 | 
				
			||||||
 | 
					                                  attempting to remediate an unhealthy machine.\nA retry
 | 
				
			||||||
 | 
					                                  happens when a machine that was created as a replacement
 | 
				
			||||||
 | 
					                                  for an unhealthy machine also fails.\nFor example, given
 | 
				
			||||||
 | 
					                                  a control plane with three machines M1, M2, M3:\n\n\tM1
 | 
				
			||||||
 | 
					                                  become unhealthy; remediation happens, and M1-1 is created
 | 
				
			||||||
 | 
					                                  as a replacement.\n\tIf M1-1 (replacement of M1) has
 | 
				
			||||||
 | 
					                                  problems while bootstrapping it will become unhealthy,
 | 
				
			||||||
 | 
					                                  and then be\n\tremediated; such operation is considered
 | 
				
			||||||
 | 
					                                  a retry, remediation-retry #1.\n\tIf M1-2 (replacement
 | 
				
			||||||
 | 
					                                  of M1-1) becomes unhealthy, remediation-retry #2 will
 | 
				
			||||||
 | 
					                                  happen, etc.\n\nA retry could happen only after RetryPeriod
 | 
				
			||||||
 | 
					                                  from the previous retry.\nIf a machine is marked as
 | 
				
			||||||
 | 
					                                  unhealthy after MinHealthyPeriod from the previous remediation
 | 
				
			||||||
 | 
					                                  expired,\nthis is not considered a retry anymore because
 | 
				
			||||||
 | 
					                                  the new issue is assumed unrelated from the previous
 | 
				
			||||||
 | 
					                                  one.\n\nIf not set, the remedation will be retried infinitely."
 | 
				
			||||||
 | 
					                                format: int32
 | 
				
			||||||
 | 
					                                type: integer
 | 
				
			||||||
 | 
					                              minHealthyPeriod:
 | 
				
			||||||
 | 
					                                description: "minHealthyPeriod defines the duration after
 | 
				
			||||||
 | 
					                                  which RKE2ControlPlane will consider any failure to
 | 
				
			||||||
 | 
					                                  a machine unrelated\nfrom the previous one. In this
 | 
				
			||||||
 | 
					                                  case the remediation is not considered a retry anymore,
 | 
				
			||||||
 | 
					                                  and thus the retry\ncounter restarts from 0. For example,
 | 
				
			||||||
 | 
					                                  assuming MinHealthyPeriod is set to 1h (default)\n\n\tM1
 | 
				
			||||||
 | 
					                                  become unhealthy; remediation happens, and M1-1 is created
 | 
				
			||||||
 | 
					                                  as a replacement.\n\tIf M1-1 (replacement of M1) has
 | 
				
			||||||
 | 
					                                  problems within the 1hr after the creation, also\n\tthis
 | 
				
			||||||
 | 
					                                  machine will be remediated and this operation is considered
 | 
				
			||||||
 | 
					                                  a retry - a problem related\n\tto the original issue
 | 
				
			||||||
 | 
					                                  happened to M1 -.\n\n\tIf instead the problem on M1-1
 | 
				
			||||||
 | 
					                                  is happening after MinHealthyPeriod expired, e.g. four
 | 
				
			||||||
 | 
					                                  days after\n\tm1-1 has been created as a remediation
 | 
				
			||||||
 | 
					                                  of M1, the problem on M1-1 is considered unrelated to\n\tthe
 | 
				
			||||||
 | 
					                                  original issue happened to M1.\n\nIf not set, this value
 | 
				
			||||||
 | 
					                                  is defaulted to 1h."
 | 
				
			||||||
 | 
					                                type: string
 | 
				
			||||||
 | 
					                              retryPeriod:
 | 
				
			||||||
 | 
					                                description: |-
 | 
				
			||||||
 | 
					                                  retryPeriod is the duration that RKE2ControlPlane should wait before remediating a machine being created as a replacement
 | 
				
			||||||
 | 
					                                  for an unhealthy machine (a retry).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                  If not set, a retry will happen immediately.
 | 
				
			||||||
 | 
					                                type: string
 | 
				
			||||||
 | 
					                            type: object
 | 
				
			||||||
                          replicas:
 | 
					                          replicas:
 | 
				
			||||||
                            description: Replicas is the number of replicas for the Control
 | 
					                            description: Replicas is the number of replicas for the Control
 | 
				
			||||||
                              Plane.
 | 
					                              Plane.
 | 
				
			||||||
@@ -3601,9 +3808,15 @@ data:
 | 
				
			|||||||
                                      - rke2-coredns
 | 
					                                      - rke2-coredns
 | 
				
			||||||
                                      - rke2-ingress-nginx
 | 
					                                      - rke2-ingress-nginx
 | 
				
			||||||
                                      - rke2-metrics-server
 | 
					                                      - rke2-metrics-server
 | 
				
			||||||
 | 
					                                      - rke2-snapshot-controller
 | 
				
			||||||
 | 
					                                      - rke2-snapshot-controller-crd
 | 
				
			||||||
 | 
					                                      - rke2-snapshot-validation-webhook
 | 
				
			||||||
                                      type: string
 | 
					                                      type: string
 | 
				
			||||||
                                    type: array
 | 
					                                    type: array
 | 
				
			||||||
                                type: object
 | 
					                                type: object
 | 
				
			||||||
 | 
					                              embeddedRegistry:
 | 
				
			||||||
 | 
					                                description: EmbeddedRegistry enables the embedded registry.
 | 
				
			||||||
 | 
					                                type: boolean
 | 
				
			||||||
                              etcd:
 | 
					                              etcd:
 | 
				
			||||||
                                description: Etcd defines optional custom configuration
 | 
					                                description: Etcd defines optional custom configuration
 | 
				
			||||||
                                  of ETCD.
 | 
					                                  of ETCD.
 | 
				
			||||||
@@ -3789,6 +4002,51 @@ data:
 | 
				
			|||||||
                                      if value is false, ETCD metrics will NOT be exposed
 | 
					                                      if value is false, ETCD metrics will NOT be exposed
 | 
				
			||||||
                                    type: boolean
 | 
					                                    type: boolean
 | 
				
			||||||
                                type: object
 | 
					                                type: object
 | 
				
			||||||
 | 
					                              externalDatastoreSecret:
 | 
				
			||||||
 | 
					                                description: |-
 | 
				
			||||||
 | 
					                                  ExternalDatastoreSecret is a reference to a Secret that contains configuration about connecting to an external datastore.
 | 
				
			||||||
 | 
					                                  The secret must contain a key named "endpoint" that contains the connection string for the external datastore.
 | 
				
			||||||
 | 
					                                properties:
 | 
				
			||||||
 | 
					                                  apiVersion:
 | 
				
			||||||
 | 
					                                    description: API version of the referent.
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  fieldPath:
 | 
				
			||||||
 | 
					                                    description: |-
 | 
				
			||||||
 | 
					                                      If referring to a piece of an object instead of an entire object, this string
 | 
				
			||||||
 | 
					                                      should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
 | 
				
			||||||
 | 
					                                      For example, if the object reference is to a container within a pod, this would take on a value like:
 | 
				
			||||||
 | 
					                                      "spec.containers{name}" (where "name" refers to the name of the container that triggered
 | 
				
			||||||
 | 
					                                      the event) or if no container name is specified "spec.containers[2]" (container with
 | 
				
			||||||
 | 
					                                      index 2 in this pod). This syntax is chosen only to have some well-defined way of
 | 
				
			||||||
 | 
					                                      referencing a part of an object.
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  kind:
 | 
				
			||||||
 | 
					                                    description: |-
 | 
				
			||||||
 | 
					                                      Kind of the referent.
 | 
				
			||||||
 | 
					                                      More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  name:
 | 
				
			||||||
 | 
					                                    description: |-
 | 
				
			||||||
 | 
					                                      Name of the referent.
 | 
				
			||||||
 | 
					                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  namespace:
 | 
				
			||||||
 | 
					                                    description: |-
 | 
				
			||||||
 | 
					                                      Namespace of the referent.
 | 
				
			||||||
 | 
					                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  resourceVersion:
 | 
				
			||||||
 | 
					                                    description: |-
 | 
				
			||||||
 | 
					                                      Specific resourceVersion to which this reference is made, if any.
 | 
				
			||||||
 | 
					                                      More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                  uid:
 | 
				
			||||||
 | 
					                                    description: |-
 | 
				
			||||||
 | 
					                                      UID of the referent.
 | 
				
			||||||
 | 
					                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
 | 
				
			||||||
 | 
					                                    type: string
 | 
				
			||||||
 | 
					                                type: object
 | 
				
			||||||
 | 
					                                x-kubernetes-map-type: atomic
 | 
				
			||||||
                              kubeAPIServer:
 | 
					                              kubeAPIServer:
 | 
				
			||||||
                                description: KubeAPIServer defines optional custom configuration
 | 
					                                description: KubeAPIServer defines optional custom configuration
 | 
				
			||||||
                                  of the Kube API Server.
 | 
					                                  of the Kube API Server.
 | 
				
			||||||
@@ -3974,14 +4232,42 @@ data:
 | 
				
			|||||||
                    description: Initialized indicates the target cluster has completed
 | 
					                    description: Initialized indicates the target cluster has completed
 | 
				
			||||||
                      initialization.
 | 
					                      initialization.
 | 
				
			||||||
                    type: boolean
 | 
					                    type: boolean
 | 
				
			||||||
 | 
					                  lastRemediation:
 | 
				
			||||||
 | 
					                    description: lastRemediation stores info about last remediation performed.
 | 
				
			||||||
 | 
					                    properties:
 | 
				
			||||||
 | 
					                      machine:
 | 
				
			||||||
 | 
					                        description: machine is the machine name of the latest machine
 | 
				
			||||||
 | 
					                          being remediated.
 | 
				
			||||||
 | 
					                        maxLength: 253
 | 
				
			||||||
 | 
					                        minLength: 1
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
 | 
					                      retryCount:
 | 
				
			||||||
 | 
					                        description: |-
 | 
				
			||||||
 | 
					                          retryCount used to keep track of remediation retry for the last remediated machine.
 | 
				
			||||||
 | 
					                          A retry happens when a machine that was created as a replacement for an unhealthy machine also fails.
 | 
				
			||||||
 | 
					                        type: integer
 | 
				
			||||||
 | 
					                      timestamp:
 | 
				
			||||||
 | 
					                        description: timestamp is when last remediation happened. It is
 | 
				
			||||||
 | 
					                          represented in RFC3339 form and is in UTC.
 | 
				
			||||||
 | 
					                        format: date-time
 | 
				
			||||||
 | 
					                        type: string
 | 
				
			||||||
 | 
					                    required:
 | 
				
			||||||
 | 
					                    - machine
 | 
				
			||||||
 | 
					                    - retryCount
 | 
				
			||||||
 | 
					                    - timestamp
 | 
				
			||||||
 | 
					                    type: object
 | 
				
			||||||
                  observedGeneration:
 | 
					                  observedGeneration:
 | 
				
			||||||
                    description: ObservedGeneration is the latest generation observed
 | 
					                    description: ObservedGeneration is the latest generation observed
 | 
				
			||||||
                      by the controller.
 | 
					                      by the controller.
 | 
				
			||||||
                    format: int64
 | 
					                    format: int64
 | 
				
			||||||
                    type: integer
 | 
					                    type: integer
 | 
				
			||||||
                  ready:
 | 
					                  ready:
 | 
				
			||||||
                    description: Ready indicates the BootstrapData field is ready to be
 | 
					                    description: |-
 | 
				
			||||||
                      consumed.
 | 
					                      Ready denotes that the RKE2ControlPlane API Server became ready during initial provisioning
 | 
				
			||||||
 | 
					                      to receive requests.
 | 
				
			||||||
 | 
					                      NOTE: this field is part of the Cluster API contract and it is used to orchestrate provisioning.
 | 
				
			||||||
 | 
					                      The value of this field is never updated after provisioning is completed. Please use conditions
 | 
				
			||||||
 | 
					                      to check the operational state of the control plane.
 | 
				
			||||||
                    type: boolean
 | 
					                    type: boolean
 | 
				
			||||||
                  readyReplicas:
 | 
					                  readyReplicas:
 | 
				
			||||||
                    description: ReadyReplicas is the number of replicas current attached
 | 
					                    description: ReadyReplicas is the number of replicas current attached
 | 
				
			||||||
@@ -4097,6 +4383,14 @@ data:
 | 
				
			|||||||
      - patch
 | 
					      - patch
 | 
				
			||||||
      - update
 | 
					      - update
 | 
				
			||||||
      - watch
 | 
					      - watch
 | 
				
			||||||
 | 
					    - apiGroups:
 | 
				
			||||||
 | 
					      - apiextensions.k8s.io
 | 
				
			||||||
 | 
					      resources:
 | 
				
			||||||
 | 
					      - customresourcedefinitions
 | 
				
			||||||
 | 
					      verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - list
 | 
				
			||||||
 | 
					      - watch
 | 
				
			||||||
    - apiGroups:
 | 
					    - apiGroups:
 | 
				
			||||||
      - authentication.k8s.io
 | 
					      - authentication.k8s.io
 | 
				
			||||||
      resources:
 | 
					      resources:
 | 
				
			||||||
@@ -4248,6 +4542,8 @@ data:
 | 
				
			|||||||
            - --leader-elect
 | 
					            - --leader-elect
 | 
				
			||||||
            - --diagnostics-address=${CAPRKE2_DIAGNOSTICS_ADDRESS:=:8443}
 | 
					            - --diagnostics-address=${CAPRKE2_DIAGNOSTICS_ADDRESS:=:8443}
 | 
				
			||||||
            - --insecure-diagnostics=${CAPRKE2_INSECURE_DIAGNOSTICS:=false}
 | 
					            - --insecure-diagnostics=${CAPRKE2_INSECURE_DIAGNOSTICS:=false}
 | 
				
			||||||
 | 
					            - --v=${CAPRKE2_DEBUG_LEVEL:=0}
 | 
				
			||||||
 | 
					            - --concurrency=${CONCURRENCY_NUMBER:=10}
 | 
				
			||||||
            command:
 | 
					            command:
 | 
				
			||||||
            - /manager
 | 
					            - /manager
 | 
				
			||||||
            env:
 | 
					            env:
 | 
				
			||||||
@@ -4263,7 +4559,7 @@ data:
 | 
				
			|||||||
              valueFrom:
 | 
					              valueFrom:
 | 
				
			||||||
                fieldRef:
 | 
					                fieldRef:
 | 
				
			||||||
                  fieldPath: metadata.uid
 | 
					                  fieldPath: metadata.uid
 | 
				
			||||||
            image: ghcr.io/rancher/cluster-api-provider-rke2-controlplane:v0.12.0
 | 
					            image: ghcr.io/rancher/cluster-api-provider-rke2-controlplane:v0.18.0
 | 
				
			||||||
            imagePullPolicy: IfNotPresent
 | 
					            imagePullPolicy: IfNotPresent
 | 
				
			||||||
            livenessProbe:
 | 
					            livenessProbe:
 | 
				
			||||||
              httpGet:
 | 
					              httpGet:
 | 
				
			||||||
@@ -4493,10 +4789,28 @@ data:
 | 
				
			|||||||
      - major: 0
 | 
					      - major: 0
 | 
				
			||||||
        minor: 12
 | 
					        minor: 12
 | 
				
			||||||
        contract: v1beta1
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 13
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 14
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 15
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 16
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 17
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
 | 
					      - major: 0
 | 
				
			||||||
 | 
					        minor: 18
 | 
				
			||||||
 | 
					        contract: v1beta1
 | 
				
			||||||
kind: ConfigMap
 | 
					kind: ConfigMap
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  creationTimestamp: null
 | 
					  creationTimestamp: null
 | 
				
			||||||
  name: v0.12.0
 | 
					  name: v0.18.0
 | 
				
			||||||
  namespace: rke2-control-plane-system
 | 
					  namespace: rke2-control-plane-system
 | 
				
			||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    provider-components: rke2-control-plane
 | 
					    provider-components: rke2-control-plane
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
dependencies:
 | 
					dependencies:
 | 
				
			||||||
- name: cluster-api-operator
 | 
					- name: cluster-api-operator
 | 
				
			||||||
  repository: https://kubernetes-sigs.github.io/cluster-api-operator
 | 
					  repository: https://kubernetes-sigs.github.io/cluster-api-operator
 | 
				
			||||||
  version: 0.17.0
 | 
					  version: 0.18.1
 | 
				
			||||||
digest: sha256:c564dd1edce5e74cf5747adfa2477b3f0b9bae2b17a21b4c7312b2c1adbda64e
 | 
					digest: sha256:7ad59ce8888c32723b4ef1ae5f334fdff00a8aba87e6f1de76d605f134bff354
 | 
				
			||||||
generated: "2025-02-27T10:39:03.203623466Z"
 | 
					generated: "2025-06-30T13:10:01.066923702Z"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
#!BuildTag: %%CHART_PREFIX%%rancher-turtles:%%CHART_MAJOR%%.0.0_up0.17.0
 | 
					#!BuildTag: %%CHART_PREFIX%%rancher-turtles:%%CHART_MAJOR%%.0.5_up0.21.0
 | 
				
			||||||
#!BuildTag: %%CHART_PREFIX%%rancher-turtles:%%CHART_MAJOR%%.0.0_up0.17.0-%RELEASE%
 | 
					#!BuildTag: %%CHART_PREFIX%%rancher-turtles:%%CHART_MAJOR%%.0.5_up0.21.0-%RELEASE%
 | 
				
			||||||
annotations:
 | 
					annotations:
 | 
				
			||||||
  catalog.cattle.io/certified: rancher
 | 
					  catalog.cattle.io/certified: rancher
 | 
				
			||||||
  catalog.cattle.io/display-name: Rancher Turtles - the Cluster API Extension
 | 
					  catalog.cattle.io/display-name: Rancher Turtles - the Cluster API Extension
 | 
				
			||||||
@@ -7,17 +7,17 @@ annotations:
 | 
				
			|||||||
  catalog.cattle.io/namespace: rancher-turtles-system
 | 
					  catalog.cattle.io/namespace: rancher-turtles-system
 | 
				
			||||||
  catalog.cattle.io/os: linux
 | 
					  catalog.cattle.io/os: linux
 | 
				
			||||||
  catalog.cattle.io/permits-os: linux
 | 
					  catalog.cattle.io/permits-os: linux
 | 
				
			||||||
  catalog.cattle.io/rancher-version: '>= 2.10.0-1'
 | 
					  catalog.cattle.io/rancher-version: '>= 2.11.0-1'
 | 
				
			||||||
  catalog.cattle.io/release-name: rancher-turtles
 | 
					  catalog.cattle.io/release-name: rancher-turtles
 | 
				
			||||||
  catalog.cattle.io/scope: management
 | 
					  catalog.cattle.io/scope: management
 | 
				
			||||||
  catalog.cattle.io/type: cluster-tool
 | 
					  catalog.cattle.io/type: cluster-tool
 | 
				
			||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
appVersion: 0.17.0
 | 
					appVersion: 0.21.0
 | 
				
			||||||
dependencies:
 | 
					dependencies:
 | 
				
			||||||
- condition: cluster-api-operator.enabled
 | 
					- condition: cluster-api-operator.enabled
 | 
				
			||||||
  name: cluster-api-operator
 | 
					  name: cluster-api-operator
 | 
				
			||||||
  repository: file://./charts/cluster-api-operator
 | 
					  repository: file://./charts/cluster-api-operator
 | 
				
			||||||
  version: 0.17.0
 | 
					  version: 0.18.1
 | 
				
			||||||
description: Rancher Turtles is an extension to Rancher that brings full Cluster API
 | 
					description: Rancher Turtles is an extension to Rancher that brings full Cluster API
 | 
				
			||||||
  integration to Rancher.
 | 
					  integration to Rancher.
 | 
				
			||||||
home: https://github.com/rancher/turtles/
 | 
					home: https://github.com/rancher/turtles/
 | 
				
			||||||
@@ -29,4 +29,4 @@ keywords:
 | 
				
			|||||||
- provisioning
 | 
					- provisioning
 | 
				
			||||||
name: rancher-turtles
 | 
					name: rancher-turtles
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: "%%CHART_MAJOR%%.0.0+up0.17.0"
 | 
					version: "%%CHART_MAJOR%%.0.5+up0.21.0"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,6 @@
 | 
				
			|||||||
gh: To use GitHub CLI in a GitHub Actions workflow, set the GH_TOKEN environment variable. Example:
 | 
					## Changes since examples/v0.21.0
 | 
				
			||||||
  env:
 | 
					---
 | 
				
			||||||
    GH_TOKEN: ${{ github.token }}
 | 
					## :chart_with_upwards_trend: Overview
 | 
				
			||||||
: exit status 4
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_Thanks to all our contributors!_ 😊
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
appVersion: 0.17.0
 | 
					appVersion: 0.18.1
 | 
				
			||||||
description: Cluster API Operator
 | 
					description: Cluster API Operator
 | 
				
			||||||
name: cluster-api-operator
 | 
					name: cluster-api-operator
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: 0.17.0
 | 
					version: 0.18.1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,8 +26,10 @@ apiVersion: v1
 | 
				
			|||||||
kind: Namespace
 | 
					kind: Namespace
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "1"
 | 
					    "helm.sh/hook-weight": "1"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
    "argocd.argoproj.io/sync-wave": "1"
 | 
					    "argocd.argoproj.io/sync-wave": "1"
 | 
				
			||||||
  name: {{ $addonNamespace }}
 | 
					  name: {{ $addonNamespace }}
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
@@ -37,8 +39,10 @@ metadata:
 | 
				
			|||||||
  name: {{ $addonName }}
 | 
					  name: {{ $addonName }}
 | 
				
			||||||
  namespace: {{ $addonNamespace }}
 | 
					  namespace: {{ $addonNamespace }}
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "2"
 | 
					    "helm.sh/hook-weight": "2"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
    "argocd.argoproj.io/sync-wave": "2"
 | 
					    "argocd.argoproj.io/sync-wave": "2"
 | 
				
			||||||
{{- if or $addonVersion $.Values.secretName }}
 | 
					{{- if or $addonVersion $.Values.secretName }}
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,8 +26,11 @@ apiVersion: v1
 | 
				
			|||||||
kind: Namespace
 | 
					kind: Namespace
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "1"
 | 
					    "helm.sh/hook-weight": "1"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    "argocd.argoproj.io/sync-wave": "1"
 | 
				
			||||||
  name: {{ $bootstrapNamespace }}
 | 
					  name: {{ $bootstrapNamespace }}
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
apiVersion: operator.cluster.x-k8s.io/v1alpha2
 | 
					apiVersion: operator.cluster.x-k8s.io/v1alpha2
 | 
				
			||||||
@@ -36,8 +39,11 @@ metadata:
 | 
				
			|||||||
  name: {{ $bootstrapName }}
 | 
					  name: {{ $bootstrapName }}
 | 
				
			||||||
  namespace: {{ $bootstrapNamespace }}
 | 
					  namespace: {{ $bootstrapNamespace }}
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "2"
 | 
					    "helm.sh/hook-weight": "2"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    "argocd.argoproj.io/sync-wave": "2"
 | 
				
			||||||
{{- if or $bootstrapVersion $.Values.configSecret.name }}
 | 
					{{- if or $bootstrapVersion $.Values.configSecret.name }}
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
{{- end}}
 | 
					{{- end}}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,8 +26,11 @@ apiVersion: v1
 | 
				
			|||||||
kind: Namespace
 | 
					kind: Namespace
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "1"
 | 
					    "helm.sh/hook-weight": "1"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    "argocd.argoproj.io/sync-wave": "1"
 | 
				
			||||||
  name: {{ $controlPlaneNamespace }}
 | 
					  name: {{ $controlPlaneNamespace }}
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
apiVersion: operator.cluster.x-k8s.io/v1alpha2
 | 
					apiVersion: operator.cluster.x-k8s.io/v1alpha2
 | 
				
			||||||
@@ -36,8 +39,11 @@ metadata:
 | 
				
			|||||||
  name: {{ $controlPlaneName }}
 | 
					  name: {{ $controlPlaneName }}
 | 
				
			||||||
  namespace: {{ $controlPlaneNamespace }}
 | 
					  namespace: {{ $controlPlaneNamespace }}
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "2"
 | 
					    "helm.sh/hook-weight": "2"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    "argocd.argoproj.io/sync-wave": "2"
 | 
				
			||||||
{{- if or $controlPlaneVersion $.Values.configSecret.name $.Values.manager }}
 | 
					{{- if or $controlPlaneVersion $.Values.configSecret.name $.Values.manager }}
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
{{- end}}
 | 
					{{- end}}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{{- if or .Values.addon .Values.bootstrap .Values.controlPlane .Values.infrastructure }}
 | 
					{{- if or .Values.addon .Values.bootstrap .Values.controlPlane .Values.infrastructure .Values.ipam }}
 | 
				
			||||||
# Deploy core components if not specified
 | 
					# Deploy core components if not specified
 | 
				
			||||||
{{- if not .Values.core }}
 | 
					{{- if not .Values.core }}
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
@@ -6,8 +6,11 @@ apiVersion: v1
 | 
				
			|||||||
kind: Namespace
 | 
					kind: Namespace
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "1"
 | 
					    "helm.sh/hook-weight": "1"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    "argocd.argoproj.io/sync-wave": "1"
 | 
				
			||||||
  name: capi-system
 | 
					  name: capi-system
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
apiVersion: operator.cluster.x-k8s.io/v1alpha2
 | 
					apiVersion: operator.cluster.x-k8s.io/v1alpha2
 | 
				
			||||||
@@ -16,8 +19,11 @@ metadata:
 | 
				
			|||||||
  name: cluster-api
 | 
					  name: cluster-api
 | 
				
			||||||
  namespace: capi-system
 | 
					  namespace: capi-system
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "2"
 | 
					    "helm.sh/hook-weight": "2"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    "argocd.argoproj.io/sync-wave": "2"
 | 
				
			||||||
{{- with .Values.configSecret }}
 | 
					{{- with .Values.configSecret }}
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
  configSecret:
 | 
					  configSecret:
 | 
				
			||||||
@@ -28,4 +34,3 @@ spec:
 | 
				
			|||||||
{{- end }}
 | 
					{{- end }}
 | 
				
			||||||
{{- end }}
 | 
					{{- end }}
 | 
				
			||||||
{{- end }}
 | 
					{{- end }}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,8 +25,11 @@ apiVersion: v1
 | 
				
			|||||||
kind: Namespace
 | 
					kind: Namespace
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "1"
 | 
					    "helm.sh/hook-weight": "1"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    "argocd.argoproj.io/sync-wave": "1"
 | 
				
			||||||
  name: {{ $coreNamespace }}
 | 
					  name: {{ $coreNamespace }}
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
apiVersion: operator.cluster.x-k8s.io/v1alpha2
 | 
					apiVersion: operator.cluster.x-k8s.io/v1alpha2
 | 
				
			||||||
@@ -35,8 +38,10 @@ metadata:
 | 
				
			|||||||
  name: {{ $coreName }}
 | 
					  name: {{ $coreName }}
 | 
				
			||||||
  namespace: {{ $coreNamespace }}
 | 
					  namespace: {{ $coreNamespace }}
 | 
				
			||||||
  annotations:
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- if $.Values.enableHelmHook }}
 | 
				
			||||||
    "helm.sh/hook": "post-install,post-upgrade"
 | 
					    "helm.sh/hook": "post-install,post-upgrade"
 | 
				
			||||||
    "helm.sh/hook-weight": "2"
 | 
					    "helm.sh/hook-weight": "2"
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
    "argocd.argoproj.io/sync-wave": "2"
 | 
					    "argocd.argoproj.io/sync-wave": "2"
 | 
				
			||||||
{{- if or $coreVersion $.Values.configSecret.name $.Values.manager }}
 | 
					{{- if or $coreVersion $.Values.configSecret.name $.Values.manager }}
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
@@ -45,8 +50,8 @@ spec:
 | 
				
			|||||||
  version: {{ $coreVersion }}
 | 
					  version: {{ $coreVersion }}
 | 
				
			||||||
{{- end }}
 | 
					{{- end }}
 | 
				
			||||||
{{- if $.Values.manager }}
 | 
					{{- if $.Values.manager }}
 | 
				
			||||||
  manager:
 | 
					 | 
				
			||||||
{{- if and $.Values.manager.featureGates $.Values.manager.featureGates.core }}
 | 
					{{- if and $.Values.manager.featureGates $.Values.manager.featureGates.core }}
 | 
				
			||||||
 | 
					  manager:
 | 
				
			||||||
    featureGates:
 | 
					    featureGates:
 | 
				
			||||||
    {{- range $key, $value := $.Values.manager.featureGates.core }}
 | 
					    {{- range $key, $value := $.Values.manager.featureGates.core }}
 | 
				
			||||||
      {{ $key }}: {{ $value }}
 | 
					      {{ $key }}: {{ $value }}
 | 
				
			||||||
 
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user