Skip to content

Commit 0603579

Browse files
muicodertangyang
authored andcommitted
AIO for master
Signed-off-by: muicoder <muicoder@gmail.com>
1 parent 002d0f9 commit 0603579

File tree

21 files changed

+408
-44
lines changed

21 files changed

+408
-44
lines changed

.github/workflows/action.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
env:
2+
OEM: ${{ inputs.oem }}
3+
jobs:
4+
logical-backup:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- name: Checkout
8+
uses: actions/checkout@v3
9+
- name: Set up QEMU
10+
uses: docker/setup-qemu-action@v2
11+
- name: Set up Docker Buildx
12+
uses: docker/setup-buildx-action@v2
13+
- name: Login to DockerHub
14+
uses: docker/login-action@v2
15+
with:
16+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
17+
username: ${{ secrets.DOCKERHUB_USERNAME }}
18+
- name: Build and push
19+
uses: docker/build-push-action@v3
20+
with:
21+
context: logical-backup
22+
file: logical-backup/Dockerfile
23+
platforms: linux/amd64,linux/arm64
24+
provenance: false
25+
pull: true
26+
push: true
27+
sbom: false
28+
tags: ${{ secrets.DOCKERHUB_USERNAME }}/logical-backup:latest
29+
pgbouncer:
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@v3
34+
- name: Set up QEMU
35+
uses: docker/setup-qemu-action@v2
36+
- name: Set up Docker Buildx
37+
uses: docker/setup-buildx-action@v2
38+
- name: Login to DockerHub
39+
uses: docker/login-action@v2
40+
with:
41+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
42+
username: ${{ secrets.DOCKERHUB_USERNAME }}
43+
- name: Build and push
44+
uses: docker/build-push-action@v3
45+
with:
46+
file: docker/pooler.Dockerfile
47+
platforms: linux/amd64,linux/arm64
48+
provenance: false
49+
pull: true
50+
push: true
51+
sbom: false
52+
tags: ${{ secrets.DOCKERHUB_USERNAME }}/pgbouncer:latest
53+
postgres-operator:
54+
runs-on: ubuntu-latest
55+
steps:
56+
- name: Checkout
57+
uses: actions/checkout@v3
58+
with:
59+
fetch-depth: 0
60+
- uses: actions/setup-go@v5
61+
with:
62+
go-version: "~1.22"
63+
- name: Set up QEMU
64+
uses: docker/setup-qemu-action@v2
65+
- name: Set up Docker Buildx
66+
uses: docker/setup-buildx-action@v2
67+
- name: Login to DockerHub
68+
uses: docker/login-action@v2
69+
with:
70+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
71+
username: ${{ secrets.DOCKERHUB_USERNAME }}
72+
- name: Building
73+
run: make deps && make codegen && hack/rename-codegen.sh && for ta in amd64 arm64; do go env -w GOARCH=$ta && make local && kubectl-pg/build.sh $PWD/build/kubectl-pg && mv build docker/$ta; done;tree docker
74+
- name: Build and push
75+
uses: docker/build-push-action@v3
76+
with:
77+
context: docker
78+
platforms: linux/amd64,linux/arm64
79+
provenance: false
80+
pull: true
81+
push: true
82+
sbom: false
83+
tags: ${{ secrets.DOCKERHUB_USERNAME }}/postgres-operator:${{ env.OEM }}
84+
name: buildImage
85+
on:
86+
workflow_dispatch:
87+
inputs:
88+
oem:
89+
default: sensoro
90+
description: OEM
91+
required: true
92+
type: string

