try to build & run on podman via one more hack to resolv.conf parsing

- why the hell does nginx need a resolver config, again?
pull/96/head 0.6.4
Ricardo Pardini 2021-05-27 23:59:46 +02:00
parent 2f55921a0d
commit d0101cbac5
No known key found for this signature in database
GPG Key ID: 3D38CA12A66C5D02
2 changed files with 13 additions and 3 deletions

View File

@ -1,7 +1,7 @@
# We start from my nginx fork which includes the proxy-connect module from tEngine # We start from my nginx fork which includes the proxy-connect module from tEngine
# Source is available at https://github.com/rpardini/nginx-proxy-connect-stable-alpine # Source is available at https://github.com/rpardini/nginx-proxy-connect-stable-alpine
# This is already multi-arch! # This is already multi-arch!
ARG BASE_IMAGE="rpardini/nginx-proxy-connect-stable-alpine:nginx-1.18.0-alpine-3.12.1" ARG BASE_IMAGE="docker.io/rpardini/nginx-proxy-connect-stable-alpine:nginx-1.18.0-alpine-3.12.1"
# Could be "-debug" # Could be "-debug"
ARG BASE_IMAGE_SUFFIX="" ARG BASE_IMAGE_SUFFIX=""
FROM ${BASE_IMAGE}${BASE_IMAGE_SUFFIX} FROM ${BASE_IMAGE}${BASE_IMAGE_SUFFIX}

View File

@ -1,10 +1,20 @@
#! /bin/bash #! /bin/bash
echo "Entrypoint starting."
set -Eeuo pipefail set -Eeuo pipefail
trap "echo TRAPed signal" HUP INT QUIT TERM trap "echo TRAPed signal" HUP INT QUIT TERM
# configure nginx DNS settings to match host, why must we do that nginx? # configure nginx DNS settings to match host, why must we do that nginx?
export RESOLVERS=$(awk '$1 == "nameserver" {print ($2 ~ ":")? "["$2"]": $2}' ORS=' ' /etc/resolv.conf | sed 's/ *$//g') # this leads to a world of problems. ipv6 format being different, etc.
# below is a collection of hacks contributed over the years.
echo "-- resolv.conf:"
cat /etc/resolv.conf
echo "-- end resolv"
# Podman adds a "%3" to the end of the last resolver? I don't get it. Strip it out.
export RESOLVERS=$(cat /etc/resolv.conf | sed -e 's/%3//g' | awk '$1 == "nameserver" {print ($2 ~ ":")? "["$2"]": $2}' ORS=' ' | sed 's/ *$//g')
if [ "x$RESOLVERS" = "x" ]; then if [ "x$RESOLVERS" = "x" ]; then
echo "Warning: unable to determine DNS resolvers for nginx" >&2 echo "Warning: unable to determine DNS resolvers for nginx" >&2
exit 66 exit 66