v0.10.0
This commit is contained in:
parent
753b03861f
commit
bcba6b2086
3
.changes/unreleased/Added-20250301-132932.yaml
Normal file
3
.changes/unreleased/Added-20250301-132932.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
kind: Added
|
||||
body: 'Hooks: improved logging when executing'
|
||||
time: 2025-03-01T13:29:32.195438013-06:00
|
3
.changes/unreleased/Added-20250303-234248.yaml
Normal file
3
.changes/unreleased/Added-20250303-234248.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
kind: Added
|
||||
body: 'User commands: adding SSH keys using config key `userSshPubKeys`'
|
||||
time: 2025-03-03T23:42:48.009294808-06:00
|
3
.changes/unreleased/Added-20250303-234505.yaml
Normal file
3
.changes/unreleased/Added-20250303-234505.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
kind: Added
|
||||
body: 'directives: added support for fetching values using directive `%{externalSource:key}%`'
|
||||
time: 2025-03-03T23:45:05.666939653-06:00
|
3
.changes/unreleased/Changed-20250301-194321.yaml
Normal file
3
.changes/unreleased/Changed-20250301-194321.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
kind: Changed
|
||||
body: 'Commands: if dir is not specified, run in config dir'
|
||||
time: 2025-03-01T19:43:21.323077376-06:00
|
3
.changes/unreleased/Fixed-20250301-132600.yaml
Normal file
3
.changes/unreleased/Fixed-20250301-132600.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
kind: Fixed
|
||||
body: 'LocalFetcher: return fetch error'
|
||||
time: 2025-03-01T13:26:00.330176712-06:00
|
3
.changes/unreleased/Fixed-20250301-132801.yaml
Normal file
3
.changes/unreleased/Fixed-20250301-132801.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
kind: Fixed
|
||||
body: 'Lists: load file key before attempting to load from current file'
|
||||
time: 2025-03-01T13:28:01.739467944-06:00
|
3
.changes/unreleased/Fixed-20250301-182434.yaml
Normal file
3
.changes/unreleased/Fixed-20250301-182434.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
kind: Fixed
|
||||
body: 'fix: host not in config file, but in ssh config, properly added to hosts struct'
|
||||
time: 2025-03-01T18:24:34.81395054-06:00
|
108
docs/content/examples/backy.yaml
Normal file
108
docs/content/examples/backy.yaml
Normal file
@ -0,0 +1,108 @@
|
||||
commands:
|
||||
stop-docker-container:
|
||||
cmd: docker
|
||||
Args:
|
||||
- compose
|
||||
- -f /some/path/to/docker-compose.yaml
|
||||
- down
|
||||
# if host is not defined, cmd will be run locally
|
||||
host: some-host
|
||||
hooks:
|
||||
final:
|
||||
- hostname
|
||||
error:
|
||||
- hostname
|
||||
backup-docker-container-script:
|
||||
cmd: /path/to/script
|
||||
# The host has to be defined in the config file
|
||||
host: some-host
|
||||
environment:
|
||||
- FOO=BAR
|
||||
- APP=$VAR
|
||||
shell-cmd:
|
||||
cmd: rsync
|
||||
shell: bash
|
||||
Args:
|
||||
- -av some-host:/path/to/data ~/Docker/Backups/docker-data
|
||||
hostname:
|
||||
cmd: hostname
|
||||
update-docker:
|
||||
type: package
|
||||
shell: zsh # best to run package commands in a shell
|
||||
packageName: docker-ce
|
||||
Args:
|
||||
- docker-ce-cli
|
||||
packageManager: apt
|
||||
packageOperation: install
|
||||
update-dockerApt:
|
||||
# type: package
|
||||
shell: zsh
|
||||
cmd: apt
|
||||
Args:
|
||||
- update
|
||||
- "&&"
|
||||
- apt install -y docker-ce
|
||||
- docker-ce-cli
|
||||
packageManager: apt
|
||||
packageOperation: install
|
||||
|
||||
cmd-lists:
|
||||
cmds-to-run: # this can be any name you want
|
||||
# all commands have to be defined
|
||||
order:
|
||||
- stop-docker-container
|
||||
- backup-docker-container-script
|
||||
- shell-cmd
|
||||
- hostname
|
||||
notifications:
|
||||
- matrix.matrix
|
||||
name: backup-some-server
|
||||
cron: "0 0 1 * * *"
|
||||
hostname:
|
||||
name: hostname
|
||||
order:
|
||||
- hostname
|
||||
notifications:
|
||||
- mail.prod-email
|
||||
|
||||
hosts:
|
||||
# any ssh_config(5) keys/values not listed here will be looked up in the config file or the default config file
|
||||
some-host:
|
||||
hostname: some-hostname
|
||||
config: ~/.ssh/config
|
||||
user: user
|
||||
privatekeypath: /path/to/private/key
|
||||
port: 22
|
||||
# can also be env:VAR
|
||||
password: file:/path/to/file
|
||||
# only one is supported for now
|
||||
proxyjump: some-proxy-host
|
||||
|
||||
# optional
|
||||
logging:
|
||||
verbose: true
|
||||
file: ./backy.log
|
||||
console: false
|
||||
cmd-std-out: false
|
||||
|
||||
|
||||
notifications:
|
||||
mail:
|
||||
prod-email:
|
||||
id: prod-email
|
||||
type: mail
|
||||
host: yourhost.tld
|
||||
port: 587
|
||||
senderAddress: email@domain.tld
|
||||
to:
|
||||
- admin@domain.tld
|
||||
username: smtp-username@domain.tld
|
||||
password: your-password-here
|
||||
matrix:
|
||||
matrix:
|
||||
id: matrix
|
||||
type: matrix
|
||||
home-server: your-home-server.tld
|
||||
room-id: room-id
|
||||
access-token: your-access-token
|
||||
user-id: your-user-id
|
24
docs/content/examples/example.yml
Normal file
24
docs/content/examples/example.yml
Normal file
@ -0,0 +1,24 @@
|
||||
commands:
|
||||
stop-docker-container:
|
||||
cmd: docker
|
||||
Args:
|
||||
- compose
|
||||
- -f /some/path/to/docker-compose.yaml
|
||||
- down
|
||||
# if host is not defined, command will be run locally
|
||||
# The host has to be defined in either the config file or the SSH Config files
|
||||
host: some-host
|
||||
hooks:
|
||||
error:
|
||||
- some-other-command-when-failing
|
||||
success:
|
||||
- success-command
|
||||
final:
|
||||
- final-command
|
||||
backup-docker-container-script:
|
||||
cmd: /path/to/local/script
|
||||
# script file is input as stdin to SSH
|
||||
type: scriptFile # also can be script
|
||||
environment:
|
||||
- FOO=BAR
|
||||
- APP=$VAR
|
3
docs/layouts/shortcodes/code.html
Normal file
3
docs/layouts/shortcodes/code.html
Normal file
@ -0,0 +1,3 @@
|
||||
{{ $file := .Get "file" | readFile }}
|
||||
{{ $lang := .Get "language" }}
|
||||
{{ (print "```" $lang "\n" $file "\n```") }}
|
24
examples/example.yml
Normal file
24
examples/example.yml
Normal file
@ -0,0 +1,24 @@
|
||||
commands:
|
||||
stop-docker-container:
|
||||
cmd: docker
|
||||
Args:
|
||||
- compose
|
||||
- -f /some/path/to/docker-compose.yaml
|
||||
- down
|
||||
# if host is not defined, command will be run locally
|
||||
# The host has to be defined in either the config file or the SSH Config files
|
||||
host: some-host
|
||||
hooks:
|
||||
error:
|
||||
- some-other-command-when-failing
|
||||
success:
|
||||
- success-command
|
||||
final:
|
||||
- final-command
|
||||
backup-docker-container-script:
|
||||
cmd: /path/to/local/script
|
||||
# script file is input as stdin to SSH
|
||||
type: scriptFile # also can be script
|
||||
environment:
|
||||
- FOO=BAR
|
||||
- APP=$VAR
|
1
tests/.gitignore
vendored
Normal file
1
tests/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
private
|
17
tests/ErrorHook.yml
Normal file
17
tests/ErrorHook.yml
Normal file
@ -0,0 +1,17 @@
|
||||
commands:
|
||||
echoTestFail:
|
||||
cmd: ech
|
||||
shell: bash
|
||||
Args: hello world
|
||||
hooks:
|
||||
error:
|
||||
- errorCmd
|
||||
|
||||
errorCmd:
|
||||
name: get docker version
|
||||
cmd: docker
|
||||
getOutput: true
|
||||
outputToLog: true
|
||||
Args:
|
||||
- "-v"
|
||||
host: email-svr
|
14
tests/HookNotInFile.yaml
Normal file
14
tests/HookNotInFile.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
commands:
|
||||
echoTestFail:
|
||||
cmd: ech
|
||||
shell: bash
|
||||
Args: hello world
|
||||
hooks:
|
||||
error:
|
||||
- errorCm #
|
||||
|
||||
errorCmd:
|
||||
name: get docker version
|
||||
cmd: docker
|
||||
Args:
|
||||
- "-v"
|
16
tests/SuccessHook.yml
Normal file
16
tests/SuccessHook.yml
Normal file
@ -0,0 +1,16 @@
|
||||
commands:
|
||||
echoTestSuccess:
|
||||
cmd: echo
|
||||
shell: bash
|
||||
Args: hello world
|
||||
hooks:
|
||||
success:
|
||||
- successCmd
|
||||
|
||||
errorCmd:
|
||||
name: get docker version
|
||||
cmd: docker
|
||||
getOutput: true
|
||||
outputToLog: true
|
||||
Args:
|
||||
- "-v"
|
Loading…
x
Reference in New Issue
Block a user