.github/workflows/syncImages.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
jobs:
2+
module:
3+
needs:
4+
- versions
5+
runs-on: ubuntu-latest
6+
steps:
7+
- id: version
8+
name: build
9+
run: |
10+
buildah version
11+
date >"$(hostname)"
12+
until sudo curl -sL "https://github.com/nicholasdille/buildah-static/releases/download/$(curl -fsSL "https://api.github.com/repos/nicholasdille/buildah-static/releases/latest" | yq .tag_name)/buildah-amd64.tar.gz" | tar -C ~ -xz "bin/buildah" --strip-components=1; do
13+
sleep "$(($(grep -v ^$ -c "$(hostname)") * 2))s"
14+
date >>"$(hostname)"
15+
done
16+
if ~/buildah inspect "ghcr.io/zalando/${{ matrix.module }}:${{ matrix.version }}" >/dev/null; then
17+
echo "FROM ghcr.io/zalando/${{ matrix.module }}:${{ matrix.version }}" >Dockerfile
18+
echo "platforms=linux/amd64,linux/arm64" >>$GITHUB_OUTPUT
19+
else
20+
echo "FROM registry.opensource.zalan.do/acid/${{ matrix.module }}:${{ matrix.version }} AS pgbouncer" >Dockerfile
21+
echo "platforms=linux/amd64" >>$GITHUB_OUTPUT
22+
fi
23+
case ${{ matrix.module }} in
24+
pgbouncer)
25+
echo "RUN sed -i -E 's~(_tls_sslmode =).+~\1 prefer~g;s~(_tls_protocols =).+~\1 all~;s~(^stats_users_.+)~#\1~' /etc/pgbouncer/pgbouncer.ini.tmpl" >>Dockerfile
26+
echo "FROM registry.opensource.zalan.do/acid/${{ matrix.module }}:${{ matrix.version }}" >>Dockerfile
27+
echo "COPY --from=pgbouncer /etc/pgbouncer/pgbouncer.ini.tmpl /etc/pgbouncer/pgbouncer.ini.tmpl" >>Dockerfile
28+
;;
29+
esac
30+
~/buildah version
31+
cat Dockerfile
32+
- name: Set up QEMU
33+
uses: docker/setup-qemu-action@v2
34+
- name: Set up Docker Buildx
35+
uses: docker/setup-buildx-action@v2
36+
- name: Login to DockerHub
37+
uses: docker/login-action@v2
38+
with:
39+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
40+
username: ${{ secrets.DOCKERHUB_USERNAME }}
41+
- name: Build and push
42+
uses: docker/build-push-action@v3
43+
with:
44+
context: .
45+
platforms: ${{ steps.version.outputs.platforms }}
46+
provenance: false
47+
pull: true
48+
push: true
49+
sbom: false
50+
tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.module }}:${{ matrix.version }}
51+
strategy:
52+
matrix: ${{ fromJson(needs.versions.outputs.matrix) }}
53+
versions:
54+
outputs:
55+
matrix: ${{ steps.versions.outputs.matrix }}
56+
runs-on: ubuntu-latest
57+
steps:
58+
- id: versions
59+
name: versions
60+
run: |
61+
echo IyEvdXNyL2Jpbi9lbnYgc2gKCnNldCAtZQoKcmVhZG9ubHkgcmVnaXN0cnk9InJlZ2lzdHJ5Lm9wZW5zb3VyY2UuemFsYW4uZG8iCnJlYWRvbmx5IFJFR0lTVFJZPSIkezE6LSR7UkVHSVNUUlk6LWRvY2tlci5pb319IgpyZWFkb25seSByZXBvc2l0b3J5PSJhY2lkIgpyZWFkb25seSBSRVBPU0lUT1JZPSIkezI6LSR7UkVQT1NJVE9SWTotbGlicmFyeX19IgoKY2FjaGUoKSB7CiAgY2FzZSAkUkVHSVNUUlkgaW4KICBkb2NrZXIuaW8pCiAgICBjaGVja191cmw9Imh0dHBzOi8vaHViLmRvY2tlci5jb20vdjIvcmVwb3NpdG9yaWVzLyRSRVBPU0lUT1JZLyRhcnRpZmFjdC90YWdzLyRpbWFnZV90YWciCiAgICA7OwogIGVzYWMKICBpZiAhIGN1cmwgLXNTTCAiJGNoZWNrX3VybCIgfCB5cSAtQ2VQICcuaW1hZ2VzW10uYXJjaGl0ZWN0dXJlJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICAgIGVjaG8gIiAgLSBtb2R1bGU6ICRhcnRpZmFjdCIKICAgIGVjaG8gIiAgICB2ZXJzaW9uOiAkaW1hZ2VfdGFnIgogIGZpCn0KCmVjaG8gaW5jbHVkZTogPnZlcnNpb25zCgp2ZXJzaW9uPSQoY3VybCAtZnNTTCAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy96YWxhbmRvL3Bvc3RncmVzLW9wZXJhdG9yL3JlbGVhc2VzL2xhdGVzdCIgfCB5cSAtZSAudGFnX25hbWUpCmZvciBhcnRpZmFjdCBpbiAkKGN1cmwgLS1zaWxlbnQgLVggR0VUIC0taGVhZGVyICdBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24nICJodHRwczovLyRyZWdpc3RyeS90ZWFtcy8kcmVwb3NpdG9yeS9hcnRpZmFjdHMiIHwganEgLXIgIi5bXSIgfCBncmVwIC1FICdeKHBvc3RncmVzLW9wZXJhdG9yfHBvc3RncmVzLW9wZXJhdG9yLXVpfGxvZ2ljYWwtYmFja3VwfHBnYm91bmNlcnxzcGlsby0xWzAtOV0rfHNwaWxvLTkuNikkJyk7IGRvCiAgY2FzZSAkYXJ0aWZhY3QgaW4KICBwZ2JvdW5jZXIpCiAgICBpbWFnZV90YWc9JChjdXJsIC0tc2lsZW50IC1YIEdFVCAtLWhlYWRlciAnQWNjZXB0OiBhcHBsaWNhdGlvbi9qc29uJyAiaHR0cHM6Ly8kcmVnaXN0cnkvdGVhbXMvJHJlcG9zaXRvcnkvYXJ0aWZhY3RzLyRhcnRpZmFjdC90YWdzIiB8IGpxIC1yICIuW10ubmFtZSIgfCBncmVwIC12RSAiListZy4rIiB8CiAgICAgIGdyZXAgLUUgIl5tYXN0ZXItWzAtOV0rJCIgfCB0YWlsIC1uIDEpCiAgICBlY2hvICIkYXJ0aWZhY3Q6JGltYWdlX3RhZyIKICAgIGNhY2hlID4+dmVyc2lvbnMKICAgIDs7CiAgc3BpbG8tKikKICAgIGN1cmwgLS1zaWxlbnQgLVggR0VUIC0taGVhZGVyICdBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24nICJodHRwczovLyRyZWdpc3RyeS90ZWFtcy8kcmVwb3NpdG9yeS9hcnRpZmFjdHMvJGFydGlmYWN0L3RhZ3MiIHwganEgLXIgIi5bXS5uYW1lIiB8IGdyZXAgLXZFICIuKy1nLisiID4iJGFydGlmYWN0IgogICAgYXdrIC1GLSAne3ByaW50ICQxfScgIiRhcnRpZmFjdCIgfCBzb3J0IHwgZ3JlcCAtRSAiXlswLTkuXSskIiB8IHVuaXEgfCB3aGlsZSByZWFkIC1yIG1ham9yOyBkbwogICAgICBncmVwICJeJG1ham9yLSIgIiRhcnRpZmFjdCIgfCB0YWlsIC1uIDEgfCB3aGlsZSByZWFkIC1yIGltYWdlX3RhZzsgZG8KICAgICAgICBlY2hvICIkYXJ0aWZhY3Q6JGltYWdlX3RhZyIKICAgICAgICBjYWNoZSA+PnZlcnNpb25zCiAgICAgIGRvbmUKICAgIGRvbmUKICAgIDs7CiAgKikKICAgIGltYWdlX3RhZz0kKGN1cmwgLS1zaWxlbnQgLVggR0VUIC0taGVhZGVyICdBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24nICJodHRwczovLyRyZWdpc3RyeS90ZWFtcy8kcmVwb3NpdG9yeS9hcnRpZmFjdHMvJGFydGlmYWN0L3RhZ3MiIHwganEgLXIgIi5bXS5uYW1lIiB8IGdyZXAgLXZFICIuKy1nLisiIHwKICAgICAgZ3JlcCAiJHZlcnNpb24iKQogICAgZWNobyAiJGFydGlmYWN0OiRpbWFnZV90YWciCiAgICBjYWNoZSA+PnZlcnNpb25zCiAgICA7OwogIGVzYWMKICBlY2hvCmRvbmUKCmlmICEgZ3JlcCB2ZXJzaW9uOiB2ZXJzaW9ucyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBjYXQgPDxFT0YgPnZlcnNpb25zCmluY2x1ZGU6CiAgLSBtb2R1bGU6IHBvc3RncmVzLW9wZXJhdG9yCiAgICB2ZXJzaW9uOiAkdmVyc2lvbgpFT0YKZmkK | base64 -d | bash -s -- docker.io ${{ secrets.DOCKERHUB_USERNAME }}
62+
yq -CP versions
63+
echo "matrix=$(yq -oj versions | jq -rc)" >>$GITHUB_OUTPUT
64+
name: syncImages
65+
on:
66+
schedule:
67+
- cron: '30 */1 * * *'
68+
workflow_dispatch:

