Updating README, adding JSON mapping support for consistency

This commit is contained in:
Omar Ahmad
2020-12-23 13:08:05 -05:00
parent 18e9954d74
commit 0ef54cc06b
9 changed files with 178 additions and 52 deletions

View File

@ -0,0 +1,60 @@
[
{
"comment": "cron with triggered commands",
"schedule": "* * * * *",
"command": "echo hello",
"project": "crontab",
"container": "myapp",
"trigger": [
{
"command": "echo world",
"container": "crontab_myapp_1"
}
]
},
{
"comment": "map a volume",
"schedule": "* * * * *",
"dockerargs": "-d -v /tmp:/tmp",
"command": "echo new",
"image": "alpine:3.5"
},
{
"comment": "use an ENV from inside a container",
"schedule": "@hourly",
"dockerargs": "-d -e FOO=BAR",
"command": "sh -c 'echo hourly ${FOO}'",
"image": "alpine:3.5"
},
{
"comment": "trigger every 2 min",
"schedule": "@every 2m",
"command": "echo 2 minute",
"image": "alpine:3.5",
"trigger": [
{
"command": "echo world",
"container": "crontab_myapp_1"
}
]
},
{
"schedule": "*/5 * * * *",
"command": "/usr/sbin/logrotate /etc/logrotate.conf"
},
{
"comment": "Regenerate Certificate then reload nginx",
"schedule": "43 6,18 * * *",
"command": "sh -c 'dehydrated --cron --out /etc/ssl --domain ${LE_DOMAIN} --challenge dns-01 --hook dehydrated-dns'",
"dockerargs": "--env-file /opt/crontab/env/letsencrypt.env -v webapp_nginx_tls_cert:/etc/ssl -v webapp_nginx_acme_challenge:/var/www/.well-known/acme-challenge",
"image": "willfarrell/letsencrypt",
"trigger": [
{
"command": "sh -c '/etc/scripts/make_hpkp ${NGINX_DOMAIN} && /usr/sbin/nginx -t && /usr/sbin/nginx -s reload'",
"project": "conduit",
"container": "nginx"
}
],
"onstart": true
}
]

View File

@ -0,0 +1,60 @@
[
{
"comment": "cron with triggered commands",
"schedule": "* * * * *",
"command": "echo hello",
"project": "crontab",
"container": "myapp",
"trigger": [
{
"command": "echo world",
"container": "crontab_myapp_1"
}
]
},
{
"comment": "map a volume",
"schedule": "* * * * *",
"dockerargs": "-d -v /tmp:/tmp",
"command": "echo new",
"image": "alpine:3.5"
},
{
"comment": "use an ENV from inside a container",
"schedule": "@hourly",
"dockerargs": "-d -e FOO=BAR",
"command": "sh -c 'echo hourly ${FOO}'",
"image": "alpine:3.5"
},
{
"comment": "trigger every 2 min",
"schedule": "@every 2m",
"command": "echo 2 minute",
"image": "alpine:3.5",
"trigger": [
{
"command": "echo world",
"container": "crontab_myapp_1"
}
]
},
{
"schedule": "*/5 * * * *",
"command": "/usr/sbin/logrotate /etc/logrotate.conf"
},
{
"comment": "Regenerate Certificate then reload nginx",
"schedule": "43 6,18 * * *",
"command": "sh -c 'dehydrated --cron --out /etc/ssl --domain ${LE_DOMAIN} --challenge dns-01 --hook dehydrated-dns'",
"dockerargs": "--env-file /opt/crontab/env/letsencrypt.env -v webapp_nginx_tls_cert:/etc/ssl -v webapp_nginx_acme_challenge:/var/www/.well-known/acme-challenge",
"image": "willfarrell/letsencrypt",
"trigger": [
{
"command": "sh -c '/etc/scripts/make_hpkp ${NGINX_DOMAIN} && /usr/sbin/nginx -t && /usr/sbin/nginx -s reload'",
"project": "conduit",
"container": "nginx"
}
],
"onstart": true
}
]

View File

