Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions