Compare commits
102 Commits
Author | SHA256 | Date | |
---|---|---|---|
48472176f2 | |||
53f09dd00f | |||
c610436551 | |||
3d1a70e87a | |||
e439f489ca | |||
8e56e1edd3 | |||
2a3c37b31d | |||
eacabe4d71 | |||
d57078f9d9 | |||
fef712e4e8 | |||
2b194211ee | |||
a3fda4c5c0 | |||
3c08af8a28 | |||
a1583230bd | |||
c8c20ce47a | |||
b30ece6b61 | |||
54c0850acf | |||
ab92525cbe | |||
75ae14da78 | |||
20de7cd994 | |||
ca510a470a | |||
c68c882d35 | |||
e83a9cea3c | |||
ea8a9c590a | |||
dc19c71706 | |||
5db4c3bc79 | |||
389f19f7b9 | |||
78a681a3a3 | |||
da3b39573b | |||
6531575f1b | |||
d59f3540a2 | |||
43c764e69c | |||
0b306a3e7a | |||
c744e56218 | |||
ddabc54ac8 | |||
0cb039a9df | |||
eff9a9b0c5 | |||
8d336f380b | |||
5947d531ab | |||
15362e9536 | |||
8f20b3433e | |||
704eec6875 | |||
98c4be017d | |||
dccf206a98 | |||
9e41ee25d9 | |||
d97e434fce | |||
3dea69443d | |||
331f08255c | |||
4a99805fde | |||
6b8a623372 | |||
34687fb5e9 | |||
5a73d61002 | |||
4c6d7dea17 | |||
531bb91d27 | |||
0d3c83fca1 | |||
4d824b71cc | |||
7f93226cd3 | |||
d6d501ad99 | |||
f61bb1e0e6 | |||
a510134ed4 | |||
54e0941879 | |||
c04b2af72b | |||
c57aa3344d | |||
c86d724e92 | |||
9d97e8a56d | |||
b912f9d68a | |||
45443d5b5f | |||
ac32110ac1 | |||
5d20bc38e3 | |||
e085a97d98 | |||
58c8be887a | |||
0d59ad920e | |||
74133c22f6 | |||
e85da96001 | |||
dab7f36e0b | |||
5490ffcde2 | |||
04b9c07dd5 | |||
25de5df782 | |||
3f9b8c9e22 | |||
2a993e342e | |||
cab6fe1bcb | |||
fde506f9ef | |||
f49e6be155 | |||
e820e98a2f | |||
8c31073506 | |||
4bba5fd3f2 | |||
383705e9a3 | |||
a752a25191 | |||
83fec09683 | |||
32519595dc | |||
87c7e1be88 | |||
568d5d1590 | |||
fbd596290a | |||
ec6c4745ea | |||
856ec2ac8e | |||
7721c66ab0 | |||
cf6abb24fb | |||
602249c98d | |||
8a93aae7c5 | |||
aba448b275 | |||
09954e5818 | |||
636493adba |
.gitea/workflows
.obs
add_package.pycreate_projects.shdelete_package.pyrender_meta.pysync_packages.pywait_obs.pyworkflows.yml
README.md_config_metaakri-dashboard-extension-chart
akri
baremetal-operator
cluster-api-provider-metal3-image
cluster-api-provider-metal3
cosign
edge-image-builder-image
edge-image-builder
endpoint-copier-operator
frr-image
frr-k8s-image
frr-k8s
hauler
ip-address-manager
ironic-image
ironic-ipa-downloader-image
ironic-ipa-ramdisk
kiwi-builder-image
kube-rbac-proxy
kubevirt-dashboard-extension-chart
metal3-chart
Chart.yaml
charts
baremetal-operator
Chart.yaml
crds
customresource-baremetalhosts.yamlcustomresource-bmceventsubscriptions.yamlcustomresource-dataimages.yamlcustomresource-firmwareschemas.yamlcustomresource-hardwaredata.yamlcustomresource-hostfirmwarecomponents.yamlcustomresource-hostfirmwaresettings.yamlcustomresource-hostupdatepolicies.yamlcustomresource-preprovisioningimages.yaml
templates
clusterrole-manager.yamldeployment.yamlmetrics_auth_role.yamlmetrics_auth_role_binding.yamlmetrics_reader_role.yamlmetrics_service.yaml
values.yamltests
ironic
media
metallb-chart
62
.gitea/workflows/pr_project.yaml
Normal file
62
.gitea/workflows/pr_project.yaml
Normal file
@ -0,0 +1,62 @@
|
||||
name: Build PR in OBS
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
- closed
|
||||
branches-ignore:
|
||||
- "devel"
|
||||
|
||||
concurrency:
|
||||
group: ${{ gitea.workflow }}-${{ gitea.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
sync-pr-project:
|
||||
name: "Build PR in OBS"
|
||||
runs-on: tumbleweed
|
||||
steps:
|
||||
- name: Setup OSC
|
||||
run: |
|
||||
zypper in -y python3-jinja2
|
||||
mkdir -p ~/.config/osc
|
||||
cat >~/.config/osc/oscrc <<'EOF'
|
||||
[general]
|
||||
apiurl = https://api.opensuse.org
|
||||
|
||||
[https://api.opensuse.org]
|
||||
user=${{ vars.OBS_USERNAME }}
|
||||
pass=${{ secrets.OBS_PASSWORD }}
|
||||
EOF
|
||||
# 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: "[if PR is closed] Delete project in OBS"
|
||||
run: |
|
||||
if [ "${{ gitea.event.action }}" = "closed" ]; then
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
osc rdelete -f -r -m "PR closed" "${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
||||
fi
|
||||
- name: "Setup PR project in OBS"
|
||||
env:
|
||||
SCM_URL: ${{ gitea.event.pull_request.head.repo.clone_url }}#${{ gitea.head_ref }}
|
||||
run: |
|
||||
if [ "${{ gitea.event.action }}" != "closed" ]; then
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
python3 .obs/render_meta.py --pr ${{ gitea.event.number }} --scm-url "${SCM_URL}" | osc meta prj "${PROJECT}:Staging:PR-${{ gitea.event.number }}" -F -
|
||||
echo "Project created ${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
||||
echo "Follow build at: https://build.opensuse.org/project/monitor/${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
||||
fi
|
||||
- env:
|
||||
GIT_SHA: ${{ gitea.event.pull_request.head.sha }}
|
||||
name: "Wait for OBS to build the project"
|
||||
run: |
|
||||
if [ "${{ gitea.event.action }}" != "closed" ]; then
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
export OBS_PROJECT="${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
||||
python3 .obs/wait_obs.py
|
||||
fi
|
35
.gitea/workflows/sync_config.yaml
Normal file
35
.gitea/workflows/sync_config.yaml
Normal file
@ -0,0 +1,35 @@
|
||||
name: Synchronize Project Config
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- "devel"
|
||||
paths:
|
||||
- "_config"
|
||||
- ".gitea/workflows/sync_config.yaml"
|
||||
|
||||
jobs:
|
||||
sync-prjconf:
|
||||
name: "Update prjconf in OBS"
|
||||
runs-on: tumbleweed
|
||||
steps:
|
||||
- name: Setup OSC
|
||||
run: |
|
||||
mkdir -p ~/.config/osc
|
||||
cat >~/.config/osc/oscrc <<'EOF'
|
||||
[general]
|
||||
apiurl = https://api.opensuse.org
|
||||
|
||||
[https://api.opensuse.org]
|
||||
user=${{ vars.OBS_USERNAME }}
|
||||
pass=${{ secrets.OBS_PASSWORD }}
|
||||
EOF
|
||||
# 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'
|
||||
- run: |
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
if [ "$(osc meta prjconf "${PROJECT}" | sha256sum)" != "$(cat _config | sha256sum)" ] ; then
|
||||
osc meta prjconf "${PROJECT}" -F _config
|
||||
fi
|
45
.gitea/workflows/sync_meta.yaml
Normal file
45
.gitea/workflows/sync_meta.yaml
Normal file
@ -0,0 +1,45 @@
|
||||
name: Synchronize Project Metadata
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- "devel"
|
||||
paths:
|
||||
- "*" # Will trigger on new directories and changes to files in root of repository
|
||||
- ".gitea/workflows/sync_meta.yaml"
|
||||
- ".obs/common.py"
|
||||
|
||||
jobs:
|
||||
sync-prj-meta:
|
||||
runs-on: tumbleweed
|
||||
steps:
|
||||
- name: Setup OSC
|
||||
run: |
|
||||
zypper in -y python3-jinja2
|
||||
mkdir -p ~/.config/osc
|
||||
cat >~/.config/osc/oscrc <<'EOF'
|
||||
[general]
|
||||
apiurl = https://api.opensuse.org
|
||||
|
||||
[https://api.opensuse.org]
|
||||
user=${{ vars.OBS_USERNAME }}
|
||||
pass=${{ secrets.OBS_PASSWORD }}
|
||||
EOF
|
||||
# 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: "Update or create OBS Project"
|
||||
run: |
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
set -o pipefail
|
||||
if meta="$(osc meta prj "${PROJECT}" 2>/dev/null | sha256sum)"; then
|
||||
new_meta="$(python3 .obs/render_meta.py)"
|
||||
if [ "${meta}" != "$(echo "${new_meta}" | sha256sum)" ]; then
|
||||
echo "${new_meta}" | osc meta prj "${PROJECT}" -F -
|
||||
fi
|
||||
python3 .obs/sync_packages.py
|
||||
else
|
||||
# Create the projects
|
||||
bash .obs/create_projects.sh
|
||||
fi
|
30
.gitea/workflows/trigger_devel.yaml
Normal file
30
.gitea/workflows/trigger_devel.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
name: Trigger Devel Packages
|
||||
on:
|
||||
schedule:
|
||||
- cron: "@daily"
|
||||
|
||||
jobs:
|
||||
sync-pr-project:
|
||||
name: "Trigger source services for devel packages that changed"
|
||||
runs-on: tumbleweed
|
||||
steps:
|
||||
- name: Setup OSC
|
||||
run: |
|
||||
mkdir -p ~/.config/osc
|
||||
cat >~/.config/osc/oscrc <<'EOF'
|
||||
[general]
|
||||
apiurl = https://api.opensuse.org
|
||||
|
||||
[https://api.opensuse.org]
|
||||
user=${{ vars.OBS_USERNAME }}
|
||||
pass=${{ secrets.OBS_PASSWORD }}
|
||||
EOF
|
||||
# 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'
|
||||
ref: 'devel'
|
||||
- name: "Trigger packages"
|
||||
run: |
|
||||
python3 .obs/trigger_package.py
|
@ -1,5 +1,4 @@
|
||||
#!/usr/bin/env python3
|
||||
import yaml
|
||||
import subprocess
|
||||
import argparse
|
||||
import os
|
||||
@ -7,30 +6,6 @@ import os.path
|
||||
|
||||
from common import PROJECT, REPOSITORY, BRANCH
|
||||
|
||||
def add_package_to_workflow(name: str):
|
||||
modified = False
|
||||
with open(".obs/workflows.yml", "r") as wf_file:
|
||||
workflows = yaml.safe_load(wf_file)
|
||||
if not any(
|
||||
x
|
||||
for x in workflows["staging_build"]["steps"]
|
||||
if x["branch_package"]["source_package"] == name
|
||||
):
|
||||
workflows["staging_build"]["steps"].append(
|
||||
{
|
||||
"branch_package": {
|
||||
"source_project": PROJECT,
|
||||
"target_project": f"{PROJECT}:Staging",
|
||||
"source_package": name,
|
||||
}
|
||||
}
|
||||
)
|
||||
modified = True
|
||||
if modified:
|
||||
with open(".obs/workflows.yml", "w") as wf_file:
|
||||
yaml.dump(workflows, wf_file)
|
||||
|
||||
|
||||
def add_package_to_project(name: str):
|
||||
package_meta = f"""<package name="{name}" project="{PROJECT}">
|
||||
<title/>
|
||||
@ -53,7 +28,6 @@ def add_package(package_name: str):
|
||||
os.exit(1)
|
||||
|
||||
add_package_to_project(package_name)
|
||||
add_package_to_workflow(package_name)
|
||||
|
||||
|
||||
def main():
|
||||
@ -65,7 +39,7 @@ def main():
|
||||
add_package(args.package)
|
||||
|
||||
|
||||
print("Package created in OBS, you can now push the modified workflow file")
|
||||
print("Package created in OBS !")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
37
.obs/create_projects.sh
Normal file
37
.obs/create_projects.sh
Normal file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_help() {
|
||||
echo "Usage: $(basename $0) [--internal]"
|
||||
echo "options:"
|
||||
echo "-h, --help display this help and exit"
|
||||
echo "-i, --internal create project as internal"
|
||||
exit 0
|
||||
}
|
||||
|
||||
while [[ "$#" -gt 0 ]]; do
|
||||
case $1 in
|
||||
-h|--help) show_help;;
|
||||
-i|--internal) internal="--internal" ;;
|
||||
*) echo "Unknown parameter passed: $1";show_help ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
EXTRA_OSC_ARGS=""
|
||||
if [ -n "$internal" ]; then
|
||||
PROJECT="ISV${PROJECT:3}"
|
||||
EXTRA_OSC_ARGS="-A https://api.suse.de"
|
||||
|
||||
python3 .obs/render_meta.py ${internal} Snapshot | osc ${EXTRA_OSC_ARGS} meta prj "${PROJECT}:Snapshot" -F -
|
||||
osc ${EXTRA_OSC_ARGS} meta prjconf "${PROJECT}:Snapshot" -F _config
|
||||
fi
|
||||
|
||||
python3 .obs/render_meta.py ${internal} ToTest | osc ${EXTRA_OSC_ARGS} meta prj "${PROJECT}:ToTest" -F -
|
||||
python3 .obs/render_meta.py ${internal} | osc ${EXTRA_OSC_ARGS} meta prj "${PROJECT}" -F -
|
||||
osc ${EXTRA_OSC_ARGS} meta prjconf "${PROJECT}:ToTest" -F _config
|
||||
osc ${EXTRA_OSC_ARGS} meta prjconf "${PROJECT}" -F _config
|
||||
|
||||
if [ -z "$internal" ]; then
|
||||
python3 .obs/sync_packages.py
|
||||
fi
|
@ -1,5 +1,4 @@
|
||||
#!/usr/bin/env python3
|
||||
import yaml
|
||||
import subprocess
|
||||
import argparse
|
||||
import os
|
||||
@ -8,18 +7,6 @@ import os.path
|
||||
from common import PROJECT
|
||||
|
||||
|
||||
def delete_package_from_workflow(name: str):
|
||||
with open(".obs/workflows.yml", "r") as wf_file:
|
||||
workflows = yaml.safe_load(wf_file)
|
||||
workflows["staging_build"]["steps"] = [
|
||||
x
|
||||
for x in workflows["staging_build"]["steps"]
|
||||
if x["branch_package"]["source_package"] != name
|
||||
]
|
||||
with open(".obs/workflows.yml", "w") as wf_file:
|
||||
yaml.dump(workflows, wf_file)
|
||||
|
||||
|
||||
def delete_package_from_project(name: str):
|
||||
p = subprocess.run(["osc", "rdelete", PROJECT, name, "-m \"Deleted via delete_package.py\"" ], stdout=subprocess.PIPE)
|
||||
print(p.stdout)
|
||||
@ -33,7 +20,6 @@ def delete_package(package_name: str):
|
||||
os.exit(1)
|
||||
|
||||
delete_package_from_project(package_name)
|
||||
delete_package_from_workflow(package_name)
|
||||
|
||||
|
||||
def main():
|
||||
|
63
.obs/render_meta.py
Normal file
63
.obs/render_meta.py
Normal file
@ -0,0 +1,63 @@
|
||||
import argparse
|
||||
|
||||
from jinja2 import Template
|
||||
from common import PROJECT
|
||||
|
||||
def render(base_project, subproject, internal, scm_url=None):
|
||||
version = base_project.rsplit(':', 1)[-1]
|
||||
context = {
|
||||
"base_project": subproject == "",
|
||||
"title": f"SUSE Edge {version} {subproject}".rstrip(),
|
||||
"ironic_base": "ISV:SUSE:Edge:Ironic" if internal else "Cloud:OpenStack",
|
||||
}
|
||||
if subproject == "ToTest":
|
||||
context["project"] = f"{base_project}:ToTest"
|
||||
context["description"] = (
|
||||
f"This project doesn't build, it stores a snapshot of SUSE Edge {version} "
|
||||
"project currently going through the automated test layer"
|
||||
)
|
||||
if "Factory" in base_project or internal:
|
||||
context["release_project"] = f"{base_project}:Snapshot"
|
||||
elif subproject == "Snapshot":
|
||||
context["project"] = f"{base_project}:Snapshot"
|
||||
context["release_project"] = f"{base_project.rsplit(':', 1)[0]}:Containers"
|
||||
context["for_release"] = True
|
||||
context["description"] = (
|
||||
f"This project doesn't build, it stores a snapshot of SUSE Edge {version} "
|
||||
"project that passed automated test layer"
|
||||
)
|
||||
elif subproject == "":
|
||||
context["project"] = base_project
|
||||
context["release_project"] = f"{base_project}:ToTest"
|
||||
else: # PR case direct python call
|
||||
context["base_project"] = True
|
||||
context["project"] = f"{base_project}:{subproject}"
|
||||
if scm_url is not None:
|
||||
context["scm_url"] = scm_url
|
||||
|
||||
with open("_meta") as meta:
|
||||
template = Template(meta.read())
|
||||
return template.render(context)
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
prog='ProgramName',
|
||||
description='What the program does',
|
||||
epilog='Text at the bottom of help')
|
||||
parser.add_argument("subproject", default="", choices=["", "ToTest", "Snapshot"], nargs="?")
|
||||
parser.add_argument("--internal", action="store_true")
|
||||
parser.add_argument("--pr")
|
||||
parser.add_argument("--scm-url")
|
||||
args = parser.parse_args()
|
||||
base_project = PROJECT.replace("isv", "ISV", 1) if args.internal else PROJECT
|
||||
|
||||
print(render(
|
||||
base_project=base_project,
|
||||
subproject=args.subproject if args.pr is None else f"Staging:PR-{args.pr}",
|
||||
internal=args.internal,
|
||||
scm_url=args.scm_url,
|
||||
))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
@ -9,7 +9,7 @@ from common import PROJECT
|
||||
|
||||
def get_obs_packages() -> Set[str]:
|
||||
packages = subprocess.run(["osc", "ls", PROJECT], encoding='utf-8' , capture_output=True)
|
||||
return set(packages.stdout.splitlines())
|
||||
return { p for p in packages.stdout.splitlines() if ":" not in p }
|
||||
|
||||
def get_local_packages() -> Set[str]:
|
||||
p = pathlib.Path('.')
|
||||
|
83
.obs/wait_obs.py
Normal file
83
.obs/wait_obs.py
Normal file
@ -0,0 +1,83 @@
|
||||
import xml.etree.ElementTree as ET
|
||||
import subprocess
|
||||
import time
|
||||
import os
|
||||
import sys
|
||||
|
||||
from collections import Counter
|
||||
|
||||
def get_buildstatus(project: str) -> ET.Element:
|
||||
for _ in range(5):
|
||||
try:
|
||||
output = subprocess.check_output(["osc", "pr", "--xml", project])
|
||||
return ET.fromstring(output)
|
||||
except subprocess.CalledProcessError:
|
||||
continue
|
||||
print("Failed to get buildstatus from OBS")
|
||||
|
||||
def do_wait(project:str, commit:str) -> ET.Element:
|
||||
last_state = None
|
||||
while True:
|
||||
time.sleep(5)
|
||||
status = get_buildstatus(project)
|
||||
if last_state == status.get("state"):
|
||||
continue
|
||||
else:
|
||||
last_state = status.get("state")
|
||||
|
||||
scminfo = { e.text for e in status.findall(".//scminfo") }
|
||||
if len(scminfo) != 1 or scminfo.pop() != commit:
|
||||
print("Waiting for OBS to sync with SCM")
|
||||
continue
|
||||
|
||||
if not all([ e.get('state') == "published" and e.get('dirty') is None for e in status.findall("./result")]):
|
||||
print("Waiting for OBS to finish building")
|
||||
continue
|
||||
|
||||
return status
|
||||
|
||||
def print_results(status: ET.Element) -> bool:
|
||||
results = {}
|
||||
failed = []
|
||||
for e in status.findall("./result"):
|
||||
repo = results.get(e.get("repository"), {})
|
||||
repo[e.get("arch")] = e
|
||||
results[e.get("repository")] = repo
|
||||
|
||||
for repo in results.keys():
|
||||
print(f"{repo}:")
|
||||
depth=1
|
||||
for arch in results[repo].keys():
|
||||
counts = Counter()
|
||||
if repo != "charts":
|
||||
print(f"\t{arch}:")
|
||||
depth=2
|
||||
for package in results[repo][arch].findall("./status"):
|
||||
if package.get("code") in ["excluded", "disabled"]:
|
||||
continue
|
||||
if package.get("code") in ["failed", "unresolvable", "broken"]:
|
||||
details = package.findtext("details")
|
||||
if details:
|
||||
failed.append(f"{package.get('package')} ({arch}): {details}")
|
||||
else:
|
||||
failed.append(f"{package.get('package')} ({arch})")
|
||||
counts[package.get("code")] += 1
|
||||
for (code, count) in counts.items():
|
||||
print("\t"*depth, f"{code}: {count}")
|
||||
|
||||
failed.sort()
|
||||
if failed:
|
||||
print("\nPackages failing: ")
|
||||
for fail in failed:
|
||||
print("\t", fail)
|
||||
return len(failed)
|
||||
|
||||
def main():
|
||||
project = os.environ.get("OBS_PROJECT")
|
||||
sha = os.environ.get("GIT_SHA")
|
||||
print(f"Waiting for OBS to build {project} for commit {sha}")
|
||||
status = do_wait(project, sha)
|
||||
sys.exit(print_results(status))
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
@ -1,228 +0,0 @@
|
||||
staging_build:
|
||||
filters:
|
||||
event: pull_request
|
||||
steps:
|
||||
- branch_package:
|
||||
source_package: endpoint-copier-operator
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: endpoint-copier-operator-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: endpoint-copier-operator-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-agent-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-controller-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-dashboard-extension-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-debug-echo-discovery-handler-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-onvif-discovery-handler-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-opcua-discovery-handler-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-udev-discovery-handler-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: akri-webhook-configuration-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: obs-service-set_version
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: cosign
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: frr-k8s
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: kubectl
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: upgrade-controller
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: nm-configurator
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: kube-rbac-proxy
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: edge-image-builder
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: metallb
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: hauler
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: ip-address-manager
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: baremetal-operator
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: cluster-api-provider-metal3
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: cdi-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: cluster-api-provider-metal3-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: metallb-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: sriov-crd-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: upgrade-controller-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: edge-image-builder-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: ironic-ipa-downloader-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: upgrade-controller-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: metal3-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: baremetal-operator-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: sriov-network-operator-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: metallb-controller-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: ip-address-manager-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: metallb-speaker-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: ironic-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: cri-tools
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: crudini
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: fakeroot
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: ipcalc
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: autoconf
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: rancher-turtles-airgap-resources-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: rancher-turtles-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: kube-rbac-proxy-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: ironic-ipa-ramdisk
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: kubevirt-dashboard-extension-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: kiwi-builder-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: kubevirt-chart
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: release-manifest-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: frr-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
||||
- branch_package:
|
||||
source_package: kubectl-image
|
||||
source_project: isv:SUSE:Edge:Factory
|
||||
target_project: isv:SUSE:Edge:Factory:Staging
|
15
README.md
15
README.md
@ -5,15 +5,6 @@ Contains the definition of the packages built on OBS for the SUSE Edge Solution
|
||||
This repository is linked to an OBS project: <https://build.opensuse.org/project/show/isv:SUSE:Edge:Factory>
|
||||
Every directory in this repository represents a package in that OBS project, those should be synced automatically from this repository.
|
||||
|
||||
## Adding a package
|
||||
|
||||
To add a package, first create a directory with your package as you intend it in OBS.
|
||||
|
||||
Then run the `.obs/add_package.py` script to create the package in the OBS project and add the required elements to the synchronization workflow.
|
||||
This script is using the `osc` command behind the scenes, so ensure you have it installed and correctly configured, as well as you have the correct permissions to create a new package in the project.
|
||||
|
||||
You will then get asked to push your changes.
|
||||
|
||||
## Testing a fork or a development branch
|
||||
|
||||
You can create a project in your home space in OBS, use the same prjconf as the one of "isv:SUSE:Edge:Factory", and copy the repositories part of the metadata (adjust self references).
|
||||
@ -23,16 +14,14 @@ Then add a scmsync stanza to your metadata like this (adjust repository path and
|
||||
<scmsync>https://src.opensuse.org/suse-edge/Factory#main</scmsync>
|
||||
```
|
||||
|
||||
This is done automatically for any PR filed against this repository.
|
||||
|
||||
## Cutting a release version branch
|
||||
|
||||
1. Do the appropriate git branch command
|
||||
2. Change the project path in `.obs/common.py` file (e.g. from `isv:SUSE:Edge:Factory` to `isv:SUSE:Edge:3.2`)
|
||||
3. Change the branch reference in `.obs/common.py` file (e.g. from `main` to `3.2`)
|
||||
4. Edit the `.obs/workflows.yml` file to change the references to the correct projects
|
||||
5. Commit those changes to the new branch and push the new branch
|
||||
6. Create the base and to-test projects (e.g. `isv:SUSE:Edge:3.2` and `isv:SUSE:Edge:3.2:ToTest`), use the `isv:SUSE:Edge:Factory` projects as example for metadata part
|
||||
7. Use the prjconf of Factory in all those projects
|
||||
8. Run the `.obs/sync_packages.py` script to create all the packages in the base project
|
||||
9. Go take a few cups of coffee/tea/mate/... while waiting for OBS to build everything
|
||||
10. Once built do an `osc release` of the project for it to be copied over in the `ToTest` section
|
||||
11. Hand over to QA to test whatever is in `ToTest`. (You can continue to work on the base branch if needed meanwhile)
|
||||
|
124
_config
Normal file
124
_config
Normal file
@ -0,0 +1,124 @@
|
||||
Prefer: -libqpid-proton10 -python311-urllib3_1
|
||||
|
||||
Macros:
|
||||
%__python3 /usr/bin/python3.11
|
||||
%registry_url %(echo %{vendor} | cut -d '/' -f 3 | sed 's/build/registry/')
|
||||
:Macros
|
||||
|
||||
%if "%{sub %{lower %_project} 1 14}" != "isv:suse:edge:" || "%{sub %_project 15 21}" == "Factory"
|
||||
# Here we are in Factory like project so set chart major version to 999
|
||||
Macros:
|
||||
%chart_major 999
|
||||
:Macros
|
||||
%else
|
||||
# Here we are in version branch, so set the image prefix and chart major accordingly
|
||||
Macros:
|
||||
%project_branch %(echo %{_project} | cut -d ':' -f 4)
|
||||
%img_prefix %{project_branch}/
|
||||
%chart_major %(echo %{project_branch} | awk '{split($1,a,"."); print a[1]*100 + a[2]}')
|
||||
:Macros
|
||||
%endif
|
||||
|
||||
%if %{sub %_project 1 3} == ISV
|
||||
Macros:
|
||||
%img_repo registry.suse.com/edge
|
||||
%chart_repo oci://registry.suse.com/edge
|
||||
%manifest_repo registry.suse.com/edge
|
||||
%support_level l3
|
||||
:Macros
|
||||
%else
|
||||
Macros:
|
||||
%img_repo registry.opensuse.org/isv/suse/edge/containers/images
|
||||
%manifest_repo registry.opensuse.org/isv/suse/edge/containers/images
|
||||
%chart_repo oci://registry.opensuse.org/isv/suse/edge/containers/charts
|
||||
%support_level techpreview
|
||||
:Macros
|
||||
%endif
|
||||
|
||||
%if "%_repository" == "charts" || "%_repository" == "test_manifest_images"
|
||||
Macros:
|
||||
%img_repo %(echo %{registry_url}:%{_project}:images | tr ":" "/" | tr '[:upper:]' '[:lower:]')
|
||||
%manifest_repo %(echo %{registry_url}:%{_project}:test_manifest_images | tr ":" "/" | tr '[:upper:]' '[:lower:]')
|
||||
%chart_repo oci://%(echo %{registry_url}:%{_project}:charts | tr ":" "/" | tr '[:upper:]' '[:lower:]')
|
||||
:Macros
|
||||
%endif
|
||||
|
||||
# Missing deps for testsuite
|
||||
BuildFlags: excludebuild:autoconf:el
|
||||
BuildFlags: excludebuild:autoconf:testsuite
|
||||
|
||||
# Only build manifest embedding images here
|
||||
%if "%_repository" == "test_manifest_images"
|
||||
BuildFlags: onlybuild:edge-image-builder-image
|
||||
BuildFlags: onlybuild:release-manifest-image
|
||||
# Exclude the images selected by the following section
|
||||
# as the standard repository is a dependency
|
||||
%ifarch aarch64
|
||||
BuildFlags: excludebuild:baremetal-operator-image
|
||||
BuildFlags: excludebuild:endpoint-copier-operator-image
|
||||
BuildFlags: excludebuild:ironic-image
|
||||
BuildFlags: excludebuild:ironic-ipa-downloader-image
|
||||
BuildFlags: excludebuild:kube-rbac-proxy-image
|
||||
BuildFlags: excludebuild:metallb-controller-image
|
||||
BuildFlags: excludebuild:metallb-speaker-image
|
||||
%endif
|
||||
%else
|
||||
# Only a subset of stack is arm64 ready
|
||||
%ifarch aarch64
|
||||
BuildFlags: onlybuild:autoconf
|
||||
BuildFlags: onlybuild:baremetal-operator
|
||||
BuildFlags: onlybuild:baremetal-operator-image
|
||||
BuildFlags: onlybuild:ca-certificates-suse
|
||||
BuildFlags: onlybuild:crudini
|
||||
BuildFlags: onlybuild:edge-image-builder
|
||||
BuildFlags: onlybuild:edge-image-builder-image
|
||||
BuildFlags: onlybuild:endpoint-copier-operator
|
||||
BuildFlags: onlybuild:endpoint-copier-operator-image
|
||||
BuildFlags: onlybuild:fakeroot
|
||||
BuildFlags: onlybuild:hauler
|
||||
BuildFlags: onlybuild:ipcalc
|
||||
BuildFlags: onlybuild:ironic-image
|
||||
BuildFlags: onlybuild:ironic-ipa-downloader-image
|
||||
BuildFlags: onlybuild:ironic-ipa-ramdisk
|
||||
BuildFlags: onlybuild:kube-rbac-proxy
|
||||
BuildFlags: onlybuild:kube-rbac-proxy-image
|
||||
BuildFlags: onlybuild:metallb
|
||||
BuildFlags: onlybuild:metallb-controller-image
|
||||
BuildFlags: onlybuild:metallb-speaker-image
|
||||
BuildFlags: onlybuild:nm-configurator
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if "%_repository" == "images" || "%_repository" == "test_manifest_images"
|
||||
Prefer: container:sles15-image
|
||||
Type: docker
|
||||
Repotype: none
|
||||
Patterntype: none
|
||||
BuildEngine: podman
|
||||
Prefer: sles-release
|
||||
BuildFlags: dockerarg:SLE_VERSION=15.6
|
||||
|
||||
# Publish multi-arch container images only once all archs have been built
|
||||
PublishFlags: archsync
|
||||
%endif
|
||||
|
||||
%if "%_repository" == "charts" || "%_repository" == "phantomcharts" || "%_repository" == "releasecharts"
|
||||
Type: helm
|
||||
Repotype: helm
|
||||
Patterntype: none
|
||||
Required: perl-YAML-LibYAML
|
||||
%endif
|
||||
|
||||
%if "%_repository" == "standard"
|
||||
# for build openstack-ironic-image
|
||||
BuildFlags: allowrootforbuild
|
||||
%endif
|
||||
|
||||
# Enable reproducible builds
|
||||
# https://en.opensuse.org/openSUSE:Reproducible_Builds\#With_OBS
|
||||
Macros:
|
||||
%source_date_epoch_from_changelog Y
|
||||
%clamp_mtime_to_source_date_epoch Y
|
||||
%use_source_date_epoch_as_buildtime Y
|
||||
%_buildhost reproducible
|
||||
:Macros
|
69
_meta
Normal file
69
_meta
Normal file
@ -0,0 +1,69 @@
|
||||
{#-
|
||||
This template is rendered by the render_meta.py script
|
||||
it is not automatically enforced by OBS
|
||||
-#}
|
||||
{%- set maintainers = [
|
||||
"edge-engineering",
|
||||
] -%}
|
||||
<project name="{{ project }}">
|
||||
<title>{{ title }}</title>
|
||||
{%- if description is defined %}
|
||||
<description>{{ description }}</description>
|
||||
{%- else %}
|
||||
<description/>
|
||||
{%- endif %}
|
||||
{%- if scm_url is defined %}
|
||||
<scmsync>{{ scm_url }}</scmsync>
|
||||
{%- endif %}
|
||||
{%- for maintainer in maintainers %}
|
||||
<person userid="{{ maintainer }}" role="maintainer"/>
|
||||
{%- endfor %}
|
||||
{%- if not base_project %}
|
||||
<build>
|
||||
<disable/>
|
||||
<enable repository="charts"/>
|
||||
<enable repository="test_manifest_images"/>
|
||||
</build>
|
||||
<publish>
|
||||
<disable repository="phantomcharts"/>
|
||||
</publish>
|
||||
<repository name="phantomcharts">
|
||||
<arch>x86_64</arch>
|
||||
</repository>
|
||||
{%- endif %}
|
||||
{%- for repository in ["images", "test_manifest_images"] %}
|
||||
<repository name="{{ repository }}">
|
||||
{%- if release_project is defined and repository == "images" %}
|
||||
<releasetarget project="{{ release_project }}" repository="images" trigger="manual"/>
|
||||
{%- endif %}
|
||||
<path project="SUSE:Registry" repository="standard"/>
|
||||
<path project="SUSE:CA" repository="SLE_15_SP6"/>
|
||||
<path project="{{ project }}" repository="standard"/>
|
||||
<arch>x86_64</arch>
|
||||
<arch>aarch64</arch>
|
||||
</repository>
|
||||
{%- endfor %}
|
||||
<repository name="standard" block="local">
|
||||
{%- if release_project is defined and not for_release %}
|
||||
<releasetarget project="{{ release_project }}" repository="standard" trigger="manual"/>
|
||||
{%- endif %}
|
||||
<path project="{{ ironic_base }}:2024.2" repository="15.6"/>
|
||||
<path project="SUSE:SLE-15-SP6:Update" repository="standard"/>
|
||||
<arch>x86_64</arch>
|
||||
<arch>aarch64</arch>
|
||||
</repository>
|
||||
<repository name="charts"{{ ' rebuild="local"' if not base_project }}>
|
||||
{%- if release_project is defined and not for_release %}
|
||||
<releasetarget project="{{ release_project }}" repository="phantomcharts" trigger="manual"/>
|
||||
{%- endif %}
|
||||
<path project="{{ project }}" repository="standard"/>
|
||||
<arch>x86_64</arch>
|
||||
</repository>
|
||||
{%- if for_release %}
|
||||
<repository name="releasecharts" rebuild="local">
|
||||
<releasetarget project="{{ release_project }}" repository="charts" trigger="manual"/>
|
||||
<path project="{{ project }}" repository="standard"/>
|
||||
<arch>x86_64</arch>
|
||||
</repository>
|
||||
{%- endif %}
|
||||
</project>
|
@ -1,5 +1,6 @@
|
||||
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0
|
||||
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0-%RELEASE%
|
||||
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0
|
||||
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.1
|
||||
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.1-%RELEASE%
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Akri
|
||||
@ -10,11 +11,11 @@ annotations:
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.0-0"
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
apiVersion: v2
|
||||
appVersion: 1.2.0
|
||||
description: "SUSE Edge: Akri extension for Rancher Dashboard"
|
||||
icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/akri/icon/color/akri-icon-color.svg
|
||||
appVersion: 302.0.0+up1.2.1
|
||||
description: 'SUSE Edge: Akri extension for Rancher Dashboard'
|
||||
name: akri-dashboard-extension
|
||||
type: application
|
||||
version: "%%CHART_MAJOR%%.0.0+up1.2.0"
|
||||
version: "%%CHART_MAJOR%%.0.0+up1.2.1"
|
||||
icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/akri/icon/color/akri-icon-color.svg
|
||||
|
@ -38,7 +38,7 @@ Common labels
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
@ -60,4 +60,4 @@ Pkg annotations
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -8,7 +8,7 @@ spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/akri-dashboard-extension/1.2.0
|
||||
endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/akri-dashboard-extension/302.0.0+up1.2.1
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
@ -8,5 +8,5 @@ plugin:
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Akri
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
catalog.cattle.io/kube-version: ">= v1.26.0-0"
|
||||
|
@ -10,7 +10,9 @@
|
||||
<service name="cargo_vendor" mode="manual">
|
||||
<param name="srcdir">akri</param>
|
||||
</service>
|
||||
<service name="tar" mode="buildtime" />
|
||||
<service name="tar" mode="buildtime">
|
||||
<param name="obsinfo">akri.obsinfo</param>
|
||||
</service>
|
||||
<service name="set_version" mode="buildtime" >
|
||||
<param name="fromfile">version.txt</param>
|
||||
<param name="regex">^(.*)$</param>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<service name="obs_scm">
|
||||
<param name="url">https://github.com/metal3-io/baremetal-operator</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="revision">v0.8.0</param>
|
||||
<param name="revision">v0.9.0</param>
|
||||
<param name="version">_auto_</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
@ -12,10 +12,8 @@
|
||||
<param name="without-version">yes</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
<service mode="buildtime" name="tar">
|
||||
<param name="obsinfo">baremetal-operator.obsinfo</param>
|
||||
</service>
|
||||
<service name="go_modules">
|
||||
</service>
|
||||
@ -23,7 +21,7 @@
|
||||
<param name="file">baremetal-operator.spec</param>
|
||||
<param name="var">SOURCE_COMMIT</param>
|
||||
<param name="eval">
|
||||
SOURCE_COMMIT=$(grep commit *.obsinfo | cut -d" " -f2)
|
||||
SOURCE_COMMIT=$(grep commit baremetal-operator.obsinfo | cut -d" " -f2)
|
||||
</param>
|
||||
<param name="verbose">1</param>
|
||||
</service>
|
||||
|
@ -17,14 +17,14 @@
|
||||
|
||||
|
||||
Name: baremetal-operator
|
||||
Version: 0.8.0
|
||||
Release: 0.8.0
|
||||
Version: 0.9.0
|
||||
Release: 0
|
||||
Summary: Implements a Kubernetes API for managing bare metal hosts
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/metal3-io/baremetal-operator
|
||||
Source: baremetal-operator-%{version}.tar.gz
|
||||
Source: baremetal-operator-%{version}.tar
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang(API) = 1.22
|
||||
BuildRequires: golang(API) = 1.23
|
||||
ExcludeArch: s390
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
|
@ -1,36 +0,0 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-metal3:v%%cluster-api-provider-metal3_version%%
|
||||
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-metal3:%%cluster-api-provider-metal3_version%%
|
||||
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-metal3:%%cluster-api-provider-metal3_version%%-%RELEASE%
|
||||
#!BuildVersion: 15.6
|
||||
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 zypper --installroot /installroot --non-interactive install --no-recommends cluster-api-provider-metal3 shadow; zypper -n clean; rm -rf /var/log/*
|
||||
|
||||
FROM micro AS final
|
||||
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
||||
# labelprefix=com.suse.application.cluster-api-provider-metal3
|
||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
||||
LABEL org.opencontainers.image.title="SLE cluster-api-provider-metal3 Container Image"
|
||||
LABEL org.opencontainers.image.description="cluster-api-provider-metal3 based on the SLE Base Container Image."
|
||||
LABEL org.opencontainers.image.version="%%cluster-api-provider-metal3_version%%"
|
||||
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
|
||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%cluster-api-provider-metal3:%%cluster-api-provider-metal3_version%%-%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 mv /usr/bin/cluster-api-provider-metal3 /manager
|
||||
# Use uid of nonroot user (65532) because kubernetes expects numeric user when applying pod security policies
|
||||
USER 65532
|
||||
ENTRYPOINT [ "/manager" ]
|
@ -1,19 +0,0 @@
|
||||
<services>
|
||||
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||
<service mode="buildtime" name="docker_label_helper"/>
|
||||
<service name="replace_using_package_version" mode="buildtime">
|
||||
<param name="file">Dockerfile</param>
|
||||
<param name="regex">%%cluster-api-provider-metal3_version%%</param>
|
||||
<param name="package">cluster-api-provider-metal3</param>
|
||||
<param name="parse-version">patch</param>
|
||||
</service>
|
||||
<service name="replace_using_env" mode="buildtime">
|
||||
<param name="file">Dockerfile</param>
|
||||
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
|
||||
<param name="var">IMG_PREFIX</param>
|
||||
<param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
|
||||
<param name="var">IMG_REPO</param>
|
||||
<param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
|
||||
<param name="var">SUPPORT_LEVEL</param>
|
||||
</service>
|
||||
</services>
|
@ -1,23 +0,0 @@
|
||||
<services>
|
||||
<service name="obs_scm">
|
||||
<param name="url">https://github.com/metal3-io/cluster-api-provider-metal3</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="revision">v1.7.2</param>
|
||||
<param name="version">_auto_</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
<param name="changesauthor">steven.hardy@suse.com</param>
|
||||
<param name="match-tag">v*</param>
|
||||
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
|
||||
<param name="without-version">yes</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
</service>
|
||||
<service name="go_modules">
|
||||
</service>
|
||||
<service mode="buildtime" name="set_version" />
|
||||
</services>
|
@ -1,54 +0,0 @@
|
||||
#
|
||||
# spec file for package cluster-api-provider-metal3
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: cluster-api-provider-metal3
|
||||
Version: 1.7.2
|
||||
Release: 0
|
||||
Summary: Cluster API Infrastructure Provider for Metal3
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/metal3-io/cluster-api-provider-metal3
|
||||
Source: cluster-api-provider-metal3-%{version}.tar.gz
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang(API) = 1.22
|
||||
ExcludeArch: s390
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
%description
|
||||
|
||||
Cluster API Provider Metal3 is one of the providers for Cluster API and enables
|
||||
users to deploy a Cluster API based cluster on top of bare metal infrastructure
|
||||
using Metal3.
|
||||
|
||||
%prep
|
||||
%autosetup -a1 -n cluster-api-provider-metal3-%{version}
|
||||
|
||||
%build
|
||||
go build \
|
||||
-mod=vendor \
|
||||
-buildmode=pie \
|
||||
-a -ldflags '-extldflags "-static"'
|
||||
|
||||
%install
|
||||
install -D -m0755 cluster-api-provider-metal3 %{buildroot}%{_bindir}/cluster-api-provider-metal3
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/cluster-api-provider-metal3
|
||||
|
||||
%changelog
|
@ -1,20 +0,0 @@
|
||||
<services>
|
||||
<service name="obs_scm">
|
||||
<param name="url">https://github.com/rancher-government-carbide/cosign.git</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="exclude">.get</param>
|
||||
<param name="revision">v2.2.3+carbide.2</param>
|
||||
<param name="versionrewrite-pattern">v(.*)</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="set_version" />
|
||||
<service name="go_modules">
|
||||
<param name="compression">gz</param>
|
||||
</service>
|
||||
</services>
|
@ -1,55 +0,0 @@
|
||||
#
|
||||
# spec file for package cosign-rgs
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
%define project https://github.com/hauler-dev/cosign
|
||||
%define revision 49542360ffb5de63f9d2f5856b658651d5538e40
|
||||
|
||||
Name: cosign
|
||||
Version: 0
|
||||
Release: 0
|
||||
Summary: Container Signing, Verification and Storage in an OCI registry
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/rancher-government-carbide/cosign
|
||||
Source: cosign-%{version}.tar.gz
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang-packaging
|
||||
|
||||
%description
|
||||
|
||||
%prep
|
||||
%setup -q -a1 -n cosign-%{version}
|
||||
|
||||
%build
|
||||
%goprep %{project}
|
||||
|
||||
DATE_FMT="+%%Y-%%m-%%dT%%H:%%M:%%SZ"
|
||||
BUILD_DATE=$(date -u -d "@${SOURCE_DATE_EPOCH}" "${DATE_FMT}" 2>/dev/null || date -u -r "${SOURCE_DATE_EPOCH}" "${DATE_FMT}" 2>/dev/null || date -u "${DATE_FMT}")
|
||||
|
||||
CLI_PKG=sigs.k8s.io/release-utils/version
|
||||
CLI_LDFLAGS="-X ${CLI_PKG}.gitVersion=%{version} -X ${CLI_PKG}.gitCommit=%{revision} -X ${CLI_PKG}.gitTreeState=release -X ${CLI_PKG}.buildDate=${BUILD_DATE}"
|
||||
|
||||
CGO_ENABLED=0 go build -mod=vendor -buildmode=pie -trimpath -ldflags "${CLI_LDFLAGS}" -o cosign ./cmd/cosign
|
||||
|
||||
%install
|
||||
install -D -m 0755 cosign %{buildroot}%{_bindir}/cosign
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc *.md
|
||||
%{_bindir}/cosign
|
||||
|
||||
%changelog
|
@ -7,10 +7,14 @@
|
||||
<param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
|
||||
<param name="var">IMG_REPO</param>
|
||||
<param name="file">artifacts.yaml</param>
|
||||
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
|
||||
<param name="var">IMG_PREFIX</param>
|
||||
<param name="eval">CHART_REPO=$(rpm --macros=/root/.rpmmacros -E %chart_repo)</param>
|
||||
<param name="var">CHART_REPO</param>
|
||||
<param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
|
||||
<param name="var">SUPPORT_LEVEL</param>
|
||||
<param name="eval">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
|
||||
<param name="var">CHART_MAJOR</param>
|
||||
</service>
|
||||
</services>
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
metallb:
|
||||
chart: metallb-chart
|
||||
repository: %%CHART_REPO%%/3.1
|
||||
version: 0.14.9
|
||||
repository: "%%CHART_REPO%%/%%IMG_PREFIX%%"
|
||||
version: "%%CHART_MAJOR%%.0.0+up0.14.9"
|
||||
endpoint-copier-operator:
|
||||
chart: endpoint-copier-operator-chart
|
||||
repository: %%CHART_REPO%%/3.1
|
||||
version: 0.2.1
|
||||
repository: "%%CHART_REPO%%/%%IMG_PREFIX%%"
|
||||
version: "%%CHART_MAJOR%%.0.0+up0.2.1"
|
||||
kubernetes:
|
||||
k3s:
|
||||
selinuxPackage: k3s-selinux-1.6-1.slemicro.noarch
|
||||
@ -13,4 +13,3 @@ kubernetes:
|
||||
rke2:
|
||||
selinuxPackage: rke2-selinux
|
||||
selinuxRepository: https://rpm.rancher.io/rke2/stable/common/slemicro/noarch
|
||||
|
||||
|
@ -9,10 +9,8 @@
|
||||
<param name="versionrewrite-replacement">\1.\2.\3</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
<service mode="buildtime" name="tar">
|
||||
<param name="obsinfo">edge-image-builder.obsinfo</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="set_version" />
|
||||
<service name="go_modules">
|
||||
|
@ -22,7 +22,7 @@ Release: 0
|
||||
Summary: Edge Image Builder
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/suse-edge/edge-image-builder
|
||||
Source: edge-image-builder-%{version}.tar.gz
|
||||
Source: edge-image-builder-%{version}.tar
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang(API) go1.22
|
||||
BuildRequires: golang-packaging
|
||||
|
@ -12,10 +12,8 @@
|
||||
<param name="without-version">yes</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
<service mode="buildtime" name="tar">
|
||||
<param name="obsinfo">endpoint-copier-operator.obsinfo</param>
|
||||
</service>
|
||||
<service name="go_modules">
|
||||
</service>
|
||||
|
@ -22,7 +22,7 @@ Release: 0.2.0
|
||||
Summary: Implements a Kubernetes API for copying endpoint resources
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/suse-edge/endpoint-copier-operator
|
||||
Source: endpoint-copier-operator-%{version}.tar.gz
|
||||
Source: endpoint-copier-operator-%{version}.tar
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang(API) = 1.20
|
||||
ExcludeArch: s390
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#!BuildTag: %%IMG_PREFIX%%frr:8.4
|
||||
#!BuildTag: %%IMG_PREFIX%%frr:8.4-%RELEASE%
|
||||
#!BuildVersion: 15.5
|
||||
#!BuildTag: %%IMG_PREFIX%%frr:8.5.6
|
||||
#!BuildTag: %%IMG_PREFIX%%frr:8.5.6-%RELEASE%
|
||||
#!BuildVersion: 15.6
|
||||
ARG SLE_VERSION
|
||||
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
||||
|
||||
@ -15,11 +15,11 @@ FROM micro AS final
|
||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
||||
LABEL org.opencontainers.image.title="FRR Container Image"
|
||||
LABEL org.opencontainers.image.description="frr based on the SLE Base Container Image."
|
||||
LABEL org.opencontainers.image.version="8.4"
|
||||
LABEL org.opencontainers.image.version="8.5.6"
|
||||
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
|
||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%frr:8.4-%RELEASE%"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%frr:8.5.6-%RELEASE%"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||
|
@ -1,26 +1,25 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#!BuildTag: %%IMG_PREFIX%%ip-address-manager:v%%ip-address-manager_version%%
|
||||
#!BuildTag: %%IMG_PREFIX%%ip-address-manager:%%ip-address-manager_version%%
|
||||
#!BuildTag: %%IMG_PREFIX%%ip-address-manager:%%ip-address-manager_version%%-%RELEASE%
|
||||
#!BuildTag: %%IMG_PREFIX%%frr-k8s:v%%frr-k8s_version%%
|
||||
#!BuildTag: %%IMG_PREFIX%%frr-k8s:v%%frr-k8s_version%%-%RELEASE%
|
||||
#!BuildVersion: 15.6
|
||||
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 zypper --installroot /installroot --non-interactive install --no-recommends ip-address-manager shadow; zypper -n clean; rm -rf /var/log/*
|
||||
RUN zypper --installroot /installroot --non-interactive install --no-recommends frr-k8s; zypper -n clean; rm -rf /var/log/*
|
||||
|
||||
FROM micro AS final
|
||||
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
||||
# labelprefix=com.suse.application.ip-address-manager
|
||||
# labelprefix=com.suse.application.endpoint-copier-operator
|
||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
||||
LABEL org.opencontainers.image.title="SLE ip-address-manager Container Image"
|
||||
LABEL org.opencontainers.image.description="ip-address-manager based on the SLE Base Container Image."
|
||||
LABEL org.opencontainers.image.version="%%ip-address-manager_version%%"
|
||||
LABEL org.opencontainers.image.title="SLE frr-k8s Container Image"
|
||||
LABEL org.opencontainers.image.description="frr-k8s based on the SLE Base Container Image."
|
||||
LABEL org.opencontainers.image.version="%%frr-k8s_version%%"
|
||||
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
|
||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ip-address-manager:%%ip-address-manager_version%%-%RELEASE%"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%frr-k8s:v%%frr-k8s_version%%-%RELEASE%"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||
@ -29,8 +28,6 @@ LABEL com.suse.image-type="application"
|
||||
LABEL com.suse.release-stage="released"
|
||||
# endlabelprefix
|
||||
|
||||
#Install frr-k8s
|
||||
COPY --from=base /installroot /
|
||||
RUN mv /usr/bin/ip-address-manager /manager
|
||||
# Use uid of nonroot user (65532) because kubernetes expects numeric user when applying pod security policies
|
||||
USER 65532
|
||||
ENTRYPOINT [ "/manager" ]
|
||||
ENTRYPOINT ["/frr-k8s"]
|
@ -3,8 +3,8 @@
|
||||
<service mode="buildtime" name="docker_label_helper"/>
|
||||
<service name="replace_using_package_version" mode="buildtime">
|
||||
<param name="file">Dockerfile</param>
|
||||
<param name="regex">%%ip-address-manager_version%%</param>
|
||||
<param name="package">ip-address-manager</param>
|
||||
<param name="regex">%%frr-k8s_version%%</param>
|
||||
<param name="package">frr-k8s</param>
|
||||
<param name="parse-version">patch</param>
|
||||
</service>
|
||||
<service name="replace_using_env" mode="buildtime">
|
@ -2,7 +2,7 @@
|
||||
<service name="obs_scm">
|
||||
<param name="url">https://github.com/metallb/frr-k8s</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="revision">v0.0.14</param>
|
||||
<param name="revision">v0.0.16</param>
|
||||
<param name="version">_auto_</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
@ -12,10 +12,8 @@
|
||||
<param name="without-version">yes</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
<service mode="buildtime" name="tar">
|
||||
<param name="obsinfo">frr-k8s.obsinfo</param>
|
||||
</service>
|
||||
<service name="go_modules">
|
||||
</service>
|
||||
|
@ -17,12 +17,12 @@
|
||||
|
||||
|
||||
Name: frr-k8s
|
||||
Version: 0.0.14
|
||||
Release: 0.0.14
|
||||
Version: 0.0.16
|
||||
Release: 0.0.16
|
||||
Summary: A kubernetes based daemonset that exposes a subset of the FRR API in a kubernetes compliant manner.
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/metallb/frr-k8s
|
||||
Source: frr-k8s-%{version}.tar.gz
|
||||
Source: frr-k8s-%{version}.tar
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang(API) = 1.22
|
||||
ExcludeArch: s390
|
||||
|
@ -4,17 +4,24 @@
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="exclude">.get</param>
|
||||
<param name="revision">v1.0.7</param>
|
||||
<param name="revision">v1.2.1</param>
|
||||
<param name="versionrewrite-pattern">v(.*)</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
<service mode="buildtime" name="tar">
|
||||
<param name="obsinfo">hauler.obsinfo</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="set_version" />
|
||||
<service name="go_modules">
|
||||
<param name="compression">gz</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="replace_using_env">
|
||||
<param name="file">hauler.spec</param>
|
||||
<param name="var">SOURCE_COMMIT</param>
|
||||
<param name="eval">
|
||||
SOURCE_COMMIT=$(grep commit hauler.obsinfo | cut -d" " -f2)
|
||||
</param>
|
||||
<param name="verbose">1</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="set_version" />
|
||||
</services>
|
||||
|
@ -18,15 +18,14 @@
|
||||
%define project github.com/hauler-dev/hauler
|
||||
|
||||
Name: hauler
|
||||
Version: 1.0.7
|
||||
Version: 1.2.1
|
||||
Release: 0
|
||||
Summary: Airgap Swiss Army Knife
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/hauler-dev/hauler
|
||||
Source: hauler-%{version}.tar.gz
|
||||
Source: hauler-%{version}.tar
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang-packaging
|
||||
BuildRequires: cosign
|
||||
|
||||
%description
|
||||
|
||||
@ -38,10 +37,18 @@ BuildRequires: cosign
|
||||
|
||||
tar -xf %{SOURCE1}
|
||||
|
||||
mkdir cmd/hauler/binaries
|
||||
cp `which cosign` cmd/hauler/binaries/cosign-linux-%{go_arch}
|
||||
MODULE=hauler.dev/go/hauler
|
||||
%define buildtime %(date +%%Y-%%m-%%dT%%H:%%M:%%S%%z)
|
||||
%define buildcommit %%SOURCE_COMMIT%%
|
||||
|
||||
go build -mod=vendor -buildmode=pie -o hauler ./cmd/hauler
|
||||
|
||||
go build \
|
||||
-mod=vendor \
|
||||
-buildmode=pie \
|
||||
-o hauler \
|
||||
-ldflags \
|
||||
"-X $MODULE/internal/version.gitVersion=v%{version} -X $MODULE/internal/version.gitCommit=%{buildcommit} -X $MODULE/internal/version.buildDate=%{buildtime}" \
|
||||
./cmd/hauler
|
||||
|
||||
%install
|
||||
|
||||
|
@ -1,23 +0,0 @@
|
||||
<services>
|
||||
<service name="obs_scm">
|
||||
<param name="url">https://github.com/metal3-io/ip-address-manager</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="revision">v1.7.2</param>
|
||||
<param name="version">_auto_</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
<param name="changesauthor">steven.hardy@suse.com</param>
|
||||
<param name="match-tag">v*</param>
|
||||
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
|
||||
<param name="without-version">yes</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
</service>
|
||||
<service name="go_modules">
|
||||
</service>
|
||||
<service mode="buildtime" name="set_version" />
|
||||
</services>
|
@ -1,51 +0,0 @@
|
||||
#
|
||||
# spec file for package ip-address-manager
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: ip-address-manager
|
||||
Version: 1.7.2
|
||||
Release: 0
|
||||
Summary: Metal3 IPAM controller
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/metal3-io/ip-address-manager
|
||||
Source: ip-address-manager-%{version}.tar.gz
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang(API) = 1.22
|
||||
ExcludeArch: s390
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
%description
|
||||
|
||||
Metal3 IPAM controller
|
||||
|
||||
%prep
|
||||
%autosetup -a1 -n ip-address-manager-%{version}
|
||||
|
||||
%build
|
||||
go build \
|
||||
-mod=vendor \
|
||||
-buildmode=pie \
|
||||
|
||||
%install
|
||||
install -D -m0755 ip-address-manager %{buildroot}%{_bindir}/ip-address-manager
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/ip-address-manager
|
||||
|
||||
%changelog
|
@ -1,6 +1,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.0
|
||||
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.0-%RELEASE%
|
||||
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.3
|
||||
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.3-%RELEASE%
|
||||
#!BuildVersion: 15.6
|
||||
|
||||
ARG SLE_VERSION
|
||||
@ -8,7 +8,14 @@ FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
||||
|
||||
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
|
||||
|
||||
RUN set -euo pipefail; zypper -n in --no-recommends gcc git make xz-devel shim dosfstools mtools glibc-extra grub2-x86_64-efi grub2; zypper -n clean; rm -rf /var/log/*
|
||||
#!ArchExclusiveLine: x86_64
|
||||
RUN if [ "$(uname -m)" = "x86_64" ];then \
|
||||
zypper -n in --no-recommends gcc git make xz-devel shim dosfstools mtools glibc-extra grub2-x86_64-efi grub2; zypper -n clean; rm -rf /var/log/*; \
|
||||
fi
|
||||
#!ArchExclusiveLine: aarch64
|
||||
RUN if [ "$(uname -m)" = "aarch64" ];then \
|
||||
zypper -n rm kubic-locale-archive-2.31-10.36.noarch openssl-1_1-1.1.1l-150500.17.37.1.aarch64; zypper -n in --no-recommends gcc git make xz-devel openssl-3 mokutil shim dosfstools mtools glibc glibc-extra grub2 grub2-arm64-efi; zypper -n clean; rm -rf /var/log/* ;\
|
||||
fi
|
||||
WORKDIR /tmp
|
||||
COPY prepare-efi.sh /bin/
|
||||
RUN set -euo pipefail; chmod +x /bin/prepare-efi.sh
|
||||
@ -16,8 +23,16 @@ RUN /bin/prepare-efi.sh
|
||||
|
||||
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 python311-devel python311 python311-pip python-dracclient python311-sushy-oem-idrac python311-proliantutils python311-sushy python3-ironicclient git curl sles-release tar gzip vim gawk dnsmasq dosfstools apache2 inotify-tools ipcalc ipmitool iproute2 procps qemu-tools sqlite3 util-linux xorriso tftp syslinux ipxe-bootimgs crudini openstack-ironic
|
||||
|
||||
#!ArchExclusiveLine: x86_64
|
||||
RUN if [ "$(uname -m)" = "x86_64" ];then \
|
||||
zypper --installroot /installroot --non-interactive install --no-recommends syslinux python311-devel python311 python311-pip python-dracclient python311-sushy-oem-idrac python311-proliantutils python311-sushy python3-ironicclient git curl sles-release tar gzip vim gawk dnsmasq dosfstools apache2 apache2-mod_wsgi inotify-tools ipcalc ipmitool iproute2 procps qemu-tools sqlite3 util-linux xorriso tftp ipxe-bootimgs python311-sushy-tools crudini openstack-ironic openstack-ironic-inspector-api; \
|
||||
fi
|
||||
#!ArchExclusiveLine: aarch64
|
||||
RUN if [ "$(uname -m)" = "aarch64" ];then \
|
||||
zypper --installroot /installroot --non-interactive install --no-recommends python311-devel python311 python311-pip python-dracclient python311-sushy-oem-idrac python311-proliantutils python311-sushy python3-ironicclient git curl sles-release tar gzip vim gawk dnsmasq dosfstools apache2 apache2-mod_wsgi inotify-tools ipcalc ipmitool iproute2 procps qemu-tools sqlite3 util-linux xorriso tftp ipxe-bootimgs python311-sushy-tools crudini openstack-ironic openstack-ironic-inspector-api; \
|
||||
fi
|
||||
|
||||
# DATABASE
|
||||
RUN mkdir -p /installroot/var/lib/ironic && \
|
||||
/installroot/usr/bin/sqlite3 /installroot/var/lib/ironic/ironic.sqlite "pragma journal_mode=wal" && \
|
||||
@ -31,8 +46,8 @@ LABEL org.opencontainers.image.description="Openstack Ironic based on the SLE Ba
|
||||
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
|
||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
||||
LABEL org.opencontainers.image.version="26.1.2.0"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic:26.1.2.0-%RELEASE%"
|
||||
LABEL org.opencontainers.image.version="26.1.2.3"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic:26.1.2.3-%RELEASE%"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||
@ -64,7 +79,15 @@ RUN mkdir -p $GRUB_DIR
|
||||
|
||||
# IRONIC #
|
||||
RUN cp /usr/share/ipxe/undionly.kpxe /tftpboot/undionly.kpxe
|
||||
RUN cp /usr/share/ipxe/ipxe-x86_64.efi /tftpboot/ipxe.efi
|
||||
#!ArchExclusiveLine: x86_64
|
||||
RUN if [ "$(uname -m)" = "x86_64" ];then \
|
||||
cp /usr/share/ipxe/ipxe-x86_64.efi /tftpboot/ipxe.efi ;\
|
||||
fi
|
||||
#!ArchExclusiveLine: x86_64
|
||||
RUN if [ "$(uname -m)" = "aarch64" ]; then\
|
||||
cp /usr/share/ipxe/snp-arm64.efi /tftpboot/ipxe.efi; cp /usr/share/ipxe/snp-arm64.efi /tftpboot/snp-arm64.efi; cp /usr/share/ipxe/snp-arm64.efi /tftpboot/snp.efi ;\
|
||||
fi
|
||||
|
||||
COPY --from=base /tmp/esp.img /tmp/uefi_esp.img
|
||||
|
||||
COPY ironic.conf.j2 /etc/ironic/
|
||||
|
@ -10,17 +10,15 @@ Listen {{ env.VMEDIA_TLS_PORT }}
|
||||
SSLCertificateFile {{ env.IRONIC_VMEDIA_CERT_FILE }}
|
||||
SSLCertificateKeyFile {{ env.IRONIC_VMEDIA_KEY_FILE }}
|
||||
|
||||
<Directory ~ "/shared/html">
|
||||
Order deny,allow
|
||||
deny from all
|
||||
<Directory "/shared">
|
||||
AllowOverride None
|
||||
Require all granted
|
||||
</Directory>
|
||||
<Directory ~ "/shared/html/(redfish|ilo)/">
|
||||
Order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
<Directory ~ "/shared/html/images/">
|
||||
Order allow,deny
|
||||
allow from all
|
||||
|
||||
<Directory "/shared/html">
|
||||
Options Indexes FollowSymLinks
|
||||
AllowOverride None
|
||||
Require all granted
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
|
||||
|
@ -83,7 +83,7 @@ send_sensor_data = {{ env.SEND_SENSOR_DATA }}
|
||||
# Power state is checked every 60 seconds and BMC activity should
|
||||
# be avoided more often than once every sixty seconds.
|
||||
send_sensor_data_interval = 160
|
||||
bootloader = http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}/uefi_esp.img
|
||||
bootloader = {{ env.IRONIC_BOOT_BASE_URL }}/uefi_esp.img
|
||||
verify_step_priority_override = management.clear_job_queue:90
|
||||
# We don't use this feature, and it creates an additional load on the database
|
||||
node_history = False
|
||||
@ -112,7 +112,7 @@ default_boot_option = local
|
||||
erase_devices_metadata_priority = 10
|
||||
erase_devices_priority = 0
|
||||
http_root = /shared/html/
|
||||
http_url = http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}
|
||||
http_url = {{ env.IRONIC_BOOT_BASE_URL }}
|
||||
fast_track = {{ env.IRONIC_FAST_TRACK }}
|
||||
{% if env.IRONIC_BOOT_ISO_SOURCE %}
|
||||
ramdisk_image_download_source = {{ env.IRONIC_BOOT_ISO_SOURCE }}
|
||||
|
@ -6,22 +6,37 @@ ARCH=$(uname -m)
|
||||
DEST=${2:-/tmp/esp.img}
|
||||
OS=${1:-sles}
|
||||
|
||||
BOOTEFI=BOOTX64.efi
|
||||
GRUBEFI=grubx64.efi
|
||||
if [ $ARCH = "aarch64" ]; then
|
||||
BOOTEFI=BOOTAA64.EFI
|
||||
GRUBEFI=grubaa64.efi
|
||||
else
|
||||
BOOTEFI=BOOTX64.efi
|
||||
GRUBEFI=grubx64.efi
|
||||
fi
|
||||
|
||||
dd bs=1024 count=6400 if=/dev/zero of=$DEST
|
||||
mkfs.msdos -F 12 -n 'ESP_IMAGE' $DEST
|
||||
|
||||
mkdir -p /boot/efi/EFI/BOOT
|
||||
cp -L /usr/lib64/efi/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
|
||||
mkdir -p /boot/efi/EFI/$OS
|
||||
#cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/$GRUBEFI
|
||||
cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/grub.efi
|
||||
if [ $ARCH = "aarch64" ]; then
|
||||
cp -L /usr/share/efi/aarch64/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
|
||||
cp -L /usr/share/efi/aarch64/grub.efi /boot/efi/EFI/BOOT/grub.efi
|
||||
cp /usr/share/grub2/arm64-efi/grub.efi /boot/efi/EFI/$OS/grubaa64.efi
|
||||
else
|
||||
cp -L /usr/lib64/efi/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
|
||||
#cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/$GRUBEFI
|
||||
cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/grub.efi
|
||||
fi
|
||||
|
||||
mmd -i $DEST EFI
|
||||
mmd -i $DEST EFI/BOOT
|
||||
mcopy -i $DEST -v /boot/efi/EFI/BOOT/$BOOTEFI ::EFI/BOOT
|
||||
#mcopy -i $DEST -v /boot/efi/EFI/$OS/$GRUBEFI ::EFI/BOOT
|
||||
mcopy -i $DEST -v /boot/efi/EFI/$OS/grub.efi ::EFI/BOOT
|
||||
if [ $ARCH = "aarch64" ]; then
|
||||
mcopy -i $DEST -v /boot/efi/EFI/BOOT/grub.efi ::EFI/BOOT
|
||||
mcopy -i $DEST -v /boot/efi/EFI/$OS/$GRUBEFI ::EFI/BOOT
|
||||
else
|
||||
mcopy -i $DEST -v /boot/efi/EFI/$OS/grub.efi ::EFI/BOOT
|
||||
fi
|
||||
mdir -i $DEST ::EFI/BOOT;
|
||||
|
||||
|
@ -3,6 +3,14 @@
|
||||
# Ramdisk logs path
|
||||
LOG_DIR="/shared/log/ironic/deploy"
|
||||
|
||||
# The ironic container creates the directory, wait for
|
||||
# it to exist before running inotifywait or it can fail causing
|
||||
# a spurious restart
|
||||
while [ ! -d "${LOG_DIR}" ]; do
|
||||
echo "Waiting for ${LOG_DIR}"
|
||||
sleep 5
|
||||
done
|
||||
|
||||
inotifywait -m "${LOG_DIR}" -e close_write |
|
||||
while read -r path _action file; do
|
||||
echo "************ Contents of ${path}/${file} ramdisk log file bundle **************"
|
||||
|
@ -1,6 +1,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.0
|
||||
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.0-%RELEASE%
|
||||
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.2
|
||||
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.2-%RELEASE%
|
||||
#!BuildVersion: 15.6
|
||||
ARG SLE_VERSION
|
||||
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
||||
@ -8,7 +8,14 @@ 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 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/*
|
||||
#!ArchExclusiveLine: x86_64
|
||||
RUN if [ "$(uname -m)" = "x86_64" ];then \
|
||||
zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-x86_64 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/*; \
|
||||
fi
|
||||
#!ArchExclusiveLine: aarch64
|
||||
RUN if [ "$(uname -m)" = "aarch64" ];then \
|
||||
zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-aarch64 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/*; \
|
||||
fi
|
||||
#RUN zypper --installroot /installroot --non-interactive install --no-recommends sles-release;
|
||||
RUN cp /usr/bin/getopt /installroot/
|
||||
|
||||
@ -19,11 +26,11 @@ FROM micro AS final
|
||||
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.0"
|
||||
LABEL org.opencontainers.image.version="3.0.2"
|
||||
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.0-%RELEASE%"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.2-%RELEASE%"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||
|
@ -1,12 +1,6 @@
|
||||
<services>
|
||||
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||
<service mode="buildtime" name="docker_label_helper"/>
|
||||
<service name="replace_using_package_version" mode="buildtime">
|
||||
<param name="file">Dockerfile</param>
|
||||
<param name="regex">%%ironic-ipa-ramdisk-x86_64_version%%</param>
|
||||
<param name="package">ironic-ipa-ramdisk-x86_64</param>
|
||||
<param name="parse-version">patch</param>
|
||||
</service>
|
||||
<service name="replace_using_env" mode="buildtime">
|
||||
<param name="file">Dockerfile</param>
|
||||
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
|
||||
|
@ -8,10 +8,10 @@ export no_proxy=${no_proxy:-$NO_PROXY}
|
||||
|
||||
# Which image should we use
|
||||
if [ -z "${IPA_BASEURI}" ]; then
|
||||
# SLES BASED IPA - openstack-ironic-image-x86_64 package
|
||||
# SLES BASED IPA - ironic-ipa-ramdisk-x86_64 package
|
||||
mkdir -p /shared/html/images
|
||||
cp /tmp/initrd.xz /shared/html/images/ironic-python-agent.initramfs
|
||||
cp /tmp/openstack-ironic-image*.x86_64*.kernel /shared/html/images/ironic-python-agent.kernel
|
||||
cp /tmp/openstack-ironic-image*.kernel /shared/html/images/ironic-python-agent.kernel
|
||||
else
|
||||
FILENAME=ironic-python-agent
|
||||
FILENAME_EXT=.tar
|
||||
@ -68,4 +68,4 @@ if [ -d "/tmp/ironic-certificates" ]; then
|
||||
mkdir -p etc/ironic-python-agent.d/ca-certs
|
||||
cp /tmp/ironic-certificates/* etc/ironic-python-agent.d/ca-certs/
|
||||
find . | fakeroot -i ../initrd.fakeroot cpio -o -H newc | xz --check=crc32 --x86 --lzma2 --fast > /shared/html/images/ironic-python-agent.initramfs
|
||||
fi
|
||||
fi
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<image schemaversion="7.4" name="openstack-ironic-image-201">
|
||||
<image schemaversion="7.4" name="openstack-ironic-image-302">
|
||||
<description type="system">
|
||||
<author>Cloud developers</author>
|
||||
<contact>cloud-devel@suse.de</contact>
|
||||
@ -116,8 +116,9 @@
|
||||
<package name="vim"/>
|
||||
<package name="grub2"/>
|
||||
<package name="grub2-x86_64-efi" arch="x86_64"/>
|
||||
<package name="grub2-i386-pc"/>
|
||||
<package name="syslinux"/>
|
||||
<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"/>
|
||||
@ -135,12 +136,10 @@
|
||||
<package name="openstack-ironic-python-agent"/>
|
||||
<package name="hdparm"/>
|
||||
<package name="qemu-tools"/>
|
||||
<package name="python311-proliantutils" arch="x86_64"/>
|
||||
<package name="python311-proliantutils"/>
|
||||
<package name="lshw"/>
|
||||
<package name="dmidecode" arch="aarch64"/>
|
||||
<package name="dmidecode" arch="x86_64"/>
|
||||
<package name="efibootmgr" arch="aarch64" />
|
||||
<package name="efibootmgr" arch="x86_64" />
|
||||
<package name="dmidecode"/>
|
||||
<package name="efibootmgr"/>
|
||||
<package name="gptfdisk"/>
|
||||
<package name="open-iscsi"/>
|
||||
<package name="hwinfo"/>
|
||||
@ -157,7 +156,6 @@
|
||||
</packages>
|
||||
|
||||
<packages type="kis">
|
||||
<package name="gfxboot-branding-SLE"/>
|
||||
<package name="dracut-kiwi-oem-repart"/>
|
||||
<package name="dracut-kiwi-oem-dump"/>
|
||||
</packages>
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
|
||||
Name: ironic-ipa-ramdisk
|
||||
Version: 3.0.0
|
||||
Version: 3.0.2
|
||||
Release: 0
|
||||
Summary: Kernel and ramdisk image for OpenStack Ironic
|
||||
License: SUSE-EULA
|
||||
@ -49,7 +49,12 @@ BuildRequires: fontconfig
|
||||
BuildRequires: fonts-config
|
||||
BuildRequires: gptfdisk
|
||||
BuildRequires: grub2
|
||||
%ifarch x86_64
|
||||
BuildRequires: grub2-x86_64-efi
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
BuildRequires: grub2-arm64-efi
|
||||
%endif
|
||||
BuildRequires: haveged
|
||||
BuildRequires: hdparm
|
||||
BuildRequires: hwinfo
|
||||
@ -93,19 +98,14 @@ BuildRequires: plymouth-dracut
|
||||
BuildRequires: plymouth-theme-bgrt
|
||||
BuildRequires: dracut-kiwi-oem-dump
|
||||
BuildRequires: dracut-kiwi-oem-repart
|
||||
BuildRequires: gfxboot-branding-SLE
|
||||
BuildRequires: grub2-branding-SLE
|
||||
BuildRequires: open-iscsi
|
||||
BuildRequires: plymouth-branding-SLE
|
||||
BuildRequires: lshw
|
||||
BuildRequires: kbd
|
||||
%ifarch aarch64
|
||||
BuildRequires: dmidecode
|
||||
BuildRequires: efibootmgr
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
BuildRequires: dmidecode
|
||||
BuildRequires: efibootmgr
|
||||
BuildRequires: syslinux
|
||||
%endif
|
||||
|
||||
|
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
#!BuildTag: kiwi-builder:10.1
|
||||
FROM registry.suse.com/bci/kiwi:10.1.10
|
||||
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.1
|
||||
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.1-%RELEASE%
|
||||
FROM registry.suse.com/bci/kiwi:10.1.16
|
||||
MAINTAINER SUSE LLC (https://www.suse.com/)
|
||||
|
||||
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
||||
@ -11,7 +12,7 @@ LABEL org.opencontainers.image.version="%PACKAGE_VERSION%"
|
||||
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%%kiwi-builder:10.1"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:10.1.16.1"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||
@ -20,10 +21,6 @@ LABEL com.suse.image-type="application"
|
||||
LABEL com.suse.release-stage="released"
|
||||
# endlabelprefix
|
||||
|
||||
# Install required packages for Kiwi to function as expected
|
||||
# Should be provided via https://github.com/SUSE/BCI-dockerfile-generator/pull/1770
|
||||
# RUN zypper in -y gawk && zypper clean -a
|
||||
|
||||
# Configure Kiwi to use kpartx
|
||||
RUN echo -e "mapper:\n - part_mapper: kpartx" > /etc/kiwi.yml
|
||||
|
||||
|
@ -2,46 +2,54 @@
|
||||
Kiwi SDK Image Instructions
|
||||
###########################
|
||||
|
||||
Please ensure that you're running this on a registered SLE Micro 6.0 system, and make sure that SELinux is disabled:
|
||||
Please ensure that you're running this on a registered SUSE Linux Micro 6.1 system, and make sure that SELinux is disabled:
|
||||
|
||||
# setenforce 0
|
||||
|
||||
Next, download the podman image:
|
||||
|
||||
# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10
|
||||
# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1
|
||||
|
||||
Make a local output directory (where the images will reside):
|
||||
|
||||
# mkdir output
|
||||
|
||||
Then, to build a standard "Base" image, run the following in podman:
|
||||
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image
|
||||
|
||||
To build a "Base" SelfInstall ISO, you can add additional flags, for example:
|
||||
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Base-SelfInstall
|
||||
|
||||
Then, to build a standard "Default" image, run the following in podman:
|
||||
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10 build-image
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Default
|
||||
|
||||
To build a SelfInstall ISO, you can add additional flags, for example:
|
||||
To build a "Default" SelfInstall ISO, you can add additional flags, for example:
|
||||
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10 build-image -p Default-SelfInstall
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Default-SelfInstall
|
||||
|
||||
To build an image with a RealTime kernel, e.g. a RAW disk image ("Default"), use the following:
|
||||
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10 build-image -p Base-RT
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Base-RT
|
||||
|
||||
To build an image that supports a large block/sectorsize (4096), use the "-b" flag, for example:
|
||||
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10 build-image -p Default-SelfInstall -b
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image -p Default-SelfInstall -b
|
||||
|
||||
# mkdir mydefs/
|
||||
# cp /path/to/SL-Micro.kiwi mydefs/
|
||||
# cp /path/to/config.sh mydefs/
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -v ./mydefs/:/micro-sdk/defs/ -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10 build-image
|
||||
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -v ./mydefs/:/micro-sdk/defs/ -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.1 build-image
|
||||
|
||||
All output will be in the local $(pwd)/output directory, for example:
|
||||
|
||||
# ls -1 output/
|
||||
SLE-Micro.x86_64-6.0.changes
|
||||
SLE-Micro.x86_64-6.0.packages
|
||||
SLE-Micro.x86_64-6.0.raw
|
||||
SLE-Micro.x86_64-6.0.verified
|
||||
SLE-Micro.x86_64-6.1.changes
|
||||
SLE-Micro.x86_64-6.1.packages
|
||||
SLE-Micro.x86_64-6.1.raw
|
||||
SLE-Micro.x86_64-6.1.verified
|
||||
build
|
||||
kiwi.result
|
||||
kiwi.result.json
|
||||
|
@ -33,6 +33,12 @@
|
||||
<profile name="aarch64-self_install" description="Raw disk for aarch64" arch="aarch64">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="aarch64-rt" description="Raw disk for aarch64 with RT kernel" arch="aarch64">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="aarch64-rt-self_install" description="Raw disk for aarch64 with RT kernel" arch="aarch64">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="x86-legacy" description="Raw disk for x86_64 - legacy boot" arch="x86_64">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
@ -63,6 +69,21 @@
|
||||
<profile name="s390-fba" description="Raw disk for s390 - DASD" arch="s390x">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="s390-fcp" description="Raw disk for s390 - SCSI" arch="s390x">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="ppc64le-512ss" description="Raw disk for PPc64 - 512 sector size" arch="ppc64le">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="ppc64le-4096ss" description="Raw disk for PPc64 - 4096 sector size" arch="ppc64le">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="ppc64le-512ss-self_install" description="Raw disk for PPc64 - 512 sector size" arch="ppc64le">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="ppc64le-4096ss-self_install" description="Raw disk for PPc64 - 4096 sector size" arch="ppc64le">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<!-- Images (flavor + platform) -->
|
||||
<profile name="Default" description="SL Micro with Podman and KVM as raw image with uEFI boot" arch="x86_64">
|
||||
<requires profile="full"/>
|
||||
@ -140,6 +161,15 @@
|
||||
<requires profile="x86-rt-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Base-RT" description="SL Micro with Podman as raw image with uEFI boot" arch="aarch64">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="aarch64-rt"/>
|
||||
</profile>
|
||||
<profile name="Base-RT-SelfInstall" description="SL Micro with Podman as raw image with uEFI boot - SelfInstall" arch="aarch64">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="aarch64-rt-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Default-qcow" description="SL Micro with Podman and KVM as raw image for KVM on System z" arch="s390x">
|
||||
<requires profile="full"/>
|
||||
<requires profile="s390-kvm"/>
|
||||
@ -164,6 +194,14 @@
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="s390-fba"/>
|
||||
</profile>
|
||||
<profile name="Default-fcp" description="SL Micro with Podman and KVM as raw image for zFCP on System z" arch="s390x">
|
||||
<requires profile="full"/>
|
||||
<requires profile="s390-fcp"/>
|
||||
</profile>
|
||||
<profile name="Base-fcp" description="SL Micro with Podman as raw image for zFCP on System z" arch="s390x">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="s390-fcp"/>
|
||||
</profile>
|
||||
<profile name="Default-legacy" description="SL Micro with Podman as raw image with legacy boot" arch="x86_64">
|
||||
<requires profile="full"/>
|
||||
<requires profile="x86-legacy"/>
|
||||
@ -184,10 +222,47 @@
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="aarch64-qcow"/>
|
||||
</profile>
|
||||
|
||||
<profile name="Base-512" description="SL Micro with Podman as raw image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="ppc64le-512ss"/>
|
||||
</profile>
|
||||
<profile name="Base-4096" description="SL Micro with Podman as raw image for ppc64le with 4096b sector size" arch="ppc64le">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="ppc64le-4096ss"/>
|
||||
</profile>
|
||||
<profile name="Base-512-SelfInstall" description="SL Micro with Podman as self-install image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="ppc64le-512ss-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Base-4096-SelfInstall" description="SL Micro with Podman as self-install image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="ppc64le-4096ss-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Default-512" description="SL Micro with Podman and KVM as raw image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="full"/>
|
||||
<requires profile="ppc64le-512ss"/>
|
||||
</profile>
|
||||
<profile name="Default-4096" description="SL Micro with Podman and KVM as raw image for ppc64le with 4096b sector size" arch="ppc64le">
|
||||
<requires profile="full"/>
|
||||
<requires profile="ppc64le-4096ss"/>
|
||||
</profile>
|
||||
<profile name="Default-512-SelfInstall" description="SL Micro with Podman and KVM as self-install image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="full"/>
|
||||
<requires profile="ppc64le-512ss-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Default-4096-SelfInstall" description="SL Micro with Podman and KVM as self-install image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="full"/>
|
||||
<requires profile="ppc64le-4096ss-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<preferences profiles="x86-encrypted,x86-rt-encrypted">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -198,7 +273,7 @@
|
||||
initrd_system="dracut"
|
||||
filesystem="btrfs"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -211,7 +286,7 @@
|
||||
luks_pbkdf="pbkdf2"
|
||||
>
|
||||
<luksformat>
|
||||
<option name="--cipher" value="aes"/>
|
||||
<option name="--cipher" value="aes-xts-plain64"/>
|
||||
</luksformat>
|
||||
<bootloader name="grub2" console="gfxterm" use_disk_password="true" />
|
||||
<systemdisk>
|
||||
@ -230,7 +305,7 @@
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="x86,x86-rt">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -241,7 +316,7 @@
|
||||
initrd_system="dracut"
|
||||
filesystem="btrfs"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -266,7 +341,7 @@
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="x86-self_install,x86-rt-self_install">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -276,11 +351,12 @@
|
||||
image="oem"
|
||||
initrd_system="dracut"
|
||||
installiso="true"
|
||||
installpxe="true"
|
||||
filesystem="btrfs"
|
||||
installboot="install"
|
||||
install_continue_on_timeout="false"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -304,8 +380,8 @@
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="rpi">
|
||||
<version>6.0</version>
|
||||
<preferences profiles="rpi,aarch64-rt">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -320,11 +396,11 @@
|
||||
install_continue_on_timeout="false"
|
||||
fsmountoptions="noatime"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200n8 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
efipartsize="128"
|
||||
efipartsize="128"
|
||||
editbootinstall="editbootinstall_rpi.sh"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="false"
|
||||
@ -344,8 +420,8 @@
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="aarch64-self_install">
|
||||
<version>6.0</version>
|
||||
<preferences profiles="aarch64-self_install,aarch64-rt-self_install">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -355,12 +431,13 @@
|
||||
image="oem"
|
||||
initrd_system="dracut"
|
||||
installiso="true"
|
||||
installpxe="true"
|
||||
filesystem="btrfs"
|
||||
installboot="install"
|
||||
install_continue_on_timeout="false"
|
||||
firmware="uefi"
|
||||
efipartsize="128"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
efipartsize="128"
|
||||
kernelcmdline="security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -385,22 +462,22 @@
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="s390-kvm">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
filesystem="btrfs"
|
||||
bootpartition="true"
|
||||
bootpartsize="300"
|
||||
bootfilesystem="ext2"
|
||||
bootfilesystem="ext4"
|
||||
initrd_system="dracut"
|
||||
format="qcow2"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet"
|
||||
kernelcmdline="security=selinux selinux=1 quiet systemd.show_status=1 ignition.platform.id=metal"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
@ -423,7 +500,7 @@
|
||||
|
||||
|
||||
<preferences profiles="s390-dasd">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -434,9 +511,9 @@
|
||||
filesystem="btrfs"
|
||||
bootpartition="true"
|
||||
bootpartsize="300"
|
||||
bootfilesystem="ext2"
|
||||
bootfilesystem="ext4"
|
||||
initrd_system="dracut"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet systemd.show_status=1"
|
||||
devicepersistency="by-uuid"
|
||||
target_blocksize="4096"
|
||||
btrfs_root_is_snapshot="true"
|
||||
@ -461,7 +538,7 @@
|
||||
|
||||
|
||||
<preferences profiles="s390-fba">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -472,9 +549,9 @@
|
||||
filesystem="btrfs"
|
||||
bootpartition="true"
|
||||
bootpartsize="300"
|
||||
bootfilesystem="ext2"
|
||||
bootfilesystem="ext4"
|
||||
initrd_system="dracut"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet systemd.show_status=1"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
@ -495,9 +572,47 @@
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="s390-fcp">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<type
|
||||
image="oem"
|
||||
filesystem="btrfs"
|
||||
installpxe="true"
|
||||
bootpartition="true"
|
||||
bootpartsize="300"
|
||||
bootfilesystem="ext4"
|
||||
initrd_system="dracut"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet systemd.show_status=1"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<oemconfig>
|
||||
<oem-multipath-scan>true</oem-multipath-scan>
|
||||
</oemconfig>
|
||||
<bootloader name="grub2_s390x_emu" console="serial" timeout="3" targettype="SCSI"/>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/s390x-emu" mountpoint="boot/grub2/s390x-emu"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
<size unit="G">5</size>
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="x86-vmware">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -532,7 +647,7 @@
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="x86-qcow">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -543,7 +658,7 @@
|
||||
format="qcow2"
|
||||
filesystem="btrfs"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0 ignition.platform.id=qemu"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=qemu"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -567,9 +682,9 @@
|
||||
<size unit="G">32</size>
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
|
||||
<preferences profiles="aarch64-qcow">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -580,8 +695,8 @@
|
||||
format="qcow2"
|
||||
filesystem="btrfs"
|
||||
firmware="uefi"
|
||||
efipartsize="128"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0 ignition.platform.id=qemu"
|
||||
efipartsize="128"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=qemu"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -592,7 +707,7 @@
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<volume name="opt"/>
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
|
||||
<volume name="boot/writable"/>
|
||||
@ -603,6 +718,161 @@
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="ppc64le-512ss">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
filesystem="btrfs"
|
||||
firmware="ofw"
|
||||
kernelcmdline="console=hvc0,115200 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=metal"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<!-- on tmpfs jsc#SMO-2 <volume name="tmp"/> -->
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/powerpc-ieee1275"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="ppc64le-4096ss">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<!-- TODO: supposedly this is needed as type attribute, but kiwi needs patching
|
||||
disk_start_sector="256" -->
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
target_blocksize="4096"
|
||||
filesystem="btrfs"
|
||||
firmware="ofw"
|
||||
kernelcmdline="console=hvc0,115200 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=metal"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<!-- on tmpfs jsc#SMO-2 <volume name="tmp"/> -->
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/powerpc-ieee1275"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="ppc64le-512ss-self_install">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
installiso="true"
|
||||
installpxe="true"
|
||||
filesystem="btrfs"
|
||||
firmware="ofw"
|
||||
kernelcmdline="console=hvc0,115200 security=selinux selinux=1 quiet net.ifnames=0 ignition.platform.id=metal"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<installmedia>
|
||||
<initrd action="omit">
|
||||
<dracut module="drm"/>
|
||||
</initrd>
|
||||
</installmedia>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<!-- on tmpfs jsc#SMO-2 <volume name="tmp"/> -->
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/powerpc-ieee1275"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="ppc64le-4096ss-self_install">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<!-- TODO: supposedly this is needed as type attribute, but kiwi needs patching
|
||||
disk_start_sector="256" -->
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
installiso="true"
|
||||
installpxe="true"
|
||||
target_blocksize="4096"
|
||||
filesystem="btrfs"
|
||||
firmware="ofw"
|
||||
kernelcmdline="console=hvc0,115200 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=metal"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<installmedia>
|
||||
<initrd action="omit">
|
||||
<dracut module="drm"/>
|
||||
</initrd>
|
||||
</installmedia>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<!-- on tmpfs jsc#SMO-2 <volume name="tmp"/> -->
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/powerpc-ieee1275"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
|
||||
<repository type="rpm-md" >
|
||||
<source path='obsrepositories:/'/>
|
||||
</repository>
|
||||
@ -616,7 +886,7 @@
|
||||
<package name="patterns-base-kvm_host"/>
|
||||
<package name="lzop"/>
|
||||
<namedCollection name="container_runtime_podman"/>
|
||||
<package name="patterns-container-runtime_podman"/>
|
||||
<package name="patterns-container-runtime_podman"/>
|
||||
<namedCollection name="cockpit"/>
|
||||
<package name="patterns-base-cockpit"/>
|
||||
<namedCollection name="selinux"/>
|
||||
@ -628,7 +898,6 @@
|
||||
<package name="firewalld"/>
|
||||
<package name="wpa_supplicant" arch="x86_64,aarch64"/>
|
||||
<package name="libpwquality-tools"/>
|
||||
<!-- <package name="k3s-install"/> -->
|
||||
</packages>
|
||||
|
||||
<packages type="image" profiles="x86-encrypted,x86-rt-encrypted">
|
||||
@ -647,9 +916,7 @@
|
||||
<namedCollection name="base_transactional"/>
|
||||
<package name="patterns-base-transactional"/>
|
||||
<namedCollection name="container_runtime_podman"/>
|
||||
<package name="patterns-container-runtime_podman"/>
|
||||
<namedCollection name="cockpit"/>
|
||||
<package name="patterns-base-cockpit"/>
|
||||
<package name="patterns-container-runtime_podman"/>
|
||||
<namedCollection name="selinux"/>
|
||||
<package name="patterns-base-selinux"/>
|
||||
<package name="suseconnect-ng"/>
|
||||
@ -703,7 +970,7 @@
|
||||
<package name="NetworkManager"/>
|
||||
<package name="NetworkManager-branding-SLE"/>
|
||||
<package name="ModemManager"/>
|
||||
<!-- FIXME does not build without control file which is obsolete
|
||||
<!-- FIXME does not build without control file which is obsolete
|
||||
<package name="live-add-yast-repos"/> -->
|
||||
<package name="parted"/> <!-- seems missing to deploy the image -->
|
||||
</packages>
|
||||
@ -713,7 +980,8 @@
|
||||
<package name="grub2-x86_64-efi" arch="x86_64"/>
|
||||
<package name="grub2-arm64-efi" arch="aarch64"/>
|
||||
<package name="grub2-s390x-emu" arch="s390x"/>
|
||||
<package name="grub2-branding-SLE" bootinclude="true" arch="x86_64,aarch64"/>
|
||||
<package name="grub2-powerpc-ieee1275" arch="ppc64le"/>
|
||||
<package name="grub2-branding-SLE" bootinclude="true" arch="x86_64,aarch64,ppc64le"/>
|
||||
<package name="grub2-snapper-plugin"/>
|
||||
<package name="shim" arch="x86_64,aarch64"/>
|
||||
<package name="mokutil" arch="x86_64,aarch64"/>
|
||||
@ -721,46 +989,44 @@
|
||||
<package name="kpartx" arch="s390x"/>--> <!-- previous releases picked it always, now kiwi picks partx instead -->
|
||||
</packages>
|
||||
<!-- rpi kernel-default-base does not provide all necessary drivers -->
|
||||
<packages type="image" profiles="x86,x86-encrypted,x86-legacy,x86-self_install,x86-vmware,x86-qcow,aarch64-qcow,s390-kvm,s390-dasd,s390-fba">
|
||||
<packages type="image" profiles="rpi,aarch64-self_install,x86,x86-encrypted,x86-legacy,x86-self_install,x86-vmware,x86-qcow,aarch64-qcow,s390-kvm,s390-dasd,s390-fba,s390-fcp,ppc64le-512ss,ppc64le-4096ss,ppc64le-512ss-self_install,ppc64le-4096ss-self_install">
|
||||
<package name="kernel-default"/>
|
||||
<package name="kernel-firmware-all"/>
|
||||
</packages>
|
||||
<packages type="image" profiles="x86-rt,x86-rt-self_install,x86-rt-encrypted">
|
||||
<packages type="image" profiles="x86-rt,x86-rt-self_install,x86-rt-encrypted,aarch64-rt,aarch64-rt-self_install">
|
||||
<package name="kernel-rt"/>
|
||||
<package name="kernel-firmware-all"/>
|
||||
<!-- FIXME intentionally removed from ALP code stream
|
||||
<package name="cpuset"/> -->
|
||||
<package name="kernel-firmware-all"/>
|
||||
<!-- FIXME intentionally removed from ALP code stream
|
||||
<package name="cpuset"/> -->
|
||||
</packages>
|
||||
<!-- makes the image build, but also include kernel-default
|
||||
<packages type="image" profiles="x86-rt-encrypted">
|
||||
<package name="kernel-default-extra"/>
|
||||
</packages> -->
|
||||
<packages type="image" profiles="s390-kvm,s390-dasd,s390-fba">
|
||||
<packages type="image" profiles="s390-kvm,s390-dasd,s390-fba,s390-fcp">
|
||||
<package name="dracut-kiwi-oem-dump"/>
|
||||
<package name="dracut-kiwi-oem-repart"/>
|
||||
<package name="blog"/>
|
||||
</packages>
|
||||
<packages type="image" profiles="x86,x86-encrypted,x86-rt-encrypted,x86-self_install,x86-legacy,x86-vmware,x86-rt,x86-rt-self_install,x86-qcow,aarch64-qcow,rpi,aarch64-self_install">
|
||||
<!-- FCP is usually used multipathed. -->
|
||||
<packages type="image" profiles="s390-fcp">
|
||||
<package name="multipath-tools"/>
|
||||
</packages>
|
||||
<packages type="image" profiles="x86,x86-encrypted,x86-rt-encrypted,x86-self_install,x86-legacy,x86-vmware,x86-rt,x86-rt-self_install,x86-qcow,aarch64-qcow,rpi,aarch64-self_install,aarch64-rt,aarch64-rt-self_install,ppc64le-512ss,ppc64le-4096ss,ppc64le-512ss-self_install,ppc64le-4096ss-self_install">
|
||||
<package name="dracut-kiwi-oem-repart"/>
|
||||
<package name="dracut-kiwi-oem-dump"/>
|
||||
</packages>
|
||||
<packages type="image" profiles="rpi,aarch64-self_install">
|
||||
<packages type="image" profiles="rpi,aarch64-self_install,aarch64-rt,aarch64-rt-self_install">
|
||||
<package name="raspberrypi-firmware" arch="aarch64"/>
|
||||
<package name="raspberrypi-firmware-config" arch="aarch64"/>
|
||||
<package name="raspberrypi-firmware-dt" arch="aarch64"/>
|
||||
<package name="u-boot-rpiarm64" arch="aarch64"/>
|
||||
<package name="dracut-kiwi-oem-repart"/>
|
||||
<package name="bcm43xx-firmware"/>
|
||||
<package name="kernel-firmware-all"/><!-- Fix choice between kernel-firmware and kernel-firmware-all -->
|
||||
<package name="wireless-regdb"/>
|
||||
<package name="wireless-tools"/>
|
||||
<package name="wpa_supplicant"/>
|
||||
<package name="grub2-arm64-efi"/>
|
||||
<!-- kernel-default-base does not have all required drivers -->
|
||||
<package name="kernel-default"/>
|
||||
</packages>
|
||||
<packages type="bootstrap">
|
||||
<package name="coreutils"/>
|
||||
<package name="filesystem"/>
|
||||
<package name="coreutils"/>
|
||||
<package name="ca-certificates"/>
|
||||
<package name="ca-certificates-mozilla"/>
|
||||
</packages>
|
||||
@ -774,4 +1040,14 @@
|
||||
<packages type="image" profiles="x86-qcow,aarch64-qcow">
|
||||
<package name="qemu-guest-agent"/>
|
||||
</packages>
|
||||
|
||||
<!-- jsc#PED-8599 -->
|
||||
<packages type="image" profiles="Base,Base-encrypted,Base-RT,Base-RT-encrypted,Base-fba,Base-dasd,Base-fcp,Base-512,Base-4096,Default,Default-encrypted,Default-fba,Default-dasd,Default-fcp,Default-512,Default-4096">
|
||||
<package name="usbguard"/>
|
||||
</packages>
|
||||
|
||||
<!-- jsc#PED-8788 -->
|
||||
<packages type="image" profiles="Base-RT,Base-RT-encrypted,x86-rt-encrypted,x86-rt,x86-rt-self_install,aarch64-rt,aarch64-rt-self_install">
|
||||
<package name="stalld"/>
|
||||
</packages>
|
||||
</image>
|
||||
|
@ -33,6 +33,12 @@
|
||||
<profile name="aarch64-self_install" description="Raw disk for aarch64" arch="aarch64">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="aarch64-rt" description="Raw disk for aarch64 with RT kernel" arch="aarch64">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="aarch64-rt-self_install" description="Raw disk for aarch64 with RT kernel" arch="aarch64">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="x86-legacy" description="Raw disk for x86_64 - legacy boot" arch="x86_64">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
@ -63,6 +69,21 @@
|
||||
<profile name="s390-fba" description="Raw disk for s390 - DASD" arch="s390x">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="s390-fcp" description="Raw disk for s390 - SCSI" arch="s390x">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="ppc64le-512ss" description="Raw disk for PPc64 - 512 sector size" arch="ppc64le">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="ppc64le-4096ss" description="Raw disk for PPc64 - 4096 sector size" arch="ppc64le">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="ppc64le-512ss-self_install" description="Raw disk for PPc64 - 512 sector size" arch="ppc64le">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<profile name="ppc64le-4096ss-self_install" description="Raw disk for PPc64 - 4096 sector size" arch="ppc64le">
|
||||
<requires profile="bootloader"/>
|
||||
</profile>
|
||||
<!-- Images (flavor + platform) -->
|
||||
<profile name="Default" description="SL Micro with Podman and KVM as raw image with uEFI boot" arch="x86_64">
|
||||
<requires profile="full"/>
|
||||
@ -140,6 +161,15 @@
|
||||
<requires profile="x86-rt-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Base-RT" description="SL Micro with Podman as raw image with uEFI boot" arch="aarch64">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="aarch64-rt"/>
|
||||
</profile>
|
||||
<profile name="Base-RT-SelfInstall" description="SL Micro with Podman as raw image with uEFI boot - SelfInstall" arch="aarch64">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="aarch64-rt-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Default-qcow" description="SL Micro with Podman and KVM as raw image for KVM on System z" arch="s390x">
|
||||
<requires profile="full"/>
|
||||
<requires profile="s390-kvm"/>
|
||||
@ -164,6 +194,14 @@
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="s390-fba"/>
|
||||
</profile>
|
||||
<profile name="Default-fcp" description="SL Micro with Podman and KVM as raw image for zFCP on System z" arch="s390x">
|
||||
<requires profile="full"/>
|
||||
<requires profile="s390-fcp"/>
|
||||
</profile>
|
||||
<profile name="Base-fcp" description="SL Micro with Podman as raw image for zFCP on System z" arch="s390x">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="s390-fcp"/>
|
||||
</profile>
|
||||
<profile name="Default-legacy" description="SL Micro with Podman as raw image with legacy boot" arch="x86_64">
|
||||
<requires profile="full"/>
|
||||
<requires profile="x86-legacy"/>
|
||||
@ -184,10 +222,47 @@
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="aarch64-qcow"/>
|
||||
</profile>
|
||||
|
||||
<profile name="Base-512" description="SL Micro with Podman as raw image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="ppc64le-512ss"/>
|
||||
</profile>
|
||||
<profile name="Base-4096" description="SL Micro with Podman as raw image for ppc64le with 4096b sector size" arch="ppc64le">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="ppc64le-4096ss"/>
|
||||
</profile>
|
||||
<profile name="Base-512-SelfInstall" description="SL Micro with Podman as self-install image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="ppc64le-512ss-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Base-4096-SelfInstall" description="SL Micro with Podman as self-install image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="container-host"/>
|
||||
<requires profile="ppc64le-4096ss-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Default-512" description="SL Micro with Podman and KVM as raw image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="full"/>
|
||||
<requires profile="ppc64le-512ss"/>
|
||||
</profile>
|
||||
<profile name="Default-4096" description="SL Micro with Podman and KVM as raw image for ppc64le with 4096b sector size" arch="ppc64le">
|
||||
<requires profile="full"/>
|
||||
<requires profile="ppc64le-4096ss"/>
|
||||
</profile>
|
||||
<profile name="Default-512-SelfInstall" description="SL Micro with Podman and KVM as self-install image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="full"/>
|
||||
<requires profile="ppc64le-512ss-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
<profile name="Default-4096-SelfInstall" description="SL Micro with Podman and KVM as self-install image for ppc64le with 512b sector size" arch="ppc64le">
|
||||
<requires profile="full"/>
|
||||
<requires profile="ppc64le-4096ss-self_install"/>
|
||||
<requires profile="self_install"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<preferences profiles="x86-encrypted,x86-rt-encrypted">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -198,7 +273,7 @@
|
||||
initrd_system="dracut"
|
||||
filesystem="btrfs"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -213,7 +288,7 @@
|
||||
efipartsize="200"
|
||||
>
|
||||
<luksformat>
|
||||
<option name="--cipher" value="aes"/>
|
||||
<option name="--cipher" value="aes-xts-plain64"/>
|
||||
</luksformat>
|
||||
<bootloader name="grub2" console="gfxterm" use_disk_password="true" />
|
||||
<systemdisk>
|
||||
@ -232,7 +307,7 @@
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="x86,x86-rt">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -243,7 +318,7 @@
|
||||
initrd_system="dracut"
|
||||
filesystem="btrfs"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -270,7 +345,7 @@
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="x86-self_install,x86-rt-self_install">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -280,11 +355,12 @@
|
||||
image="oem"
|
||||
initrd_system="dracut"
|
||||
installiso="true"
|
||||
installpxe="true"
|
||||
filesystem="btrfs"
|
||||
installboot="install"
|
||||
install_continue_on_timeout="false"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -310,8 +386,8 @@
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="rpi">
|
||||
<version>6.0</version>
|
||||
<preferences profiles="rpi,aarch64-rt">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -326,7 +402,7 @@
|
||||
install_continue_on_timeout="false"
|
||||
fsmountoptions="noatime"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200n8 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
@ -350,8 +426,8 @@
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="aarch64-self_install">
|
||||
<version>6.0</version>
|
||||
<preferences profiles="aarch64-self_install,aarch64-rt-self_install">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -361,12 +437,13 @@
|
||||
image="oem"
|
||||
initrd_system="dracut"
|
||||
installiso="true"
|
||||
installpxe="true"
|
||||
filesystem="btrfs"
|
||||
installboot="install"
|
||||
install_continue_on_timeout="false"
|
||||
firmware="uefi"
|
||||
efipartsize="128"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0"
|
||||
kernelcmdline="security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -391,22 +468,22 @@
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="s390-kvm">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
filesystem="btrfs"
|
||||
bootpartition="true"
|
||||
bootpartsize="300"
|
||||
bootfilesystem="ext2"
|
||||
bootfilesystem="ext4"
|
||||
initrd_system="dracut"
|
||||
format="qcow2"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet"
|
||||
kernelcmdline="security=selinux selinux=1 quiet systemd.show_status=1 ignition.platform.id=metal"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
@ -429,7 +506,7 @@
|
||||
|
||||
|
||||
<preferences profiles="s390-dasd">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -440,9 +517,9 @@
|
||||
filesystem="btrfs"
|
||||
bootpartition="true"
|
||||
bootpartsize="300"
|
||||
bootfilesystem="ext2"
|
||||
bootfilesystem="ext4"
|
||||
initrd_system="dracut"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet systemd.show_status=1"
|
||||
devicepersistency="by-uuid"
|
||||
target_blocksize="4096"
|
||||
btrfs_root_is_snapshot="true"
|
||||
@ -467,7 +544,7 @@
|
||||
|
||||
|
||||
<preferences profiles="s390-fba">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -478,9 +555,9 @@
|
||||
filesystem="btrfs"
|
||||
bootpartition="true"
|
||||
bootpartsize="300"
|
||||
bootfilesystem="ext2"
|
||||
bootfilesystem="ext4"
|
||||
initrd_system="dracut"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet systemd.show_status=1"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
@ -501,9 +578,47 @@
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="s390-fcp">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<type
|
||||
image="oem"
|
||||
filesystem="btrfs"
|
||||
installpxe="true"
|
||||
bootpartition="true"
|
||||
bootpartsize="300"
|
||||
bootfilesystem="ext4"
|
||||
initrd_system="dracut"
|
||||
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet systemd.show_status=1"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<oemconfig>
|
||||
<oem-multipath-scan>true</oem-multipath-scan>
|
||||
</oemconfig>
|
||||
<bootloader name="grub2_s390x_emu" console="serial" timeout="3" targettype="SCSI"/>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/s390x-emu" mountpoint="boot/grub2/s390x-emu"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
<size unit="G">5</size>
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="x86-vmware">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -538,7 +653,7 @@
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="x86-qcow">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -549,7 +664,7 @@
|
||||
format="qcow2"
|
||||
filesystem="btrfs"
|
||||
firmware="uefi"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0 ignition.platform.id=qemu"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=qemu"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -577,7 +692,7 @@
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="aarch64-qcow">
|
||||
<version>6.0</version>
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
@ -589,7 +704,7 @@
|
||||
filesystem="btrfs"
|
||||
firmware="uefi"
|
||||
efipartsize="128"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet net.ifnames=0 ignition.platform.id=qemu"
|
||||
kernelcmdline="console=ttyS0,115200 console=tty0 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=qemu"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
@ -600,7 +715,7 @@
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<volume name="opt"/>
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
|
||||
<volume name="boot/writable"/>
|
||||
@ -611,6 +726,161 @@
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="ppc64le-512ss">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
filesystem="btrfs"
|
||||
firmware="ofw"
|
||||
kernelcmdline="console=hvc0,115200 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=metal"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<!-- on tmpfs jsc#SMO-2 <volume name="tmp"/> -->
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/powerpc-ieee1275"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="ppc64le-4096ss">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<!-- TODO: supposedly this is needed as type attribute, but kiwi needs patching
|
||||
disk_start_sector="256" -->
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
target_blocksize="4096"
|
||||
filesystem="btrfs"
|
||||
firmware="ofw"
|
||||
kernelcmdline="console=hvc0,115200 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=metal"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<!-- on tmpfs jsc#SMO-2 <volume name="tmp"/> -->
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/powerpc-ieee1275"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
<preferences profiles="ppc64le-512ss-self_install">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
installiso="true"
|
||||
installpxe="true"
|
||||
filesystem="btrfs"
|
||||
firmware="ofw"
|
||||
kernelcmdline="console=hvc0,115200 security=selinux selinux=1 quiet net.ifnames=0 ignition.platform.id=metal"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<installmedia>
|
||||
<initrd action="omit">
|
||||
<dracut module="drm"/>
|
||||
</initrd>
|
||||
</installmedia>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<!-- on tmpfs jsc#SMO-2 <volume name="tmp"/> -->
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/powerpc-ieee1275"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
<preferences profiles="ppc64le-4096ss-self_install">
|
||||
<version>6.1</version>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<bootsplash-theme>SLE</bootsplash-theme>
|
||||
<bootloader-theme>SLE</bootloader-theme>
|
||||
<rpm-excludedocs>true</rpm-excludedocs>
|
||||
<locale>en_US</locale>
|
||||
<!-- TODO: supposedly this is needed as type attribute, but kiwi needs patching
|
||||
disk_start_sector="256" -->
|
||||
<!-- Use ignition.platform.id=metal to avoid bsc#1227689 -->
|
||||
<type
|
||||
image="oem"
|
||||
installiso="true"
|
||||
installpxe="true"
|
||||
target_blocksize="4096"
|
||||
filesystem="btrfs"
|
||||
firmware="ofw"
|
||||
kernelcmdline="console=hvc0,115200 security=selinux selinux=1 quiet systemd.show_status=1 net.ifnames=0 ignition.platform.id=metal"
|
||||
bootpartition="false"
|
||||
bootkernel="custom"
|
||||
devicepersistency="by-uuid"
|
||||
btrfs_root_is_snapshot="true"
|
||||
btrfs_root_is_readonly_snapshot="true"
|
||||
btrfs_quota_groups="true"
|
||||
>
|
||||
<installmedia>
|
||||
<initrd action="omit">
|
||||
<dracut module="drm"/>
|
||||
</initrd>
|
||||
</installmedia>
|
||||
<systemdisk>
|
||||
<volume name="home"/>
|
||||
<volume name="root"/>
|
||||
<!-- on tmpfs jsc#SMO-2 <volume name="tmp"/> -->
|
||||
<volume name="opt"/>
|
||||
<volume name="srv"/>
|
||||
<volume name="boot/grub2/powerpc-ieee1275"/>
|
||||
<volume name="boot/writable"/>
|
||||
<volume name="usr/local"/>
|
||||
<volume name="var" copy_on_write="false"/>
|
||||
</systemdisk>
|
||||
</type>
|
||||
</preferences>
|
||||
|
||||
|
||||
<repository type="rpm-md" >
|
||||
<source path='obsrepositories:/'/>
|
||||
</repository>
|
||||
@ -655,8 +925,6 @@
|
||||
<package name="patterns-base-transactional"/>
|
||||
<namedCollection name="container_runtime_podman"/>
|
||||
<package name="patterns-container-runtime_podman"/>
|
||||
<namedCollection name="cockpit"/>
|
||||
<package name="patterns-base-cockpit"/>
|
||||
<namedCollection name="selinux"/>
|
||||
<package name="patterns-base-selinux"/>
|
||||
<package name="suseconnect-ng"/>
|
||||
@ -720,7 +988,8 @@
|
||||
<package name="grub2-x86_64-efi" arch="x86_64"/>
|
||||
<package name="grub2-arm64-efi" arch="aarch64"/>
|
||||
<package name="grub2-s390x-emu" arch="s390x"/>
|
||||
<package name="grub2-branding-SLE" bootinclude="true" arch="x86_64,aarch64"/>
|
||||
<package name="grub2-powerpc-ieee1275" arch="ppc64le"/>
|
||||
<package name="grub2-branding-SLE" bootinclude="true" arch="x86_64,aarch64,ppc64le"/>
|
||||
<package name="grub2-snapper-plugin"/>
|
||||
<package name="shim" arch="x86_64,aarch64"/>
|
||||
<package name="mokutil" arch="x86_64,aarch64"/>
|
||||
@ -728,46 +997,44 @@
|
||||
<package name="kpartx" arch="s390x"/>--> <!-- previous releases picked it always, now kiwi picks partx instead -->
|
||||
</packages>
|
||||
<!-- rpi kernel-default-base does not provide all necessary drivers -->
|
||||
<packages type="image" profiles="x86,x86-encrypted,x86-legacy,x86-self_install,x86-vmware,x86-qcow,aarch64-qcow,s390-kvm,s390-dasd,s390-fba">
|
||||
<packages type="image" profiles="rpi,aarch64-self_install,x86,x86-encrypted,x86-legacy,x86-self_install,x86-vmware,x86-qcow,aarch64-qcow,s390-kvm,s390-dasd,s390-fba,s390-fcp,ppc64le-512ss,ppc64le-4096ss,ppc64le-512ss-self_install,ppc64le-4096ss-self_install">
|
||||
<package name="kernel-default"/>
|
||||
<package name="kernel-firmware-all"/>
|
||||
</packages>
|
||||
<packages type="image" profiles="x86-rt,x86-rt-self_install,x86-rt-encrypted">
|
||||
<packages type="image" profiles="x86-rt,x86-rt-self_install,x86-rt-encrypted,aarch64-rt,aarch64-rt-self_install">
|
||||
<package name="kernel-rt"/>
|
||||
<package name="kernel-firmware-all"/>
|
||||
<package name="kernel-firmware-all"/>
|
||||
<!-- FIXME intentionally removed from ALP code stream
|
||||
<package name="cpuset"/> -->
|
||||
<package name="cpuset"/> -->
|
||||
</packages>
|
||||
<!-- makes the image build, but also include kernel-default
|
||||
<packages type="image" profiles="x86-rt-encrypted">
|
||||
<package name="kernel-default-extra"/>
|
||||
</packages> -->
|
||||
<packages type="image" profiles="s390-kvm,s390-dasd,s390-fba">
|
||||
<packages type="image" profiles="s390-kvm,s390-dasd,s390-fba,s390-fcp">
|
||||
<package name="dracut-kiwi-oem-dump"/>
|
||||
<package name="dracut-kiwi-oem-repart"/>
|
||||
<package name="blog"/>
|
||||
</packages>
|
||||
<packages type="image" profiles="x86,x86-encrypted,x86-rt-encrypted,x86-self_install,x86-legacy,x86-vmware,x86-rt,x86-rt-self_install,x86-qcow,aarch64-qcow,rpi,aarch64-self_install">
|
||||
<!-- FCP is usually used multipathed. -->
|
||||
<packages type="image" profiles="s390-fcp">
|
||||
<package name="multipath-tools"/>
|
||||
</packages>
|
||||
<packages type="image" profiles="x86,x86-encrypted,x86-rt-encrypted,x86-self_install,x86-legacy,x86-vmware,x86-rt,x86-rt-self_install,x86-qcow,aarch64-qcow,rpi,aarch64-self_install,aarch64-rt,aarch64-rt-self_install,ppc64le-512ss,ppc64le-4096ss,ppc64le-512ss-self_install,ppc64le-4096ss-self_install">
|
||||
<package name="dracut-kiwi-oem-repart"/>
|
||||
<package name="dracut-kiwi-oem-dump"/>
|
||||
</packages>
|
||||
<packages type="image" profiles="rpi,aarch64-self_install">
|
||||
<packages type="image" profiles="rpi,aarch64-self_install,aarch64-rt,aarch64-rt-self_install">
|
||||
<package name="raspberrypi-firmware" arch="aarch64"/>
|
||||
<package name="raspberrypi-firmware-config" arch="aarch64"/>
|
||||
<package name="raspberrypi-firmware-dt" arch="aarch64"/>
|
||||
<package name="u-boot-rpiarm64" arch="aarch64"/>
|
||||
<package name="dracut-kiwi-oem-repart"/>
|
||||
<package name="bcm43xx-firmware"/>
|
||||
<package name="kernel-firmware-all"/><!-- Fix choice between kernel-firmware and kernel-firmware-all -->
|
||||
<package name="wireless-regdb"/>
|
||||
<package name="wireless-tools"/>
|
||||
<package name="wpa_supplicant"/>
|
||||
<package name="grub2-arm64-efi"/>
|
||||
<!-- kernel-default-base does not have all required drivers -->
|
||||
<package name="kernel-default"/>
|
||||
</packages>
|
||||
<packages type="bootstrap">
|
||||
<package name="coreutils"/>
|
||||
<package name="filesystem"/>
|
||||
<package name="coreutils"/>
|
||||
<package name="ca-certificates"/>
|
||||
<package name="ca-certificates-mozilla"/>
|
||||
</packages>
|
||||
@ -781,4 +1048,14 @@
|
||||
<packages type="image" profiles="x86-qcow,aarch64-qcow">
|
||||
<package name="qemu-guest-agent"/>
|
||||
</packages>
|
||||
</image>
|
||||
|
||||
<!-- jsc#PED-8599 -->
|
||||
<packages type="image" profiles="Base,Base-encrypted,Base-RT,Base-RT-encrypted,Base-fba,Base-dasd,Base-fcp,Base-512,Base-4096,Default,Default-encrypted,Default-fba,Default-dasd,Default-fcp,Default-512,Default-4096">
|
||||
<package name="usbguard"/>
|
||||
</packages>
|
||||
|
||||
<!-- jsc#PED-8788 -->
|
||||
<packages type="image" profiles="Base-RT,Base-RT-encrypted,x86-rt-encrypted,x86-rt,x86-rt-self_install,aarch64-rt,aarch64-rt-self_install">
|
||||
<package name="stalld"/>
|
||||
</packages>
|
||||
</image>
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
@ -21,43 +21,45 @@
|
||||
#
|
||||
|
||||
# Set image build defaults, blocksize is an empty string
|
||||
PROFILE="Default"
|
||||
PROFILE="Base"
|
||||
LARGEBLOCK=false
|
||||
|
||||
# Print usage
|
||||
usage(){
|
||||
cat <<-EOF
|
||||
==============================
|
||||
SLE Micro 6.0 Kiwi SDK Builder
|
||||
==============================
|
||||
cat <<-EOF
|
||||
=====================================
|
||||
SUSE Linux Micro 6.1 Kiwi SDK Builder
|
||||
=====================================
|
||||
|
||||
Usage: ${0} [-p <profile>] [-b]
|
||||
Usage: ${0} [-p <profile>] [-b]
|
||||
|
||||
Profile Options (-p):
|
||||
* Default: RAW Disk Image with kernel-default
|
||||
* Default-SelfInstall: SelfInstall ISO with kernel-default
|
||||
* Base-RT: RAW Disk Image with kernel-rt
|
||||
* Base-RT-SelfInstall: SelfInstall ISO with kernel-rt
|
||||
Profile Options (-p):
|
||||
* Base: RAW Disk Image with podman
|
||||
* Base-SelfInstall: SelfInstall ISO with podman
|
||||
* Default: RAW Disk Image with podman and kvm
|
||||
* Default-SelfInstall: SelfInstall ISO with podman and kvm
|
||||
* Base-RT: RAW Disk Image with kernel-rt
|
||||
* Base-RT-SelfInstall: SelfInstall ISO with kernel-rt
|
||||
|
||||
4096 Blocksize (-b): If specified, use a 4096 blocksize (rather than 512) when generating the image.
|
||||
4096 Blocksize (-b): If specified, use a 4096 blocksize (rather than 512) when generating the image.
|
||||
|
||||
NOTE: If both options are omitted, the "Default" profile with a standard "512" blocksize is used.
|
||||
EOF
|
||||
NOTE: If both options are omitted, the "Base" profile with a standard "512" blocksize is used.
|
||||
EOF
|
||||
}
|
||||
|
||||
# Grab CLI options and handle
|
||||
while getopts 'p:bh' OPTION; do
|
||||
case "${OPTION}" in
|
||||
p)
|
||||
PROFILE="${OPTARG}"
|
||||
;;
|
||||
b)
|
||||
LARGEBLOCK=true
|
||||
;;
|
||||
?)
|
||||
usage && exit 2
|
||||
;;
|
||||
esac
|
||||
case "${OPTION}" in
|
||||
p)
|
||||
PROFILE="${OPTARG}"
|
||||
;;
|
||||
b)
|
||||
LARGEBLOCK=true
|
||||
;;
|
||||
?)
|
||||
usage && exit 2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# To avoid wasting time, perform the loop creation test first, and exit with a warning to re-run.
|
||||
@ -88,4 +90,4 @@ if [ $RESULT -eq 0 ]; then
|
||||
echo -e "\n\nINFO: Image build successful, generated images are available in the 'output' directory."
|
||||
else
|
||||
echo -e "\n\nERROR: Failed to build the image, please see above logs."
|
||||
fi
|
||||
fi
|
||||
|
@ -35,14 +35,6 @@ mkdir /var/lib/misc/reconfig_system
|
||||
#--------------------------------------
|
||||
echo "Configure image: [$kiwi_iname]-[$kiwi_profiles]..."
|
||||
|
||||
#======================================
|
||||
# This is a workaround - someone,
|
||||
# somewhere needs to load the xts crypto
|
||||
# module, otherwise luksOpen will fail while
|
||||
# creating the image.
|
||||
#--------------------------------------
|
||||
modprobe xts || true
|
||||
|
||||
#======================================
|
||||
# add missing fonts
|
||||
#--------------------------------------
|
||||
@ -139,9 +131,6 @@ for i in /usr/lib/rpm/gnupg/keys/gpg-pubkey*asc; do
|
||||
rpm --import $i || true
|
||||
done
|
||||
|
||||
# Temporary workaround for bsc#1212187
|
||||
echo "techpreview.ZYPP_MEDIANETWORK=1" >> /etc/zypp/zypp.conf
|
||||
|
||||
#======================================
|
||||
# Enable kubelet if installed
|
||||
#--------------------------------------
|
||||
@ -170,8 +159,18 @@ if [ "${kiwi_btrfs_root_is_snapshot-false}" = 'true' ]; then
|
||||
sed -i'' 's/^NUMBER_LIMIT_IMPORTANT=.*$/NUMBER_LIMIT_IMPORTANT="4-10"/g' /etc/snapper/configs/root
|
||||
fi
|
||||
|
||||
# Enable jeos-firstboot if installed, disabled by combustion/ignition
|
||||
if rpm -q --whatprovides jeos-firstboot >/dev/null; then
|
||||
# Enable multipathd for MP images
|
||||
if [ "${kiwi_oemmultipath_scan-false}" = 'true' ]; then
|
||||
systemctl enable multipathd.service
|
||||
fi
|
||||
|
||||
# On those s390 targets the console is not capable of running jeos-firstboot,
|
||||
# use systemd-firstboot as minimal alternative.
|
||||
if [[ "$kiwi_profiles" =~ s390-(dasd|fba|fcp) ]]; then
|
||||
systemctl enable systemd-firstboot
|
||||
# Enable prompting for the root password
|
||||
echo 'root:!unprovisioned' | chpasswd -e
|
||||
elif rpm -q --whatprovides jeos-firstboot >/dev/null; then
|
||||
mkdir -p /var/lib/YaST2
|
||||
touch /var/lib/YaST2/reconfig_system
|
||||
systemctl enable jeos-firstboot.service
|
||||
@ -281,7 +280,7 @@ if [[ "$kiwi_profiles" == *"RaspberryPi"* ]]; then
|
||||
options smsc95xx turbo_mode=N
|
||||
EOF
|
||||
|
||||
cat > /usr/lib/sysctl.d/50-rpi3.conf <<-EOF
|
||||
cat > /etc/sysctl.d/50-rpi3.conf <<-EOF
|
||||
# Avoid running out of DMA pages for smsc95xx (bsc#1012449)
|
||||
vm.min_free_kbytes = 2048
|
||||
EOF
|
||||
|
@ -12,10 +12,8 @@
|
||||
<param name="without-version">yes</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="tar" />
|
||||
<service mode="buildtime" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
<service mode="buildtime" name="tar" >
|
||||
<param name="obsinfo">kube-rbac-proxy.obsinfo</param>
|
||||
</service>
|
||||
<service name="go_modules">
|
||||
</service>
|
||||
|
@ -22,7 +22,7 @@ Release: 0.18.1
|
||||
Summary: The kube-rbac-proxy is a small HTTP proxy for a single upstream
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/brancz/kube-rbac-proxy
|
||||
Source: kube-rbac-proxy-%{version}.tar.gz
|
||||
Source: kube-rbac-proxy-%{version}.tar
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang(API) = 1.23
|
||||
ExcludeArch: s390
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0
|
||||
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0-%RELEASE%
|
||||
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0
|
||||
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.1
|
||||
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.1-%RELEASE%
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: KubeVirt
|
||||
@ -10,11 +11,12 @@ annotations:
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0'
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
apiVersion: v2
|
||||
appVersion: 1.2.0
|
||||
appVersion: 302.0.0+up1.2.1
|
||||
description: 'SUSE Edge: KubeVirt extension for Rancher Dashboard'
|
||||
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg
|
||||
name: kubevirt-dashboard-extension
|
||||
type: application
|
||||
version: "%%CHART_MAJOR%%.0.0+up1.2.0"
|
||||
version: "%%CHART_MAJOR%%.0.0+up1.2.1"
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg
|
||||
|
@ -38,7 +38,7 @@ Common labels
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
@ -60,4 +60,4 @@ Pkg annotations
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -8,7 +8,7 @@ spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/kubevirt-dashboard-extension/1.2.0
|
||||
endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/kubevirt-dashboard-extension/302.0.0+up1.2.1
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
@ -8,5 +8,5 @@ plugin:
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: KubeVirt
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
catalog.cattle.io/kube-version: ">= v1.26.0-0"
|
||||
|
@ -1,16 +1,16 @@
|
||||
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.0
|
||||
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.0-%RELEASE%
|
||||
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.10.1
|
||||
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.10.1-%RELEASE%
|
||||
apiVersion: v2
|
||||
appVersion: 0.9.0
|
||||
appVersion: 0.10.1
|
||||
dependencies:
|
||||
- alias: metal3-baremetal-operator
|
||||
name: baremetal-operator
|
||||
repository: file://./charts/baremetal-operator
|
||||
version: 0.6.0
|
||||
version: 0.9.0
|
||||
- alias: metal3-ironic
|
||||
name: ironic
|
||||
repository: file://./charts/ironic
|
||||
version: 0.8.0
|
||||
version: 0.9.4
|
||||
- alias: metal3-mariadb
|
||||
condition: global.enable_mariadb
|
||||
name: mariadb
|
||||
@ -20,9 +20,9 @@ dependencies:
|
||||
condition: global.enable_metal3_media_server
|
||||
name: media
|
||||
repository: file://./charts/media
|
||||
version: 0.6.0
|
||||
version: 0.6.1
|
||||
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
|
||||
name: metal3
|
||||
type: application
|
||||
version: "%%CHART_MAJOR%%.0.0+up0.9.0"
|
||||
version: "%%CHART_MAJOR%%.0.0+up0.10.1"
|
||||
|
@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
appVersion: 0.8.0
|
||||
appVersion: 0.9.0
|
||||
description: A Helm chart for baremetal-operator, used by Metal3
|
||||
name: baremetal-operator
|
||||
type: application
|
||||
version: 0.6.0
|
||||
version: 0.9.0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.12.1
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
labels:
|
||||
clusterctl.cluster.x-k8s.io: ""
|
||||
name: bmceventsubscriptions.metal3.io
|
||||
@ -34,14 +34,19 @@ spec:
|
||||
description: BMCEventSubscription is the Schema for the fast eventing API
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
@ -57,8 +62,9 @@ spec:
|
||||
description: A reference to a BareMetalHost
|
||||
type: string
|
||||
httpHeadersRef:
|
||||
description: A secret containing HTTP headers which should be passed
|
||||
along to the Destination when making a request
|
||||
description: |-
|
||||
A secret containing HTTP headers which should be passed along to the Destination
|
||||
when making a request
|
||||
properties:
|
||||
name:
|
||||
description: name is unique within a namespace to reference a
|
||||
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.12.1
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
name: dataimages.metal3.io
|
||||
spec:
|
||||
group: metal3.io
|
||||
@ -20,14 +20,19 @@ spec:
|
||||
description: DataImage is the Schema for the dataimages API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
@ -35,7 +40,8 @@ spec:
|
||||
description: DataImageSpec defines the desired state of DataImage.
|
||||
properties:
|
||||
url:
|
||||
description: Url is the address of the dataImage that we want to attach
|
||||
description: |-
|
||||
Url is the address of the dataImage that we want to attach
|
||||
to a BareMetalHost
|
||||
type: string
|
||||
required:
|
||||
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.12.1
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
labels:
|
||||
clusterctl.cluster.x-k8s.io: ""
|
||||
name: firmwareschemas.metal3.io
|
||||
@ -22,14 +22,19 @@ spec:
|
||||
description: FirmwareSchema is the Schema for the firmwareschemas API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
@ -73,8 +78,9 @@ spec:
|
||||
description: Whether or not this setting is read only.
|
||||
type: boolean
|
||||
unique:
|
||||
description: Whether or not this setting's value is unique to
|
||||
this node, e.g. a serial number.
|
||||
description: |-
|
||||
Whether or not this setting's value is unique to this node, e.g.
|
||||
a serial number.
|
||||
type: boolean
|
||||
upper_bound:
|
||||
description: The highest value for an Integer type setting.
|
||||
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.12.1
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
labels:
|
||||
clusterctl.cluster.x-k8s.io: ""
|
||||
name: hardwaredata.metal3.io
|
||||
@ -29,14 +29,19 @@ spec:
|
||||
description: HardwareData is the Schema for the hardwaredata API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
@ -47,7 +52,7 @@ spec:
|
||||
description: The hardware discovered on the host during its inspection.
|
||||
properties:
|
||||
cpu:
|
||||
description: CPU describes one processor on the host.
|
||||
description: Details of the CPU(s) in the system.
|
||||
properties:
|
||||
arch:
|
||||
type: string
|
||||
@ -65,7 +70,7 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
firmware:
|
||||
description: Firmware describes the firmware on the host.
|
||||
description: System firmware information.
|
||||
properties:
|
||||
bios:
|
||||
description: The BIOS for this firmware
|
||||
@ -84,14 +89,15 @@ spec:
|
||||
hostname:
|
||||
type: string
|
||||
nics:
|
||||
description: List of network interfaces for the host.
|
||||
items:
|
||||
description: NIC describes one network interface on the host.
|
||||
properties:
|
||||
ip:
|
||||
description: The IP address of the interface. This will
|
||||
be an IPv4 or IPv6 address if one is present. If both
|
||||
IPv4 and IPv6 addresses are present in a dual-stack environment,
|
||||
two nics will be output, one with each IP.
|
||||
description: |-
|
||||
The IP address of the interface. This will be an IPv4 or IPv6 address
|
||||
if one is present. If both IPv4 and IPv6 addresses are present in a
|
||||
dual-stack environment, two nics will be output, one with each IP.
|
||||
type: string
|
||||
mac:
|
||||
description: The device MAC address
|
||||
@ -134,16 +140,20 @@ spec:
|
||||
type: object
|
||||
type: array
|
||||
ramMebibytes:
|
||||
description: The host's amount of memory in Mebibytes.
|
||||
type: integer
|
||||
storage:
|
||||
description: List of storage (disk, SSD, etc.) available to the
|
||||
host.
|
||||
items:
|
||||
description: Storage describes one storage device (disk, SSD,
|
||||
etc.) on the host.
|
||||
properties:
|
||||
alternateNames:
|
||||
description: A list of alternate Linux device names of the
|
||||
disk, e.g. "/dev/sda". Note that this list is not exhaustive,
|
||||
and names may not be stable across reboots.
|
||||
description: |-
|
||||
A list of alternate Linux device names of the disk, e.g. "/dev/sda".
|
||||
Note that this list is not exhaustive, and names may not be stable
|
||||
across reboots.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
@ -154,15 +164,17 @@ spec:
|
||||
description: Hardware model
|
||||
type: string
|
||||
name:
|
||||
description: A Linux device name of the disk, e.g. "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0".
|
||||
This will be a name that is stable across reboots if one
|
||||
is available.
|
||||
description: |-
|
||||
A Linux device name of the disk, e.g.
|
||||
"/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". This will be a name
|
||||
that is stable across reboots if one is available.
|
||||
type: string
|
||||
rotational:
|
||||
description: Whether this disk represents rotational storage.
|
||||
This field is not recommended for usage, please prefer
|
||||
using 'Type' field instead, this field will be deprecated
|
||||
eventually.
|
||||
description: |-
|
||||
Whether this disk represents rotational storage.
|
||||
This field is not recommended for usage, please
|
||||
prefer using 'Type' field instead, this field
|
||||
will be deprecated eventually.
|
||||
type: boolean
|
||||
serialNumber:
|
||||
description: The serial number of the device
|
||||
@ -193,8 +205,7 @@ spec:
|
||||
type: object
|
||||
type: array
|
||||
systemVendor:
|
||||
description: HardwareSystemVendor stores details about the whole
|
||||
hardware system.
|
||||
description: System vendor information.
|
||||
properties:
|
||||
manufacturer:
|
||||
type: string
|
||||
|
@ -3,7 +3,9 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.12.1
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
labels:
|
||||
clusterctl.cluster.x-k8s.io: ""
|
||||
name: hostfirmwarecomponents.metal3.io
|
||||
spec:
|
||||
group: metal3.io
|
||||
@ -21,14 +23,19 @@ spec:
|
||||
API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
@ -82,43 +89,35 @@ spec:
|
||||
description: Track whether updates stored in the spec are valid based
|
||||
on the schema
|
||||
items:
|
||||
description: "Condition contains details for one aspect of the current
|
||||
state of this API Resource. --- This struct is intended for direct
|
||||
use as an array at the field path .status.conditions. For example,
|
||||
\n type FooStatus struct{ // Represents the observations of a
|
||||
foo's current state. // Known .status.conditions.type are: \"Available\",
|
||||
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
|
||||
// +listType=map // +listMapKey=type Conditions []metav1.Condition
|
||||
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
|
||||
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
|
||||
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.
|
||||
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.
|
||||
description: |-
|
||||
message is a human readable message indicating details about the transition.
|
||||
This may be an empty string.
|
||||
maxLength: 32768
|
||||
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.
|
||||
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
|
||||
minimum: 0
|
||||
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.
|
||||
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.
|
||||
maxLength: 1024
|
||||
minLength: 1
|
||||
@ -133,10 +132,6 @@ spec:
|
||||
type: string
|
||||
type:
|
||||
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||
--- Many .condition.type values are consistent across resources
|
||||
like Available, but because arbitrary conditions can be useful
|
||||
(see .node.status.conditions), the ability to deconflict is
|
||||
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
||||
maxLength: 316
|
||||
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||
type: string
|
||||
@ -156,8 +151,9 @@ spec:
|
||||
format: date-time
|
||||
type: string
|
||||
updates:
|
||||
description: Updates is the list of all firmware components that should
|
||||
be updated they are specified via name and url fields.
|
||||
description: |-
|
||||
Updates is the list of all firmware components that should be updated
|
||||
they are specified via name and url fields.
|
||||
items:
|
||||
description: FirmwareUpdate defines a firmware update specification.
|
||||
properties:
|
||||
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.12.1
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
labels:
|
||||
clusterctl.cluster.x-k8s.io: ""
|
||||
name: hostfirmwaresettings.metal3.io
|
||||
@ -25,14 +25,19 @@ spec:
|
||||
API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
@ -59,43 +64,35 @@ spec:
|
||||
description: Track whether settings stored in the spec are valid based
|
||||
on the schema
|
||||
items:
|
||||
description: "Condition contains details for one aspect of the current
|
||||
state of this API Resource. --- This struct is intended for direct
|
||||
use as an array at the field path .status.conditions. For example,
|
||||
\n type FooStatus struct{ // Represents the observations of a
|
||||
foo's current state. // Known .status.conditions.type are: \"Available\",
|
||||
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
|
||||
// +listType=map // +listMapKey=type Conditions []metav1.Condition
|
||||
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
|
||||
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
|
||||
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.
|
||||
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.
|
||||
description: |-
|
||||
message is a human readable message indicating details about the transition.
|
||||
This may be an empty string.
|
||||
maxLength: 32768
|
||||
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.
|
||||
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
|
||||
minimum: 0
|
||||
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.
|
||||
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.
|
||||
maxLength: 1024
|
||||
minLength: 1
|
||||
@ -110,10 +107,6 @@ spec:
|
||||
type: string
|
||||
type:
|
||||
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||
--- Many .condition.type values are consistent across resources
|
||||
like Available, but because arbitrary conditions can be useful
|
||||
(see .node.status.conditions), the ability to deconflict is
|
||||
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
||||
maxLength: 316
|
||||
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||
type: string
|
||||
@ -133,8 +126,9 @@ spec:
|
||||
format: date-time
|
||||
type: string
|
||||
schema:
|
||||
description: FirmwareSchema is a reference to the Schema used to describe
|
||||
each FirmwareSetting. By default, this will be a Schema in the same
|
||||
description: |-
|
||||
FirmwareSchema is a reference to the Schema used to describe each
|
||||
FirmwareSetting. By default, this will be a Schema in the same
|
||||
Namespace as the settings but it can be overwritten in the Spec
|
||||
properties:
|
||||
name:
|
||||
|
@ -0,0 +1,62 @@
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
labels:
|
||||
clusterctl.cluster.x-k8s.io: ""
|
||||
name: hostupdatepolicies.metal3.io
|
||||
spec:
|
||||
group: metal3.io
|
||||
names:
|
||||
kind: HostUpdatePolicy
|
||||
listKind: HostUpdatePolicyList
|
||||
plural: hostupdatepolicies
|
||||
singular: hostupdatepolicy
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: HostUpdatePolicy is the Schema for the hostupdatepolicy API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: HostUpdatePolicySpec defines the desired state of HostUpdatePolicy.
|
||||
properties:
|
||||
firmwareSettings:
|
||||
description: Defines policy for changing firmware settings
|
||||
enum:
|
||||
- onPreparing
|
||||
- onReboot
|
||||
type: string
|
||||
firmwareUpdates:
|
||||
description: Defines policy for updating firmware
|
||||
enum:
|
||||
- onPreparing
|
||||
- onReboot
|
||||
type: string
|
||||
type: object
|
||||
status:
|
||||
description: HostUpdatePolicyStatus defines the observed state of HostUpdatePolicy.
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.12.1
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
labels:
|
||||
clusterctl.cluster.x-k8s.io: ""
|
||||
name: preprovisioningimages.metal3.io
|
||||
@ -34,14 +34,19 @@ spec:
|
||||
API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
@ -62,8 +67,9 @@ spec:
|
||||
to build the image.
|
||||
type: string
|
||||
networkDataName:
|
||||
description: networkDataName is the name of a Secret in the local
|
||||
namespace that contains network data to build in to the image.
|
||||
description: |-
|
||||
networkDataName is the name of a Secret in the local namespace that
|
||||
contains network data to build in to the image.
|
||||
type: string
|
||||
type: object
|
||||
status:
|
||||
@ -77,43 +83,35 @@ spec:
|
||||
conditions:
|
||||
description: conditions describe the state of the built image
|
||||
items:
|
||||
description: "Condition contains details for one aspect of the current
|
||||
state of this API Resource. --- This struct is intended for direct
|
||||
use as an array at the field path .status.conditions. For example,
|
||||
\n type FooStatus struct{ // Represents the observations of a
|
||||
foo's current state. // Known .status.conditions.type are: \"Available\",
|
||||
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
|
||||
// +listType=map // +listMapKey=type Conditions []metav1.Condition
|
||||
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
|
||||
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
|
||||
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.
|
||||
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.
|
||||
description: |-
|
||||
message is a human readable message indicating details about the transition.
|
||||
This may be an empty string.
|
||||
maxLength: 32768
|
||||
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.
|
||||
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
|
||||
minimum: 0
|
||||
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.
|
||||
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.
|
||||
maxLength: 1024
|
||||
minLength: 1
|
||||
@ -128,10 +126,6 @@ spec:
|
||||
type: string
|
||||
type:
|
||||
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||
--- Many .condition.type values are consistent across resources
|
||||
like Available, but because arbitrary conditions can be useful
|
||||
(see .node.status.conditions), the ability to deconflict is
|
||||
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
||||
maxLength: 316
|
||||
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||
type: string
|
||||
@ -147,13 +141,14 @@ spec:
|
||||
- type
|
||||
x-kubernetes-list-type: map
|
||||
extraKernelParams:
|
||||
description: extraKernelParams is a string with extra parameters to
|
||||
pass to the kernel when booting the image over network. Only makes
|
||||
sense for initrd images.
|
||||
description: |-
|
||||
extraKernelParams is a string with extra parameters to pass to the
|
||||
kernel when booting the image over network. Only makes sense for initrd images.
|
||||
type: string
|
||||
format:
|
||||
description: 'format is the type of image that is available at the
|
||||
download url: either iso or initrd.'
|
||||
description: |-
|
||||
format is the type of image that is available at the download url:
|
||||
either iso or initrd.
|
||||
enum:
|
||||
- iso
|
||||
- initrd
|
||||
@ -163,12 +158,14 @@ spec:
|
||||
downloaded.
|
||||
type: string
|
||||
kernelUrl:
|
||||
description: kernelUrl is the URL from which the kernel of the image
|
||||
can be downloaded. Only makes sense for initrd images.
|
||||
description: |-
|
||||
kernelUrl is the URL from which the kernel of the image can be downloaded.
|
||||
Only makes sense for initrd images.
|
||||
type: string
|
||||
networkData:
|
||||
description: networkData is a reference to the version of the Secret
|
||||
containing the network data used to build the image.
|
||||
description: |-
|
||||
networkData is a reference to the version of the Secret containing the
|
||||
network data used to build the image.
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
|
@ -184,3 +184,23 @@ rules:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- metal3.io
|
||||
resources:
|
||||
- hostupdatepolicies
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- metal3.io
|
||||
resources:
|
||||
- hostupdatepolicies/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
|
@ -24,8 +24,8 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- args:
|
||||
- --metrics-addr=127.0.0.1:8085
|
||||
- --enable-leader-election
|
||||
- --tls-min-version=TLS13
|
||||
env:
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
@ -56,6 +56,9 @@ spec:
|
||||
- containerPort: 9443
|
||||
name: webhook-server
|
||||
protocol: TCP
|
||||
- containerPort: 8443
|
||||
protocol: TCP
|
||||
name: https
|
||||
readinessProbe:
|
||||
failureThreshold: 10
|
||||
httpGet:
|
||||
@ -84,19 +87,6 @@ spec:
|
||||
mountPath: "/opt/metal3/certs/ca"
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
- args:
|
||||
- --secure-listen-address=0.0.0.0:8443
|
||||
- --upstream=http://127.0.0.1:8085/
|
||||
- --logtostderr=true
|
||||
- --v=10
|
||||
image: "{{ .Values.images.rbacProxy.repository }}:{{ .Values.images.rbacProxy.tag }}"
|
||||
imagePullPolicy: {{ .Values.images.rbacProxy.pullPolicy }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 10 }}
|
||||
name: kube-rbac-proxy
|
||||
ports:
|
||||
- containerPort: 8443
|
||||
name: https
|
||||
serviceAccountName: {{ include "baremetal-operator.serviceAccountName" . }}
|
||||
terminationGracePeriodSeconds: 10
|
||||
volumes:
|
||||
|
@ -1,7 +1,7 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: {{ include "baremetal-operator.fullname" . }}-proxy-role
|
||||
name: {{ include "baremetal-operator.fullname" . }}-metrics-auth-role
|
||||
labels:
|
||||
{{- include "baremetal-operator.labels" . | nindent 4 }}
|
||||
rules:
|
@ -1,13 +1,13 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: {{ include "baremetal-operator.fullname" . }}-proxy-rolebinding
|
||||
name: {{ include "baremetal-operator.fullname" . }}-metrics-auth-rolebinding
|
||||
labels:
|
||||
{{- include "baremetal-operator.labels" . | nindent 4 }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: {{ include "baremetal-operator.fullname" . }}-proxy-role
|
||||
name: {{ include "baremetal-operator.fullname" . }}-metrics-auth-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ include "baremetal-operator.serviceAccountName" . }}
|
@ -6,6 +6,6 @@ metadata:
|
||||
{{- include "baremetal-operator.labels" . | nindent 4 }}
|
||||
rules:
|
||||
- nonResourceURLs:
|
||||
- /metrics
|
||||
- "/metrics"
|
||||
verbs:
|
||||
- get
|
@ -1,15 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{ include "baremetal-operator.fullname" . }}-test-connection"
|
||||
labels:
|
||||
{{- include "baremetal-operator.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
"helm.sh/hook": test
|
||||
spec:
|
||||
containers:
|
||||
- name: wget
|
||||
image: busybox
|
||||
command: ['wget']
|
||||
args: ['{{ include "baremetal-operator.fullname" . }}:{{ .Values.service.port }}']
|
||||
restartPolicy: Never
|
@ -28,11 +28,7 @@ images:
|
||||
baremetalOperator:
|
||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/baremetal-operator
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "0.8.0"
|
||||
rbacProxy:
|
||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/kube-rbac-proxy
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "0.18.1"
|
||||
tag: "0.9.0"
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: "manger"
|
||||
|
@ -3,4 +3,4 @@ appVersion: 26.1.2
|
||||
description: A Helm chart for Ironic, used by Metal3
|
||||
name: ironic
|
||||
type: application
|
||||
version: 0.8.0
|
||||
version: 0.9.4
|
||||
|
@ -77,9 +77,6 @@ spec:
|
||||
mountPath: "/certs/vmedia"
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
- mountPath: /shared/html/tstcerts
|
||||
name: cert-ironic-ca
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
- name: ironic-log-watch
|
||||
image: {{ .Values.images.ironic.repository }}:{{ .Values.images.ironic.tag }}
|
||||
|
@ -56,11 +56,11 @@ images:
|
||||
ironic:
|
||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 26.1.2.0
|
||||
tag: 26.1.2.3
|
||||
ironicIPADownloader:
|
||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic-ipa-downloader
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 3.0.0
|
||||
tag: 3.0.2
|
||||
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
@ -3,4 +3,4 @@ appVersion: 1.16.0
|
||||
description: A Helm chart for Media, used by Metal3
|
||||
name: media
|
||||
type: application
|
||||
version: 0.6.0
|
||||
version: 0.6.1
|
||||
|
@ -1,15 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{ include "media.fullname" . }}-test-connection"
|
||||
labels:
|
||||
{{- include "media.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
"helm.sh/hook": test
|
||||
spec:
|
||||
containers:
|
||||
- name: wget
|
||||
image: busybox
|
||||
command: ['wget']
|
||||
args: ['{{ include "media.fullname" . }}:{{ .Values.service.port }}']
|
||||
restartPolicy: Never
|
@ -24,7 +24,7 @@ replicaCount: 1
|
||||
image:
|
||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 26.1.2.0
|
||||
tag: 26.1.2.2
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
|
@ -1,16 +1,17 @@
|
||||
#!BuildTag: %%IMG_PREFIX%%metallb-chart:%%CHART_MAJOR%%.0.0_up0.14.9
|
||||
#!BuildTag: %%IMG_PREFIX%%metallb-chart:%%CHART_MAJOR%%.0.0_up0.14.9-%RELEASE%
|
||||
apiVersion: v2
|
||||
appVersion: v0.14.3
|
||||
appVersion: v0.14.9
|
||||
dependencies:
|
||||
- condition: frrk8s.enabled
|
||||
- condition: crds.enabled
|
||||
name: crds
|
||||
repository: file://./charts/crds
|
||||
version: 0.14.9
|
||||
- alias: metallb-frr-k8s
|
||||
condition: frrk8s.enabled
|
||||
name: frr-k8s
|
||||
repository: file://./charts/frr-k8s
|
||||
version: 0.0.15
|
||||
- condition: crds.enabled
|
||||
name: metallb-crds
|
||||
repository: file://./charts/metallb-crds
|
||||
version: 0.14.8
|
||||
version: 0.0.16
|
||||
description: A network load-balancer implementation for Kubernetes using standard
|
||||
routing protocols
|
||||
home: https://metallb.universe.tf
|
||||
|
@ -1,6 +1,6 @@
|
||||
# metallb
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
A network load-balancer implementation for Kubernetes using standard routing protocols
|
||||
|
||||
@ -16,8 +16,8 @@ Kubernetes: `>= 1.19.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| | crds | 0.14.8 |
|
||||
| https://metallb.github.io/frr-k8s | frr-k8s | 0.0.14 |
|
||||
| | crds | 0.14.9 |
|
||||
| https://metallb.github.io/frr-k8s | frr-k8s | 0.0.16 |
|
||||
|
||||
## Values
|
||||
|
||||
@ -79,17 +79,17 @@ Kubernetes: `>= 1.19.0-0`
|
||||
| prometheus.podMonitor.relabelings | list | `[]` | |
|
||||
| prometheus.prometheusRule.additionalLabels | object | `{}` | |
|
||||
| prometheus.prometheusRule.addressPoolExhausted.enabled | bool | `true` | |
|
||||
| prometheus.prometheusRule.addressPoolExhausted.labels.severity | string | `"alert"` | |
|
||||
| prometheus.prometheusRule.addressPoolExhausted.labels.severity | string | `"critical"` | |
|
||||
| prometheus.prometheusRule.addressPoolUsage.enabled | bool | `true` | |
|
||||
| prometheus.prometheusRule.addressPoolUsage.thresholds[0].labels.severity | string | `"warning"` | |
|
||||
| prometheus.prometheusRule.addressPoolUsage.thresholds[0].percent | int | `75` | |
|
||||
| prometheus.prometheusRule.addressPoolUsage.thresholds[1].labels.severity | string | `"warning"` | |
|
||||
| prometheus.prometheusRule.addressPoolUsage.thresholds[1].percent | int | `85` | |
|
||||
| prometheus.prometheusRule.addressPoolUsage.thresholds[2].labels.severity | string | `"alert"` | |
|
||||
| prometheus.prometheusRule.addressPoolUsage.thresholds[2].labels.severity | string | `"critical"` | |
|
||||
| prometheus.prometheusRule.addressPoolUsage.thresholds[2].percent | int | `95` | |
|
||||
| prometheus.prometheusRule.annotations | object | `{}` | |
|
||||
| prometheus.prometheusRule.bgpSessionDown.enabled | bool | `true` | |
|
||||
| prometheus.prometheusRule.bgpSessionDown.labels.severity | string | `"alert"` | |
|
||||
| prometheus.prometheusRule.bgpSessionDown.labels.severity | string | `"critical"` | |
|
||||
| prometheus.prometheusRule.configNotLoaded.enabled | bool | `true` | |
|
||||
| prometheus.prometheusRule.configNotLoaded.labels.severity | string | `"warning"` | |
|
||||
| prometheus.prometheusRule.enabled | bool | `false` | |
|
||||
@ -99,7 +99,7 @@ Kubernetes: `>= 1.19.0-0`
|
||||
| prometheus.rbacPrometheus | bool | `true` | |
|
||||
| prometheus.rbacProxy.pullPolicy | string | `nil` | |
|
||||
| prometheus.rbacProxy.repository | string | `"registry.opensuse.org/isv/suse/edge/metallb/images/kube-rbac-proxy"` | |
|
||||
| prometheus.rbacProxy.tag | string | `"v0.12.0"` | |
|
||||
| prometheus.rbacProxy.tag | string | `"v0.18.0"` | |
|
||||
| prometheus.scrapeAnnotations | bool | `false` | |
|
||||
| prometheus.serviceAccount | string | `""` | |
|
||||
| prometheus.serviceMonitor.controller.additionalLabels | object | `{}` | |
|
||||
@ -122,7 +122,7 @@ Kubernetes: `>= 1.19.0-0`
|
||||
| speaker.frr.enabled | bool | `true` | |
|
||||
| speaker.frr.image.pullPolicy | string | `nil` | |
|
||||
| speaker.frr.image.repository | string | `"registry.opensuse.org/isv/suse/edge/metallb/images/frr"` | |
|
||||
| speaker.frr.image.tag | string | `"8.4.2"` | |
|
||||
| speaker.frr.image.tag | string | `"8.5.6"` | |
|
||||
| speaker.frr.metricsPort | int | `7473` | |
|
||||
| speaker.frr.resources | object | `{}` | |
|
||||
| speaker.frrMetrics.resources | object | `{}` | |
|
||||
|
@ -3,8 +3,8 @@ appVersion: v0.14.9
|
||||
description: MetalLB CRDs
|
||||
home: https://metallb.universe.tf
|
||||
icon: https://metallb.universe.tf/images/logo/metallb-white.png
|
||||
name: metallb-crds
|
||||
name: crds
|
||||
sources:
|
||||
- https://github.com/metallb/metallb
|
||||
type: application
|
||||
version: 0.14.8
|
||||
version: 0.14.9
|
14
metallb-chart/charts/crds/README.md
Normal file
14
metallb-chart/charts/crds/README.md
Normal file
@ -0,0 +1,14 @@
|
||||
# crds
|
||||
|
||||
  
|
||||
|
||||
MetalLB CRDs
|
||||
|
||||
**Homepage:** <https://metallb.universe.tf>
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/metallb/metallb>
|
||||
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs v1.10.0](https://github.com/norwoodj/helm-docs/releases/v1.10.0)
|
@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
controller-gen.kubebuilder.io/version: v0.16.3
|
||||
name: bfdprofiles.metallb.io
|
||||
spec:
|
||||
group: metallb.io
|
||||
@ -123,7 +123,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
controller-gen.kubebuilder.io/version: v0.16.3
|
||||
name: bgpadvertisements.metallb.io
|
||||
spec:
|
||||
group: metallb.io
|
||||
@ -329,7 +329,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
controller-gen.kubebuilder.io/version: v0.16.3
|
||||
name: bgppeers.metallb.io
|
||||
spec:
|
||||
conversion:
|
||||
@ -365,6 +365,8 @@ spec:
|
||||
- jsonPath: .spec.ebgpMultiHop
|
||||
name: Multi Hops
|
||||
type: string
|
||||
deprecated: true
|
||||
deprecationWarning: v1beta1 is deprecated, please use v1beta2
|
||||
name: v1beta1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
@ -526,15 +528,26 @@ spec:
|
||||
default: false
|
||||
description: To set if we want to disable MP BGP that will separate IPv4 and IPv6 route exchanges into distinct BGP sessions.
|
||||
type: boolean
|
||||
dynamicASN:
|
||||
description: |-
|
||||
DynamicASN detects the AS number to use for the remote end of the session
|
||||
without explicitly setting it via the ASN field. Limited to:
|
||||
internal - if the neighbor's ASN is different than MyASN connection is denied.
|
||||
external - if the neighbor's ASN is the same as MyASN the connection is denied.
|
||||
ASN and DynamicASN are mutually exclusive and one of them must be specified.
|
||||
enum:
|
||||
- internal
|
||||
- external
|
||||
type: string
|
||||
ebgpMultiHop:
|
||||
description: To set if the BGPPeer is multi-hops away. Needed for FRR mode only.
|
||||
type: boolean
|
||||
enableGracefulRestart:
|
||||
description: |-
|
||||
EnableGracefulRestart allows BGP peer to continue to forward data packets along
|
||||
known routes while the routing protocol information is being restored.
|
||||
This field is immutable because it requires restart of the BGP session
|
||||
Supported for FRR mode only.
|
||||
EnableGracefulRestart allows BGP peer to continue to forward data packets
|
||||
along known routes while the routing protocol information is being
|
||||
restored. This field is immutable because it requires restart of the BGP
|
||||
session. Supported for FRR mode only.
|
||||
type: boolean
|
||||
x-kubernetes-validations:
|
||||
- message: EnableGracefulRestart cannot be changed after creation
|
||||
@ -622,7 +635,9 @@ spec:
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
peerASN:
|
||||
description: AS number to expect from the remote end of the session.
|
||||
description: |-
|
||||
AS number to expect from the remote end of the session.
|
||||
ASN and DynamicASN are mutually exclusive and one of them must be specified.
|
||||
format: int32
|
||||
maximum: 4294967295
|
||||
minimum: 0
|
||||
@ -649,7 +664,6 @@ spec:
|
||||
type: string
|
||||
required:
|
||||
- myASN
|
||||
- peerASN
|
||||
- peerAddress
|
||||
type: object
|
||||
status:
|
||||
@ -665,7 +679,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
controller-gen.kubebuilder.io/version: v0.16.3
|
||||
name: communities.metallb.io
|
||||
spec:
|
||||
group: metallb.io
|
||||
@ -730,7 +744,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
controller-gen.kubebuilder.io/version: v0.16.3
|
||||
name: ipaddresspools.metallb.io
|
||||
spec:
|
||||
group: metallb.io
|
||||
@ -940,7 +954,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
controller-gen.kubebuilder.io/version: v0.16.3
|
||||
name: l2advertisements.metallb.io
|
||||
spec:
|
||||
group: metallb.io
|
||||
@ -1120,7 +1134,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
controller-gen.kubebuilder.io/version: v0.16.3
|
||||
name: servicel2statuses.metallb.io
|
||||
spec:
|
||||
group: metallb.io
|
23
metallb-chart/charts/frr-k8s/.helmignore
Normal file
23
metallb-chart/charts/frr-k8s/.helmignore
Normal file
@ -0,0 +1,23 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
6
metallb-chart/charts/frr-k8s/Chart.lock
Normal file
6
metallb-chart/charts/frr-k8s/Chart.lock
Normal file
@ -0,0 +1,6 @@
|
||||
dependencies:
|
||||
- name: crds
|
||||
repository: ""
|
||||
version: 0.0.16
|
||||
digest: sha256:b54ee64c5e61f1dd38e89efc87ebd1e36cdb7c4dd7c897d9985040dccd713dba
|
||||
generated: "2024-11-22T11:40:47.152053909+01:00"
|
@ -1,5 +1,10 @@
|
||||
apiVersion: v2
|
||||
appVersion: v0.0.14
|
||||
appVersion: v0.0.16
|
||||
dependencies:
|
||||
- condition: crds.enabled
|
||||
name: crds
|
||||
repository: file://./charts/crds
|
||||
version: 0.0.16
|
||||
description: A cloud native wrapper of FRR
|
||||
home: https://metallb.universe.tf
|
||||
icon: https://metallb.universe.tf/images/logo/metallb-white.png
|
||||
@ -8,4 +13,4 @@ name: frr-k8s
|
||||
sources:
|
||||
- https://github.com/metallb/frr-k8s
|
||||
type: application
|
||||
version: 0.0.15
|
||||
version: 0.0.16
|
||||
|
@ -1,6 +1,6 @@
|
||||
# frr-k8s
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
A cloud native wrapper of FRR
|
||||
|
||||
@ -16,7 +16,7 @@ Kubernetes: `>= 1.19.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| | crds | 0.0.14 |
|
||||
| | crds | 0.0.16 |
|
||||
|
||||
## Values
|
||||
|
||||
@ -27,17 +27,17 @@ Kubernetes: `>= 1.19.0-0`
|
||||
| frrk8s.affinity | object | `{}` | |
|
||||
| frrk8s.alwaysBlock | string | `""` | |
|
||||
| frrk8s.disableCertRotation | bool | `false` | |
|
||||
| frrk8s.frr.acceptIncomingBGPConnections | bool | `false` | |
|
||||
| frrk8s.frr.image.pullPolicy | string | `nil` | |
|
||||
| frrk8s.frr.image.repository | string | `"quay.io/frrouting/frr"` | |
|
||||
| frrk8s.frr.image.tag | string | `"9.1.0"` | |
|
||||
| frrk8s.frr.image.repository | string | `"registry.opensuse.org/isv/suse/edge/metallb/images/frr"` | |
|
||||
| frrk8s.frr.image.tag | string | `"8.5.6"` | |
|
||||
| frrk8s.frr.metricsBindAddress | string | `"127.0.0.1"` | |
|
||||
| frrk8s.frr.metricsPort | int | `7573` | |
|
||||
| frrk8s.frr.resources | object | `{}` | |
|
||||
| frrk8s.frr.secureMetricsPort | int | `9141` | |
|
||||
| frrk8s.frrMetrics.resources | object | `{}` | |
|
||||
| frrk8s.healthPort | int | `8081` | |
|
||||
| frrk8s.image.pullPolicy | string | `nil` | |
|
||||
| frrk8s.image.repository | string | `"quay.io/metallb/frr-k8s"` | |
|
||||
| frrk8s.image.repository | string | `"registry.opensuse.org/isv/suse/edge/metallb/images/frr-k8s"` | |
|
||||
| frrk8s.image.tag | string | `nil` | |
|
||||
| frrk8s.labels.app | string | `"frr-k8s"` | |
|
||||
| frrk8s.livenessProbe.enabled | bool | `true` | |
|
||||
@ -77,8 +77,8 @@ Kubernetes: `>= 1.19.0-0`
|
||||
| prometheus.namespace | string | `""` | |
|
||||
| prometheus.rbacPrometheus | bool | `false` | |
|
||||
| prometheus.rbacProxy.pullPolicy | string | `nil` | |
|
||||
| prometheus.rbacProxy.repository | string | `"gcr.io/kubebuilder/kube-rbac-proxy"` | |
|
||||
| prometheus.rbacProxy.tag | string | `"v0.12.0"` | |
|
||||
| prometheus.rbacProxy.repository | string | `"registry.opensuse.org/isv/suse/edge/metallb/images/kube-rbac-proxy"` | |
|
||||
| prometheus.rbacProxy.tag | string | `"v0.18.0"` | |
|
||||
| prometheus.scrapeAnnotations | bool | `false` | |
|
||||
| prometheus.secureMetricsPort | int | `9140` | |
|
||||
| prometheus.serviceAccount | string | `""` | |
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user