| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- #!/bin/bash
 
- # Modified based on Squid OCI image entrypoint
 
- # This entrypoint aims to forward the squid logs to stdout to assist users of
 
- # common container related tooling (e.g., kubernetes, docker-compose, etc) to
 
- # access the service logs.
 
- # Moreover, it invokes the squid binary, leaving all the desired parameters to
 
- # be provided by the "command" passed to the spawned container. If no command
 
- # is provided by the user, the default behavior (as per the CMD statement in
 
- # the Dockerfile) will be to use Ubuntu's default configuration [1] and run
 
- # squid with the "-NYC" options to mimic the behavior of the Ubuntu provided
 
- # systemd unit.
 
- # [1] The default configuration is changed in the Dockerfile to allow local
 
- # network connections. See the Dockerfile for further information.
 
- echo "[ENTRYPOINT] re-create snakeoil self-signed certificate removed in the build process"
 
- if [ ! -f /etc/ssl/private/ssl-cert-snakeoil.key ]; then
 
-     /usr/sbin/make-ssl-cert generate-default-snakeoil --force-overwrite > /dev/null 2>&1
 
- fi
 
- tail -F /var/log/squid/access.log 2>/dev/null &
 
- tail -F /var/log/squid/error.log 2>/dev/null &
 
- tail -F /var/log/squid/store.log 2>/dev/null &
 
- tail -F /var/log/squid/cache.log 2>/dev/null &
 
- # Replace environment variables in the template and output to the squid.conf
 
- echo "[ENTRYPOINT] replacing environment variables in the template"
 
- awk '{
 
-     while(match($0, /\${[A-Za-z_][A-Za-z_0-9]*}/)) {
 
-         var = substr($0, RSTART+2, RLENGTH-3)
 
-         val = ENVIRON[var]
 
-         $0 = substr($0, 1, RSTART-1) val substr($0, RSTART+RLENGTH)
 
-     }
 
-     print
 
- }' /etc/squid/squid.conf.template > /etc/squid/squid.conf
 
- /usr/sbin/squid -Nz
 
- echo "[ENTRYPOINT] starting squid"
 
- /usr/sbin/squid -f /etc/squid/squid.conf -NYC 1
 
 
  |