Skip to content

Docker image always ships outdated Sequin CLI (breaks inline SQL enrichment) #2147

@jdev79

Description

@jdev79

Problem

All recent Docker image tags (including latest and recent version-specific tags) are built with a hardcoded old CLI version (v0.13.1) inside the image. This is set in the Dockerfile as:

ARG SEQUIN_CLI_VERSION=0.13.1
RUN git clone --depth 1 --branch v${SEQUIN_CLI_VERSION} ...

As a result, even when the image and Elixir app are new, the bundled /usr/local/bin/sequin binary is always v0.13.1 unless you rebuild the image yourself. This CLI predates fixes for critical YAML/SQL envsubst bugs.

Consequences for practitioners

  • We cannot use inline SQL in enrichment functions (the CLI removes $1 due to old envsubst handling).
  • Documentation suggests environment variables and SQL inline code are supported in new releases, but running the Docker image does not behave that way.
  • sequin --version inside any new container still returns v0.13.1, regardless of image tag.

Steps to Reproduce

  1. docker pull sequinstream/sequin:latest (or any modern tag)
  2. docker run ... sequin --version # returns v0.13.1
  3. Try applying a config with inline SQL using $1 in an enrichment function
  4. See error: Enrichment functions must use parameterization. Please use the following $1 syntax... If your code DOES have parameterization ($1) and you are seeing this error, you may have to upgrade your Sequin CLI.

Expected Behavior

  • Each Docker image tag should ship with a matching or recent version of the CLI (and ideally, Elixir app and CLI should be built from the same repo state).
  • Inline SQL for enrichments should work as documented.

Workarounds

  • Use a file: reference for enrichment SQL (files are read after envsubst, not affected by old CLI versions)
  • Or, build your own Docker image after bumping SEQUIN_CLI_VERSION or fixing Dockerfile

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions