Skip to content

Commit

Permalink
add nginx-bitnami
Browse files Browse the repository at this point in the history
Signed-off-by: Dentrax <furkan.turkal@chainguard.dev>
  • Loading branch information
Dentrax committed Feb 27, 2025
1 parent ec8a635 commit a088744
Showing 1 changed file with 85 additions and 6 deletions.
91 changes: 85 additions & 6 deletions nginx-mainline.yaml
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: 1
epoch: 2
description: HTTP and reverse proxy server (mainline version)
copyright:
- license: BSD-2-Clause
Expand Down Expand Up @@ -38,9 +38,9 @@ environment:

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

data:
- name: modules
Expand Down Expand Up @@ -263,16 +263,95 @@ subpackages:
- posix-libc-utils
- su-exec
- busybox
- curl
- bash
- sed
- grep
- openssl
- glibc-locales
- nginx-mainline-package-config
- nginx-mod-http_geoip
- nginx-mod-stream_geoip
pipeline:
- uses: bitnami/compat
with:
image: nginx
version-path: ${{vars.major-version}}/debian-12
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/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
- 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 /var/log/nginx ${{targets.contextdir}}/opt/bitnami/nginx/logs
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:
Expand Down

0 comments on commit a088744

Please sign in to comment.