From 8134b47b940354ded5624071ec87c9450e5aea58 Mon Sep 17 00:00:00 2001 From: Valentin Lab Date: Tue, 16 Apr 2019 16:34:20 +0200 Subject: [PATCH] new: [drone-agent] new charm --- drone-agent/hooks/init | 35 +++++++++++++++++++++++++++++++++++ drone-agent/metadata.yml | 10 ++++++++++ 2 files changed, 45 insertions(+) create mode 100755 drone-agent/hooks/init create mode 100644 drone-agent/metadata.yml diff --git a/drone-agent/hooks/init b/drone-agent/hooks/init new file mode 100755 index 0000000..e718cf6 --- /dev/null +++ b/drone-agent/hooks/init @@ -0,0 +1,35 @@ +#!/bin/bash + +## Init is run on host +## For now it is run every time the script is launched, but +## it should be launched only once after build. + +## Accessible variables are: +## - SERVICE_NAME Name of current service +## - DOCKER_BASE_IMAGE Base image from which this service might be built if any +## - SERVICE_DATASTORE Location on host of the DATASTORE of this service +## - SERVICE_CONFIGSTORE Location on host of the CONFIGSTORE of this service + + +set -e + +server="$(options-get server)" || exit 1 +secret="$(options-get secret)" || exit 1 +name="$(options-get name)" || true +capacity="$(options-get capacity)" || true + +name=${name:-"$(hostname)/$SERVICE_NAME"} +capacity=${capacity:-2} +## YYY should implement labels (see https://docs.drone.io/reference/agent/drone-runner-labels/) + + +init-config-add "\ +$MASTER_BASE_SERVICE_NAME: + environment: + DRONE_RPC_SERVER: $server + DRONE_RPC_SECRET: $secret + DRONE_RUNNER_NAME: $name + DRONE_RUNNER_CAPACITY: $capacity + volumes: + - /var/run/docker.sock:/var/run/docker.sock +" diff --git a/drone-agent/metadata.yml b/drone-agent/metadata.yml new file mode 100644 index 0000000..56c622e --- /dev/null +++ b/drone-agent/metadata.yml @@ -0,0 +1,10 @@ +description: "Drone Server" +maintainer: "Valentin Lab " +## XXXvlab: docker uses the 'build' directory or the 'image:' option here. +docker-image: docker.0k.io/drone-agent:1.1 +default-options: + #server: ## mandatory server url + #secret: ## mandatory server secret + + #name: ## optional + capacity: 2