.github/workflows/syncSpilo.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
env:
2+
IV: ${{ inputs.imageVersion }}
3+
jobs:
4+
spilo:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- name: Set up QEMU
8+
uses: docker/setup-qemu-action@v2
9+
- name: Set up Docker Buildx
10+
uses: docker/setup-buildx-action@v2
11+
- name: Login to DockerHub
12+
uses: docker/login-action@v2
13+
with:
14+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
15+
username: ${{ secrets.DOCKERHUB_USERNAME }}
16+
- id: build
17+
name: build
18+
run: |
19+
echo "FROM $IV" >Dockerfile
20+
echo 'RUN curl -fsSL https://github.com/${{ secrets.DOCKERHUB_USERNAME }}/postgres-operator/raw/action/docker/syncSpiloExt.sh | sh' >>Dockerfile
21+
echo "imageVersion=${IV##*/}" >>$GITHUB_OUTPUT
22+
- name: Build and push
23+
uses: docker/build-push-action@v3
24+
with:
25+
context: .
26+
platforms: linux/amd64,linux/arm64
27+
provenance: false
28+
pull: true
29+
push: true
30+
sbom: false
31+
tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ steps.build.outputs.imageVersion }}
32+
name: syncSpilo
33+
on:
34+
workflow_dispatch:
35+
inputs:
36+
imageVersion:
37+
default: ghcr.io/zalando/spilo-16:3.3-p1
38+
description: https://github.com/orgs/zalando/packages?repo_name=spilo
39+
required: true
40+
type: string

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ GITHEAD = $(shell git rev-parse --short HEAD)
1818
GITURL = $(shell git config --get remote.origin.url)
1919
GITSTATUS = $(shell git status --porcelain || echo "no changes")
2020
SOURCES = cmd/main.go
21-
VERSION ?= $(shell git describe --tags --always --dirty)
21+
VERSION ?= $(shell git describe --tags --always HEAD^)
2222
DIRS := cmd pkg
2323
PKG := `go list ./... | grep -v /vendor/`
2424

@@ -65,7 +65,7 @@ docker: ${DOCKERDIR}/${DOCKERFILE}
6565
echo "Tag ${TAG}"
6666
echo "Version ${VERSION}"
6767
echo "CDP tag ${CDP_TAG}"
68-
echo "git describe $(shell git describe --tags --always --dirty)"
68+
echo "git describe $(shell git describe --tags --always HEAD^)"
6969
docker build --rm -t "$(IMAGE):$(TAG)$(CDP_TAG)$(DEBUG_FRESH)$(DEBUG_POSTFIX)" -f "${DOCKERDIR}/${DOCKERFILE}" --build-arg VERSION="${VERSION}" .
7070

7171
indocker-race:

charts/postgres-operator.chart

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
readonly d_old=acid.zalan.do
6+
readonly o_old=zalando.org
7+
readonly oem=zalan
8+
readonly OEM="${OEM:-$oem}"
9+
echo "OEM: $OEM"
10+
readonly d_new="acid.$OEM.do"
11+
if [ "$OEM" = $oem ]; then
12+
readonly o_new="${oem}do.org"
13+
else
14+
readonly o_new="${OEM}.sre"
15+
fi
16+
echo "$d_old=>$d_new"
17+
echo "$o_old=>$o_new"
18+
toFU() {
19+
local str firstLetter otherLetter
20+
str=$1
21+
firstLetter=$(echo "${str:0:1}" | awk '{print toupper($0)}')
22+
otherLetter=${str:1}
23+
echo "$firstLetter$otherLetter"
24+
}
25+
if [ "$OEM" != $oem ]; then
26+
grep -rl $oem | grep .y\*ml$ | grep -v ui/ | while read -r f; do
27+
sed "s~$d_old~$d_new~g;s~$o_old~$o_new~g;s~registry.opensource.zalan.do/acid~docker.io/muicoder~g;s~ghcr.io/zalando~ghcr.io/muicoder~g;s~Zalando~$(toFU "$OEM")~g;s~zalando~$OEM~g" <"$f" >"$f.bak" && mv "$f.bak" "$f"
28+
done
29+
fi

