# Copyright 2019 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     "Daemon providing eSIM support"
author          "chromium-os-dev@chromium.org"

start on started network-services
stop on starting pre-shutdown

# List of provided args in order:
# - Run as hermes user and group.
# - Inherit supplementary groups from user hermes.
# - Set no_new_privs.
exec minijail0                                    \
     -u hermes -g hermes                          \
     -G                                           \
     -n                                           \
     /usr/bin/hermes
