forked from alt/image-forge
		
	Compare commits
	
		
			18 Commits
		
	
	
		
			add-ingres
			...
			feature-2l
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 919ef43d60 | ||
|  | d34a5e2708 | ||
|  | 85334e382c | ||
|  | abdd641ac2 | ||
|  | 1a1bf5ac64 | ||
|  | a0643aca87 | ||
|  | 57aa82cf8c | ||
|  | 14da06e02b | ||
| 3b652fc6b0 | |||
| 2b923e4c96 | |||
|  | 9175f34e52 | ||
| f3f74f56dd | |||
|  | 31de830d2e | ||
|  | 5d6c3dcf3f | ||
|  | 1aa473607c | ||
|  | fcffc17ea0 | ||
|  | 81f61b4857 | ||
|  | 48de446739 | 
							
								
								
									
										65
									
								
								.gitea/workflows/testscript
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										65
									
								
								.gitea/workflows/testscript
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,65 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| #$1 - ${{ needs.build-process.outputs.branch }} | ||||
| #$2 - ${{ needs.build-process.outputs.org }} | ||||
| #$3 - ${{ needs.build-process.outputs.url }} | ||||
| #$4 - ${{ needs.build-process.outputs.repo }} | ||||
| #$5 - ${{ gitea.workspace }} | ||||
|  | ||||
| errors='' | ||||
| haserr=false | ||||
| for IM in $(ls $5/org/$2/ | xargs) | ||||
| do  | ||||
|   echo "image=$IM" | ||||
|   if test -f $5/org/$2/$IM/test | ||||
|   then  | ||||
|     test=$(cat $5/org/$2/$IM/test) | ||||
|   else test='' | ||||
|   fi  | ||||
|  | ||||
|   echo "test script=$test" | ||||
|   imgpath="$2/$IM:$1" | ||||
|  | ||||
|   if [[ $2 == 'k8s' ]] | ||||
|     then imgpath="$2-$1/$IM:latest" | ||||
|   fi | ||||
|  | ||||
|   command="echo empty_command" | ||||
|   if [[ $test != '' ]]; then | ||||
|     command="podman run --rm --entrypoint=\"/bin/sh\" $3/$imgpath -c \"$test\"" | ||||
|   else | ||||
|     if [[ $IM = 'distroless-true' ]]; then | ||||
|       command="podman run --rm $3/$imgpath \"true\"" | ||||
|     fi | ||||
|     if [[ $IM = 'distroless-gotop' ]]; then  | ||||
|       command="podman run --rm $3/$imgpath \"--version\"" | ||||
|     fi  | ||||
|     if [[ $IM = 'flannel-cni-plugin' ]]; then | ||||
|       command="podman run --rm $3/$imgpath \"/flannel\"" | ||||
|     fi | ||||
|     if [[ $IM = 'pause' ]]; then  | ||||
|       command="podman run --rm $3/$imgpath \"/pause\" \"-v\"" | ||||
|     fi  | ||||
|   fi | ||||
|   echo $command | ||||
|   eval $command 2>$IM.log || haserr=true | ||||
|  | ||||
|   echo "podman rmi --all" | ||||
|   podman rmi --all | ||||
|  | ||||
|   if [ "$haserr" = true ] | ||||
|   then  | ||||
|     if [[ $(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" | ||||
|     fi  | ||||
|   fi  | ||||
|   haserr=false | ||||
| done | ||||
|  | ||||
| echo "$errors" | ||||
| if [[ $errors != '' ]] | ||||
|   then haserr=true  | ||||
| fi | ||||
| echo "ERR=$haserr" > haserr.log | ||||
| echo $errors > errors.log | ||||
							
								
								
									
										127
									
								
								.gitea/workflows/wf_full_p10.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								.gitea/workflows/wf_full_p10.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,127 @@ | ||||
| name: Full building alt images | ||||
| on: | ||||
|   push: | ||||
|     tags: | ||||
|       - '*10*_*' | ||||
|  | ||||
| jobs: | ||||
|   build-process: | ||||
|     runs-on: alt-p10 | ||||
|     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: Update apt | ||||
|         uses: actions/init-alt-env@v1 | ||||
|       - name: Install requires | ||||
|         run: | | ||||
|           echo "apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah jq curl" | ||||
|           apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah jq curl | ||||
|           echo "apt-get install -y qemu-user-static-binfmt-aarch64 qemu-user-static-binfmt-arm qemu-user-static-binfmt-ppc" | ||||
|           apt-get install -y qemu-user-static-binfmt-aarch64 qemu-user-static-binfmt-arm qemu-user-static-binfmt-ppc           | ||||
|       - name: Check out current repo | ||||
|         uses: actions/checkout@v4 | ||||
|       - 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: 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: | | ||||
|           build_args="-b $BR -o $ORG --skip-images alt/distroless-devel"           | ||||
|           if [[ $BR == 'c10f1' || $BR == 'c10f2' ]]; then build_args="$build_args --skip-arches arm ppc64le"; fi | ||||
|           if [[ $ORG == 'k8s' ]]; then build_args="$build_args --tags tags.toml --overwrite-organization $ORG-$BR --skip-images k8s/kube-apiserver k8s/kube-controller-manager k8s/kube-proxy k8s/kube-scheduler"; fi | ||||
|           echo "build.py $build_args" | ||||
|           ${{ gitea.workspace }}/build.py $build_args | ||||
|         env: | ||||
|           ORG: ${{ env.ORG }} | ||||
|           BR: ${{ env.BRANCH }} | ||||
|         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) }} | ||||
|   test-process: | ||||
|     needs: build-process | ||||
|     if: ${{ needs.build-process.outputs.buildres == 'success' }} | ||||
|     runs-on: alt-p10 | ||||
|     steps: | ||||
|       - name: Update apt | ||||
|         uses: actions/init-alt-env@v1 | ||||
|       - name: Install requires | ||||
|         run: | | ||||
|           echo "apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah jq curl" | ||||
|           apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah jq curl | ||||
|       - name: Check out current repo | ||||
|         uses: https://gitea.com/actions/checkout@v4 | ||||
|       - name: Test | ||||
|         id: test-script | ||||
|         continue-on-error: true | ||||
|         run: | | ||||
|           $WS/.gitea/workflows/testscript $BR $ORG $URL $REPO $WS | ||||
|           cat haserr.log >> ${GITHUB_ENV} | ||||
|           echo "test process finished" | ||||
|         env: | ||||
|           BR: ${{ needs.build-process.outputs.branch }} | ||||
|           ORG: ${{ needs.build-process.outputs.org }} | ||||
|           URL: ${{ needs.build-process.outputs.url }} | ||||
|           REPO: ${{ needs.build-process.outputs.repo }} | ||||
|           WS: ${{ gitea.workspace }} | ||||
|       - name: Send notification if test crashed | ||||
|         if: ${{ env.ERR == 'true' || steps.test-script.outcome == 'failure' }} | ||||
|         run: | | ||||
|           issueid=1 | ||||
|           errors=$(cat errors.log) | ||||
|           body="Testing images finish with some errors. $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: ${{ needs.build-process.outputs.branch }} | ||||
|           URL: ${{ gitea.server_url }} | ||||
|           REPO: ${{ needs.build-process.outputs.repo }} | ||||
							
								
								
									
										127
									
								
								.gitea/workflows/wf_full_sis.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								.gitea/workflows/wf_full_sis.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,127 @@ | ||||
