# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description   "Start arc-host-clock-service"
author        "chromium-os-dev@chromium.org"

# This job is started by Chrome.
stop on stopping ui

oom score -100
limit as 100000000 unlimited

pre-start script
  # Make sure the vsock module is loaded.
  modprobe -q vhost-vsock
end script

# Use minimalistic-mountns profile.
# -e for a new network namespace.
# -p -I for a new PID namespace and run the process as init (no need to fork).
# -l for a new IPC namespace.
# --uts for UTS namespace to isolate from host / domain names.
# -N for freeze cgroup settings.
exec minijail0 \
  --profile=minimalistic-mountns \
  -e \
  -p -I \
  -l \
  --uts \
  -N \
  -u arc-host-clock \
  -g arc-host-clock \
  -- /usr/bin/arc-host-clock-service