10 Commits

Author SHA1 Message Date
Alexey Kostarev
996233de33 Delete unused files 2024-07-26 13:43:20 +05:00
Alexey Kostarev
9ae5a1cd19 Added flux2 controller images based on task 353490 2024-07-26 13:18:47 +05:00
eb04d81fa7 docs: update README.md 2024-06-10 16:46:34 +03:00
Nadezhda Fedorova
4b4609ea9b add workflow for p11
Some checks failed
Full building alt images / test-process (push) Has been cancelled
Full building alt images / build-process (push) Has been cancelled
2024-06-10 13:05:48 +03:00
Nadezhda Fedorova
733f065152 fix grafana template 2024-06-10 13:05:26 +03:00
Nadezhda Fedorova
0e8a71d1cf add branch p11 2024-06-10 12:45:32 +03:00
Nadezhda Fedorova
359481a018 add images grafana loki golang php 2024-06-07 17:27:23 +03:00
Nadezhda Fedorova
8466221285 add images prometheus, python2 2024-06-04 18:47:09 +03:00
ab4b19f839 feat: add new cert-manager images
- cert-manager-startupapicheck
- cert-manager-acmesolver
2024-05-29 16:16:57 +03:00
3f432b2a9a feat: upadate cert-manager images 2024-05-29 16:16:36 +03:00
184 changed files with 512 additions and 1702 deletions

View File

@@ -6,70 +6,53 @@
#$4 - ${{ needs.build-process.outputs.repo }}
#$5 - ${{ gitea.workspace }}
BR=${1:-"p10"}
ORG=${2:-"base"}
URL=${3:-"gitea.basealt.ru"}
REPO=${4:-"alt"}
WS=${5:-"image-forge"}
errors=''
haserr=false
for IM in $(ls $WS/org/$ORG/ | xargs)
for IM in $(ls $5/org/$2/ | xargs)
do
echo "image=$IM"
imgpath="$REPO/$BR/$IM:$BR"
command=''
testpath="$WS/org/$ORG/$IM/test.yaml"
if test -f $testpath
then
entrypoint=''
testep=$(cat $testpath | yq '.entrypoint' -r 2> /dev/null)
if [[ $testep != '' ]]; then entrypoint="--entrypoint=\"$testep\""; fi
if test -f $5/org/$2/$IM/test
then
test=$(cat $5/org/$2/$IM/test)
else test=''
fi
testcom=$(cat $testpath | yq '.command' -r 2> /dev/null)
if [[ $testcom != '' ]]
then command="podman run --rm $entrypoint $URL/$imgpath -c \"$testcom\""
else echo "test command is not found"
fi
else echo "test file is not found"
echo "test script=$test"
imgpath="$2/$IM:$1"
if [[ $2 == 'k8s' ]]
then imgpath="$2-$1/$IM:latest"
fi
echo "result test command: $command"
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
if [ "$haserr" = false ]
then
echo "start change tag for $IM"
if [[ $ORG != 'base' ]]
then
package=$(podman images --filter reference=$URL/$imgpath --format='{{ json .Labels }}' | jq '."org.opencontainers.image.title"' -r 2> /dev/null)
if [[ $package != '' ]]
then
tag=$(podman run --rm --entrypoint="/bin/sh" $URL/$imgpath -c "rpm -qa --qf \"%{VERSION}\n\" $package" 2> /dev/null)
else
echo "not found package name in images labels"
fi
else
then tag=$(date +"%Y%m%d")
fi
if [[ $tag != '' ]]
then
skopeo copy -a docker://$URL/$imgpath:$BR docker://$URL/$imgpath:$tag
scopeo delete docker://$URL/$imgpath:$BR
echo "tag is updated"
else echo "new tag is empty and is not sent to repository"
fi
else
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
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

View File

