Compare commits

..

13 Commits

Author SHA1 Message Date
919ef43d60 Дерево перестроено на два уроыня 2024-04-24 15:02:03 +05:00
d34a5e2708 Добавлены пустые файлы Dockerfile и image.yml 2024-04-24 14:53:51 +05:00
85334e382c Add tree 2024-04-24 14:48:10 +05:00
abdd641ac2 update tags for k8s 2024-04-24 14:41:37 +05:00
1a1bf5ac64 fix getting number of tech.issue for notifications to static number 1 (filter on tag doesn't work) 2024-04-24 14:41:37 +05:00
a0643aca87 delete from workflow building images on c10f1/2 for arches arm, ppc 2024-04-24 14:41:37 +05:00
57aa82cf8c add workflow for building all images on branches p10, c10f1/2 2024-04-24 14:41:37 +05:00
14da06e02b add branches c10f1,c10f2 to list of options 2024-04-24 14:41:37 +05:00
3b652fc6b0 Обновить branch/README.md 2024-04-23 10:04:32 +03:00
2b923e4c96 Обновить branch/README.md 2024-04-23 10:03:48 +03:00
9175f34e52 Правка документации 2024-04-23 11:45:11 +05:00
f3f74f56dd Обновить branch/README.md 2024-04-23 09:26:37 +03:00
31de830d2e Постоено основное дерево в branch/sisyphus, оформлены основные файлы в группе ranch/sisyphus/k8s 2024-04-23 10:54:20 +05:00
95 changed files with 413 additions and 211 deletions

View File

@ -1,42 +0,0 @@
name: Build kubernetes images
on:
push:
branches:
- test-gitea-actions
paths:
- ".gitea/workflows/build-k8s-images.yaml"
- "org/k8s/kube-apiserver/**"
- "org/k8s/kube-controller-manager/**"
- "org/k8s/kube-scheduler/**"
- "org/k8s/kube-proxy/**"
- "tags.toml"
- "k8s-images.sh"
schedule:
- cron: "30 3 1 * *"
jobs:
build-images:
runs-on: alt-latest
steps:
- name: Install the dependencies
run: |
apt-get update
apt-get install -y \
podman \
python3-module-tomli \
python3-module-jinja2 \
qemu-user-static-binfmt-aarch64 \
qemu-user-static-binfmt-arm \
qemu-user-static-binfmt-ppc
- name: Check out repository code
uses: actions/checkout@v3
- name: Log into gitea.basealt.ru
run: podman login -u stepchenkoas -p "${{ secrets.ACTIONS_TOKEN }}" gitea.basealt.ru
- name: Build docker images for p10 (kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy)
run: ${{ gitea.workspace }}/build-k8s-images.sh gitea.basealt.ru k8s-p10 p10
- name: Push docker images for p10 to gitea.basealt.ru
run: ${{ gitea.workspace }}/push-k8s-images.sh gitea.basealt.ru k8s-p10 p10
- name: Build docker images for sisyphus (kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy)
run: ${{ gitea.workspace }}/build-k8s-images.sh gitea.basealt.ru k8s-sisyphus sisyphus
- name: Push docker images for sisyphus to gitea.basealt.ru
run: ${{ gitea.workspace }}/push-k8s-images.sh gitea.basealt.ru k8s-sisyphus sisyphus

View File

@ -25,13 +25,6 @@ jobs:
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

1
.gitignore vendored
View File

@ -1 +0,0 @@
Dockerfile

View File

@ -28,9 +28,7 @@ If you push to the users repository, then organiztion is your username.
## Dependencies
On x86_64 machine using p10 branch you need:
- `podman`
- `python3-module-tomli`
- `python3-module-jinja2`
- `qemu-user-static-binfmt-aarch64` to build for arm64 architecture
- `qemu-user-static-binfmt-arm` to build for arm architecture
- `qemu-user-static-binfmt-ppc` to build for ppc64le architecture

153
branch/README.md Normal file
View File

@ -0,0 +1,153 @@
# Описание структуры каталогов для автоматизации рабочео процесса создания образов
## Общая структура каталогов
- Вместо каталога `org` предлагается использовать каталог `branch`
- Каталог `branch` содержит подкаталога бранчей (платформ):
* `sisyphus`;
* `p10`;
* `c10f1`;
* `c10f2`;
* ...
Подкаталоги бранчей содержат дерево групп образов.
Корневая группа `base` содержит образы, которые тегируются по дате создания.
Остальные группы тегируются по версии основного ПО, входящего в состав образа.
Каталог группы может содержать yml-файл `images.yml` описания группы.
Пример дерева описания образов:
<pre>
branch/sisyphus/
├── apache
├── base
│   ├── alt
│   ├── buildpack
│   │   ├── buildpack-deps-curl
│   │   └── buildpack-deps-scm
│   ├── devel
│   ├── distroless
│   │   ├── distroless-base
│   │   ├── distroless-builder
│   │   ├── distroless-devel
│   │   ├── distroless-gotop
│   │   ├── distroless-static
│   │   └── distroless-true
│   ├── systemd
│   └── unit
├── cert-manager
│   ├── cert-manager-cainjector
│   ├── cert-manager-controller
│   └── cert-manager-webhook
├── cni
│   └── flannel
│   ├── flannel
│   └── flannel-cni-plugin
├── gitea
├── k8s
│   ├── coredns
│   ├── deckhouse
│   │   ├── coredns
│   │   ├── etcd
│   │   ├── kube-apiserver
│   │   ├── kube-controller-manager
│   │   ├── kube-proxy
│   │   ├── kube-scheduler
│   │   └── pause
│   ├── etcd
│   ├── kube-apiserver
│   ├── kube-controller-manager
│   ├── kube-proxy
│   ├── kube-scheduler
│   └── pause
├── nginx
├── prometheus
├── python
├── registry
├── ruby
└── trivy
└── trivy-node-collector
</pre>
Конечный каталог дерева содержит файлы:
- **`Dockerfile`** - файл для сборки образа;
- **`image.yml`** - файл описания метаданных для образа.
Кроме этого конечный каталог может содержать файлы и каталоги, которые помещаются в образ командами `COPY` и `ADD`.
Все вышележащие до каталога конкретного бранча (`sisyphus`, `p10`, `c10f1`, `c10f2`, ...) описывают группу (возможно пустую), в которую входит образ.
Имя образа формируется как тропа дерева каталогов.
Например:
- `sisyphus/apache`
- `sisyphus/k8s/kube-apiserver`
Имя тега берется либо из файла `image.yml` описания образа, либо из файла описания группы `images.yml`.
## Конечный каталог описания образа
### Dockerfile
Предлагается заменить шаблон `Dockerfile.template` заменить на нативный `Dockerfile`.
Все параметры, подставляемые функцией `render_dockerfiles` скрипта
[/build.py](https://gitea.basealt.ru/alt/image-forge/src/branch/feature-new-layout/build.py#L249)
заменяются на аргументы (`ARG`), инициализируемые непосредственно в `Dockerfile`или передаваемые (с заиещением) при сборко образа параметрами `--build-arg="<ARG>=<VALUE>"`.
За исключением шаблона `{{ install_pakages("<пакет>" ...) }}`
Предлагается во все базовые дистрибутивы включить `shell-скрипт` `alt_install_pakages`, выполняющий функции аналогичные
python-функции [install_pakages](https://gitea.basealt.ru/alt/image-forge/src/branch/feature-new-layout/build.py#L250).
Шаблон `{{ install_pakages("<пакет>" ...) }}` заменяется в `Dockerfile` оператором:
```
RUN alt_install_pakages <пакет> ...
```
Пример файла образа `sisyphus/k8s/kube-apiserver`:
<pre>
ARG BRANCH REGISTRY=gitea.basealt.ru ALT_IMAGE=base/alt:$BRANCH MAINTAINER=alt-cloud ALT_TESTSCRIPT=/bin/true
FROM $REGISTRY/$ALT_IMAGE:$BRANCH
MAINTAINER $MAINTAINER
LABEL org.altlinux.testscript=$ALT_TESTSCRIPT
RUN alt_install_pakages kubernetes-master
ENTRYPOINT ["/usr/bin/kube-apiserver"]
</pre>
### Файл image.yml описания метаданных для образа
В настоящий момент он содержит (жирным шрифтом обязательные элементы):
* **`image.maintainer`** - E-mail майнтейнера для создания и проверки электронной подписи образа;
* `image.alias` - список возможных алиасов образа;
* `image.tag` - тер образа (может при сборке перекрываться тегом, взятым из вышележащего файла `images.yml` описания группы)
* `image.labels` - список дополнительных метов образа, в частности:
- `org.altlinux.testscript` - shell код для тестоиования образа при его запуске в режиме `podman ... -it --- <образ>`
Пример файла образа `sisyphus/k8s/kube-apiserver`:
<pre>
version: 1.0
image:
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
labels:
org.altlinux.testscript: /bin/true
maintainer: stepchenkoas@basealt.ru
</pre>
## Каталог группы
### Файл `images.yml` описания метаданных группы

View File

View File

View File

View File

View File

View File

View File

View File

View File

@ -0,0 +1,13 @@
FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="flannel-cni-plugin"
LABEL org.opencontainers.image.description="CNI network plugin that is powered by flannel"
LABEL org.opencontainers.image.source="https://github.com/flannel-io/cni-plugin"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_pakages("cni-plugin-flannel") }}
RUN cp /usr/libexec/cni/flannel /flannel

View File

@ -0,0 +1,28 @@
FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="flannel"
LABEL org.opencontainers.image.description="Network fabric for containers"
LABEL org.opencontainers.image.source="https://github.com/flannel-io/flannel"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_pakages(
"iproute2",
"net-tools",
"ca-certificates",
"iptables",
"iptables-nft",
"strongswan",
"wireguard-tools",
"flannel",
"wget",
) }}
RUN update-ca-trust
RUN mkdir -p /opt/bin/ && cp /usr/sbin/flanneld /opt/bin/flanneld
RUN cp /usr/libexec/flannel/mk-docker-opts.sh /opt/bin/
ENTRYPOINT ["/opt/bin/flanneld"]