| name: Full building alt images | ||||
| on: | ||||
|   push: | ||||
|     tags: | ||||
|       - 'sisyphus_*' | ||||
|  | ||||
| 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: Update apt | ||||
|         uses: actions/init-alt-env@v1 | ||||
|       - name: Install requires | ||||
|         run: | | ||||
|           echo "apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah jq curl" | ||||
|           apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah jq curl | ||||
|           echo "apt-get install -y qemu-user-static-binfmt-aarch64 qemu-user-static-binfmt-arm qemu-user-static-binfmt-ppc" | ||||
|           apt-get install -y qemu-user-static-binfmt-aarch64 qemu-user-static-binfmt-arm qemu-user-static-binfmt-ppc           | ||||
|       - name: Check out current repo | ||||
|         uses: actions/checkout@v4 | ||||
|       - 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: 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: | | ||||
|           build_args="-b $BR -o $ORG --skip-images alt/distroless-devel"           | ||||
|           if [[ $BR == 'sisyphus' ]]; then build_args="$build_args --skip-arches arm"; fi | ||||
|           if [[ $ORG == 'k8s' ]]; then build_args="$build_args --tags tags.toml --overwrite-organization $ORG-$BR --skip-images k8s/kube-apiserver k8s/kube-controller-manager k8s/kube-proxy k8s/kube-scheduler"; fi | ||||
|           echo "build.py $build_args" | ||||
|           ${{ gitea.workspace }}/build.py $build_args | ||||
|         env: | ||||
|           ORG: ${{ env.ORG }} | ||||
|           BR: ${{ env.BRANCH }} | ||||
|         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) }} | ||||
|   test-process: | ||||
|     needs: build-process | ||||
|     if: ${{ needs.build-process.outputs.buildres == 'success' }} | ||||
|     runs-on: alt-sisyphus | ||||
|     steps: | ||||
|       - name: Update apt | ||||
|         uses: actions/init-alt-env@v1 | ||||
|       - name: Install requires | ||||
|         run: | | ||||
|           echo "apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah jq curl" | ||||
|           apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah jq curl | ||||
|       - name: Check out current repo | ||||
|         uses: https://gitea.com/actions/checkout@v4 | ||||
|       - name: Test | ||||
|         id: test-script | ||||
|         continue-on-error: true | ||||
|         run: | | ||||
|           $WS/.gitea/workflows/testscript $BR $ORG $URL $REPO $WS | ||||
|           cat haserr.log >> ${GITHUB_ENV} | ||||
|           echo "test process finished" | ||||
|         env: | ||||
|           BR: ${{ needs.build-process.outputs.branch }} | ||||
|           ORG: ${{ needs.build-process.outputs.org }} | ||||
|           URL: ${{ needs.build-process.outputs.url }} | ||||
|           REPO: ${{ needs.build-process.outputs.repo }} | ||||
|           WS: ${{ gitea.workspace }} | ||||
|       - name: Send notification if test crashed | ||||
|         if: ${{ env.ERR == 'true' || steps.test-script.outcome == 'failure' }} | ||||
|         run: | | ||||
|           issueid=1 | ||||
|           errors=$(cat errors.log) | ||||
|           body="Testing images finish with some errors. $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: ${{ needs.build-process.outputs.branch }} | ||||
|           URL: ${{ gitea.server_url }} | ||||
|           REPO: ${{ needs.build-process.outputs.repo }} | ||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1 +0,0 @@ | ||||
| Dockerfile | ||||
|   | ||||
							
								
								
									
										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
									
								
							
							
								
								
									
										4
									
								
								build.py
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								build.py
									
									
									
									
									
								
							| @@ -639,7 +639,7 @@ class ImagesInfo: | ||||