@@ -2,10 +2,7 @@ name: Full building alt images
on:
push:
tags:
- '*_*'
tags-ignore:
- '*_k8s'
- 'sisyphus_*'
- '*10*_*'
jobs:
build-process:
@@ -61,10 +58,11 @@ jobs:
env:
P_USER: ${{ secrets.PODMAN_USER }}
P_PASS: ${{ secrets.PODMAN_PASS }}
- name: Run standart building script
- name: Run building script
id: build-script
run: |
build_args="-b $BR -o $ORG --skip-images base/distroless-devel --overwrite-organization $BR --registry $URL/$BR"
build_args="-b $BR -o $ORG --skip-images alt/distroless-devel"
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:
@@ -103,18 +101,11 @@ jobs:
uses: actions/init-alt-env@v1
- name: Install requires
run: |
echo "apt-get install -y python3-module-tomli python3-module-jinja2 podman buildah skopeo jq yq curl"
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: Login podman gitea
run: |
echo "podman login ${{ env.URL }}"
podman login --username $P_USER --password $P_PASS ${{ needs.build-process.outputs.url }}
env:
P_USER: ${{ secrets.PODMAN_USER }}
P_PASS: ${{ secrets.PODMAN_PASS }}
- name: Test images and update tags
- name: Test
id: test-script
continue-on-error: true
run: |

View File

@@ -0,0 +1,126 @@
name: Full building alt images
on:
push:
tags:
- 'p11_*'
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 [[ $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 }}

View File

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

View File

@@ -639,7 +639,7 @@ class ImagesInfo:
def parse_args():
stages = ["build", "remove_dockerfiles", "render_dockerfiles", "push"]
arches = ["amd64", "386", "arm64"]
branches = ["p10", "sisyphus", "c10f1", "c10f2"]
branches = ["p11", "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]

1
org/alt/apache2/test Normal file
View File

@@ -0,0 +1 @@
apachectl -v

1
org/alt/base/test Normal file
View File

@@ -0,0 +1 @@
LC_ALL=ru_RU.UTF-8 TZ=/usr/share/zoneinfo/Europe/Moscow date| grep MSK

View File

@@ -0,0 +1 @@
curl --version && gpg --version

View File

@@ -0,0 +1 @@
git --version && hg --version

View File

@@ -0,0 +1 @@
gcc --version && make --version

View File

@@ -0,0 +1 @@
apt-repo --version

View File

@@ -0,0 +1 @@
ss -V

1
org/alt/etcd/test Normal file
View File

@@ -0,0 +1 @@
etcdctl version

1
org/alt/gitea/test Normal file
View File

@@ -0,0 +1 @@
gitea --version

View File

@@ -0,0 +1,11 @@
FROM {{ registry }}{{ organization }}/base:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="golang"
LABEL org.opencontainers.image.description="The Golang environment for development"
LABEL org.opencontainers.image.source="https://github.com/golang/go"
LABEL org.opencontainers.image.licenses="BSD"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("golang") }}

View File

@@ -0,0 +1,22 @@
FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="grafana"
LABEL org.opencontainers.image.description="Metrics dashboard and graph editor"
LABEL org.opencontainers.image.source="https://github.com/grafana/grafana"
LABEL org.opencontainers.image.licenses="AGPL-3.0-only AND Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("grafana") }}
USER grafana
EXPOSE 3000
VOLUME ["/var/lib/grafana"]
ENV GF_PATHS_PROVISIONING=/etc/grafana/provisioning
ENV GF_AUTH_ANONYMOUS_ENABLED=true
ENV GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
ENTRYPOINT [ "/usr/bin/grafana" ]
CMD [ "server", "--config=/etc/grafana/grafana.ini", "--homepath=/usr/share/grafana", "--packaging=docker", "-configOverrides='cfg:default.paths.provisioning=/etc/grafana/provisioning cfg:default.paths.data=/var/lib/grafana cfg:default.paths.logs=/var/log/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins'" ]

View File

@@ -0,0 +1,6 @@
# Prometheus image
Command for run:
```
docker run -d --name="grafana" -p 3000:3000 -v grafana-data:/var/lib/grafana IMAGENAME
```

View File

