Skip to content

Ptfe 3083 upgrade docker images#211

Merged
matthiasL-scality merged 3 commits intomainfrom
PTFE-3083-upgrade-docker-images
Mar 16, 2026
Merged

Ptfe 3083 upgrade docker images#211
matthiasL-scality merged 3 commits intomainfrom
PTFE-3083-upgrade-docker-images

Conversation

@matthiasL-scality
Copy link
Contributor

@matthiasL-scality matthiasL-scality commented Mar 13, 2026

This pull request updates the build and configuration to use the OpenResty 1.29.2.1 Alpine image instead of a custom Ubuntu/nginx/LuaJIT build, and makes several related compatibility and performance improvements. The changes modernize the Docker setup, simplify dependencies, and address compatibility issues with LuaJIT 5.2 semantics in OpenResty. Additionally, it improves connection handling and fixes potential deadlocks in GitHub API proxying.

Docker and Build System Modernization:

  • Switches the base image in the Dockerfile from ubuntu:xenial with a custom nginx/LuaJIT build to openresty/openresty:1.29.2.1-alpine-fat, greatly simplifying the build process and leveraging a maintained OpenResty distribution.
  • Updates LuaJIT bytecode compilation commands to use the OpenResty-provided luajit binary path.
  • Adds compatibility symlinks so that existing scripts (start.sh, stop.sh) and configuration paths work unchanged with the new OpenResty layout.
  • Loads the ngx_http_xslt_filter_module dynamically in the nginx configuration, as required by the OpenResty Alpine image.

Performance and Connection Handling Improvements:

  • Increases keepalive connection pool size, number of requests per connection, and timeout values for upstream S3 backends in nginx.conf.template to improve throughput and resource utilization. [1] [2] [3]
  • Sets worker_processes to auto and updates the PID file location for better compatibility and scalability.

Lua Compatibility and Bug Fixes:

  • Updates lock handling in github_access.lua to correctly interpret os.execute return values under LuaJIT with Lua 5.2 semantics (used by OpenResty), preventing cache lock logic from always failing.
  • Skips authentication checks for internal GitHub API proxy subrequests to prevent deadlocks caused by recursive cache locking.

Other Functional Changes:

  • Extends AWS S3 presignature expiration from 60 seconds to 1 hour in compute_aws_s3_signature.lua, allowing for longer-lived presigned URLs.

@matthiasL-scality matthiasL-scality force-pushed the PTFE-3083-upgrade-docker-images branch from 8e4e45a to f0112d8 Compare March 13, 2026 09:42
@matthiasL-scality matthiasL-scality marked this pull request as ready for review March 13, 2026 09:53
@matthiasL-scality matthiasL-scality requested a review from a team as a code owner March 13, 2026 09:53
Copy link
Contributor

@bertranddemiddelaer bertranddemiddelaer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

(and nice work, btw !)

@matthiasL-scality matthiasL-scality merged commit a2d755f into main Mar 16, 2026
4 checks passed
@matthiasL-scality matthiasL-scality deleted the PTFE-3083-upgrade-docker-images branch March 16, 2026 09:12
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.

2 participants