Added a new Huginn cattle template
This commit is contained in:
parent
666a687a3a
commit
86242bed6f
23
templates/huginn/0/README.md
Normal file
23
templates/huginn/0/README.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Huginn
|
||||||
|
|
||||||
|
Your agents are standing by!
|
||||||
|
|
||||||
|
[Huginn](https://github.com/huginn/huginn) is a tool that allows you to automate tasks on the internet and/or your private intranet.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
When huginn first starts up it will create one user named, `admin`, with the password, `password`, along with a number of example agents for that user. Each new user will start off with a set of example agents.
|
||||||
|
|
||||||
|
The Huggin web interface is served in the `huginn_web` container on port `3000`. In order to get web traffic to the container you have to create a Rancher load balancer and route the traffic to the container on port `3000`.
|
||||||
|
|
||||||
|
## Scaling
|
||||||
|
|
||||||
|
The `huginn-web` service *can* be scaled to provide a redundant web interface or to account for a large amount of traffic, but scaling is usually unnecessary.
|
||||||
|
|
||||||
|
The `huginn-agent-runner` service **cannot** be scaled as it is the agent scheduler. Running multiple `huginn-agent-runner` services would result in jobs running multiple times. Running only a single `huginn-agent-runner` container should not be a HA concern because the container does not represent any significant load and because the container will restart automatically in case of a failure. In the event of a container restart, there will a momentary pause in agent scheduling, but that should not represent any issue.
|
||||||
|
|
||||||
|
The `huginn-delayed-job` service can and should be scaled up if you have a large number of agents. This will distribute the tasks over more containers.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
For more information on configuration options see [this example environment file](https://github.com/huginn/huginn/blob/master/.env.example) from the Huginn project.
|
114
templates/huginn/0/docker-compose.yml
Normal file
114
templates/huginn/0/docker-compose.yml
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:9.5
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||||
|
POSTGRES_USER: huginn
|
||||||
|
POSTGRES_DB: huginn
|
||||||
|
http_proxy:
|
||||||
|
https_proxy:
|
||||||
|
labels:
|
||||||
|
io.rancher.container.pull_image: always
|
||||||
|
|
||||||
|
huginn-web:
|
||||||
|
image: huginn/huginn-single-process
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
DATABASE_ADAPTER: postgresql
|
||||||
|
POSTGRES_PORT_5432_TCP_ADDR: postgres
|
||||||
|
POSTGRES_PORT_5432_TCP_PORT: 5432
|
||||||
|
DATABASE_ADAPTER: postgresql
|
||||||
|
DATABASE_NAME: huginn
|
||||||
|
DATABASE_USERNAME: huginn
|
||||||
|
DATABASE_PASSWORD: ${DB_PASSWORD}
|
||||||
|
APP_SECRET_TOKEN: ${APP_SECRET_TOKEN}
|
||||||
|
DOMAIN: $DOMAIN
|
||||||
|
INVITATION_CODE: $INVITATION_CODE
|
||||||
|
SKIP_INVITATION_CODE: $SKIP_INVITATION_CODE
|
||||||
|
REQUIRE_CONFIRMED_EMAIL: true
|
||||||
|
SMTP_DOMAIN: $DOMAIN
|
||||||
|
SMTP_USER_NAME: $SMTP_USER_NAME
|
||||||
|
SMTP_PASSWORD: $SMTP_PASSWORD
|
||||||
|
SMTP_SERVER: $SMTP_SERVER
|
||||||
|
SMTP_PORT: $SMTP_PORT
|
||||||
|
SMTP_AUTHENTICATION: $SMTP_AUTHENTICATION
|
||||||
|
SMTP_ENABLE_STARTTLS_AUTO: true
|
||||||
|
USE_EVERNOTE_SANDBOX: false
|
||||||
|
EMAIL_FROM_ADDRESS: $EMAIL_FROM_ADDRESS
|
||||||
|
ADDITIONAL_GEMS: $ADDITIONAL_GEMS
|
||||||
|
http_proxy:
|
||||||
|
https_proxy:
|
||||||
|
labels:
|
||||||
|
io.rancher.container.pull_image: always
|
||||||
|
|
||||||
|
huginn-agent-runner:
|
||||||
|
image: huginn/huginn-single-process
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
DATABASE_ADAPTER: postgresql
|
||||||
|
POSTGRES_PORT_5432_TCP_ADDR: postgres
|
||||||
|
POSTGRES_PORT_5432_TCP_PORT: 5432
|
||||||
|
DATABASE_ADAPTER: postgresql
|
||||||
|
DATABASE_NAME: huginn
|
||||||
|
DATABASE_USERNAME: huginn
|
||||||
|
DATABASE_PASSWORD: ${DB_PASSWORD}
|
||||||
|
APP_SECRET_TOKEN: ${APP_SECRET_TOKEN}
|
||||||
|
DOMAIN: $DOMAIN
|
||||||
|
INVITATION_CODE: $INVITATION_CODE
|
||||||
|
SKIP_INVITATION_CODE: $SKIP_INVITATION_CODE
|
||||||
|
REQUIRE_CONFIRMED_EMAIL: true
|
||||||
|
SMTP_DOMAIN: $DOMAIN
|
||||||
|
SMTP_USER_NAME: $SMTP_USER_NAME
|
||||||
|
SMTP_PASSWORD: $SMTP_PASSWORD
|
||||||
|
SMTP_SERVER: $SMTP_SERVER
|
||||||
|
SMTP_PORT: $SMTP_PORT
|
||||||
|
SMTP_AUTHENTICATION: $SMTP_AUTHENTICATION
|
||||||
|
SMTP_ENABLE_STARTTLS_AUTO: true
|
||||||
|
USE_EVERNOTE_SANDBOX: false
|
||||||
|
EMAIL_FROM_ADDRESS: $EMAIL_FROM_ADDRESS
|
||||||
|
ADDITIONAL_GEMS: $ADDITIONAL_GEMS
|
||||||
|
http_proxy:
|
||||||
|
https_proxy:
|
||||||
|
labels:
|
||||||
|
io.rancher.container.pull_image: always
|
||||||
|
command: /scripts/init bin/agent_runner.rb
|
||||||
|
|
||||||
|
huginn-delayed-job:
|
||||||
|
image: huginn/huginn-single-process
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
DATABASE_ADAPTER: postgresql
|
||||||
|
POSTGRES_PORT_5432_TCP_ADDR: postgres
|
||||||
|
POSTGRES_PORT_5432_TCP_PORT: 5432
|
||||||
|
DATABASE_ADAPTER: postgresql
|
||||||
|
DATABASE_NAME: huginn
|
||||||
|
DATABASE_USERNAME: huginn
|
||||||
|
DATABASE_PASSWORD: ${DB_PASSWORD}
|
||||||
|
APP_SECRET_TOKEN: ${APP_SECRET_TOKEN}
|
||||||
|
DOMAIN: $DOMAIN
|
||||||
|
INVITATION_CODE: $INVITATION_CODE
|
||||||
|
SKIP_INVITATION_CODE: $SKIP_INVITATION_CODE
|
||||||
|
REQUIRE_CONFIRMED_EMAIL: true
|
||||||
|
SMTP_DOMAIN: $DOMAIN
|
||||||
|
SMTP_USER_NAME: $SMTP_USER_NAME
|
||||||
|
SMTP_PASSWORD: $SMTP_PASSWORD
|
||||||
|
SMTP_SERVER: $SMTP_SERVER
|
||||||
|
SMTP_PORT: $SMTP_PORT
|
||||||
|
SMTP_AUTHENTICATION: $SMTP_AUTHENTICATION
|
||||||
|
SMTP_ENABLE_STARTTLS_AUTO: true
|
||||||
|
USE_EVERNOTE_SANDBOX: false
|
||||||
|
EMAIL_FROM_ADDRESS: $EMAIL_FROM_ADDRESS
|
||||||
|
ADDITIONAL_GEMS: $ADDITIONAL_GEMS
|
||||||
|
http_proxy:
|
||||||
|
https_proxy:
|
||||||
|
labels:
|
||||||
|
io.rancher.container.pull_image: always
|
||||||
|
command: /scripts/init script/delayed_job run
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-data:
|
||||||
|
driver: ${STORAGE_DRIVER}
|
86
templates/huginn/0/rancher-compose.yml
Normal file
86
templates/huginn/0/rancher-compose.yml
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
version: '2'
|
||||||
|
catalog:
|
||||||
|
name: Huginn
|
||||||
|
version: 0.1
|
||||||
|
description: Web automation framework. Your agents are standing by!
|
||||||
|
questions:
|
||||||
|
- variable: DB_PASSWORD
|
||||||
|
description: The database password
|
||||||
|
label: Database Password
|
||||||
|
required: true
|
||||||
|
type: password
|
||||||
|
- variable: DOMAIN
|
||||||
|
description: The domain and port that Huginn will be hosted on
|
||||||
|
label: Domain
|
||||||
|
required: true
|
||||||
|
default: example.com:443
|
||||||
|
type: string
|
||||||
|
- variable: INVITATION_CODE
|
||||||
|
description: Code that new users must use to register
|
||||||
|
label: Invitation Code
|
||||||
|
required: true
|
||||||
|
default: try-huginn
|
||||||
|
type: string
|
||||||
|
- variable: SKIP_INVITATION_CODE
|
||||||
|
description: Don't require users to have an invitation code to register
|
||||||
|
label: Skip Invitation Code
|
||||||
|
required: true
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
- variable: REQUIRE_CONFIRMED_EMAIL
|
||||||
|
description: Require newly registered users to confirm their Email address
|
||||||
|
label: Require Confirmed Email
|
||||||
|
required: true
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
- variable: SMTP_USER_NAME
|
||||||
|
label: SMTP Username
|
||||||
|
required: false
|
||||||
|
default: you@gmail.com
|
||||||
|
type: string
|
||||||
|
- variable: SMTP_PASSWORD
|
||||||
|
label: SMTP Password
|
||||||
|
required: false
|
||||||
|
default: password
|
||||||
|
type: password
|
||||||
|
- variable: SMTP_SERVER
|
||||||
|
label: SMTP Server
|
||||||
|
required: false
|
||||||
|
default: smtp.gmail.com
|
||||||
|
type: string
|
||||||
|
- variable: SMTP_PORT
|
||||||
|
label: SMTP Port
|
||||||
|
required: false
|
||||||
|
default: 587
|
||||||
|
type: string
|
||||||
|
- variable: EMAIL_FROM_ADDRESS
|
||||||
|
label: Email From Address
|
||||||
|
required: false
|
||||||
|
default: noreply@something.com
|
||||||
|
type: string
|
||||||
|
- variable: SMTP_AUTHENTICATION
|
||||||
|
label: SMTP Authentication Method
|
||||||
|
default: plain
|
||||||
|
required: false
|
||||||
|
type: enum
|
||||||
|
options:
|
||||||
|
- plain
|
||||||
|
- login
|
||||||
|
- variable: ADDITIONAL_GEMS
|
||||||
|
description: Additional ruby gems to install. Can be used to provide additional huginn agents
|
||||||
|
label: Additional Gems
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
scale: 1
|
||||||
|
start_on_create: true
|
||||||
|
huginn-web:
|
||||||
|
scale: 1
|
||||||
|
start_on_create: true
|
||||||
|
huginn-agent-runner:
|
||||||
|
scale: 1
|
||||||
|
start_on_create: true
|
||||||
|
huginn-delayed-job:
|
||||||
|
scale: 1
|
||||||
|
start_on_create: true
|
6
templates/huginn/config.yml
Normal file
6
templates/huginn/config.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
name: Huginn
|
||||||
|
description: |
|
||||||
|
Web automation framework. Your agents are standing by!
|
||||||
|
version: 0.1
|
||||||
|
category: Automation
|
||||||
|
maintainer: Zicklag (zicklag@katharostech.com)
|
Loading…
x
Reference in New Issue
Block a user