docker/Dockerfile

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,9 @@
1-
ARG BASE_IMAGE=registry.opensource.zalan.do/library/alpine-3:latest
2-
FROM golang:1.22-alpine AS builder
3-
ARG VERSION=latest
4-
5-
COPY . /go/src/github.com/zalando/postgres-operator
6-
WORKDIR /go/src/github.com/zalando/postgres-operator
7-
8-
RUN GO111MODULE=on go mod vendor \
9-
&& CGO_ENABLED=0 go build -o build/postgres-operator -v -ldflags "-X=main.version=${VERSION}" cmd/main.go
10-
11-
FROM ${BASE_IMAGE}
12-
LABEL maintainer="Team ACID @ Zalando <team-acid@zalando.de>"
13-
LABEL org.opencontainers.image.source="https://github.com/zalando/postgres-operator"
14-
1+
FROM alpine:3.16
2+
ARG TARGETARCH
153
# We need root certificates to deal with teams api over https
16-
RUN apk -U upgrade --no-cache \
17-
&& apk add --no-cache curl ca-certificates
4+
RUN apk --no-cache add curl ca-certificates
185

19-
COPY --from=builder /go/src/github.com/zalando/postgres-operator/build/* /
6+
COPY $TARGETARCH/* /
207

218
RUN addgroup -g 1000 pgo
229
RUN adduser -D -u 1000 -G pgo -g 'Postgres Operator' pgo

docker/pooler.Dockerfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
FROM alpine:3.16 AS builder
2+
# Inspiration from https://github.com/edoburu/docker-pgbouncer/blob/master/Dockerfile
3+
RUN apk add --no-cache autoconf automake c-ares-dev curl gcc libc-dev libevent-dev libtool make openssl-dev pkgconf-dev && \
4+
curl -sL https://www.pgbouncer.org/downloads/files/1.23.1/pgbouncer-1.23.1.tar.gz | tar -xzv && \
5+
cd pgbouncer-* && \
6+
curl -sL https://github.com/pgbouncer/pgbouncer/archive/d67357dd3fc0c65f342f0a4296baeccf8bc349c0.tar.gz | tar -xzv --strip-components=1 && \
7+
./configure --prefix=/usr/local && make && make install && ls -lt
8+
FROM registry.opensource.zalan.do/acid/pgbouncer:master-32 AS pgbouncer
9+
RUN sed -i -E 's~(_tls_sslmode =).+~\1 prefer~g;s~(_tls_protocols =).+~\1 all~;s~(^stats_users_.+)~# \1~' /etc/pgbouncer/pgbouncer.ini.tmpl
10+
FROM scratch AS cache
11+
COPY --from=builder /usr/local/bin/pgbouncer /bin/pgbouncer
12+
COPY --from=pgbouncer /entrypoint.sh /entrypoint.sh
13+
COPY --from=pgbouncer /etc/pgbouncer/auth_file.txt.tmpl /etc/pgbouncer/auth_file.txt.tmpl
14+
COPY --from=pgbouncer /etc/pgbouncer/pgbouncer.ini.tmpl /etc/pgbouncer/pgbouncer.ini.tmpl
15+
FROM alpine:3.16
16+
COPY --from=cache / /
17+
RUN apk --no-cache add libevent openssl c-ares gettext ca-certificates postgresql-client && \
18+
addgroup -S pgbouncer && adduser -S pgbouncer && mkdir -p /etc/pgbouncer /var/log/pgbouncer /var/run/pgbouncer && \
19+
chown -R pgbouncer:pgbouncer /etc/pgbouncer /var/log/pgbouncer /var/run/pgbouncer /etc/ssl/certs
20+
USER pgbouncer:pgbouncer
21+
ENTRYPOINT ["/entrypoint.sh"]

docker/syncImages.sh

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#! /bin/sh
2+
3+
set -e
4+
5+
if ! buildah version 2>/dev/null; then
6+
date >"$(hostname)"
7+
until sudo curl -fsSL "https://github.com/nicholasdille/buildah-static/releases/download/$(curl -fsSL "https://api.github.com/repos/nicholasdille/buildah-static/releases/latest" | grep tag_name | awk -F\" '{print $(NF-1)}')/buildah-$(
8+
case $(uname -m) in
9+
x86_64)
10+
echo amd64
11+
;;
12+
aarch64)
13+
echo arm64
14+
;;
15+
esac
16+
).tar.gz" | tar xz -C /usr/bin --no-same-owner --strip-components=1 "bin/buildah"; do
17+
sleep "$(($(grep -v ^$ -c "$(hostname)") * 2))s"
18+
date >>"$(hostname)"
19+
done
20+
rm "$(hostname)"
21+
fi
22+
23+
REGISTRY=docker.io
24+
REPOSITORY=muicoder
25+
{
26+
echo postgres-operator:action
27+
echo logical-backup:action
28+
} | while read -r repository; do
29+
echo IyEvYmluL3NoCgpSRUdJU1RSWT0ke1JFR0lTVFJZOi1kb2NrZXIuaW99ClJFUE9TSVRPUlk9JHtSRVBPU0lUT1JZOi1tdWljb2Rlcn0KCkNNRD0kKGlmIHNlYWxvcyA+L2Rldi9udWxsOyB0aGVuIGVjaG8gc2VhbG9zOyBlbGlmIGJ1aWxkYWggPi9kZXYvbnVsbDsgdGhlbiBlY2hvIGJ1aWxkYWg7IGZpKQpNRj0ibWY6JChkYXRlICslRikiCgptYW5pZmVzdCgpIHsKICByZXBvc2l0b3J5PSQxCiAgdGFncz0kMgogIHRhZ0FsbD0kMwogIGVjaG8gIiR0YWdzIiB8IHNlZCAic34sflxufmciIHwgd2hpbGUgcmVhZCAtciB0YWc7IGRvCiAgICBlY2hvICIkUkVHSVNUUlkvJFJFUE9TSVRPUlkvJHJlcG9zaXRvcnk6JHRhZyIKICBkb25lIHwgeGFyZ3MgJENNRCBtYW5pZmVzdCBjcmVhdGUgLS1hbGwgIiRNRiIKICAkQ01EIG1hbmlmZXN0IHB1c2ggIiRNRiIgImRvY2tlcjovLyRSRUdJU1RSWS8kUkVQT1NJVE9SWS8kcmVwb3NpdG9yeTokdGFnQWxsIgogICRDTUQgbWFuaWZlc3Qgcm0gIiRNRiIgfHwgdHJ1ZQp9CgptYW5pZmVzdCAiJHsxOi1rOXN9IiAiJHsyOi1hY3Rpb24tYXJtNjQsYWN0aW9uLWFtZDY0fSIgIiR7Mzotc3RhYmxlfSIK |base64 -d|sh -s ${repository%:*} ${repository#*:} ${1:-v1.10.x}
30+
done

0 commit comments

Comments
 (0)