Public Repository

Last pushed: 6 months ago
Short Description
The Runner-Minion is the remote component for the Centurylink Cloud Runner tool.
Full Description

Centurylink Cloud Runner Minion

The Centurylink Cloud Runner tool supports multi-cloud execution of Runner-jobs. Runner can execute your Jobs against an AWS cloud environment, an Azure cloud environment, or any other cloud environment. Runner can also execute your Jobs against on-premise systems and resources.

Runner is able to achieve this level of reach by utilizing a component we call the Runner-Minion. The Runner-Minion is a small light weight component that you control which runs in your non-CLC environments. When running the Runner-Minion calls back home to Runner-Central via the Runner public API's asking for work for that particular environment. Because the Minion uses public API's via HTTPS to fetch and respond to work your remote environments don't require any special configurations other then the ability to call out to the Internet.

You will need to install and run a Runner-Minion in all non-CenturylinkCloud environments. At a minimum, and the preferred method, the Runner-Minion needs to be installed in a network location where it can access all parts of your environment. From this location the Runner-Minion will utilize ssh/winrm to communicate with systems and resources. Another approach, although a bit overkill, is to install a Runner-Minion on each system or resource in your environment.

How To Install

Execute a docker pull on the image to download it to your system.

docker pull centurylink/rnr-minion

Register The Runner-Minion

Register the minion to receive an access token.

Request
Attribute Value
URL http://api.runner.ctl.io/minions/{account-alias}/tokens
Authorization "Bearer eye...qaw="
Payload {}
Curl example:
curl \
-XPOST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJ0e...fIw" \
https://api.runner.ctl.io/minions/wftc/tokens \
--data '{}'
Response
Key Value
"accountAlias" "{account-alias}",
"location" "minion.default",
"requestQueue" "minion.default",
"replyQueue" "minion.default.reply",
"id" "ea94a4b...-da2266e761f3",
"token" "1020...-a023a23b586f"

Launch The Runner-Minion

Then launch your minion with the token.

docker run -it  centurylink/rnr-minion --token=1020...-a023a23b586f --minion-api-endpoint=https://api.runner.ctl.io/minions --queue-api-endpoint=https://api.runner.ctl.io/queues
Docker Pull Command
Owner
centurylink