@ -0,0 +1,46 @@
cron with triggered commands:
command: echo hello
comment: cron with triggered commands
container: myapp
project: crontab
schedule: '* * * * *'
trigger:
- command: echo world
container: crontab_myapp_1
map a volume:
command: echo new
comment: map a volume
dockerargs: -d -v /tmp:/tmp
image: alpine:3.5
schedule: '* * * * *'
use an ENV from inside a container:
command: sh -c 'echo hourly ${FOO}'
comment: use an ENV from inside a container
dockerargs: -d -e FOO=BAR
image: alpine:3.5
schedule: '@hourly'
trigger every 2 min:
command: echo 2 minute
comment: trigger every 2 min
image: alpine:3.5
schedule: '@every 2m'
trigger:
- command: echo world
container: crontab_myapp_1
null:
command: /usr/sbin/logrotate /etc/logrotate.conf
schedule: '*/5 * * * *'
Regenerate Certificate then reload nginx:
command: sh -c 'dehydrated --cron --out /etc/ssl --domain ${LE_DOMAIN} --challenge
dns-01 --hook dehydrated-dns'
comment: Regenerate Certificate then reload nginx
dockerargs: --env-file /opt/crontab/env/letsencrypt.env -v webapp_nginx_tls_cert:/etc/ssl
-v webapp_nginx_acme_challenge:/var/www/.well-known/acme-challenge
image: willfarrell/letsencrypt
onstart: true
schedule: 43 6,18 * * *
trigger:
- command: sh -c '/etc/scripts/make_hpkp ${NGINX_DOMAIN} && /usr/sbin/nginx -t &&
/usr/sbin/nginx -s reload'
container: nginx
project: conduit

View File

@ -0,0 +1,50 @@
# toml files can only have top-loevl mappings, so this is the only sample
["cron with triggered commands"]
comment = "cron with triggered commands"
schedule = "* * * * *"
command = "echo hello"
project = "crontab"
container = "myapp"
[["cron with triggered commands".trigger]]
command = "echo world"
container = "crontab_myapp_1"
["map a volume"]
comment = "map a volume"
schedule = "* * * * *"
dockerargs = "-d -v /tmp:/tmp"
command = "echo new"
image = "alpine:3.5"
["use an ENV from inside a container"]
comment = "use an ENV from inside a container"
schedule = "@hourly"
dockerargs = "-d -e FOO=BAR"
command = "sh -c 'echo hourly ${FOO}'"
image = "alpine:3.5"
["trigger every 2 min"]
comment = "trigger every 2 min"
schedule = "@every 2m"
command = "echo 2 minute"
image = "alpine:3.5"
[["trigger every 2 min".trigger]]
command = "echo world"
container = "crontab_myapp_1"
["? /usr/sbin/logrotate /etc/logrotate.conf*/5 * * * *"]
schedule = "*/5 * * * *"
command = "/usr/sbin/logrotate /etc/logrotate.conf"
["Regenerate Certificate then reload nginx"]
comment = "Regenerate Certificate then reload nginx"
schedule = "43 6,18 * * *"
command = "sh -c 'dehydrated --cron --out /etc/ssl --domain ${LE_DOMAIN} --challenge dns-01 --hook dehydrated-dns'"
dockerargs = "--env-file /opt/crontab/env/letsencrypt.env -v ${PWD}:/etc/ssl -v webapp_nginx_acme_challenge:/var/www/.well-known/acme-challenge"
image = "willfarrell/letsencrypt"
onstart = true
[["Regenerate Certificate then reload nginx".trigger]]
command = "sh -c '/etc/scripts/make_hpkp ${NGINX_DOMAIN} && /usr/sbin/nginx -t && /usr/sbin/nginx -s reload'"
project = "conduit"
container = "nginx"

View File

@ -0,0 +1,40 @@
- command: echo hello
comment: cron with triggered commands
container: myapp
project: crontab
schedule: '* * * * *'
trigger:
- command: echo world
container: crontab_myapp_1
- command: echo new
comment: map a volume
dockerargs: -d -v /tmp:/tmp
image: alpine:3.5
schedule: '* * * * *'
- command: sh -c 'echo hourly ${FOO}'
comment: use an ENV from inside a container
dockerargs: -d -e FOO=BAR
image: alpine:3.5
schedule: '@hourly'
- command: echo 2 minute
comment: trigger every 2 min
image: alpine:3.5
schedule: '@every 2m'
trigger:
- command: echo world
container: crontab_myapp_1
- command: /usr/sbin/logrotate /etc/logrotate.conf
schedule: '*/5 * * * *'
- command: sh -c 'dehydrated --cron --out /etc/ssl --domain ${LE_DOMAIN} --challenge
dns-01 --hook dehydrated-dns'
comment: Regenerate Certificate then reload nginx
dockerargs: --env-file /opt/crontab/env/letsencrypt.env -v webapp_nginx_tls_cert:/etc/ssl
-v webapp_nginx_acme_challenge:/var/www/.well-known/acme-challenge
image: willfarrell/letsencrypt
onstart: true
schedule: 43 6,18 * * *
trigger:
- command: sh -c '/etc/scripts/make_hpkp ${NGINX_DOMAIN} && /usr/sbin/nginx -t &&
/usr/sbin/nginx -s reload'
container: nginx
project: conduit