View File

@ -0,0 +1,7 @@
version: 1.0
image:
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
labels:
org.altlinux.testscript: /bin/true
maintainer: stepchenkoas@basealt.ru

View File

@ -0,0 +1,65 @@
version: 1.0
imageSet:
- version: 1.26.9
images:
- kube-apiserver:
tag: 1.26.9
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- kube-controllermanager:
tag: 1.26.9
alias: k8s-${BRANCH}/${IMAGE}:${TAG}
- kube-proxy:
tag: 1.26.9
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- kube-scheduler:
tag: 1.26.9
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- pause:
tag: 3.8
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- coredns:
tag: v1.10.0
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- etcd:
tag: 3.5.9
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- alt/etcd:3.5.9
- version: 1.26.14
images:
- kube-apiserver:
tag: 1.26.14
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- kube-controllermanager:
tag: 1.26.14
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- kube-proxy:
tag: 1.26.14
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- kube-scheduler:
tag: 1.26.14
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- pause:
tag: 3.9
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- coredns:
tag: v1.10.0
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- etcd:
tag: 3.5.10
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
- alt/etcd:3.5.10

View File

@ -0,0 +1,41 @@
version: 1.0
imageSet:
listCmd: ...
- version: 1.26.9
images:
- kube-apiserver:
tag: 1.26.9
- kube-controllermanager:
tag: 1.26.9
- kube-proxy:
tag: 1.26.9
- kube-scheduler:
tag: 1.26.9
- pause:
tag: 3.8
- coredns:
tag: v1.10.0
- etcd:
tag: 3.5.9
alias:
- alt/etcd:3.5.9
- version: 1.26.14
images:
- kube-apiserver:
tag: 1.26.14
- kube-controllermanager:
tag: 1.26.14
- kube-proxy:
tag: 1.26.14
- kube-scheduler:
tag: 1.26.14
- pause:
tag: 3.9
- coredns:
tag: v1.10.0
- etcd:
tag: 3.5.10
alias:
- alt/etcd:3.5.10

