2 Commits

Author SHA1 Message Date
cb91ecc9f6 feat(build.py): implement gitea workflow trigger
All checks were successful
Building alt images / build-process (push) Successful in 4m7s
2025-06-23 23:35:14 +03:00
761fda61c1 feat(.gitea/workflow): implement build of arbitrary images 2025-06-23 23:29:59 +03:00
71 changed files with 235 additions and 865 deletions

View File

@ -1,74 +0,0 @@
#!/usr/bin/env python3
import argparse
import json
import subprocess
vers_path = ".gitea/workflows/k8s_vers.json"
def run(args):
result = subprocess.run(
args,
capture_output = True,
text = True
)
if result.stderr is not None:
print(result.stderr)
return False
print(result.stdout)
return True
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)
parser.add_argument(
"--branch",
help="used to pick the appropriate VM template to clone",
choices=["sisyphus", "c10f2", "p10", "p11"],
)
parser.add_argument(
"--other-build-args",
help="other build arg as a string",
)
parser.add_argument(
"--workspace",
help="workspace, path to builing script",
)
return parser.parse_args()
def main() -> None:
args = parse_args()
if args.branch is None or args.branch == "":
raise RuntimeError("Empty branch setting. Check your choise --branch.")
data = {}
with open(f"{args.workspace}/{vers_path}", "r") as f:
data = json.load(f)
i = 0
for br in data.get("branches"):
if br.get("name") == args.branch:
break
i += 1
vers_branch = data.get("branches")[i].get("versions")
if vers_branch == None :
raise RuntimeError(f"Unknown branch: {args.branch!r}. In {vers_path} no k8s-versions list.")
images_to_rebuild="k8s/kube-apiserver k8s/kube-scheduler k8s/kube-controller-manager k8s/kube-proxy k8s/kubelet k8s/coredns k8s/etcd"
for ver in vers_branch:
kube_ver = ver.get("kube-version")
dns_ver = ver.get("coredns")
if kube_ver != None and dns_ver != None:
packs_string=f"-b {args.branch} " + "--package-versions '{\"k8s/kube-apiserver\":" + f"\"{kube_ver}\",\"k8s/kube-scheduler\":\"{kube_ver}\",\"k8s/kube-controller-manager\":\"{kube_ver}\",\"k8s/kube-proxy\":\"{kube_ver}\",\"k8s/kubelet\":\"{kube_ver}\",\"k8s/coredns\":\"{dns_ver}\",\"k8s/etcd\":\"{kube_ver}\"" + "}'"
if ver.get("latest") != None and ver.get("latest"):
packs_string=f"-o k8s --latest {args.branch} "+packs_string
else:
packs_string=f"-i {images_to_rebuild} "+packs_string
subprocess.run(f"{args.workspace}/build.py {args.other_build_args} {packs_string}", shell=True)
subprocess.run("podman rmi -f --all", shell=True)
if __name__ == "__main__":
main()

View File

@ -1,72 +0,0 @@
{
"branches": [
{
"name": "p10",
"versions": [
{
"kube-version": "1.27",
"coredns": "1.10.1"
},
{
"kube-version": "1.28",
"coredns": "1.10.1",
"latest": true
}
]
},
{
"name": "p11",
"versions": [
{
"kube-version": "1.31",
"coredns": "1.11.3"
},
{
"kube-version": "1.32",
"coredns": "1.11.3"
},
{
"kube-version": "1.33",
"coredns": "1.33",
"latest": true
}
]
},
{
"name": "c10f2",
"versions": [
{
"kube-version": "1.31",
"coredns": "1.11.3"
},
{
"kube-version": "1.32",
"coredns": "1.11.3"
},
{
"kube-version": "1.33",
"coredns": "1.33",
"latest": true
}
]
},
{
"name": "sisyphus",
"versions": [
{
"kube-version": "1.31",
"coredns": "1.11.3"
},
{
"kube-version": "1.32",
"coredns": "1.11.3"
},
{
"kube-version": "1.33",
"coredns": "1.33",
"latest": true
}
]
}
]
}

View File

