Skip to content

Resolve major-only search service versions to available image tags#118

Open
Copilot wants to merge 9 commits into
mainfrom
copilot/fix-elasticsearch-version-to-7-17
Open

Resolve major-only search service versions to available image tags#118
Copilot wants to merge 9 commits into
mainfrom
copilot/fix-elasticsearch-version-to-7-17

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 12, 2026

Major-only search versions such as elasticsearch: "7" were passed through as Docker image tags, which produced invalid pulls like elasticsearch:7. This change makes MageBox resolve major-only OpenSearch and Elasticsearch versions dynamically from available Docker Hub tags before selecting the final image tag.

  • Version normalization

    • Resolve major-only search versions dynamically from the latest available tag in that major series:
      • Elasticsearch 7 → latest available 7.x.y
      • Elasticsearch 8 → latest available 8.x.y
      • OpenSearch 1 / 2 / 3 → latest available 1.x.y / 2.x.y / 3.x.y
    • Preserve explicit major.minor inputs and continue resolving them to the latest available patch.
    • Preserve fully specified major.minor.patch inputs unchanged.
    • Avoid hard-coded major-to-minor defaults in the codebase.
  • Compose behavior

    • Apply the resolved image version consistently to:
      • Docker image tag resolution
      • Search service port selection
    • Keep container naming based on the user-specified config value, so existing naming semantics do not change.
  • Coverage

    • Add focused compose tests for both Elasticsearch and OpenSearch major-version shorthands.
    • Cover image resolution, port mapping, and container naming for shorthand inputs.
    • Update tests to validate dynamic major-series resolution instead of fixed minor defaults.
  • Docs

    • Document major-version shorthand support in the search service docs.
    • Clarify that major-only values resolve to the latest available release in that major series.
    • Clarify that explicit minor versions such as 8.11 remain pinned to that minor line and only resolve the patch.

Example:

services:
  elasticsearch: "7"
  opensearch: "2"

Now resolves effectively as the latest available releases in those major series, for example:

services:
  elasticsearch: "7.x.y"
  opensearch: "2.x.y"

while explicit minors still behave as before:

services:
  elasticsearch: "8.11" # resolves to latest 8.11.x patch, not the latest 8.x release

> [!WARNING]
>
>

Agent-Logs-Url: https://github.com/qoliber/magebox/sessions/3e665d1c-c2df-4b84-9e78-3423c5965fd1

Co-authored-by: peterjaap <431360+peterjaap@users.noreply.github.com>
@peterjaap
Copy link
Copy Markdown
Collaborator

@copilot this is now hard-coded, which is not what I want

Copilot AI and others added 2 commits May 12, 2026 11:54
Agent-Logs-Url: https://github.com/qoliber/magebox/sessions/3e665d1c-c2df-4b84-9e78-3423c5965fd1

Co-authored-by: peterjaap <431360+peterjaap@users.noreply.github.com>
Agent-Logs-Url: https://github.com/qoliber/magebox/sessions/3e665d1c-c2df-4b84-9e78-3423c5965fd1

Co-authored-by: peterjaap <431360+peterjaap@users.noreply.github.com>
@peterjaap
Copy link
Copy Markdown
Collaborator

@copilot these versions are hard-coded; 124dc76#diff-0ccf1f3e4ed173e32699ba849c5a221b34d76badc64a418fda5faf2e11f0305dR757
I don't want that.

Copilot AI and others added 2 commits May 12, 2026 11:57
Agent-Logs-Url: https://github.com/qoliber/magebox/sessions/3e665d1c-c2df-4b84-9e78-3423c5965fd1

Co-authored-by: peterjaap <431360+peterjaap@users.noreply.github.com>
Agent-Logs-Url: https://github.com/qoliber/magebox/sessions/3e665d1c-c2df-4b84-9e78-3423c5965fd1

Co-authored-by: peterjaap <431360+peterjaap@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix elasticsearch version to 7.17 Resolve major-only search service versions to supported image tags May 12, 2026
Copilot AI requested a review from peterjaap May 12, 2026 11:59
Copilot AI and others added 2 commits May 12, 2026 12:07
Agent-Logs-Url: https://github.com/qoliber/magebox/sessions/085221a7-5f68-4f38-946c-59eb2eefa1b0

Co-authored-by: peterjaap <431360+peterjaap@users.noreply.github.com>
Agent-Logs-Url: https://github.com/qoliber/magebox/sessions/085221a7-5f68-4f38-946c-59eb2eefa1b0

Co-authored-by: peterjaap <431360+peterjaap@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 12, 2026

@copilot this is now hard-coded, which is not what I want

Removed the hard-coded major-version defaults and switched this to dynamic Docker Hub prefix resolution in 935d34b.

@copilot these versions are hard-coded; 124dc76#diff-0ccf1f3e4ed173e32699ba849c5a221b34d76badc64a418fda5faf2e11f030...

This is no longer hard-coded; the major-only search versions now resolve dynamically from available Docker Hub tags in 935d34b.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • github.com (HTTP Only)
    • Triggering command: /usr/bin/ssh /usr/bin/ssh -o SendEnv=GIT_PROTOCOL git@github.com git-upload-pack &#39;org/repo.git&#39; -c=4 -nolocalimports -importcfg /tmp/go-build2553799965/b344/importcfg -embedcfg /tmp/go-build2553799965/b344/embedcfg -pack 0.1-�� ocall.go ocall_go121.go nux-amd64/pkg/tool/linux_amd64/compile extarea/textarea/home/REDACTED/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.10.linux-amd64/pkg/to-trimpath github.com/charm-o -lang=go1.18 nux-amd64/pkg/to-trimpath (packet block)
  • nonexistent.invalid.host
    • Triggering command: /tmp/go-build2553799965/b374/teamserver.test /tmp/go-build2553799965/b374/teamserver.test -test.testlogfile=/tmp/go-build2553799965/b374/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -c=4 -nolocalimports -importcfg /tmp/go-build3371572701/b789/importcfg -pack /home/REDACTED/go/pkg/mod/github.com/butuzov/mirror@v1.3.0/internal/checker/checker.go /home/REDACTED/go/pkg/mod/github.com/butuzov/mirror@v1.3.0/internal/checker/imports.go ortc�� 12.2/pkg/result/-p 0.1-go1.25.10.ligolang.org/x/tools/go/analysis/passes/httpresponse nux-amd64/pkg/tool/linux_amd64/compile -p github.com/pkg/s-f ompile nux-amd64/pkg/tool/linux_amd64/compile (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Resolve major-only search service versions to supported image tags Resolve major-only search service versions to available image tags May 12, 2026
@peterjaap peterjaap marked this pull request as ready for review May 13, 2026 08:57
* main:
  Upload PR build binaries as artifacts and comment links
  Release v1.17.0
  Start only this project's services on magebox start
@github-actions
Copy link
Copy Markdown
Contributor

📦 PR build artifacts

Built from 49526daview run. Artifacts expire in 14 days.

Note: artifact download links require being signed in to GitHub with access to this repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make versions resolve to available version redux

2 participants