Kaynağa Gözat

Merge pull request #10629 from zmstone/0506-add-kafka-gssapi-kerberos-auth

fix(kafka): ensure brod_gssapi and sasl_auth included in release
Zaiming (Stone) Shi 2 yıl önce
ebeveyn
işleme
3dba862f85

+ 1 - 1
apps/emqx_bridge_kafka/rebar.config

@@ -2,7 +2,7 @@
 {erl_opts, [debug_info]}.
 {erl_opts, [debug_info]}.
 {deps, [ {wolff, {git, "https://github.com/kafka4beam/wolff.git", {tag, "1.7.5"}}}
 {deps, [ {wolff, {git, "https://github.com/kafka4beam/wolff.git", {tag, "1.7.5"}}}
        , {kafka_protocol, {git, "https://github.com/kafka4beam/kafka_protocol.git", {tag, "4.1.2"}}}
        , {kafka_protocol, {git, "https://github.com/kafka4beam/kafka_protocol.git", {tag, "4.1.2"}}}
-       , {brod_gssapi, {git, "https://github.com/kafka4beam/brod_gssapi.git", {tag, "v0.1.0-rc1"}}}
+       , {brod_gssapi, {git, "https://github.com/kafka4beam/brod_gssapi.git", {tag, "v0.1.0"}}}
        , {brod, {git, "https://github.com/kafka4beam/brod.git", {tag, "3.16.8"}}}
        , {brod, {git, "https://github.com/kafka4beam/brod.git", {tag, "3.16.8"}}}
        , {emqx_connector, {path, "../../apps/emqx_connector"}}
        , {emqx_connector, {path, "../../apps/emqx_connector"}}
        , {emqx_resource, {path, "../../apps/emqx_resource"}}
        , {emqx_resource, {path, "../../apps/emqx_resource"}}

+ 2 - 1
apps/emqx_bridge_kafka/src/emqx_bridge_kafka.app.src

@@ -7,7 +7,8 @@
         stdlib,
         stdlib,
         telemetry,
         telemetry,
         wolff,
         wolff,
-        brod
+        brod,
+        brod_gssapi
     ]},
     ]},
     {env, []},
     {env, []},
     {modules, []},
     {modules, []},

+ 8 - 3
build

@@ -335,17 +335,22 @@ make_docker() {
     EMQX_RUNNER="${EMQX_RUNNER:-${EMQX_DEFAULT_RUNNER}}"
     EMQX_RUNNER="${EMQX_RUNNER:-${EMQX_DEFAULT_RUNNER}}"
     EMQX_DOCKERFILE="${EMQX_DOCKERFILE:-deploy/docker/Dockerfile}"
     EMQX_DOCKERFILE="${EMQX_DOCKERFILE:-deploy/docker/Dockerfile}"
     if [[ "$PROFILE" = *-elixir ]]; then
     if [[ "$PROFILE" = *-elixir ]]; then
-      PKG_VSN="$PKG_VSN-elixir"
+        PKG_VSN="$PKG_VSN-elixir"
     fi
     fi
     local default_tag="emqx/${PROFILE%%-elixir}:${PKG_VSN}"
     local default_tag="emqx/${PROFILE%%-elixir}:${PKG_VSN}"
     EMQX_IMAGE_TAG="${EMQX_IMAGE_TAG:-$default_tag}"
     EMQX_IMAGE_TAG="${EMQX_IMAGE_TAG:-$default_tag}"
-
+    ## extra_deps is a comma separated list of debian 11 package names
+    local extra_deps=''
+    if [[ "$PROFILE" = *enterprise* ]]; then
+        extra_deps='libsasl2-2'
+    fi
     echo '_build' >> ./.dockerignore
     echo '_build' >> ./.dockerignore
     set -x
     set -x
     docker build --no-cache --pull \
     docker build --no-cache --pull \
        --build-arg BUILD_FROM="${EMQX_BUILDER}" \
        --build-arg BUILD_FROM="${EMQX_BUILDER}" \
        --build-arg RUN_FROM="${EMQX_RUNNER}" \
        --build-arg RUN_FROM="${EMQX_RUNNER}" \
-       --build-arg EMQX_NAME="$PROFILE" \
+       --build-arg EMQX_NAME="${PROFILE}" \
+       --build-arg EXTRA_DEPS="${extra_deps}" \
        --tag "${EMQX_IMAGE_TAG}" \
        --tag "${EMQX_IMAGE_TAG}" \
        -f "${EMQX_DOCKERFILE}" .
        -f "${EMQX_DOCKERFILE}" .
     [[ "${DEBUG:-}" -eq 1 ]] || set +x
     [[ "${DEBUG:-}" -eq 1 ]] || set +x

+ 2 - 1
deploy/docker/Dockerfile

@@ -19,6 +19,7 @@ RUN export PROFILE=${EMQX_NAME%%-elixir} \
     && mv $EMQX_REL_PATH /emqx-rel
     && mv $EMQX_REL_PATH /emqx-rel
 
 
 FROM $RUN_FROM
 FROM $RUN_FROM
+ARG EXTRA_DEPS=''
 
 
 # Elixir complains if runs without UTF-8
 # Elixir complains if runs without UTF-8
 ENV LC_ALL=C.UTF-8
 ENV LC_ALL=C.UTF-8
@@ -30,7 +31,7 @@ COPY --from=builder /emqx-rel/emqx /opt/emqx
 RUN ln -s /opt/emqx/bin/* /usr/local/bin/
 RUN ln -s /opt/emqx/bin/* /usr/local/bin/
 
 
 RUN apt-get update; \
 RUN apt-get update; \
-    apt-get install -y --no-install-recommends ca-certificates procps; \
+    apt-get install -y --no-install-recommends ca-certificates procps $(echo "${EXTRA_DEPS}" | tr ',' ' '); \
     rm -rf /var/lib/apt/lists/*
     rm -rf /var/lib/apt/lists/*
 
 
 WORKDIR /opt/emqx
 WORKDIR /opt/emqx

+ 1 - 1
mix.exs

@@ -183,7 +183,7 @@ defmodule EMQXUmbrella.MixProject do
       {:influxdb, github: "emqx/influxdb-client-erl", tag: "1.1.9", override: true},
       {:influxdb, github: "emqx/influxdb-client-erl", tag: "1.1.9", override: true},
       {:wolff, github: "kafka4beam/wolff", tag: "1.7.5"},
       {:wolff, github: "kafka4beam/wolff", tag: "1.7.5"},
       {:kafka_protocol, github: "kafka4beam/kafka_protocol", tag: "4.1.2", override: true},
       {:kafka_protocol, github: "kafka4beam/kafka_protocol", tag: "4.1.2", override: true},
-      {:brod_gssapi, github: "kafka4beam/brod_gssapi", tag: "v0.1.0-rc1"},
+      {:brod_gssapi, github: "kafka4beam/brod_gssapi", tag: "v0.1.0"},
       {:brod, github: "kafka4beam/brod", tag: "3.16.8"},
       {:brod, github: "kafka4beam/brod", tag: "3.16.8"},
       {:snappyer, "1.2.8", override: true},
       {:snappyer, "1.2.8", override: true},
       {:crc32cer, "0.1.8", override: true},
       {:crc32cer, "0.1.8", override: true},