Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add nginx-bitnami #44005

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 110 additions & 1 deletion nginx-mainline.yaml
Copy link
Member

Choose a reason for hiding this comment

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

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package:
name: nginx-mainline
# Must also bump njs at the same time
version: "1.27.4"
epoch: 0
Copy link
Member

Choose a reason for hiding this comment

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

Should only be 1

epoch: 2
description: HTTP and reverse proxy server (mainline version)
copyright:
- license: BSD-2-Clause
Expand Down Expand Up @@ -36,6 +36,12 @@ environment:
- zeromq-dev
- zlib-dev

var-transforms:
- from: ${{package.version}}
match: ^(\d+\.\d+)\.\d+$
replace: "$1"
to: major-minor-version

data:
- name: modules
items:
Expand Down Expand Up @@ -247,6 +253,109 @@ subpackages:
install -m644 -D nginx.default.conf ${{targets.subpkgdir}}/etc/nginx/conf.d/
ln -s /etc/nginx/conf.d/nginx.default.conf ${{targets.subpkgdir}}/etc/nginx/conf.d/default.conf
- name: nginx-bitnami-compat
description: "compat package with bitnami/keycloak image"
dependencies:
runtime:
- coreutils
- glibc-locale-en
- net-tools
- posix-libc-utils
- su-exec
- busybox
- bash
- sed
- grep
- openssl
- glibc-locales
- nginx-package-config
- nginx-mod-http_geoip
- nginx-mod-stream_geoip
pipeline:
- uses: bitnami/compat
with:
image: nginx
version-path: ${{vars.major-minor-version}}/debian-12
- name: Create dirs
runs: |
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/sbin
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/conf
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/conf/conf.d
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/conf.default
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/conf.default/conf.d
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/logs
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/tmp
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/tmp
mkdir -p ${{targets.contextdir}}/opt/bitnami/nginx/conf/bitnami/certs
mkdir -p ${{targets.contextdir}}/bitnami/nginx/conf/vhosts
mkdir -p ${{targets.contextdir}}/docker-entrypoint-initdb.d
mkdir -p ${{targets.contextdir}}/bitnami/nginx
mkdir -p ${{targets.contextdir}}/var/lib/nginx/tmp/client_body ${{targets.contextdir}}/var/lib/nginx/tmp/proxy ${{targets.contextdir}}/var/lib/nginx/tmp/fastcgi ${{targets.contextdir}}/var/lib/nginx/tmp/uwsgi ${{targets.contextdir}}/var/lib/nginx/tmp/scgi ${{targets.contextdir}}/run/nginx ${{targets.contextdir}}/var/run
touch ${{targets.contextdir}}/.rnd
- name: Set symlinks
runs: |
ln -sf /usr/sbin/nginx ${{targets.contextdir}}/opt/bitnami/nginx/sbin/nginx
ln -sf /usr/lib/nginx/modules ${{targets.contextdir}}/opt/bitnami/nginx/modules
ln -sf /var/lib/nginx/html ${{targets.contextdir}}/opt/bitnami/nginx/html
ln -sf /opt/bitnami/nginx/html ${{targets.contextdir}}/app
ln -sf /dev/stdout ${{targets.contextdir}}/opt/bitnami/nginx/logs/access.log
ln -sf /dev/stderr ${{targets.contextdir}}/opt/bitnami/nginx/logs/error.log
ln -sf /opt/bitnami/nginx/conf/bitnami/certs ${{targets.contextdir}}/certs
- name: Set symlinks (configs)
runs: |
ln -sf /etc/nginx/nginx.conf ${{targets.contextdir}}/opt/bitnami/nginx/conf/nginx.conf
ln -sf /etc/nginx/conf.d/nginx.default.conf ${{targets.contextdir}}/opt/bitnami/nginx/conf/nginx.conf.default
ln -sf /etc/nginx/nginx.conf ${{targets.contextdir}}/opt/bitnami/nginx/conf.default/nginx.conf
ln -sf /etc/nginx/conf.d/nginx.default.conf ${{targets.contextdir}}/opt/bitnami/nginx/conf.default/nginx.default.conf
for file in $(find ${{targets.contextdir}}/etc/nginx/ -type f); do
ln -sf $file ${{targets.contextdir}}/opt/bitnami/nginx/conf/$(basename $file)
done
for file in $(find ${{targets.contextdir}}/etc/nginx/ -type f); do
ln -sf $file ${{targets.contextdir}}/opt/bitnami/nginx/conf.default/$(basename $file)
done
- name: Set permissions
runs: |
chmod -R u+rwX,g+rwX,o+rw ${{targets.contextdir}}/opt/bitnami/
chmod -R u+rwX,g+rwX,o+rw ${{targets.contextdir}}/bitnami/nginx
find ${{targets.contextdir}}/ -perm /6000 -type f -exec chmod a-s {} \; || true
test:
environment:
contents:
packages:
- ${{package.name}}-config
- ${{package.name}}-config-compat
- curl
- crane
- shadow
- sudo-rs
- wait-for-it
pipeline:
- working-directory: /app
pipeline:
- name: Create Nginx user and directories
runs: |
adduser -D -g 'Nginx User' nginx
chown -R nginx:nginx /var/lib/nginx /run/nginx
- name: "Launch the nginx"
uses: test/daemon-check-output
with:
start: |
env BITNAMI_APP_NAME=nginx \
NGINX_HTTPS_PORT_NUMBER="" \
NGINX_HTTP_PORT_NUMBER="" \
PATH="/opt/bitnami/common/bin:/opt/bitnami/nginx/sbin:$PATH" \
BITNAMI_DEBUG=true \
/opt/bitnami/scripts/nginx/entrypoint.sh /opt/bitnami/scripts/nginx/run.sh
timeout: 60
expected_output: |
Welcome to the Bitnami nginx container
Starting NGINX setup
NGINX setup finished!
Starting NGINX
post: |
wait-for-it -t 10 localhost:8080
curl -I http://localhost:8080 || exit 1
test:
environment:
contents:
Expand Down
Loading