| def parse_args(): | ||||
|     stages = ["build", "remove_dockerfiles", "render_dockerfiles", "push"] | ||||
|     arches = ["amd64", "386", "arm64", "arm", "ppc64le"] | ||||
|     branches = ["p9", "p10", "sisyphus"] | ||||
|     branches = ["p9", "p10", "sisyphus", "c10f1", "c10f2"] | ||||
|     organizations = list(ORG_DIR.iterdir()) | ||||
|     images = [f"{o.name}/{i.name}" for o in organizations for i in o.iterdir()] | ||||
|     organizations = [o.name for o in organizations] | ||||
| @@ -667,7 +667,7 @@ def parse_args(): | ||||
|     parser.add_argument( | ||||
|         "-r", | ||||
|         "--registry", | ||||
|         default="registry.altlinux.org", | ||||
|         default="gitea.basealt.ru", | ||||
|     ) | ||||
|     parser.add_argument( | ||||
|         "--overwrite-organization", | ||||
|   | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| 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" | ||||
|  | ||||
| {{ install_pakages("apache2") }} | ||||
|  | ||||
| EXPOSE 80 | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/apache2/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/apache2/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| apachectl -v | ||||
							
								
								
									
										1
									
								
								org/alt/base/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/base/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| LC_ALL=ru_RU.UTF-8 TZ=/usr/share/zoneinfo/Europe/Moscow date| grep MSK | ||||
| @@ -2,9 +2,13 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="buildpack-deps-curl" | ||||
| LABEL org.opencontainers.image.licenses="GPLv2" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| {{ install_pakages( | ||||
|     "ca-certificates", | ||||
|     "curl", | ||||
|     "gnupg", | ||||
|     "wget" | ||||
| ) }} | ||||
| ) }} | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/buildpack-deps-curl/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/buildpack-deps-curl/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| curl --version && gpg --version | ||||
| @@ -2,6 +2,9 @@ FROM {{ registry }}{{ organization }}/buildpack-deps-curl:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="buildpack-deps-scm" | ||||
| LABEL org.opencontainers.image.licenses="GPLv2" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| {{ install_pakages( | ||||
|     "git", | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/buildpack-deps-scm/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/buildpack-deps-scm/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| git --version && hg --version | ||||
| @@ -2,6 +2,10 @@ FROM {{ registry }}{{ organization }}/buildpack-deps-scm:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="buildpack-deps" | ||||
| LABEL org.opencontainers.image.licenses="GPLv2" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| {{ install_pakages( | ||||
|     "ImageMagick", | ||||
|     "autoconf", | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/buildpack-deps/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/buildpack-deps/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| gcc --version && make --version | ||||
| @@ -2,6 +2,11 @@ FROM {{ registry }}{{ organization }}/base:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="devel" | ||||
| LABEL org.opencontainers.image.description="This image is only for devel or testing purposes" | ||||
| LABEL org.opencontainers.image.licenses="GPLv2" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| # install editor | ||||
| {{ install_pakages("vim-console") }} | ||||
|  | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/devel/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/devel/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| man --version && ip -V && vim --version | grep vim | ||||
| @@ -2,6 +2,11 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="distroless-builder" | ||||
| LABEL org.opencontainers.image.description="This images is using to build tarball for distroless images" | ||||
| LABEL org.opencontainers.image.licenses="GPLv2" | ||||
| 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_pakages("python3", "glibc-utils", "apt-repo") }} | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/distroless-builder/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/distroless-builder/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| apt-repo --version | ||||
							
								
								
									
										1
									
								
								org/alt/distroless-devel/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/distroless-devel/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ss -V | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="etcd" | ||||
| LABEL org.opencontainers.image.description="Distributed reliable key-value store for the most critical data of a distributed system" | ||||
| 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_pakages("etcd") }} | ||||
|  | ||||
| VOLUME /data | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/etcd/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/etcd/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| etcdctl version | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="gitea" | ||||
| LABEL org.opencontainers.image.description="Git with a cup of tea, painless self-hosted git service" | ||||
| 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_pakages("gitea", "openssh-server", "gosu") }} | ||||
|  | ||||
| ENV USER gitea | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/gitea/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/gitea/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| gitea --version | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="nginx" | ||||
| LABEL org.opencontainers.image.description="Fast HTTP server, extremely useful as an Apache frontend" | ||||
| LABEL org.opencontainers.image.source="https://nginx.org/" | ||||
| LABEL org.opencontainers.image.licenses="BSD" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| {{ install_pakages("nginx", "apache2-html", "tzdata") }} | ||||
|  | ||||
| RUN cd /etc/nginx/sites-enabled.d && ln -s ../sites-available.d/default.conf . | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/nginx/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/nginx/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| nginx -v | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ organization }}/buildpack-deps:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="node" | ||||
| LABEL org.opencontainers.image.description="Evented I/O for V8 Javascript" | ||||
| LABEL org.opencontainers.image.source="https://github.com/nodejs/node" | ||||
| LABEL org.opencontainers.image.licenses="MIT" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| RUN groupadd --gid 1000 node \ | ||||
|     && useradd --uid 1000 --gid node --shell /bin/bash --create-home node | ||||
|  | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/node/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/node/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| node -v | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="prometheus" | ||||
| LABEL org.opencontainers.image.description="Prometheus monitoring system and time series database" | ||||
| 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_pakages("prometheus") }} | ||||
|  | ||||
| WORKDIR /var/lib/prometheus | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/prometheus/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/prometheus/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| prometheus --version | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ organization }}/base:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="python" | ||||
| LABEL org.opencontainers.image.description="Python 3 and tools needed for development" | ||||
| 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_pakages( | ||||
|     "python3-module-pip", | ||||
|     "python3-module-setuptools", | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/python/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/python/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| python3 --version | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="registry" | ||||
| LABEL org.opencontainers.image.description="The Docker toolset to pack, ship, store, and deliver content" | ||||
| 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_pakages("docker-registry") }} | ||||
|  | ||||
| RUN ln -sf /usr/bin/docker-registry /bin/registry | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/registry/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/registry/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| registry --version | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="ruby" | ||||
| LABEL org.opencontainers.image.description="Interactive Ruby Shell" | ||||
| 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_pakages("irb") }} | ||||
|  | ||||
| CMD ["irb"] | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/ruby/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/ruby/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ruby --version | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ organization }}/base:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="systemd" | ||||
| LABEL org.opencontainers.image.description="Systemd System V init tools" | ||||
| LABEL org.opencontainers.image.source="https://github.com/systemd/systemd" | ||||
| LABEL org.opencontainers.image.licenses="LGPLv2.1+" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| ENV container docker | ||||
|  | ||||
| {{ install_pakages("systemd-sysvinit") }} | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/systemd/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/systemd/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ls -la /sbin/init | grep systemd | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="unit" | ||||
| LABEL org.opencontainers.image.description="NGINX Unit is a lightweight and versatile web-server" | ||||
| LABEL org.opencontainers.image.source="https://github.com/nginx/unit" | ||||
| LABEL org.opencontainers.image.licenses="Apache-2.0" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| RUN apt-get update && \ | ||||
|     apt-get install -y unit curl tzdata; \ | ||||
|     rm -f /var/cache/apt/archives/*.rpm \ | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/alt/unit/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/alt/unit/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| unitd --version | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="cert-manager-cainjector" | ||||
| LABEL org.opencontainers.image.description="Cainjector component for automatic provisioning and managing TLS certificates in Kubernetes" | ||||
| LABEL org.opencontainers.image.source="https://github.com/cert-manager/cert-manager" | ||||
| LABEL org.opencontainers.image.licenses="Apache-2.0" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| {{ install_pakages("cert-manager") }} | ||||
|  | ||||
| RUN groupadd -r -g 1000 cert-manger && useradd --no-log-init -r -u 1000 -g cert-manger cert-manger | ||||
|   | ||||
							
								
								
									
										1
									
								
								org/k8s/cert-manager-cainjector/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								org/k8s/cert-manager-cainjector/test
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| cainjector --help | ||||
| @@ -2,6 +2,12 @@ FROM {{ registry }}{{ alt_image }}:{{ branch }} | ||||
|  | ||||
| MAINTAINER alt-cloud | ||||
|  | ||||
| LABEL org.opencontainers.image.title="cert-manager-controller" | ||||
| LABEL org.opencontainers.image.description="Controller component for automatic provisioning and managing TLS certificates in Kubernetes" | ||||
| LABEL org.opencontainers.image.source="https://github.com/cert-manager/cert-manager" | ||||
| LABEL org.opencontainers.image.licenses="Apache-2.0" | ||||
| LABEL org.opencontainers.image.vendor="ALT Linux Team" | ||||
|  | ||||
| {{ install_pakages("cert-manager") }} | ||||
|  | ||||
| RUN groupadd -r -g 1000 cert-manger && useradd --no-log-init -r -u 1000 -g cert-manger cert-manger | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user