@ -32,20 +32,20 @@ do
if [ -n "$test" ]; then
command="podman run --rm --entrypoint=\"$entrypoint\" $url/$imgpath -c \"$test\""
else
if [ "$IM" = distroless-toybox ]; then
command="podman run -q --rm $url/$imgpath toysh -c true"
if [[ "$IM" == distroless-toybox ]]; then
command="podman run --rm $url/$imgpath toysh -c true"
fi
if [ "$IM" = distroless-true ]; then
command="podman run -q --rm $url/$imgpath \"true\""
command="podman run --rm $url/$imgpath \"true\""
fi
if [ "$IM" = distroless-gotop ]; then
command="podman run -q --rm $url/$imgpath \"--version\""
command="podman run --rm $url/$imgpath \"--version\""
fi
if [ "$IM" = flannel-cni-plugin ]; then
command="podman run -q --rm $url/$imgpath \"/flannel\""
command="podman run --rm $url/$imgpath \"/flannel\""
fi
if [ "$IM" == pause ]; then
command="podman run -q --rm $url/$imgpath \"/pause\" \"-v\""
command="podman run --rm $url/$imgpath \"/pause\" \"-v\""
fi
fi
echo $command
@ -58,7 +58,7 @@ do
then
if [[ -n $(cat $IM.log) ]]
then errors="TEST ERROR OF IMAGE $IM: $(cat $IM.log); $errors"
#else errors="TEST ERROR OF IMAGE $IM: test returned empty error, but exit status was nozero; $errors"
else errors="TEST ERROR OF IMAGE $IM: test returned empty error, but exit status was nozero; $errors"
fi
fi
haserr=false

View File

@ -52,8 +52,6 @@ jobs:
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/Dockerfile.template ||:
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/distroless.toml ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/distroless.toml ||:
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/info.yaml ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/info.yaml ||:
env:
ORG: ${{ env.ORG }}
- name: Set repo for c10f2 (Temporary)
@ -75,7 +73,7 @@ jobs:
run: |
#build base with riskv64 for sisyphus if it is
if [[ "$BR" == "sisyphus" && "$ORG" == "base" ]]; then echo "${{ gitea.workspace }}/build.py --log-level debug -i base/base -b $BR --latest $BR --registry $BUILD_URL"; ${{ gitea.workspace }}/build.py -i base/base -b "$BR" --latest "$BR" --registry "$BUILD_URL"; fi
build_args="-b $BR --log-level debug --latest $BR -o $ORG --registry $BUILD_URL"
build_args="-b $BR --log-level debug --latest $BR -o $ORG --registry $BUILD_URL --package-versions {\"alt/etcd\":\"3.5.15\"}"
if [[ "$BR" == "sisyphus" ]]; then arches="--arches amd64 386 arm64 loong64 --skip-images base/base"; else arches="--arches amd64 386 arm64"; fi
echo "${{ gitea.workspace }}/build.py $build_args $arches"
${{ gitea.workspace }}/build.py $build_args $arches

View File

@ -1,106 +0,0 @@
name: Full building alt images
on:
push:
tags:
- "*_k8s"
jobs:
build-process:
runs-on: alt-sisyphus
outputs:
branch: ${{ env.BRANCH }}
org: ${{ env.ORG }}
url: ${{ env.URL }}
repo: ${{ env.REPO }}
buildres: ${{ steps.build-script.outcome }}
steps:
- name: Check workspace
run: |
repourl=$(echo $GU | cut -d '/' -f 3)
echo "URL=$repourl" >> ${GITHUB_ENV}
echo $repourl
reponame=$(echo $GR | cut -d '/' -f 1)
echo "REPO=$reponame" >> ${GITHUB_ENV}
echo $reponame
env:
GU: ${{ gitea.server_url }}
GR: ${{ gitea.repository }}
- name: Set repo for c10f2 (Temporary)
if: ${{ contains(github.ref_name, 'c10f2') }}
run: |
echo "event tag=${{ github.ref_name }}"
echo "10.4.0.3 update.altsp.su" >> /etc/hosts
echo "cat /etc/hosts"
cat /etc/hosts
- name: Update apt
uses: actions/init-alt-env@v1
- name: Install requires
run: |
echo "apt-get install -y python3-module-tomli python3-module-jinja2 python3-module-yaml python3-module-requests podman buildah jq curl"
apt-get install -y python3-module-tomli python3-module-jinja2 python3-module-yaml python3-module-requests podman buildah jq curl
echo "apt-get install -y qemu-user-static-binfmt-aarch64 qemu-user-static-binfmt-arm qemu-user-static-binfmt-riscv qemu-user-static-binfmt-loongarch"
apt-get install -y qemu-user-static-binfmt-aarch64 qemu-user-static-binfmt-arm qemu-user-static-binfmt-riscv qemu-user-static-binfmt-loongarch
- name: Parse target branch and tag from events context, save to env
env:
EV: ${{ toJson(gitea.event) }}
run: |
echo $EV | jq '.ref' -r | sed "s/refs\/tags\//BRANCH=/g" | cut -d '_' -f 1
echo $EV | jq '.ref' -r | sed "s/refs\/tags\//BRANCH=/g" | cut -d '_' -f 1 >> ${GITHUB_ENV}
org=$(echo $EV | jq '.ref' -r | sed 's/refs\/tags\///g' | cut -d '_' -f 2)
echo "ORG=$org" >> ${GITHUB_ENV}
echo "ORG=$org"
- name: Check out current repo
uses: actions/checkout@v4
- name: Change vendor label for c10f
if: ${{ contains(github.ref_name, 'c10f') }}
run: |
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/Dockerfile.template ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/Dockerfile.template ||:
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/distroless.toml ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/distroless.toml ||:
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/info.yaml ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/info.yaml ||:
env:
ORG: ${{ env.ORG }}
- name: Login podman gitea
run: |
echo "podman login ${{ env.URL }}"
podman login --username $P_USER --password $P_PASS ${{ env.URL }}
env:
P_USER: ${{ secrets.PODMAN_USER }}
P_PASS: ${{ secrets.PODMAN_PASS }}
- name: Run building script
id: build-script
run: |
if [[ "$BR" == "sisyphus" ]]; then arches="--arches amd64 386 arm64 loong64"; else arches="--arches amd64 386 arm64"; fi
build_args="--registry $BUILD_URL $arches"
#run build script
${{ gitea.workspace }}/.gitea/workflows/k8s_buildscript.py --branch "$BR" --other-build-args "$build_args" --workspace "${{ gitea.workspace }}"
env:
ORG: ${{ env.ORG }}
BR: ${{ env.BRANCH }}
BUILD_URL: "gitea.basealt.ru/alt"
continue-on-error: true
- name: Send notification if build crashed
if: ${{ steps.build-script.outcome != 'success' }}
run: |
issueid=1
body="Building images finish with some errors."
curl -X 'POST' "$URL/api/v1/repos/$REPO/image-forge/issues/$issueid/comments?token=$T" -H 'accept: application/json' -H 'Content-Type: application/json' -d "{ \"body\": \"$body\" }" -s
echo "notification about test error is sent to issue $issueid"
env:
T: ${{ secrets.TOKEN }}
BR: ${{ env.BRANCH }}
URL: ${{ gitea.server_url }}
REPO: ${{ env.REPO }}
- name: Delete event tag
run: |
tagname=$(echo $EV | jq '.ref' -r | sed "s/refs\/tags\///g")
curl -X 'DELETE' "$URL/api/v1/repos/$REPO/image-forge/tags/$tagname?token=$T" -H 'accept: application/json' -s
echo "tag $tagname is deleted"
env:
T: ${{ secrets.TOKEN }}
BR: ${{ env.BRANCH }}
URL: ${{ gitea.server_url }}
REPO: ${{ env.REPO }}
EV: ${{ toJson(gitea.event) }}

View File

@ -0,0 +1,155 @@
name: Building alt images
on:
push:
tags:
- '**'
jobs:
build-process:
runs-on: alt-sisyphus
outputs:
branch: ${{ env.BRANCH }}
image: ${{ env.IMAGE }}
url: ${{ env.URL }}
repo: ${{ env.REPO }}
buildres: ${{ steps.build-script.outcome }}
test: ${{ env.TEST }}
steps:
- name: Check workspace
run: |
repourl=$(echo $GU | cut -d '/' -f 3)
echo "URL=$repourl" >> ${GITHUB_ENV}
echo "URL=$repourl"
reponame=$(echo $GR | cut -d '/' -f 1)
echo "REPO=$reponame" >> ${GITHUB_ENV}
echo "REPO=$reponame"
env:
GU: ${{ gitea.server_url }}
GR: ${{ gitea.repository }}
- name: Set repo for c10f2 (Temporary)
if: ${{ contains(github.ref_name, 'c10f2') }}
run: |
echo "event tag=${{ github.ref_name }}"
echo "10.4.0.3 update.altsp.su" >> /etc/hosts
echo "cat /etc/hosts"
cat /etc/hosts
- name: Update apt
uses: actions/init-alt-env@v1
- name: Install requires
run: |
echo "apt-get install -y python3-module-tomli python3-module-jinja2 python3-module-yaml python3-module-requests podman buildah jq curl"
apt-get install -y python3-module-tomli python3-module-jinja2 python3-module-yaml python3-module-requests podman buildah jq curl
echo "apt-get install -y qemu-user-static-binfmt-aarch64 qemu-user-static-binfmt-arm qemu-user-static-binfmt-ppc qemu-user-static-binfmt-riscv qemu-user-static-binfmt-loongarch"
apt-get install -y qemu-user-static-binfmt-aarch64 qemu-user-static-binfmt-arm qemu-user-static-binfmt-ppc qemu-user-static-binfmt-riscv qemu-user-static-binfmt-loongarch
- name: Check out current repo
uses: actions/checkout@v4
- name: Login podman gitea
run: |
echo "podman login ${{ env.URL }}"
podman login --username $P_USER --password $P_PASS ${{ env.URL }}
env:
P_USER: ${{ secrets.PODMAN_USER }}
P_PASS: ${{ secrets.PODMAN_PASS }}
- name: Check files in the repository
run: |
ls -a ${{ gitea.workspace }}
- name: Parse target branch and tag from events context, save to env
env:
EV: ${{ toJson(gitea.event) }}
run: |
branch="$(echo $EV | jq '.ref' -r | sed "s|refs/tags/||g" | cut -d '_' -f 1)"
echo "BRANCH=$branch"
rest="$(echo $EV | jq '.ref' -r | sed "s|refs/tags/||g" | cut -d '_' -f 2-)"
IFS='_' read -ra parts <<< "$rest"
images=()
declare -A versions
for part in "${parts[@]}"; do
if [[ "$part" == *@* ]]; then
image="${part%@*}"
version="${part#*@}"
images+=("$image")
versions["$image"]="$version"
else
image="$part"
images+=("$image")
fi
done
image_args="${images[*]}"
package_versions="{"
first=1
for image in "${!versions[@]}"; do
[[ $first -eq 0 ]] && package_versions+=","
package_versions+="\"$image\": \"${versions[$image]}\""
first=0
done
package_versions+="}"
echo "IMAGES=$image_args"
echo "PACKAGE_VERSIONS=$package_versions"
echo "BRANCH=$branch" >> ${GITHUB_ENV}
echo "IMAGES=$image_args" >> $GITHUB_ENV
echo "PACKAGE_VERSIONS=$package_versions" >> $GITHUB_ENV
- name: Change vendor label for c10f
if: ${{ contains(github.ref_name, 'c10f') }}
run: |
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/Dockerfile.template ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/Dockerfile.template ||:
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/distroless.toml ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/distroless.toml ||:
env:
ORG: ${{ env.ORG }}
- name: Run building script
id: build-script
run: |
echo "${{ gitea.workspace }}/build.py \
--log-level debug \
--skip-stages push \
--branch $BRANCH \
--registry gitea.basealt.ru/alt \
--arches amd64 \
-i $IMAGES \
--package-versions \"$PACKAGE_VERSIONS\""
${{ gitea.workspace }}/build.py \
--log-level debug \
--skip-stages push \
--branch $BRANCH \
--registry gitea.basealt.ru/alt \
--arches amd64 \
-i $IMAGES \
--package-versions "$PACKAGE_VERSIONS"
env:
BRANCH: ${{ env.BRANCH }}
IMAGES: ${{ env.IMAGES }}
PACKAGE_VERSIONS: ${{ env.PACKAGE_VERSIONS }}
continue-on-error: true
# - name: Send notification if build crashed
# if: ${{ steps.build-script.outcome != 'success' }}
# run: |
# issueid=1
# body="Building image $IM finish with some errors."
# curl -X 'POST' "$URL/api/v1/repos/$REPO/image-forge/issues/$issueid/comments?token=$T" -H 'accept: application/json' -H 'Content-Type: application/json' -d "{ \"body\": \"$body\" }" -s
# echo "notification about test error is sent to issue $issueid"
# env:
# T: ${{ secrets.TOKEN }}
# BR: ${{ env.BRANCH }}
# URL: ${{ gitea.server_url }}
# REPO: ${{ env.REPO }}
# IM: ${{ env.IMAGE }}
- name: Delete event tag
run: |
tagname=$(echo $EV | jq '.ref' -r | sed "s|refs/tags/||g")
curl -X 'DELETE' "$URL/api/v1/repos/$REPO/image-forge/tags/$tagname" -H "Authorization: token $T" -H 'accept: application/json' -s
echo "tag $tagname is deleted"
env:
T: ${{ secrets.TOKEN }}
BR: ${{ env.BRANCH }}
URL: ${{ gitea.server_url }}
REPO: ${{ env.REPO }}
EV: ${{ toJson(gitea.event) }}

