jkawamoto/roadie

View on GitHub
assets/roadie.service

Summary

Maintainability
Test Coverage
#
# roadie.service
# Template of service unit definition for roadie-gcp
#
# Copyright (c) 2016-2017 Junpei Kawamoto
#
# This file is part of Roadie.
#
# Roadie is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Roadie is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Roadie.  If not, see <http://www.gnu.org/licenses/>.
#
[Unit]
Description=Roadie Script Execution
Requires=fluentd.service
After=fluentd.service

[Service]
ExecStartPre=-/usr/bin/docker stop {{.Name}}
ExecStartPre=-/usr/bin/docker rm {{.Name}}
ExecStartPre=-/usr/bin/docker pull {{.Image}}
ExecStartPre=/usr/bin/curl -o /root/script.yml "http://metadata.google.internal/computeMetadata/v1/instance/attributes/script" -H "Metadata-Flavor: Google"
ExecStart=/usr/bin/docker run -i --name {{.Name}} -v /root/script.yml:/root/script.yml {{.Image}} {{.Options}} -c /root/script.yml
ExecStop=/usr/bin/docker stop {{.Name}}
Type=oneshot

[Install]
WantedBy=multi-user.target