@@ -0,0 +1,19 @@
FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="loki"
LABEL org.opencontainers.image.description="Like Prometheus, but for logs"
LABEL org.opencontainers.image.source="https://github.com/grafana/loki"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("loki") }}
USER _loki:_loki
VOLUME ["/var/lib/loki", "/etc/loki/loki.yml"]
EXPOSE 3100
ENTRYPOINT ["/usr/bin/loki"]
CMD ["-config.file=/etc/loki/loki.yaml"]

6
org/alt/loki/README.md Normal file
View File

@@ -0,0 +1,6 @@
# Prometheus image
Command for run:
```
docker run -d --name="loki" -p 3100:3100 -v loki-data:/var/lib/loki -v loki-config:/etc/loki/loki.yaml IMAGENAME
```

1
org/alt/nginx/test Normal file
View File

@@ -0,0 +1 @@
nginx -v

1
org/alt/node/test Normal file
View File

@@ -0,0 +1 @@
node -v

View File

@@ -0,0 +1,14 @@
FROM {{ registry }}{{ organization }}/base:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="php"
LABEL org.opencontainers.image.description="The PHP language environment for development"
LABEL org.opencontainers.image.source="https://github.com/php/php-src"
LABEL org.opencontainers.image.licenses="PHP-3.01"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages(
"php8.2",
"php8.2-xdebug",
) }}

View File

@@ -0,0 +1,20 @@
FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="alertmanager"
LABEL org.opencontainers.image.description="The Alertmanager handles alerts sent by client applications"
LABEL org.opencontainers.image.source="https://github.com/prometheus/alertmanager"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("prometheus-alertmanager") }}
WORKDIR /var/lib/prometheus/alertmanager
RUN useradd -r -u 10001 alertmanager
RUN usermod -a -G prometheus alertmanager
USER alertmanager
EXPOSE 9093
VOLUME [ "/var/lib/prometheus/alertmanager" ]
ENTRYPOINT [ "/usr/bin/prometheus/alertmanager" ]
CMD [ "--config.file=/etc/prometheus/alertmanager.yml" ]

View File

@@ -0,0 +1,11 @@
# Prometheus alertmanager image
Command for run:
```
docker run -d --name="alertmanager" -p 9093:9093 -v promdata-am:/var/lib/prometheus/alertmanager IMAGENAME
```
*If you want to be able to view services on localhost, instead of -p, specify the flag:
```
--network="host"
```

View File

@@ -0,0 +1,19 @@
FROM {{ registry }}{{ alt_image }}:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="prometheus-node_exporter"
LABEL org.opencontainers.image.description="Prometheus exporter for hardware and OS metrics exposed by *NIX kernels"
LABEL org.opencontainers.image.source="https://github.com/prometheus/node_exporter"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages("prometheus-node_exporter") }}
WORKDIR /var/lib/prometheus/node-exporter
RUN useradd -r -u 10001 node_exporter
RUN usermod -a -G prometheus node_exporter
USER node_exporter
EXPOSE 9100
VOLUME [ "/var/lib/prometheus/node-exporter" ]
ENTRYPOINT [ "/usr/bin/prometheus-node_exporter" ]

View File

@@ -0,0 +1,11 @@
# Prometheus node_exporter image
Command for run:
```
docker run -d --name="prometheus-node_exporter" -p 9100:9100 -v promdata-ne:/var/lib/prometheus/node-exporter IMAGENAME
```
*If you want to be able to view services on localhost, instead of -p, specify the flag:
```
--network="host"
```

View File

@@ -14,4 +14,5 @@ WORKDIR /var/lib/prometheus
USER prometheus
EXPOSE 9090
VOLUME [ "/var/lib/prometheus" ]
ENTRYPOINT [ "/usr/bin/prometheus", "--config.file=/etc/prometheus/prometheus.yml"]
ENTRYPOINT [ "/usr/bin/prometheus" ]
CMD [ "--config.file=/etc/prometheus/prometheus.yml" ]

1
org/alt/prometheus/test Normal file
View File

