Skip to content

Conversation

@fmigneault
Copy link
Member

@fmigneault fmigneault commented Dec 9, 2025

Overview

Maintenance updates and fixes for STAC-related components.

Note

This release also serves to update and test the components to identify (if any) remaining quirks that could be resolve before https://github.com/radiantearth/stac-browser/releases/tag/v4.0.0-rc.2 is released officially (non-prerelease). The 4.x branch is expected to be the last before a massive v5 overhaul (radiantearth/stac-browser#746) that could affect deployment and/or UX.
Therefore, it is important to quickly raise any identified quick fixes that could make it in before the major update.

Changes

Non-breaking changes

  • STAC API: update to version 2.1.0.

    • Fix paging error on /collections responses causing requests with limit query or catalogs
      with more than 10 collections (by default) to never return collections beyond the first page.
  • STAC Browser: update to version 4.0.0-rc.2-crim.

    Apply upstream fixes, notably:

    • Logo resizing issue when embedded in contact details.
    • Handling of geojson.io external viewer references from compatible GeoJSON STAC Assets.
    • Improvements to UI for better locales, content positioning and browsing experience.
    • Alignment with latest OGC APIs requirements and conformance classes.
    • Added support for multiple additional data representations and visualization.

Breaking changes

  • nothing unless some scripts were manually crafting paging URL for STAC API (which is not recommended anyway)

Related Issue / Discussion

Note

Both already deployed on https://hirondelle.crim.ca/ if you would like to explore them.

CI Operations

birdhouse_daccs_configs_branch: master
birdhouse_skip_ci: false

@fmigneault fmigneault self-assigned this Dec 9, 2025
@github-actions github-actions bot added documentation Improvements or additions to documentation component/STAC Features or components related to STAC labels Dec 9, 2025
@fmigneault fmigneault merged commit c7d4583 into master Dec 10, 2025
3 of 5 checks passed
@fmigneault fmigneault deleted the stac-updates branch December 10, 2025 22:06
@github-actions github-actions bot added the ci/operations Continuous Integration components label Dec 10, 2025
@tlvu
Copy link
Collaborator

tlvu commented Dec 16, 2025

@fmigneault FYI I am unable to activate stac-browser

$ docker logs stac-browser
2025/12/16 20:47:17 [emerg] 1#1: invalid number of arguments in "location" directive in /etc/nginx/conf.d/default.conf:5
nginx: [emerg] invalid number of arguments in "location" directive in /etc/nginx/conf.d/default.conf:5

$ docker exec stac-browser cat /etc/nginx/conf.d/default.conf
Error response from daemon: Container 98bce1a04a0ebecef408602f1bd512fa8f6c2940b738f43b26911be037f70b83 is restarting, wait until the container is running

My env.local.

export EXTRA_CONF_DIRS="
  ./components/canarie-api
  ./components/geoserver
  ./components/finch
  ./components/raven
  ./components/hummingbird
  ./components/thredds
  ./components/portainer
  ./components/jupyterhub
  ./optional-components/canarie-api-full-monitoring
  ./optional-components/wps-healthchecks
  ./optional-components/testthredds
  ./optional-components/generic_bird
  ./optional-components/x-robots-tag-header

  ./optional-components/prometheus-log-parser/
  ./optional-components/prometheus-longterm-metrics/
  ./optional-components/prometheus-longterm-rules/
  ./optional-components/scheduler-job-deploy_xclim_testdata/
  ./optional-components/scheduler-job-deploy_raven_testdata/
  ./optional-components/scheduler-job-autodeploy/
  ./optional-components/scheduler-job-renew_letsencrypt_ssl_cert/
  ./optional-components/scheduler-job-notebookdeploy/
  ./optional-components/scheduler-job-logrotate/

  ./components/stac-browser
  ./components/weaver
  ./components/scheduler
  ./components/monitoring

Something else I need to check?

@tlvu
Copy link
Collaborator

tlvu commented Dec 16, 2025

Something else in docker logs stac-browser: 10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?).

@tlvu
Copy link
Collaborator

tlvu commented Dec 16, 2025

$ docker images |grep 4.0.0-rc.2-crim
ghcr.io/crim-ca/stac-browser         4.0.0-rc.2-crim                                                                                        de41c57a4ab6   7 days ago      97.5MB

@mishaschwartz
Copy link
Collaborator

@tlvu see: crim-ca/stac-browser#9

@fmigneault
Copy link
Member Author

@tlvu Sorry for the problem. Look at the PR @mishaschwartz opened.
GitHub essentially did a post-release override (with invalid prefix) of the tag over the one I previously generated via workflow dispatch (with correct prefix), which is the one taht was used for this PR.
Should be fixed on rebuild.

@mishaschwartz
Copy link
Collaborator

@tlvu I have manually updated the image so you can just re-pull it once and it should work:

docker pull ghcr.io/crim-ca/stac-browser:4.0.0-rc.2-crim

@tlvu
Copy link
Collaborator

tlvu commented Dec 17, 2025

@tlvu I have manually updated the image so you can just re-pull it once and it should work:

docker pull ghcr.io/crim-ca/stac-browser:4.0.0-rc.2-crim

It works, thanks !

$ docker logs stac-browser
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/40-stac-browser-entrypoint.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2025/12/17 17:12:24 [notice] 1#1: using the "epoll" event method
2025/12/17 17:12:24 [notice] 1#1: nginx/1.29.3
2025/12/17 17:12:24 [notice] 1#1: built by gcc 14.2.0 (Alpine 14.2.0) 
2025/12/17 17:12:24 [notice] 1#1: OS: Linux 4.18.0-553.56.1.el8_10.x86_64
2025/12/17 17:12:24 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2025/12/17 17:12:24 [notice] 1#1: start worker processes
2025/12/17 17:12:24 [notice] 1#1: start worker process 37
2025/12/17 17:12:24 [notice] 1#1: start worker process 38
2025/12/17 17:12:24 [notice] 1#1: start worker process 39
2025/12/17 17:12:24 [notice] 1#1: start worker process 40
2025/12/17 17:12:24 [notice] 1#1: start worker process 41
2025/12/17 17:12:24 [notice] 1#1: start worker process 42

So the root cause is an accidental re-release from an automated build to a "movable" docker tag.

Why are we using "movable" docker tag in production in the first place? It's production where reproducibility is required, not optional !

If the release is not fully ready (hence the rc2 mention in the tag), can we just add the build date onto the tag as well so we can distinguish which ones of the several rc2 it is?

@mishaschwartz
Copy link
Collaborator

mishaschwartz commented Dec 17, 2025

@tlvu

It's not a moveable tag. The build that created the image for that tag did not run correctly.

@tlvu
Copy link
Collaborator

tlvu commented Dec 18, 2025

It's not a moveable tag. The build that created the image for that tag did not run correctly.

Oh it's not a moveable docker tag ! So somehow github trigger a build again on an existing git tag or did we move the git tag which triggers an unplanned build?

@mishaschwartz
Copy link
Collaborator

I manually triggered the workflow that re-builds the image. The tag didn't change.

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

Labels

ci/operations Continuous Integration components component/STAC Features or components related to STAC documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants