Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53e8111ec3 | ||
|
|
821281d71f | ||
|
|
e646bd801e | ||
|
|
9791f4a007 | ||
|
|
29d2351597 | ||
|
|
46cfd03a37 |
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
@@ -43,6 +43,7 @@ jobs:
|
||||
helm-pack:
|
||||
name: Pack the Helm chart
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build-docker-image]
|
||||
defaults: {run: {working-directory: ./deployments/helm}}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
21
.github/workflows/tests.yml
vendored
21
.github/workflows/tests.yml
vendored
@@ -24,26 +24,9 @@ jobs:
|
||||
- {uses: actions/checkout@v4, with: {fetch-depth: 0}}
|
||||
- uses: gacts/gitleaks@v1
|
||||
|
||||
filter:
|
||||
name: Filter files
|
||||
runs-on: ubuntu-latest
|
||||
permissions: {pull-requests: read}
|
||||
outputs:
|
||||
docker: ${{ steps.filter.outputs.docker }}
|
||||
helm: ${{ steps.filter.outputs.helm }}
|
||||
steps:
|
||||
- uses: dorny/paths-filter@v3
|
||||
id: filter
|
||||
with:
|
||||
filters: |
|
||||
docker: [Dockerfile, '*docker*', '*3proxy*']
|
||||
helm: ['deployments/helm/**', '*kube*']
|
||||
|
||||
lint-charts:
|
||||
name: Lint the chart
|
||||
runs-on: ubuntu-latest
|
||||
needs: [filter]
|
||||
if: needs.filter.outputs.helm == 'true'
|
||||
defaults: {run: {working-directory: ./deployments/helm}}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -55,8 +38,6 @@ jobs:
|
||||
build-image:
|
||||
name: Build the docker image
|
||||
runs-on: ubuntu-latest
|
||||
needs: [filter] # since this is the initial step, we can filter out the rest of the jobs right here to skip them
|
||||
if: needs.filter.outputs.docker == 'true'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: docker build -f ./Dockerfile --tag 3proxy:local .
|
||||
@@ -68,7 +49,7 @@ jobs:
|
||||
retention-days: 1
|
||||
|
||||
try-to-use:
|
||||
name: Build and use the docker image (auth ${{ matrix.auth }})
|
||||
name: Try to use the docker image (auth ${{ matrix.auth }})
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
13
Dockerfile
13
Dockerfile
@@ -1,9 +1,9 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM gcc:13.3.0 AS builder
|
||||
FROM docker.io/library/gcc:14.2.0 AS builder
|
||||
|
||||
# renovate: source=github-tags name=3proxy/3proxy
|
||||
ARG Z3PROXY_VERSION=0.9.4
|
||||
ARG Z3PROXY_VERSION=0.9.5
|
||||
|
||||
# Fetch 3proxy sources
|
||||
RUN set -x \
|
||||
@@ -34,10 +34,11 @@ RUN set -x \
|
||||
&& strip ./bin/TrafficPlugin.ld.so \
|
||||
&& strip ./bin/PCREPlugin.ld.so \
|
||||
&& strip ./bin/TransparentPlugin.ld.so \
|
||||
&& strip ./bin/SSLPlugin.ld.so
|
||||
&& strip ./bin/SSLPlugin.ld.so \
|
||||
&& cp /lib/$(gcc -dumpmachine)/libdl.so.* /tmp/3proxy/
|
||||
|
||||
# Prepare filesystem for 3proxy running
|
||||
FROM alpine:latest AS buffer
|
||||
FROM docker.io/library/alpine:latest AS buffer
|
||||
|
||||
# create a directory for the future root filesystem
|
||||
WORKDIR /tmp/rootfs
|
||||
@@ -53,7 +54,7 @@ RUN set -x \
|
||||
&& chmod +x ./bin/dumb-init \
|
||||
&& apk del .build-deps
|
||||
|
||||
COPY --from=builder /lib/*-linux-gnu/libdl.so.* ./lib/
|
||||
COPY --from=builder /tmp/3proxy/libdl.so.* ./lib/
|
||||
COPY --from=builder /tmp/3proxy/bin/3proxy ./bin/3proxy
|
||||
COPY --from=builder /tmp/3proxy/bin/*.ld.so ./usr/local/3proxy/libexec/
|
||||
COPY --from=ghcr.io/tarampampam/mustpl:0.1.1 /bin/mustpl ./bin/mustpl
|
||||
@@ -63,7 +64,7 @@ COPY 3proxy.cfg.mustach ./etc/3proxy/3proxy.cfg.mustach
|
||||
RUN chown -R 10001:10001 ./etc/3proxy
|
||||
|
||||
# Merge into a single layer
|
||||
FROM busybox:stable-glibc
|
||||
FROM docker.io/library/busybox:stable-glibc
|
||||
|
||||
LABEL \
|
||||
org.opencontainers.image.title="3proxy" \
|
||||
|
||||
@@ -72,14 +72,14 @@ spec:
|
||||
- name: {{ $authLoginEnvName }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
||||
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||
{{- else if .fromConfigMap.enabled }}
|
||||
- name: {{ $authLoginEnvName }}
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
||||
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -91,14 +91,14 @@ spec:
|
||||
- name: {{ $authPasswordEnvName }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
||||
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||
{{- else if .fromConfigMap.enabled }}
|
||||
- name: {{ $authPasswordEnvName }}
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
||||
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -112,14 +112,14 @@ spec:
|
||||
- name: {{ $extraAuthAccountsEnvName }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
||||
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||
{{- else if .fromConfigMap.enabled }}
|
||||
- name: {{ $extraAuthAccountsEnvName }}
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
||||
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user