View File

@ -75,8 +75,6 @@ jobs:
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/Dockerfile.template ||:
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/distroless.toml ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/distroless.toml ||:
echo "sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/info.yaml ||:"
sed -i 's/ALT Linux Team/BaseALT LLC/g' ${{ gitea.workspace }}/org/$ORG/*/info.yaml ||:
env:
ORG: ${{ env.ORG }}
- name: Get test for image

107
build.py
View File

@ -4,12 +4,14 @@ import argparse
import functools
import json
import logging
import os
import re
import subprocess
import textwrap
from datetime import datetime
from dataclasses import dataclass
from graphlib import TopologicalSorter
from http import HTTPStatus
from pathlib import Path
from typing import Optional, Union
@ -19,8 +21,6 @@ import yaml
from jinja2 import Environment, BaseLoader
logger = logging.getLogger(__name__)
clean_images_counter = 0
clean_images_limit_count = 5
ORG_DIR = Path("org")
@ -39,7 +39,6 @@ class Image:
is_versioned: Optional[bool]
version_template: Union[list[str], str, None]
source_packages: Optional[list[str]]
annotations: Optional[dict[str, str]]
def __init__(self, canonical_name: str):
self.canonical_name = canonical_name
@ -50,7 +49,6 @@ class Image:
if not info_file.exists():
self.is_versioned = None
self.source_packages = None
self.annotations = None
return
info: dict = yaml.safe_load(info_file.read_text())
@ -77,10 +75,6 @@ class Image:
if "version_template" in info:
self.version_template = info["version_template"]
self.annotations = None
if "annotations" in info:
self.annotations = info["annotations"]
class Tasks:
def __init__(self, tasks):
@ -530,9 +524,6 @@ class DockerBuilder:
logger.debug("run: %s", pre_cmd + cmd)
subprocess.run(pre_cmd + cmd, *args, **kwargs)
def run_with_result(self, cmd):
return subprocess.run(cmd, stdout=subprocess.PIPE).stdout.decode('utf-8')
def distroless_build(self, image: Image, arches):
def distroless_build_arch(arch, manifest):
distroless_builder = self.render_full_tag(
@ -772,28 +763,6 @@ class DockerBuilder:
".",
]
if image.annotations != None:
build_cmd = [
"podman",
"build",
"--rm",
"--force-rm",
f"--manifest={manifest}",
f"--platform={platforms}"
]
for akey, avalue in image.annotations.items():
build_cmd.append(
f"--annotation={akey}={avalue}")
d = datetime.now()
build_cmd.append(f"--annotation=org.opencontainers.image.created={d.isoformat("T") + "Z"}")
ver = next((tag for tag in tags if tag != 'latest'), '')
if ver != '':
build_cmd.append(f"--annotation=org.opencontainers.image.version={ver}")
build_cmd.append(".")
if PKG_VERSIONS is not None and image.canonical_name in PKG_VERSIONS:
build_cmd.insert(
-1, f"--build-arg=PKG_VERSION={PKG_VERSIONS[image.canonical_name]}"
@ -806,7 +775,6 @@ class DockerBuilder:
tag_cmd = ["podman", "tag", manifest, other_manifest]
self.run(tag_cmd)
def podman_push(self, image: Image, sign=None):
if self.images_info.skip_branch(image.canonical_name, self.branch):
return
@ -829,24 +797,6 @@ class DockerBuilder:
self.run(cmd)
global clean_images_counter
if clean_images_limit_count <= clean_images_counter:
cmd = [
"podman",
"rmi",
"--all",
"-f",
]
self.run(cmd,
check=False,
stderr=subprocess.DEVNULL,
stdout=subprocess.DEVNULL,
)
clean_images_counter = 0
else:
clean_images_counter += 1
class ImagesInfo:
def __init__(self):
@ -1000,6 +950,23 @@ def parse_args():
choices=log_levels,
help="log messages above specified level",
)
parser.add_argument(
"--run-workflow",
action="store_true",
help="run gitea workflow to build oci images",
)
parser.add_argument(
"--workflow-repo",
default="stepchenkoas/image-forge",
help="path to gitea repository where to activate workflow",
)
parser.add_argument(
"--workflow-branch",
default="master",
help="branch in gitea repository where to activate workflow",
)
args = parser.parse_args()
args.stages = set(args.stages) - set(args.skip_stages)
@ -1023,6 +990,42 @@ def main():
logger.info("PKG_VERSIONS=%s", PKG_VERSIONS)
if args.run_workflow:
gitea_token = os.environ.get("GITEA_TOKEN")
if gitea_token is None:
raise RuntimeError("Gitea authorization token is not provided through the environment variable GITEA_TOKEN")
api_url = f"https://gitea.basealt.ru/api/v1/repos/{args.workflow_repo}/tags"
headers = {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": f"token {gitea_token}",
}
tag_name = list(args.branches)[0]
for image in args.images:
tag_name += "_" + image
if PKG_VERSIONS is not None:
if (version := PKG_VERSIONS.get(image)) is not None:
tag_name += "@" + version
logger.debug("tag_name=\"%s\"", tag_name)
json = {
"message": "workflow trigger",
"target": args.workflow_branch,
"tag_name": tag_name,
}
response = requests.post(api_url, json=json, headers=headers)
if response.status_code != HTTPStatus.CREATED:
print(f"{response.status_code=}")
raise RuntimeError(
f"failed to run workflow: {response.text!r}"
)
return
arches = args.arches
images_info = ImagesInfo()
tags = Tags(args.tags, args.latest)

View File

@ -1,12 +1,12 @@
["alt/distroless-toybox"]
skip-branches = [ "p10", "c10f2", "c10f1" ]
["base/distroless-toybox"]
skip-branches = [ "p10", "c10f2", "c10f1" ]
["alt/openjdk21"]
skip-arches = [ "386" ]
["alt/zot"]
skip-arches = [ "386" ]
["alt/ansible"]
skip-branches = [ "c10f2", "c10f1", "p10" ]

View File

@ -5,13 +5,4 @@ source_packages:
- ansible-core
- ansible-vim
- ansible-lint
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'http://www.ansible.com'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'ansible'
org.opencontainers.image.description: 'A radically simple IT automation system'
org.opencontainers.image.licenses: GPL-3.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- apache2
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'http://httpd.apache.org'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'apache2'
org.opencontainers.image.description: 'The most widely used Web server on the Internet'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- buildkit
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/moby/buildkit'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'buildkit'
org.opencontainers.image.description: 'Concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- gitea
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/go-gitea/gitea'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'gitea'
org.opencontainers.image.description: 'Git with a cup of tea, painless self-hosted git service'
org.opencontainers.image.licenses: MIT
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- golang
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/golang/go'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'golang'
org.opencontainers.image.description: 'The Golang environment for development'
org.opencontainers.image.licenses: BSD
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- grafana
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/grafana/grafana'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'grafana'
org.opencontainers.image.description: 'Metrics dashboard and graph editor'
org.opencontainers.image.licenses: 'AGPL-3.0-only AND Apache-2.0'
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- loki
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/grafana/loki'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'loki'
org.opencontainers.image.description: 'Like Prometheus, but for logs'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -5,13 +5,4 @@ source_packages:
- nginx
- apache2
- tzdata
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://nginx.org/'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'nginx'
org.opencontainers.image.description: 'Fast HTTP server, extremely useful as an Apache frontend'
org.opencontainers.image.licenses: BSD
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -4,13 +4,4 @@ version_template: "{{ version }}"
source_packages:
- node
- yarn
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/nodejs/node'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'node'
org.opencontainers.image.description: 'Evented I/O for V8 Javascript'
org.opencontainers.image.licenses: MIT
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- java-21-openjdk
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://openjdk-sources.osci.io'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'openjdk21'
org.opencontainers.image.description: 'OpenJDK 21 Runtime Environment'
org.opencontainers.image.licenses: 'Apache-1.1 and Apache-2.0 and BSD and BSD with advertising and GPL-2.0 and GPL-2.0 with exceptions and IJG and LGPL-2.0+ and MIT and MPL-2.0 and ALT-Public-Domain and W3C and Zlib and ISC and FTL and RSA-MD'
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -8,13 +8,4 @@ source_packages:
{%- else -%}
php8.3
{%- endif -%}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/php/php-src'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'php'
org.opencontainers.image.description: 'The PHP language environment for development'
org.opencontainers.image.licenses: PHP-3.01
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- postgresql16
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/postgres/postgres'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'postgresql16'
org.opencontainers.image.description: 'PostgreSQL rograms and libraries'
org.opencontainers.image.licenses: PostgreSQL
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -2,7 +2,7 @@ FROM {{ registry }}{{ branch }}/{{ alt_image }}:latest
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="prometheus-alertmanager"
LABEL org.opencontainers.image.title="alertmanager"
LABEL org.opencontainers.image.description="The Alertmanager handles alerts sent by client applications"
LABEL org.opencontainers.image.source="https://github.com/prometheus/alertmanager"
LABEL org.opencontainers.image.licenses="Apache-2.0"

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- prometheus-alertmanager
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/prometheus/alertmanager'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'prometheus-alertmanager'
org.opencontainers.image.description: 'The Alertmanager handles alerts sent by client applications'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- prometheus-node_exporter
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/prometheus/node_exporter'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'prometheus-node_exporter'
org.opencontainers.image.description: 'Prometheus exporter for hardware and OS metrics exposed by *NIX kernels'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- prometheus
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/prometheus/prometheus'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'prometheus'
org.opencontainers.image.description: 'Prometheus monitoring system and time series database'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -6,13 +6,4 @@ source_packages:
- python3-module-setuptools
- python3-module-pip
- gcc-defaults
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/python/cpython'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'python'
org.opencontainers.image.description: 'Python 3 and tools needed for development'
org.opencontainers.image.licenses: Python
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -5,13 +5,4 @@ source_packages:
- python
- python-module-setuptools
- gcc-defaults
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://www.python.org/downloads/source'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'python'
org.opencontainers.image.description: 'Python 2 and tools needed for development'
org.opencontainers.image.licenses: Python-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- rabbitmq-server
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/rabbitmq/rabbitmq-server'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'rabbitmq'
org.opencontainers.image.description: 'The RabbitMQ server'
org.opencontainers.image.licenses: MPL-1.1
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- docker-registry
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/docker/distribution'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'registry'
org.opencontainers.image.description: 'The Docker toolset to pack, ship, store, and deliver content'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -8,13 +8,4 @@ source_packages:
{%- else -%}
gem-irb
{%- endif -%}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/ruby/ruby'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'ruby'
org.opencontainers.image.description: 'Interactive Ruby Shell'
org.opencontainers.image.licenses: 'BSD-2-Clause or Ruby'
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- systemd
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/systemd/systemd'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'systemd'
org.opencontainers.image.description: 'System and Session Manager'
org.opencontainers.image.licenses: LGPLv2.1+
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- trivy
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://aquasecurity.github.io/trivy'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'trivy'
org.opencontainers.image.description: 'A Fast Vulnerability Scanner for Containers'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -5,13 +5,4 @@ source_packages:
- unit
- curl
- tzdata
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/nginx/unit'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'unit'
org.opencontainers.image.description: 'NGINX Unit is a lightweight and versatile web-server'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- zot
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/project-zot/zot'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'zot'
org.opencontainers.image.description: 'A production-ready vendor-neutral OCI-native container image registry (purely based on OCI Distribution Specification)'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -4,13 +4,4 @@ version_template: "{{ version }}"
source_packages:
- glibc
- tzdata
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: base
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
org.opencontainers.image.description: 'Base image with localization and timezone packages'
...

View File

@ -6,13 +6,4 @@ source_packages:
- curl
- gnupg
- wget
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'buildpack-deps-curl'
org.opencontainers.image.description: 'Transfer data environment'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -7,13 +7,4 @@ source_packages:
- openssh
- procps
- subversion
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'buildpack-deps-scm'
org.opencontainers.image.description: 'Software configuration management environment'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: false
version_template: "{{ version }}"
source_packages:
- gcc-defaults
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'buildpack-deps'
org.opencontainers.image.description: 'Projects building environment'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -14,13 +14,4 @@ source_packages:
- ripgrep
- zsh
- make
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'devel'
org.opencontainers.image.description: 'This image is only for devel or testing purposes'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -6,13 +6,4 @@ source_packages:
- tzdata
- zlib
- libselinux
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'distroless-base'
org.opencontainers.image.description: 'Base image for running dynamically linked programs'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -4,13 +4,4 @@ version_template: "{{ version }}"
source_packages:
- glibc
- apt-repo
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'distroless-builder'
org.opencontainers.image.description: 'This image is used to build tarballs for distroless images'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -7,13 +7,4 @@ source_packages:
- glibc
- iproute2
- vim
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'distroless-devel'
org.opencontainers.image.description: 'Base image for creating and debugging distroless images'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: false
version_template: "{{ version }}"
source_packages:
- gotop
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'distroless-gotop'
org.opencontainers.image.description: 'Gotop image'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: false
version_template: "{{ version }}"
source_packages:
- distroless-static
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'distroless-static'
org.opencontainers.image.description: 'Base image for running statically linked programs'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: false
version_template: "{{ version }}"
source_packages:
- toybox
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'distroless-toybox'
org.opencontainers.image.description: 'Base image with toybox environment'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: false
version_template: "{{ version }}"
source_packages:
- distroless-true
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'distroless-true'
org.opencontainers.image.description: 'True-command image for zero status returning'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- cert-manager
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/cert-manager/cert-manager'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'cert-manager-acmesolver'
org.opencontainers.image.description: 'HTTP server used to solve ACME challenges'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- cert-manager
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/cert-manager/cert-manager'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'cert-manager-cainjector'
org.opencontainers.image.description: 'cert-manager CA injector is a Kubernetes addon to automate the injection of CA data into webhooks and APIServices from cert-manager certificates'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- cert-manager
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/cert-manager/cert-manager'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'cert-manager-controller'
org.opencontainers.image.description: 'Automatically provision and manage TLS certificates in Kubernetes'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- cert-manager
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/cert-manager/cert-manager'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'cert-manager-startupapicheck'
org.opencontainers.image.description: 'Check that cert-manager started successfully'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- cert-manager
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/cert-manager/cert-manager'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'cert-manager-webhook'
org.opencontainers.image.description: 'The webhook component provides API validation, mutation and conversion functionality for cert-manager'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -9,16 +9,15 @@ LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{% if pkg_versions and "k8s/coredns" in pkg_versions %}
{% set num_version_parts = (pkg_versions["k8s/coredns"].split('.') | length) %}
{% set version_parts = pkg_versions["k8s/coredns"].split('.') | length %}
{% else %}
{% set num_version_parts = 0 %}
{% set version_parts = 0 %}
{% endif %}
{% if num_version_parts == 2 %}
{% if branch in ["sisyphus"] and version_parts == 2 %}
ARG PKG_VERSION
{{ install_packages("coredns-for-kubernetes${PKG_VERSION}") }}
{% elif num_version_parts == 3 %}
{% elif branch in ["sisyphus", "p11", "c10f2"] and version_parts == 3 %}
ARG PKG_VERSION
{{ install_packages("coredns${PKG_VERSION}") }}

View File

@ -3,21 +3,13 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- >
{%- set num_version_parts = (version.split('.') | length) -%}
{%- if num_version_parts == 2 -%}
{%- set version_parts = version.split('.') -%}
{%- set version_major = version_parts[1] | int -%}
{%- if branch in ["sisyphus"] and version_parts | length == 2 and version_major >= 33 -%}
coredns-for-kubernetes{{ version }}
{%- elif num_version_parts == 3 -%}
{%- elif branch in ["sisyphus", "p11", "c10f2"] -%}
coredns{{ version }}
{%- else -%}
coredns
{%- endif -%}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/coredns/coredns'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'coredns'
org.opencontainers.image.description: 'CoreDNS is a DNS server that chains plugins'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -6,13 +6,4 @@ version_template:
- "{{ version }}-0"
source_packages:
- etcd-for-kubernetes{{ version }}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/etcd-io/etcd'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'etcd'
org.opencontainers.image.description: 'Distributed reliable key-value store for the most critical data of a distributed system'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -15,13 +15,4 @@ version_template: >-
{%- endif %}
source_packages:
- cni-plugin-flannel
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/flannel-io/cni-plugin'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'flannel-cni-plugin'
org.opencontainers.image.description: 'CNI network plugin that is powered by flannel'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -2,13 +2,3 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- flannel
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/flannel-io/flannel'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'flannel'
org.opencontainers.image.description: 'Network fabric for containers'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- kubernetes{{ version }}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubernetes/kubernetes'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'kube-apiserver'
org.opencontainers.image.description: 'The Kubernetes API server validates and configures data for the api objects which include pods, services, replicationcontrollers, and others'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- kubernetes{{ version }}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubernetes/kubernetes'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'kube-controller-manager'
org.opencontainers.image.description: 'The Kubernetes controller manager is a daemon that embeds the core control loops shipped with Kubernetes'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- kubernetes{{ version }}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubernetes/kubernetes'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'kube-proxy'
org.opencontainers.image.description: 'The Kubernetes network proxy runs on each node'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- kubernetes{{ version }}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubernetes/kubernetes'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'kube-scheduler'
org.opencontainers.image.description: 'The Kubernetes scheduler is a control plane process which assigns Pods to Nodes'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: v{{ version }}
source_packages:
- kubernetes{{ version }}
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubernetes/kubernetes'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'kubelet'
org.opencontainers.image.description: 'An agent that runs on each node in the cluster. It makes sure that containers are running in a Pod'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -2,13 +2,4 @@
is_versioned: true
source_packages:
- kubernetes-pause
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: ''
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'pause'
org.opencontainers.image.description: 'Simple pause image'
org.opencontainers.image.licenses: GPLv2
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -2,13 +2,4 @@
is_versioned: true
source_packages:
- k8s-trivy-node-collector
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/aquasecurity/k8s-node-collector'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'trivy-node-collector'
org.opencontainers.image.description: 'Open source collector who collect Node information (fs and process data) and output in a table/json format'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- kubevirt
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubevirt/kubevirt'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'virt-api'
org.opencontainers.image.description: 'Kubevirt API server'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- kubevirt
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubevirt/kubevirt'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'virt-controller'
org.opencontainers.image.description: 'Controller for kubevirt'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- kubevirt
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubevirt/kubevirt'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'virt-exportproxy'
org.opencontainers.image.description: 'Export proxy for kubevirt'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- kubevirt
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubevirt/kubevirt'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'virt-exportserver'
org.opencontainers.image.description: 'Export server for kubevirt'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -16,6 +16,6 @@ RUN useradd -g qemu -m -d /home/qemu -s /bin/bash -c "qemu user" -u 107 qemu > /
"kubevirt-container-disk"
) }}
RUN cp -f /usr/share/kube-virt/virt-handler/nsswitch.conf /etc/
RUN cp -f /usr/share/kube-virt/virt-handler/nsswitch.conf /etc/ && cp -f /usr/share/kube-virt/virt-handler/virt_launcher.cil /
ENTRYPOINT ["/usr/bin/virt-handle"]

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- kubevirt
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubevirt/kubevirt'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'virt-handler'
org.opencontainers.image.description: 'Handler component for kubevirt'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- kubevirt
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubevirt/kubevirt'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'virt-launcher'
org.opencontainers.image.description: 'Launcher component for kubevirt'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...

View File

@ -3,13 +3,4 @@ is_versioned: true
version_template: "{{ version }}"
source_packages:
- kubevirt
annotations:
org.opencontainers.image.revision: ''
org.opencontainers.image.source: 'https://github.com/kubevirt/kubevirt'
org.opencontainers.image.url: ''
org.opencontainers.image.version: ''
org.opencontainers.image.title: 'virt-operator'
org.opencontainers.image.description: 'Operator component for kubevirt'
org.opencontainers.image.licenses: Apache-2.0
org.opencontainers.image.vendor: 'ALT Linux Team'
...