forked from alt/image-forge
Compare commits
13 Commits
test-gitea
...
feature-2l
Author | SHA1 | Date | |
---|---|---|---|
919ef43d60 | |||
d34a5e2708 | |||
85334e382c | |||
abdd641ac2 | |||
1a1bf5ac64 | |||
a0643aca87 | |||
57aa82cf8c | |||
14da06e02b | |||
3b652fc6b0 | |||
2b923e4c96 | |||
9175f34e52 | |||
f3f74f56dd | |||
31de830d2e |
@ -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
|
|
@ -25,13 +25,6 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GU: ${{ gitea.server_url }}
|
GU: ${{ gitea.server_url }}
|
||||||
GR: ${{ gitea.repository }}
|
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
|
- name: Update apt
|
||||||
uses: actions/init-alt-env@v1
|
uses: actions/init-alt-env@v1
|
||||||
- name: Install requires
|
- name: Install requires
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
Dockerfile
|
|
||||||
|
@ -28,9 +28,7 @@ If you push to the users repository, then organiztion is your username.
|
|||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
On x86_64 machine using p10 branch you need:
|
On x86_64 machine using p10 branch you need:
|
||||||
- `podman`
|
|
||||||
- `python3-module-tomli`
|
- `python3-module-tomli`
|
||||||
- `python3-module-jinja2`
|
|
||||||
- `qemu-user-static-binfmt-aarch64` to build for arm64 architecture
|
- `qemu-user-static-binfmt-aarch64` to build for arm64 architecture
|
||||||
- `qemu-user-static-binfmt-arm` to build for arm architecture
|
- `qemu-user-static-binfmt-arm` to build for arm architecture
|
||||||
- `qemu-user-static-binfmt-ppc` to build for ppc64le architecture
|
- `qemu-user-static-binfmt-ppc` to build for ppc64le architecture
|
||||||
|
153
branch/README.md
Normal file
153
branch/README.md
Normal 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` описания метаданных группы
|
0
branch/sisyphus/base/alt/Dockerfile
Normal file
0
branch/sisyphus/base/alt/Dockerfile
Normal file
0
branch/sisyphus/base/alt/image.yml
Normal file
0
branch/sisyphus/base/alt/image.yml
Normal file
0
branch/sisyphus/base/buildpack-deps-curl/Dockerfile
Normal file
0
branch/sisyphus/base/buildpack-deps-curl/Dockerfile
Normal file
0
branch/sisyphus/base/buildpack-deps-curl/image.yml
Normal file
0
branch/sisyphus/base/buildpack-deps-curl/image.yml
Normal file
0
branch/sisyphus/base/buildpack-deps-scm/Dockerfile
Normal file
0
branch/sisyphus/base/buildpack-deps-scm/Dockerfile
Normal file
0
branch/sisyphus/base/buildpack-deps-scm/image.yml
Normal file
0
branch/sisyphus/base/buildpack-deps-scm/image.yml
Normal file
0
branch/sisyphus/base/devel/Dockerfile
Normal file
0
branch/sisyphus/base/devel/Dockerfile
Normal file
0
branch/sisyphus/base/devel/image.yml
Normal file
0
branch/sisyphus/base/devel/image.yml
Normal file
0
branch/sisyphus/base/distroless-base/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-base/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-base/image.yml
Normal file
0
branch/sisyphus/base/distroless-base/image.yml
Normal file
0
branch/sisyphus/base/distroless-builder/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-builder/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-builder/image.yml
Normal file
0
branch/sisyphus/base/distroless-builder/image.yml
Normal file
0
branch/sisyphus/base/distroless-devel/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-devel/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-devel/image.yml
Normal file
0
branch/sisyphus/base/distroless-devel/image.yml
Normal file
0
branch/sisyphus/base/distroless-gotop/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-gotop/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-gotop/image.yml
Normal file
0
branch/sisyphus/base/distroless-gotop/image.yml
Normal file
0
branch/sisyphus/base/distroless-static/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-static/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-static/image.yml
Normal file
0
branch/sisyphus/base/distroless-static/image.yml
Normal file
0
branch/sisyphus/base/distroless-true/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-true/Dockerfile
Normal file
0
branch/sisyphus/base/distroless-true/image.yml
Normal file
0
branch/sisyphus/base/distroless-true/image.yml
Normal file
0
branch/sisyphus/base/systemd/Dockerfile
Normal file
0
branch/sisyphus/base/systemd/Dockerfile
Normal file
0
branch/sisyphus/base/systemd/image.yml
Normal file
0
branch/sisyphus/base/systemd/image.yml
Normal file
0
branch/sisyphus/base/unit/Dockerfile
Normal file
0
branch/sisyphus/base/unit/Dockerfile
Normal file
0
branch/sisyphus/base/unit/image.yml
Normal file
0
branch/sisyphus/base/unit/image.yml
Normal file
13
branch/sisyphus/flannel/flannel-cni-plugin/Dockerfile
Normal file
13
branch/sisyphus/flannel/flannel-cni-plugin/Dockerfile
Normal 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
|
28
branch/sisyphus/flannel/flannel/Dockerfile
Normal file
28
branch/sisyphus/flannel/flannel/Dockerfile
Normal 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"]
|
7
branch/sisyphus/k8s/coredns/image.yml
Normal file
7
branch/sisyphus/k8s/coredns/image.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
version: 1.0
|
||||||
|
image:
|
||||||
|
alias:
|
||||||
|
- k8s-${BRANCH}/${IMAGE}:${TAG}
|
||||||
|
labels:
|
||||||
|
org.altlinux.testscript: /bin/true
|
||||||
|
maintainer: stepchenkoas@basealt.ru
|
65
branch/sisyphus/k8s/deckhouse/images.yml
Normal file
65
branch/sisyphus/k8s/deckhouse/images.yml
Normal 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
|
41
branch/sisyphus/k8s/images.yml
Normal file
41
branch/sisyphus/k8s/images.yml
Normal 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
|
7
branch/sisyphus/k8s/kube-apiserver/image.yml
Normal file
7
branch/sisyphus/k8s/kube-apiserver/image.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
version: 1.0
|
||||||
|
image:
|
||||||
|
alias:
|
||||||
|
- k8s-${BRANCH}/${IMAGE}:${TAG}
|
||||||
|
labels:
|
||||||
|
org.altlinux.testscript: /bin/true
|
||||||
|
maintainer: stepchenkoas@basealt.ru
|
7
branch/sisyphus/k8s/kube-controller-manager/image.yml
Normal file
7
branch/sisyphus/k8s/kube-controller-manager/image.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
version: 1.0
|
||||||
|
image:
|
||||||
|
alias:
|
||||||
|
- k8s-${BRANCH}/${IMAGE}:${TAG}
|
||||||
|
labels:
|
||||||
|
org.altlinux.testscript: /bin/true
|
||||||
|
maintainer: stepchenkoas@basealt.ru
|
7
branch/sisyphus/k8s/kube-proxy/image.yml
Normal file
7
branch/sisyphus/k8s/kube-proxy/image.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
version: 1.0
|
||||||
|
image:
|
||||||
|
alias:
|
||||||
|
- k8s-${BRANCH}/${IMAGE}:${TAG}
|
||||||
|
labels:
|
||||||
|
org.altlinux.testscript: /bin/true
|
||||||
|
maintainer: stepchenkoas@basealt.ru
|
7
branch/sisyphus/k8s/kube-scheduler/image.yml
Normal file
7
branch/sisyphus/k8s/kube-scheduler/image.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
version: 1.0
|
||||||
|
image:
|
||||||
|
alias:
|
||||||
|
- k8s-${BRANCH}/${IMAGE}:${TAG}
|
||||||
|
labels:
|
||||||
|
org.altlinux.testscript: /bin/true
|
||||||
|
maintainer: stepchenkoas@basealt.ru
|
7
branch/sisyphus/k8s/pause/image.yml
Normal file
7
branch/sisyphus/k8s/pause/image.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
version: 1.0
|
||||||
|
image:
|
||||||
|
alias:
|
||||||
|
- k8s-${BRANCH}/${IMAGE}:${TAG}
|
||||||
|
labels:
|
||||||
|
org.altlinux.testscript: /bin/true
|
||||||
|
maintainer: stepchenkoas@basealt.ru
|
17
branch/sisyphus/target/apache/Dockerfile
Normal file
17
branch/sisyphus/target/apache/Dockerfile
Normal 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"]
|
0
branch/sisyphus/target/etcd/Dockerfile
Normal file
0
branch/sisyphus/target/etcd/Dockerfile
Normal file
0
branch/sisyphus/target/etcd/image.yml
Normal file
0
branch/sisyphus/target/etcd/image.yml
Normal file
0
branch/sisyphus/target/gitea/Dockerfile
Normal file
0
branch/sisyphus/target/gitea/Dockerfile
Normal file
0
branch/sisyphus/target/gitea/image.yml
Normal file
0
branch/sisyphus/target/gitea/image.yml
Normal file
0
branch/sisyphus/target/nginx/Dockerfile
Normal file
0
branch/sisyphus/target/nginx/Dockerfile
Normal file
0
branch/sisyphus/target/nginx/image.yml
Normal file
0
branch/sisyphus/target/nginx/image.yml
Normal file
0
branch/sisyphus/target/prometheus/Dockerfile
Normal file
0
branch/sisyphus/target/prometheus/Dockerfile
Normal file
0
branch/sisyphus/target/prometheus/image.yml
Normal file
0
branch/sisyphus/target/prometheus/image.yml
Normal file
0
branch/sisyphus/target/python/Dockerfile
Normal file
0
branch/sisyphus/target/python/Dockerfile
Normal file
0
branch/sisyphus/target/python/image.yml
Normal file
0
branch/sisyphus/target/python/image.yml
Normal file
0
branch/sisyphus/target/registry/Dockerfile
Normal file
0
branch/sisyphus/target/registry/Dockerfile
Normal file
0
branch/sisyphus/target/registry/image.yml
Normal file
0
branch/sisyphus/target/registry/image.yml
Normal file
0
branch/sisyphus/target/ruby/Dockerfile
Normal file
0
branch/sisyphus/target/ruby/Dockerfile
Normal file
0
branch/sisyphus/target/ruby/image.yml
Normal file
0
branch/sisyphus/target/ruby/image.yml
Normal file
38
build.py
38
build.py
@ -225,7 +225,7 @@ class DockerBuilder:
|
|||||||
self,
|
self,
|
||||||
template: str,
|
template: str,
|
||||||
organization: str,
|
organization: str,
|
||||||
install_packages=None,
|
install_pakages=None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> str:
|
) -> str:
|
||||||
if self.registry:
|
if self.registry:
|
||||||
@ -237,7 +237,7 @@ class DockerBuilder:
|
|||||||
rendered = Template(template).render(
|
rendered = Template(template).render(
|
||||||
alt_image=alt_image,
|
alt_image=alt_image,
|
||||||
branch=self.branch,
|
branch=self.branch,
|
||||||
install_packages=install_packages,
|
install_pakages=install_pakages,
|
||||||
organization=organization,
|
organization=organization,
|
||||||
registry=registry,
|
registry=registry,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@ -247,7 +247,7 @@ class DockerBuilder:
|
|||||||
|
|
||||||
@forall_images(consume_result=True)
|
@forall_images(consume_result=True)
|
||||||
def render_dockerfiles(self, **kwargs):
|
def render_dockerfiles(self, **kwargs):
|
||||||
def install_packages(*names):
|
def install_pakages(*names):
|
||||||
tasks = self.tasks.get(self.branch, kwargs["image"])
|
tasks = self.tasks.get(self.branch, kwargs["image"])
|
||||||
linux32 = '$([ "$(rpm --eval %_host_cpu)" = i586 ] && echo linux32)'
|
linux32 = '$([ "$(rpm --eval %_host_cpu)" = i586 ] && echo linux32)'
|
||||||
if tasks:
|
if tasks:
|
||||||
@ -273,7 +273,7 @@ class DockerBuilder:
|
|||||||
rendered = self.render_template(
|
rendered = self.render_template(
|
||||||
dockerfile_template.read_text(),
|
dockerfile_template.read_text(),
|
||||||
self.overwrite_organization,
|
self.overwrite_organization,
|
||||||
install_packages,
|
install_pakages,
|
||||||
)
|
)
|
||||||
kwargs["dockerfile"].write_text(rendered + "\n")
|
kwargs["dockerfile"].write_text(rendered + "\n")
|
||||||
|
|
||||||
@ -654,8 +654,7 @@ def parse_args():
|
|||||||
nargs="+",
|
nargs="+",
|
||||||
default=images,
|
default=images,
|
||||||
choices=images,
|
choices=images,
|
||||||
metavar="IMAGE_NAME",
|
help="list of branches",
|
||||||
help="list of images to build",
|
|
||||||
)
|
)
|
||||||
images_group.add_argument(
|
images_group.add_argument(
|
||||||
"-o",
|
"-o",
|
||||||
@ -665,14 +664,6 @@ def parse_args():
|
|||||||
choices=organizations,
|
choices=organizations,
|
||||||
help="build all images from these 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(
|
parser.add_argument(
|
||||||
"-r",
|
"-r",
|
||||||
"--registry",
|
"--registry",
|
||||||
@ -705,20 +696,27 @@ def parse_args():
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--sign",
|
"--sign",
|
||||||
)
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--skip-images",
|
||||||
|
nargs="+",
|
||||||
|
default=[],
|
||||||
|
choices=images,
|
||||||
|
help="list of skipping images",
|
||||||
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"-a",
|
"-a",
|
||||||
"--arches",
|
"--arches",
|
||||||
nargs="+",
|
nargs="+",
|
||||||
default=arches,
|
default=arches,
|
||||||
choices=arches,
|
choices=arches,
|
||||||
help="build images for these architectures",
|
help="list of arches",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--skip-arches",
|
"--skip-arches",
|
||||||
nargs="+",
|
nargs="+",
|
||||||
default=[],
|
default=[],
|
||||||
choices=arches,
|
choices=arches,
|
||||||
help="list of architectures to skip",
|
help="list of skipping arches",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"-b",
|
"-b",
|
||||||
@ -726,28 +724,28 @@ def parse_args():
|
|||||||
nargs="+",
|
nargs="+",
|
||||||
default=branches,
|
default=branches,
|
||||||
choices=branches,
|
choices=branches,
|
||||||
help="build images for these branches",
|
help="list of branches",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--skip-branches",
|
"--skip-branches",
|
||||||
nargs="+",
|
nargs="+",
|
||||||
default=[],
|
default=[],
|
||||||
choices=branches,
|
choices=branches,
|
||||||
help="list of branches to skip",
|
help="list of skipping branches",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--stages",
|
"--stages",
|
||||||
nargs="+",
|
nargs="+",
|
||||||
default=stages,
|
default=stages,
|
||||||
choices=stages,
|
choices=stages,
|
||||||
help="list of stages to go through",
|
help="list of stages",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--skip-stages",
|
"--skip-stages",
|
||||||
nargs="+",
|
nargs="+",
|
||||||
default=[],
|
default=[],
|
||||||
choices=stages,
|
choices=stages,
|
||||||
help="list of stages to skip",
|
help="list of skipping stages",
|
||||||
)
|
)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
@ -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
|
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages("apache2") }}
|
{{ install_pakages("apache2") }}
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
||||||
|
@ -2,6 +2,6 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
|
|||||||
|
|
||||||
MAINTAINER alt-cloud
|
MAINTAINER alt-cloud
|
||||||
|
|
||||||
{{ install_packages("glibc-gconv-modules", "glibc-locales", "tzdata") }}
|
{{ install_pakages("glibc-gconv-modules", "glibc-locales", "tzdata") }}
|
||||||
|
|
||||||
CMD ["bash"]
|
CMD ["bash"]
|
||||||
|
@ -6,7 +6,7 @@ LABEL org.opencontainers.image.title="buildpack-deps-curl"
|
|||||||
LABEL org.opencontainers.image.licenses="GPLv2"
|
LABEL org.opencontainers.image.licenses="GPLv2"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages(
|
{{ install_pakages(
|
||||||
"ca-certificates",
|
"ca-certificates",
|
||||||
"curl",
|
"curl",
|
||||||
"gnupg",
|
"gnupg",
|
||||||
|
@ -6,7 +6,7 @@ LABEL org.opencontainers.image.title="buildpack-deps-scm"
|
|||||||
LABEL org.opencontainers.image.licenses="GPLv2"
|
LABEL org.opencontainers.image.licenses="GPLv2"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages(
|
{{ install_pakages(
|
||||||
"git",
|
"git",
|
||||||
"mercurial",
|
"mercurial",
|
||||||
"openssh-clients",
|
"openssh-clients",
|
||||||
|
@ -6,7 +6,7 @@ LABEL org.opencontainers.image.title="buildpack-deps"
|
|||||||
LABEL org.opencontainers.image.licenses="GPLv2"
|
LABEL org.opencontainers.image.licenses="GPLv2"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages(
|
{{ install_pakages(
|
||||||
"ImageMagick",
|
"ImageMagick",
|
||||||
"autoconf",
|
"autoconf",
|
||||||
"automake",
|
"automake",
|
||||||
|
@ -8,27 +8,27 @@ LABEL org.opencontainers.image.licenses="GPLv2"
|
|||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
# install editor
|
# install editor
|
||||||
{{ install_packages("vim-console") }}
|
{{ install_pakages("vim-console") }}
|
||||||
|
|
||||||
# install debugging tools
|
# install debugging tools
|
||||||
{{ install_packages("strace", "gdb") }}
|
{{ install_pakages("strace", "gdb") }}
|
||||||
|
|
||||||
# install document viewers
|
# install document viewers
|
||||||
{{ install_packages("man") }}
|
{{ install_pakages("man") }}
|
||||||
|
|
||||||
# install version control system
|
# install version control system
|
||||||
{{ install_packages("git-core", "perl-Git") }}
|
{{ install_pakages("git-core", "perl-Git") }}
|
||||||
|
|
||||||
# install network utils
|
# install network utils
|
||||||
{{ install_packages("iproute2", "iputils", "wget", "curl") }}
|
{{ install_pakages("iproute2", "iputils", "wget", "curl") }}
|
||||||
|
|
||||||
# install file utils
|
# install file utils
|
||||||
{{ install_packages("lsof", "ripgrep") }}
|
{{ install_pakages("lsof", "ripgrep") }}
|
||||||
|
|
||||||
# install shell and completions
|
# install shell and completions
|
||||||
{{ install_packages("zsh", "zsh-completions") }}
|
{{ install_pakages("zsh", "zsh-completions") }}
|
||||||
|
|
||||||
# install compilation utils
|
# install compilation utils
|
||||||
{{ install_packages("make", "gcc", "gcc-c++") }}
|
{{ install_pakages("make", "gcc", "gcc-c++") }}
|
||||||
|
|
||||||
CMD ["zsh"]
|
CMD ["zsh"]
|
||||||
|
@ -9,7 +9,7 @@ LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
|||||||
|
|
||||||
RUN echo %_excludedocs 1 >> /etc/rpm/macros
|
RUN echo %_excludedocs 1 >> /etc/rpm/macros
|
||||||
RUN rpm -qalds | awk '/^normal/{print $2}' | xargs rm -rf
|
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
|
WORKDIR /usr/src/distroless
|
||||||
RUN mkdir file-lists
|
RUN mkdir file-lists
|
||||||
RUN useradd -m nonroot
|
RUN useradd -m nonroot
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages("etcd") }}
|
{{ install_pakages("etcd") }}
|
||||||
|
|
||||||
VOLUME /data
|
VOLUME /data
|
||||||
|
|
||||||
|
@ -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.licenses="MIT"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages("gitea", "openssh-server", "gosu") }}
|
{{ install_pakages("gitea", "openssh-server", "gosu") }}
|
||||||
|
|
||||||
ENV USER gitea
|
ENV USER gitea
|
||||||
ENV HOME /var/lib/gitea
|
ENV HOME /var/lib/gitea
|
||||||
|
@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://nginx.org/"
|
|||||||
LABEL org.opencontainers.image.licenses="BSD"
|
LABEL org.opencontainers.image.licenses="BSD"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
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 .
|
RUN cd /etc/nginx/sites-enabled.d && ln -s ../sites-available.d/default.conf .
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
|||||||
RUN groupadd --gid 1000 node \
|
RUN groupadd --gid 1000 node \
|
||||||
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
|
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
|
||||||
|
|
||||||
{{ install_packages(
|
{{ install_pakages(
|
||||||
"node",
|
"node",
|
||||||
"npm",
|
"npm",
|
||||||
"yarn"
|
"yarn"
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages("prometheus") }}
|
{{ install_pakages("prometheus") }}
|
||||||
|
|
||||||
WORKDIR /var/lib/prometheus
|
WORKDIR /var/lib/prometheus
|
||||||
USER prometheus
|
USER prometheus
|
||||||
|
@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source="https://github.com/python/cpython"
|
|||||||
LABEL org.opencontainers.image.licenses="Python"
|
LABEL org.opencontainers.image.licenses="Python"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages(
|
{{ install_pakages(
|
||||||
"python3-module-pip",
|
"python3-module-pip",
|
||||||
"python3-module-setuptools",
|
"python3-module-setuptools",
|
||||||
"python3-dev",
|
"python3-dev",
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
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
|
RUN ln -sf /usr/bin/docker-registry /bin/registry
|
||||||
|
|
||||||
|
@ -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.licenses="BSD-2-Clause or Ruby"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages("irb") }}
|
{{ install_pakages("irb") }}
|
||||||
|
|
||||||
CMD ["irb"]
|
CMD ["irb"]
|
||||||
|
@ -10,7 +10,7 @@ LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
|||||||
|
|
||||||
ENV container docker
|
ENV container docker
|
||||||
|
|
||||||
{{ install_packages("systemd-sysvinit") }}
|
{{ install_pakages("systemd-sysvinit") }}
|
||||||
|
|
||||||
RUN ( \
|
RUN ( \
|
||||||
cd /lib/systemd/system/sysinit.target.wants/; \
|
cd /lib/systemd/system/sysinit.target.wants/; \
|
||||||
|
@ -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"]
|
|
@ -1 +0,0 @@
|
|||||||
zot verify /etc/zot/config.json
|
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
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
|
RUN groupadd -r -g 1000 cert-manger && useradd --no-log-init -r -u 1000 -g cert-manger cert-manger
|
||||||
|
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
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
|
RUN groupadd -r -g 1000 cert-manger && useradd --no-log-init -r -u 1000 -g cert-manger cert-manger
|
||||||
|
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
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
|
RUN groupadd -r -g 1000 cert-manger && useradd --no-log-init -r -u 1000 -g cert-manger cert-manger
|
||||||
|
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages("coredns") }}
|
{{ install_pakages("coredns") }}
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/coredns"]
|
ENTRYPOINT ["/usr/bin/coredns"]
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages("etcd") }}
|
{{ install_pakages("etcd") }}
|
||||||
|
|
||||||
VOLUME /data
|
VOLUME /data
|
||||||
|
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
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
|
RUN cp /usr/libexec/cni/flannel /flannel
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages(
|
{{ install_pakages(
|
||||||
"iproute2",
|
"iproute2",
|
||||||
"net-tools",
|
"net-tools",
|
||||||
"ca-certificates",
|
"ca-certificates",
|
||||||
|
@ -2,12 +2,6 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
|
|||||||
|
|
||||||
MAINTAINER alt-cloud
|
MAINTAINER alt-cloud
|
||||||
|
|
||||||
LABEL org.opencontainers.image.title="kube-apiserver"
|
{{ install_pakages("kubernetes-master") }}
|
||||||
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") }}
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/kube-apiserver"]
|
ENTRYPOINT ["/usr/bin/kube-apiserver"]
|
||||||
|
@ -2,12 +2,6 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
|
|||||||
|
|
||||||
MAINTAINER alt-cloud
|
MAINTAINER alt-cloud
|
||||||
|
|
||||||
LABEL org.opencontainers.image.title="kube-controller-manager"
|
{{ install_pakages("kubernetes-master") }}
|
||||||
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") }}
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/kube-controller-manager"]
|
ENTRYPOINT ["/usr/bin/kube-controller-manager"]
|
||||||
|
@ -2,13 +2,7 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
|
|||||||
|
|
||||||
MAINTAINER alt-cloud
|
MAINTAINER alt-cloud
|
||||||
|
|
||||||
LABEL org.opencontainers.image.title="kube-proxy"
|
{{ install_pakages("kubernetes-node") }}
|
||||||
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") }}
|
|
||||||
|
|
||||||
RUN ln -s /usr/bin/kube-proxy /usr/local/bin/kube-proxy
|
RUN ln -s /usr/bin/kube-proxy /usr/local/bin/kube-proxy
|
||||||
|
|
||||||
|
@ -2,12 +2,6 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }}
|
|||||||
|
|
||||||
MAINTAINER alt-cloud
|
MAINTAINER alt-cloud
|
||||||
|
|
||||||
LABEL org.opencontainers.image.title="kube-scheduler"
|
{{ install_pakages("kubernetes-master") }}
|
||||||
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") }}
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/kube-scheduler"]
|
ENTRYPOINT ["/usr/bin/kube-scheduler"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
FROM {{ registry }}{{ alt_image }}:{{ branch }} as installer
|
FROM {{ registry }}{{ alt_image }}:{{ branch }} as installer
|
||||||
|
|
||||||
{{ install_packages("kubernetes-pause") }}
|
{{ install_pakages("kubernetes-pause") }}
|
||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
|
|
||||||
|
@ -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.licenses="Apache-2.0"
|
||||||
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
LABEL org.opencontainers.image.vendor="ALT Linux Team"
|
||||||
|
|
||||||
{{ install_packages(
|
{{ install_pakages(
|
||||||
"k8s-trivy-node-collector"
|
"k8s-trivy-node-collector"
|
||||||
) }}
|
) }}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user