View File

@ -0,0 +1,7 @@
version: 1.0
image:
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
labels:
org.altlinux.testscript: /bin/true
maintainer: stepchenkoas@basealt.ru

View File

@ -0,0 +1,7 @@
version: 1.0
image:
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
labels:
org.altlinux.testscript: /bin/true
maintainer: stepchenkoas@basealt.ru

View File

@ -0,0 +1,7 @@
version: 1.0
image:
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
labels:
org.altlinux.testscript: /bin/true
maintainer: stepchenkoas@basealt.ru

View File

@ -0,0 +1,7 @@
version: 1.0
image:
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
labels:
org.altlinux.testscript: /bin/true
maintainer: stepchenkoas@basealt.ru

View File

@ -0,0 +1,7 @@
version: 1.0
image:
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
labels:
org.altlinux.testscript: /bin/true
maintainer: stepchenkoas@basealt.ru

View File

@ -0,0 +1,17 @@
ARG BRANCH REGISTRY=gitea.basealt.ru ALT_IMAGE=base/alt:$BRANCH MAINTAINER=alt-cloud ALT_TESTSCRIPT=/bin/true
FROM $REGISTRY/$ALT_IMAGE:$BRANCH
MAINTAINER $MAINTAINER
LABEL org.opencontainers.image.title="apache2"
LABEL org.opencontainers.image.description="The most widely used Web server on the Internet"
LABEL org.opencontainers.image.source="http://httpd.apache.org"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
RUN alt_install_pakages apache2
EXPOSE 80
CMD ["/usr/sbin/httpd2", "-D", "NO_DETACH", "-k", "start"]

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

