From b2aaec33d9fd0667e38f0cf0cc4e447feb0bff08 Mon Sep 17 00:00:00 2001 From: Georg K Date: Tue, 24 Jun 2025 17:49:39 +0300 Subject: [PATCH] feat: update build --- .gitlab-ci.yml | 5 +++-- Dockerfile | 6 +++--- README.md | 7 +++++++ build/Dockerfile | 20 ++++++++++++-------- build/upload.sh | 2 +- hosted/.env_cnf_example | 9 +++++++++ hosted/install.sh | 1 + 7 files changed, 36 insertions(+), 14 deletions(-) create mode 100644 hosted/.env_cnf_example diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a232549..f02d015 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ variables: CI_REGISTRY: registry.connectone.pro CONTAINER_IMAGE: ${CI_REGISTRY}/${CI_PROJECT_PATH}:${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHORT_SHA} + RADIUS_TAG: "release_3_2_7" stages: - release @@ -26,7 +27,7 @@ release-deb: DOCKER_BUILDKIT: 1 script: - cd build - - docker build . -t freerad_builder:3.2.x -f Dockerfile + - docker build --build-arg RADIUS_TAG=${RADIUS_TAG}. -t freerad_builder:3.2.x -f Dockerfile - docker run -e DEB_USER=${DEB_USER} -e DEB_PASS="${DEB_PASS}" freerad_builder:3.2.x ./upload.sh when: manual only: @@ -36,7 +37,7 @@ release-hosted: stage: release-hosted image: alpine:latest variables: - VERSION: "1.0.3" + VERSION: "${RADIUS_TAG}" script: - apk add --no-cache curl - chmod a+x hosted/install.sh hosted/update.sh diff --git a/Dockerfile b/Dockerfile index 8ccc80b..ffbfd53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,11 +20,11 @@ RUN cp hosted/config/radiusd.conf $out_dir/radiusd.conf && \ rm -f /etc/freeradius/mods-enabled/eap \ RUN rm -f /etc/freeradius/mods-enabled/delay && \ ln -s $out_dir/mods-available/delay $out_dir/mods-enabled/delay -ADD entrypoint.sh /bin/entrypoint.sh -RUN chmod a+x /bin/entrypoint.sh && chmod -R 750 $out_dir && chown -R freerad:root $out_dir && \ +ADD entrypoint.sh /usr/bin/entrypoint.sh +RUN chmod a+x /usr/bin/entrypoint.sh && chmod -R 750 $out_dir && chown -R freerad:root $out_dir && \ mv /etc/freeradius/certs /tmp && \ rm -rf /tmp/hosted WORKDIR /etc/freeradius -ENTRYPOINT ["entrypoint.sh"] +ENTRYPOINT ["/usr/bin/entrypoint.sh"] CMD ["freeradius", "-f"] diff --git a/README.md b/README.md index c886b21..a2922f3 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,11 @@ docker run -e DEB_USER=${DEB_USER} DEB_PASS="${DEB_PASS}" freerad_builder:3.2.x label nodes: ```bash kubectl label node connect-prod-0 freeradius=enabled +``` + +remove +```bash + +sudo apt-mark unhold libfreeradius3 freeradius-common freeradius-postgresql freeradius-rest freeradius-utils freeradius +sudo dpkg --force-overwrite --purge freeradius-common freeradius-config freeradius-python3 freeradius libfreeradius3 freeradius-postgresql freeradius-rest freeradius-utils && sudo rm -rf /etc/freeradius && sudo rm -rf /usr/lib/freeradius ``` \ No newline at end of file diff --git a/build/Dockerfile b/build/Dockerfile index 42ae1e3..3137517 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,12 +1,6 @@ FROM ubuntu:24.04 ARG DEBIAN_FRONTEND=noninteractive -ARG RADIUS_TAG="v3.2.x" - -ENV RADIUS_REPO="https://github.com/FreeRADIUS/freeradius-server.git" -ENV RADIUS_TAG=${RADIUS_TAG} -ENV RLM_RAW_REPO="https://github.com/jar3b/rlm_raw.git" -ENV RLM_RAW_TAG="master" # # Install build tools # @@ -15,6 +9,16 @@ COPY local-noble.list /etc/apt/sources.list.d/ubuntu.sources RUN apt-get update && apt-get install -y devscripts equivs git quilt gcc +# +# Setup build envs +ARG RADIUS_TAG="release_3_2_5" +ARG RLM_RAW_BRANCH="v3.2.4" + +ENV RADIUS_REPO="https://github.com/FreeRADIUS/freeradius-server.git" +ENV RADIUS_TAG=${RADIUS_TAG} +ENV RLM_RAW_REPO="https://github.com/jar3b/rlm_raw.git" +ENV RLM_RAW_BRANCH=${RLM_RAW_BRANCH} + # # Create build directory # @@ -22,7 +26,7 @@ RUN mkdir -p /usr/local/src/repositories WORKDIR /usr/local/src/repositories RUN git clone --depth 1 --single-branch --branch ${RADIUS_TAG} ${RADIUS_REPO} -RUN git clone --depth 1 --single-branch --branch ${RLM_RAW_TAG} ${RLM_RAW_REPO} +RUN git clone --depth 1 --single-branch --branch ${RLM_RAW_BRANCH} ${RLM_RAW_REPO} RUN mv rlm_raw/rlm_raw freeradius-server/src/modules WORKDIR freeradius-server @@ -30,7 +34,7 @@ WORKDIR freeradius-server # # Install build dependencies # -RUN git checkout ${RADIUS_TAG}; \ +RUN git checkout ${RADIUS_TAG}; cat VERSION; \ if [ -e ./debian/control.in ]; then \ debian/rules debian/control; \ fi; \ diff --git a/build/upload.sh b/build/upload.sh index 28a133d..dd77238 100644 --- a/build/upload.sh +++ b/build/upload.sh @@ -5,5 +5,5 @@ DEB_REPO=${DEB_REPO:-"https://nexus.connectone.pro/repository/radius/"} for file in *.deb do - curl -u "${DEB_USER}:${DEB_PASS}" -H "Content-Type: multipart/form-data" --data-binary "@./$file" "${DEB_REPO}" + curl -u "${DEB_USER}:${DEB_PASS}" -H "Content-Type: multipart/form-data" --data-binary "@./$file" "${DEB_REPO}" done; # file \ No newline at end of file diff --git a/hosted/.env_cnf_example b/hosted/.env_cnf_example new file mode 100644 index 0000000..9830465 --- /dev/null +++ b/hosted/.env_cnf_example @@ -0,0 +1,9 @@ +FR_MAIN_PORT=31812 +FR_ACC_PORT=31813 +FR_API_HOST= +FR_API_PORT=31668 +FR_PG_HOST= +FR_PG_PORT=32207 +FR_PG_USER=admin +FR_PG_PASS= +FR_PG_DB=radius_db diff --git a/hosted/install.sh b/hosted/install.sh index 8e46f5e..5b8dd2e 100644 --- a/hosted/install.sh +++ b/hosted/install.sh @@ -46,6 +46,7 @@ cp config/mods-enabled/raw $out_dir/mods-enabled/raw cp config/sites-enabled/dynamic-clients $out_dir/sites-enabled/dynamic-clients rm -f /etc/freeradius/sites-enabled/inner-tunnel rm -f /etc/freeradius/mods-enabled/eap +rm -f /etc/freeradius/mods-enabled/proxy_rate_limit ## Enable delay_Reject echo "Enable delay_reject"