mirror of
https://github.com/linuxkit/linuxkit.git
synced 2026-04-10 08:21:40 +00:00
The options added in de6e7f9cbe
were not applied for ntp configured servers.
As the address is always the same, stop using dhcp and just hard code this.
This should make sync work how it used to, ie quite well.
Also trust the GCP ntp server, as it is local and provided by infrastructure.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
92 lines
2.2 KiB
Plaintext
Executable File
92 lines
2.2 KiB
Plaintext
Executable File
#!/sbin/openrc-run
|
|
# Copyright 1999-2007 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/net-misc/chrony/files/chronyd.rc,v 1.8 2007/03/22 14:32:09 tove Exp $
|
|
|
|
description="NTP daemon"
|
|
|
|
depend() {
|
|
need net
|
|
after firewall
|
|
provide ntp-client ntp-server
|
|
use dns
|
|
}
|
|
|
|
checkconfig() {
|
|
# Note that /etc/chrony/chrony.keys is *NOT* checked. This
|
|
# is because the user may have specified another key
|
|
# file, and we don't want to force the user to use that
|
|
# exact name for the key file.
|
|
if [ ! -f "${CFGFILE}" ] ; then
|
|
eerror "Please create ${CFGFILE} and the"
|
|
eerror "chrony key file (usually /etc/chrony/chrony.keys)"
|
|
eerror "by using the"
|
|
eerror ""
|
|
eerror " chrony.conf.example"
|
|
eerror " chrony.keys.example"
|
|
eerror ""
|
|
eerror "files (from the documentation directory)"
|
|
eerror "as templates."
|
|
return 1
|
|
else
|
|
# Actually, I tried it, and chrony seems to ignore the pidfile
|
|
# option. I'm going to leave it here anyway, since you never
|
|
# know if it might be handy
|
|
PIDFILE=`awk '/^ *pidfile/{print $2}' "${CFGFILE}"`
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
setxtrarg() {
|
|
if [ -c /dev/rtc ]; then
|
|
grep -q '^rtcfile' "${CFGFILE}" && ARGS="${ARGS} -s"
|
|
fi
|
|
grep -q '^dumponexit$' "${CFGFILE}" && ARGS="${ARGS} -r"
|
|
return 0
|
|
}
|
|
|
|
start() {
|
|
case "$(mobyplatform)" in
|
|
"windows")
|
|
exit 0
|
|
;;
|
|
"mac")
|
|
sed -i -e "s/^pool [^ ]\+/server 192.168.65.1 trust/g" /etc/chrony/chrony.conf
|
|
;;
|
|
"aws")
|
|
sed -i -e "s/^pool [^ ]\+/pool 0.amazon.pool.ntp.org/g" /etc/chrony/chrony.conf
|
|
;;
|
|
"gcp")
|
|
sed -i -e "s/^pool [^ ]\+/server metadata.google.internal trust/g" /etc/chrony/chrony.conf
|
|
;;
|
|
"azure")
|
|
# TODO needs an ntp solution
|
|
;;
|
|
esac
|
|
|
|
checkconfig || return $?
|
|
setxtrarg
|
|
|
|
[ -n "${PIDFILE}" ] || PIDFILE=/var/run/chronyd.pid
|
|
|
|
ebegin "Starting chronyd"
|
|
start-stop-daemon --start --quiet \
|
|
--exec /usr/sbin/chronyd \
|
|
--pidfile "${PIDFILE}" \
|
|
-- -f "${CFGFILE}" ${ARGS}
|
|
eend $? "Failed to start chronyd"
|
|
}
|
|
|
|
stop() {
|
|
[ "$(mobyplatform)" = "windows" ] && exit 0
|
|
|
|
checkconfig || return $?
|
|
|
|
[ -n "${PIDFILE}" ] || PIDFILE=/var/run/chronyd.pid
|
|
|
|
ebegin "Stopping chronyd"
|
|
start-stop-daemon --stop --quiet \
|
|
--pidfile "${PIDFILE}"
|
|
eend $? "Failed to stop chronyd"
|
|
}
|