#!/usr/bin/sh ### BEGIN INIT INFO # Provides: traefik-certs-dumper # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Dump Let's Encrypt certificates from Traefik. # Description: The traefik-certs-dumper is a tool for extracting and # managing SSL/TLS certificates from Traefik, a reverse # proxy and load balancer. It simplifies the backup and # transfer of certificates, making it useful for developers # and system administrators focused on application security. ### END INIT INFO NAME='traefik-certs-dumper' DESC='Traefik Certificates Dumper' USER='traefik' GROUP='traefik' PIDFOLDER="/run/traefik" PIDFILE="${PIDFOLDER}/traefik-certs-dumper.pid" DAEMON='/usr/sbin/traefik-certs-dumper' DAEMON_DESTINATION='/var/lib/traefik/acme-repository' DAEMON_OPTS="file --source '/var/lib/traefik/acme.json' --version 'v3' --crt-name 'root' --dest ${DAEMON_DESTINATION} --domain-subdir --key-name 'root' --post-hook '/etc/traefik/acme-hook' --watch" set -e . '/lib/lsb/init-functions' [ -x "${DAEMON}" ] case "${1}" in start) /usr/bin/install --directory --group="${GROUP}" ---mode='0755' --owner="${USER}" "${PIDFOLDER}" log_daemon_msg "Starting ${DESC}" "${NAME}" if /usr/sbin/start-stop-daemon --quiet \ --start \ --oknodo \ --make-pidfile \ --pidfile "${PIDFILE}" \ --user "${USER}" \ --group "${GROUP}" \ --exec "${DAEMON}" -- "${DAEMON_OPTS}"; then log_end_msg 0 else log_end_msg 1 /usr/bin/test -f "${PIDFILE}" && \ /usr/bin/rm --force "${PIDFILE}" fi ;; stop) log_daemon_msg "Stopping ${DESC}" "${NAME}" if /usr/sbin/start-stop-daemon --quiet \ --stop \ --oknodo \ --retry 30 \ --remove-pidfile \ --pidfile "${PIDFILE}" \ --user "${USER}" \ --group "${GROUP}" \ --exec "${DAEMON}"; then /usr/bin/test -f "${PIDFILE}" && \ /usr/bin/rm --force "${PIDFILE}" log_end_msg 0 else log_end_msg 1 fi ;; restart) "${0}" stop "${0}" start ;; status) status_of_proc -p "${PIDFILE}" "${DAEMON}" "${NAME}" && \ exit 0 || \ exit "${?}" ;; *) echo "Usage: /etc/init.d/${NAME} {start|stop|restart|status}" >&2 exit 1 ;; esac