@ -225,7 +225,7 @@ class DockerBuilder:
self,
template: str,
organization: str,
install_packages=None,
install_pakages=None,
**kwargs,
) -> str:
if self.registry:
@ -237,7 +237,7 @@ class DockerBuilder:
rendered = Template(template).render(
alt_image=alt_image,
branch=self.branch,
install_packages=install_packages,
install_pakages=install_pakages,
organization=organization,
registry=registry,
**kwargs,
@ -247,7 +247,7 @@ class DockerBuilder:
@forall_images(consume_result=True)
def render_dockerfiles(self, **kwargs):
def install_packages(*names):
def install_pakages(*names):
tasks = self.tasks.get(self.branch, kwargs["image"])
linux32 = '$([ "$(rpm --eval %_host_cpu)" = i586 ] && echo linux32)'
if tasks:
@ -273,7 +273,7 @@ class DockerBuilder:
rendered = self.render_template(
dockerfile_template.read_text(),
self.overwrite_organization,
install_packages,
install_pakages,
)
kwargs["dockerfile"].write_text(rendered + "\n")
@ -654,8 +654,7 @@ def parse_args():
nargs="+",
default=images,
choices=images,
metavar="IMAGE_NAME",
help="list of images to build",
help="list of branches",
)
images_group.add_argument(
"-o",
@ -665,14 +664,6 @@ def parse_args():
choices=organizations,
help="build all images from these organizations",
)
parser.add_argument(
"--skip-images",
nargs="+",
default=[],
choices=images,
metavar="IMAGE_NAME",
help="list of images to skip",
)
parser.add_argument(
"-r",
"--registry",
@ -705,20 +696,27 @@ def parse_args():
parser.add_argument(
"--sign",
)
parser.add_argument(
"--skip-images",
nargs="+",
default=[],
choices=images,
help="list of skipping images",
)
parser.add_argument(
"-a",
"--arches",
nargs="+",
default=arches,
choices=arches,
help="build images for these architectures",
help="list of arches",
)
parser.add_argument(
"--skip-arches",
nargs="+",
default=[],
choices=arches,
help="list of architectures to skip",
help="list of skipping arches",
)
parser.add_argument(
"-b",
@ -726,28 +724,28 @@ def parse_args():
nargs="+",
default=branches,
choices=branches,
help="build images for these branches",
help="list of branches",
)
parser.add_argument(
"--skip-branches",
nargs="+",
default=[],
choices=branches,
help="list of branches to skip",
help="list of skipping branches",
)
parser.add_argument(
"--stages",
nargs="+",
default=stages,
choices=stages,
help="list of stages to go through",
help="list of stages",
)
parser.add_argument(
"--skip-stages",
nargs="+",
default=[],
choices=stages,
help="list of stages to skip",
help="list of skipping stages",
)
args = parser.parse_args()

View File

@ -1,59 +0,0 @@
#!/usr/bin/env sh
set -xeuo pipefail
function print_help() {
cat <<EOF
usage:
$0 (build | push) <REGISTRY> <ORGANIZATION> <BRANCH>
EOF
}
if [ "$#" -lt 4 ]; then
print_help
exit 1
fi
COMMAND=$1
REGISTRY=${2:-"gitea.basealt.ru"}
ORGANIZATION=${3:-"k8s-sisyphus"}
BRANCH=${4:-"sisyphus"}
shift 4
[ "$COMMAND" == 'build' ] || [ "$COMMAND" == 'push' ] || exit 1
function build() {
./build.py \
--branches $BRANCH \
--latest $BRANCH \
--registry $REGISTRY \
--overwrite-organization $ORGANIZATION \
--images k8s/kube-apiserver k8s/kube-controller-manager k8s/kube-scheduler k8s/kube-proxy \
--tags tags.toml \
--skip-stages push \
"$@"
}
function push() {
./build.py \
--branches $BRANCH \
--latest $BRANCH \
--registry $REGISTRY \
--overwrite-organization $ORGANIZATION \
--images k8s/kube-apiserver k8s/kube-controller-manager k8s/kube-scheduler k8s/kube-proxy \
--tags tags.toml \
--stages push \
"$@"
}
for version in 1.26.14 1.27.12 1.28.8; do
sed -i "s/kubernetes.*-/kubernetes${version::4}-/g" org/k8s/kube-*/*
sed -i "s/$BRANCH = \[ \"v.*\" \]/$BRANCH = \[ \"v$version\" \]/g" tags.toml
if [ "$COMMAND" == 'build' ]; then
build "$@"
elif [ "$COMMAND" == 'push' ]; then
push "$@"
fi
done

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="http://httpd.apache.org"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("apache2") }}
{{ install_pakages("apache2") }}
EXPOSE 80

View File

@ -2,6 +2,6 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
{{ install_packages("glibc-gconv-modules", "glibc-locales", "tzdata") }}
{{ install_pakages("glibc-gconv-modules", "glibc-locales", "tzdata") }}
CMD ["bash"]

View File

@ -6,7 +6,7 @@ LABEL org.opencontainers.image.title="buildpack-deps-curl"
LABEL org.opencontainers.image.licenses="GPLv2"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages(
{{ install_pakages(
"ca-certificates",
"curl",
"gnupg",

View File

@ -6,7 +6,7 @@ LABEL org.opencontainers.image.title="buildpack-deps-scm"
LABEL org.opencontainers.image.licenses="GPLv2"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages(
{{ install_pakages(
"git",
"mercurial",
"openssh-clients",

View File

@ -6,7 +6,7 @@ LABEL org.opencontainers.image.title="buildpack-deps"
LABEL org.opencontainers.image.licenses="GPLv2"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages(
{{ install_pakages(
"ImageMagick",
"autoconf",
"automake",

View File

@ -8,27 +8,27 @@ LABEL org.opencontainers.image.licenses="GPLv2"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
# install editor
{{ install_packages("vim-console") }}
{{ install_pakages("vim-console") }}
# install debugging tools
{{ install_packages("strace", "gdb") }}
{{ install_pakages("strace", "gdb") }}
# install document viewers
{{ install_packages("man") }}
{{ install_pakages("man") }}
# install version control system
{{ install_packages("git-core", "perl-Git") }}
{{ install_pakages("git-core", "perl-Git") }}
# install network utils
{{ install_packages("iproute2", "iputils", "wget", "curl") }}
{{ install_pakages("iproute2", "iputils", "wget", "curl") }}
# install file utils
{{ install_packages("lsof", "ripgrep") }}
{{ install_pakages("lsof", "ripgrep") }}
# install shell and completions
{{ install_packages("zsh", "zsh-completions") }}
{{ install_pakages("zsh", "zsh-completions") }}
# install compilation utils
{{ install_packages("make", "gcc", "gcc-c++") }}
{{ install_pakages("make", "gcc", "gcc-c++") }}
CMD ["zsh"]

View File

@ -9,7 +9,7 @@ LABEL org.opencontainers.image.vendor="ALT Linux Team"
RUN echo %_excludedocs 1 >> /etc/rpm/macros
RUN rpm -qalds | awk '/^normal/{print $2}' | xargs rm -rf
{{ install_packages("python3", "glibc-utils", "apt-repo") }}
{{ install_pakages("python3", "glibc-utils", "apt-repo") }}
WORKDIR /usr/src/distroless
RUN mkdir file-lists
RUN useradd -m nonroot

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/etcd-io/etcd"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("etcd") }}
{{ install_pakages("etcd") }}
VOLUME /data

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/go-gitea/gitea"
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("gitea", "openssh-server", "gosu") }}
{{ install_pakages("gitea", "openssh-server", "gosu") }}
ENV USER gitea
ENV HOME /var/lib/gitea

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://nginx.org/"
LABEL org.opencontainers.image.licenses="BSD"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("nginx", "apache2-html", "tzdata") }}
{{ install_pakages("nginx", "apache2-html", "tzdata") }}
RUN cd /etc/nginx/sites-enabled.d && ln -s ../sites-available.d/default.conf .

View File

@ -11,7 +11,7 @@ LABEL org.opencontainers.image.vendor="ALT Linux Team"
RUN groupadd --gid 1000 node \
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
{{ install_packages(
{{ install_pakages(
"node",
"npm",
"yarn"

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/prometheus/prometheus"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("prometheus") }}
{{ install_pakages("prometheus") }}
WORKDIR /var/lib/prometheus
USER prometheus

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/python/cpython"
LABEL org.opencontainers.image.licenses="Python"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages(
{{ install_pakages(
"python3-module-pip",
"python3-module-setuptools",
"python3-dev",

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/docker/distribution"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("docker-registry") }}
{{ install_pakages("docker-registry") }}
RUN ln -sf /usr/bin/docker-registry /bin/registry

View File

@ -8,6 +8,6 @@ LABEL org.opencontainers.image.source="https://github.com/ruby/ruby"
LABEL org.opencontainers.image.licenses="BSD-2-Clause or Ruby"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("irb") }}
{{ install_pakages("irb") }}
CMD ["irb"]

View File

@ -10,7 +10,7 @@ LABEL org.opencontainers.image.vendor="ALT Linux Team"
ENV container docker
{{ install_packages("systemd-sysvinit") }}
{{ install_pakages("systemd-sysvinit") }}
RUN ( \
cd /lib/systemd/system/sysinit.target.wants/; \

View File

@ -1,19 +0,0 @@
FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="zot"
LABEL org.opencontainers.image.description="A production-ready vendor-neutral OCI-native container image registry (purely based on OCI Distribution Specification)"
LABEL org.opencontainers.image.source="https://github.com/project-zot/zot"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("zot") }}
USER _zot:_zot
VOLUME ["/var/lib/zot"]
EXPOSE 5000
ENTRYPOINT ["/usr/bin/zot"]
CMD ["serve", "/etc/zot/config.json"]

View File

@ -1 +0,0 @@
zot verify /etc/zot/config.json

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/cert-manager/cert-mana
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("cert-manager") }}
{{ install_pakages("cert-manager") }}
RUN groupadd -r -g 1000 cert-manger && useradd --no-log-init -r -u 1000 -g cert-manger cert-manger

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/cert-manager/cert-mana
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("cert-manager") }}
{{ install_pakages("cert-manager") }}
RUN groupadd -r -g 1000 cert-manger && useradd --no-log-init -r -u 1000 -g cert-manger cert-manger

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/cert-manager/cert-mana
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("cert-manager") }}
{{ install_pakages("cert-manager") }}
RUN groupadd -r -g 1000 cert-manger && useradd --no-log-init -r -u 1000 -g cert-manger cert-manger

View File

@ -8,6 +8,6 @@ LABEL org.opencontainers.image.source="https://github.com/coredns/coredns"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("coredns") }}
{{ install_pakages("coredns") }}
ENTRYPOINT ["/usr/bin/coredns"]

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/etcd-io/etcd"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("etcd") }}
{{ install_pakages("etcd") }}
VOLUME /data

View File

@ -8,6 +8,6 @@ LABEL org.opencontainers.image.source="https://github.com/flannel-io/cni-plugin"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("cni-plugin-flannel") }}
{{ install_pakages("cni-plugin-flannel") }}
RUN cp /usr/libexec/cni/flannel /flannel

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/flannel-io/flannel"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages(
{{ install_pakages(
"iproute2",
"net-tools",
"ca-certificates",

View File

@ -2,12 +2,6 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="kube-apiserver"
LABEL org.opencontainers.image.description="The Kubernetes API server validates and configures data for the api objects which include pods, services, replicationcontrollers, and others."
LABEL org.opencontainers.image.source="https://github.com/kubernetes/kubernetes"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("kubernetes-master") }}
{{ install_pakages("kubernetes-master") }}
ENTRYPOINT ["/usr/bin/kube-apiserver"]

View File

@ -2,12 +2,6 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="kube-controller-manager"
LABEL org.opencontainers.image.description="The Kubernetes controller manager is a daemon that embeds the core control loops shipped with Kubernetes."
LABEL org.opencontainers.image.source="https://github.com/kubernetes/kubernetes"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("kubernetes-master") }}
{{ install_pakages("kubernetes-master") }}
ENTRYPOINT ["/usr/bin/kube-controller-manager"]

View File

@ -2,13 +2,7 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="kube-proxy"
LABEL org.opencontainers.image.description="The Kubernetes network proxy runs on each node."
LABEL org.opencontainers.image.source="https://github.com/kubernetes/kubernetes"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("kubernetes-node") }}
{{ install_pakages("kubernetes-node") }}
RUN ln -s /usr/bin/kube-proxy /usr/local/bin/kube-proxy

View File

@ -2,12 +2,6 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="kube-scheduler"
LABEL org.opencontainers.image.description="The Kubernetes scheduler is a control plane process which assigns Pods to Nodes."
LABEL org.opencontainers.image.source="https://github.com/kubernetes/kubernetes"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("kubernetes-master") }}
{{ install_pakages("kubernetes-master") }}
ENTRYPOINT ["/usr/bin/kube-scheduler"]

View File

@ -1,6 +1,6 @@
FROM {{ registry }}{{ alt_image }}:{{ branch }} as installer
{{ install_packages("kubernetes-pause") }}
{{ install_pakages("kubernetes-pause") }}
FROM scratch

View File

@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/aquasecurity/k8s-node-
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages(
{{ install_pakages(
"k8s-trivy-node-collector"
) }}