@@ -0,0 +1 @@
prometheus --version

1
org/alt/python/test Normal file
View File

@@ -0,0 +1 @@
python3 --version

View File

@@ -0,0 +1,17 @@
FROM {{ registry }}{{ organization }}/base:{{ branch }}
MAINTAINER alt-cloud
LABEL org.opencontainers.image.title="python"
LABEL org.opencontainers.image.description="Python 2 and tools needed for development"
LABEL org.opencontainers.image.source="https://www.python.org/downloads/source"
LABEL org.opencontainers.image.licenses="Python-2.0"
LABEL org.opencontainers.image.vendor="ALT Linux Team"
{{ install_packages(
"python-module-setuptools",
"python-dev",
"gcc",
) }}
CMD ["python2"]

13
org/alt/python2/README.md Normal file
View File

@@ -0,0 +1,13 @@
dockerfiles-alt-python
=======================
ALT dockerfile for python.
Image contains python(2) and tools to get upstream python modules. Main purpose
of the image is to run python apps using upstream modules.
Copy Dockerfile somewhere and build the image:
`$ docker build --rm -t <image_name> .`
And launch the python container:
`docker run -it <image_name>`

1
org/alt/registry/test Normal file
View File

@@ -0,0 +1 @@
registry --version

1
org/alt/ruby/test Normal file
View File

@@ -0,0 +1 @@
ruby --version

1
org/alt/systemd/test Normal file
View File

@@ -0,0 +1 @@
ls -la /sbin/init | grep systemd

1
org/alt/trivy/test Normal file
View File

@@ -0,0 +1 @@
trivy --version

1
org/alt/unit/test Normal file
View File

@@ -0,0 +1 @@
unitd --version

1
org/alt/zot/test Normal file
View File

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

View File

@@ -1,6 +0,0 @@
version: '1.0'
kind: image
test:
entrypoint: /bin/sh
command: LC_ALL=ru_RU.UTF-8 TZ=/usr/share/zoneinfo/Europe/Moscow date| grep MSK
maintainers: []

View File

@@ -1,2 +0,0 @@
entrypoint: "/bin/sh"
command: "LC_ALL=ru_RU.UTF-8 TZ=/usr/share/zoneinfo/Europe/Moscow date| grep MSK"

View File

@@ -1,6 +0,0 @@
version: '1.0'
kind: image
test:
entrypoint: /bin/sh
command: curl --version && gpg --version
maintainers: []

View File

@@ -1,2 +0,0 @@
entrypoint: "/bin/sh"
command: "curl --version && gpg --version"

View File

@@ -1,6 +0,0 @@
version: '1.0'
kind: image
test:
entrypoint: /bin/sh
command: git --version && hg --version
maintainers: []

View File

@@ -1,2 +0,0 @@
entrypoint: "/bin/sh"
command: "git --version && hg --version"

View File

@@ -1,6 +0,0 @@
version: '1.0'
kind: image
test:
entrypoint: /bin/sh
command: gcc --version && make --version
maintainers: []

View File

@@ -1,2 +0,0 @@
entrypoint: "/bin/sh"
command: "gcc --version && make --version"

View File

@@ -1,4 +0,0 @@
version: '1.0'
kind: image
test: man --version && ip -V && vim --version | grep vim
maintainers: []

View File

@@ -1,6 +0,0 @@
version: '1.0'
kind: image
test:
entrypoint: /bin/sh
command: apt-repo --version
maintainers: []

View File

@@ -1,2 +0,0 @@
entrypoint: "/bin/sh"
command: "apt-repo --version"

View File

@@ -1,6 +0,0 @@
version: '1.0'
kind: image
test:
entrypoint: /bin/sh
command: ss -V
maintainers: []

View File

@@ -1,2 +0,0 @@
entrypoint: "/bin/sh"
command: "ss -V"

View File

@@ -1,6 +0,0 @@
version: '1.0'
kind: image
test:
entrypoint: ''
command: --version
maintainers: []

Some files were not shown because too many files have changed in this diff Show More