Compare commits
9 Commits
commandHoo
...
v0.5.0
Author | SHA1 | Date | |
---|---|---|---|
291a954e9c | |||
e43eecf383 | |||
ea676fe0da | |||
e73bd9ff3b | |||
fd9426181f | |||
c25edc5d78 | |||
aebfbda64e | |||
5fe0629b0f | |||
7d6acd77b5 |
@ -1,3 +0,0 @@
|
|||||||
kind: Added
|
|
||||||
body: Lists config can now go in a file. See docs for more information.
|
|
||||||
time: 2024-08-28T14:27:30.427754114-05:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Added
|
|
||||||
body: 'new commands.[name].type: script. Works just like scriptFile, but can take arguments.'
|
|
||||||
time: 2024-10-08T22:37:33.664140846-05:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Added
|
|
||||||
body: Hooks for Commands.[name]. Error, success, and final. [#12]
|
|
||||||
time: 2024-11-14T21:01:48.823426401-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Changed
|
|
||||||
body: GetKnownHosts is now a method of Host
|
|
||||||
time: 2024-05-14T19:58:17.516072381-05:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Fixed
|
|
||||||
body: make command logger be used for errors, not just when running the command
|
|
||||||
time: 2024-11-14T21:13:06.404134926-06:00
|
|
9
.changes/v0.5.0.md
Normal file
9
.changes/v0.5.0.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
## v0.5.0 - 2024-11-19
|
||||||
|
### Added
|
||||||
|
* Lists can now go in a file. See docs for more information.
|
||||||
|
* commands.[name].type: script now opens `scriptEnvFile`.
|
||||||
|
* Hooks for Commands.[name]. Error, success, and final. [#12]
|
||||||
|
### Changed
|
||||||
|
* GetKnownHosts is now a method of Host
|
||||||
|
### Fixed
|
||||||
|
* make command logger be used for errors, not just when running the command
|
@ -1,3 +1,4 @@
|
|||||||
|
version: 2
|
||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
# You may remove this if you don't use go modules.
|
# You may remove this if you don't use go modules.
|
||||||
@ -31,9 +32,9 @@ archives:
|
|||||||
checksum:
|
checksum:
|
||||||
name_template: 'checksums.txt'
|
name_template: 'checksums.txt'
|
||||||
snapshot:
|
snapshot:
|
||||||
name_template: "{{ incpatch .Version }}-next"
|
version_template: "{{ incpatch .Version }}-next"
|
||||||
changelog:
|
changelog:
|
||||||
skip: false
|
disable: false
|
||||||
|
|
||||||
gitea_urls:
|
gitea_urls:
|
||||||
api: https://git.andrewnw.xyz/api/v1
|
api: https://git.andrewnw.xyz/api/v1
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# This is an example .goreleaser.yml file with some sensible defaults.
|
# This is an example .goreleaser.yml file with some sensible defaults.
|
||||||
# Make sure to check the documentation at https://goreleaser.com
|
# Make sure to check the documentation at https://goreleaser.com
|
||||||
|
version: 2
|
||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
# You may remove this if you don't use go modules.
|
# You may remove this if you don't use go modules.
|
||||||
@ -32,7 +33,7 @@ archives:
|
|||||||
checksum:
|
checksum:
|
||||||
name_template: 'checksums.txt'
|
name_template: 'checksums.txt'
|
||||||
snapshot:
|
snapshot:
|
||||||
name_template: "{{ incpatch .Version }}-next"
|
version_template: "{{ incpatch .Version }}-next"
|
||||||
changelog:
|
changelog:
|
||||||
sort: asc
|
sort: asc
|
||||||
filters:
|
filters:
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
const versionStr = "0.4.0"
|
const versionStr = "0.5.0"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
versionCmd = &cobra.Command{
|
versionCmd = &cobra.Command{
|
||||||
|
@ -110,6 +110,7 @@ Usage:
|
|||||||
backy list [--list=list1,list2,... | -l list1, list2,...] [ -cmd cmd1 cmd2 cmd3...] [flags]
|
backy list [--list=list1,list2,... | -l list1, list2,...] [ -cmd cmd1 cmd2 cmd3...] [flags]
|
||||||
|
|
||||||
Flags:
|
Flags:
|
||||||
|
-c, --cmds strings Accepts comma-separated names of commands to list.
|
||||||
-h, --help help for list
|
-h, --help help for list
|
||||||
-l, --lists strings Accepts comma-separated names of command lists to list.
|
-l, --lists strings Accepts comma-separated names of command lists to list.
|
||||||
|
|
||||||
|
@ -9,6 +9,11 @@ Command lists are for executing commands in sequence and getting notifications f
|
|||||||
|
|
||||||
The top-level object key can be anything you want but not the same as another.
|
The top-level object key can be anything you want but not the same as another.
|
||||||
|
|
||||||
|
Lists can go in a separate file. Command lists should be in a separate file if:
|
||||||
|
|
||||||
|
1. key 'cmd-lists.file' is found
|
||||||
|
2. hosts.yml or hosts.yaml is found in the same directory as the backy config file
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
test2:
|
test2:
|
||||||
name: test2
|
name: test2
|
||||||
@ -51,7 +56,7 @@ An array of notification IDs to use on success and failure. Must match any of th
|
|||||||
|
|
||||||
### Name
|
### Name
|
||||||
|
|
||||||
Name is optional for logging. If name is not defined, name will be the object's map key.
|
Name is optional. If name is not defined, name will be the object's map key.
|
||||||
|
|
||||||
### Cron mode
|
### Cron mode
|
||||||
|
|
||||||
|
@ -20,6 +20,13 @@ commands:
|
|||||||
# if host is not defined, command will be run locally
|
# 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
|
# The host has to be defined in either the config file or the SSH Config files
|
||||||
host: some-host
|
host: some-host
|
||||||
|
hooks
|
||||||
|
error:
|
||||||
|
- some-other-command-when-failing
|
||||||
|
success:
|
||||||
|
- success-command
|
||||||
|
final:
|
||||||
|
- final-command
|
||||||
backup-docker-container-script:
|
backup-docker-container-script:
|
||||||
cmd: /path/to/local/script
|
cmd: /path/to/local/script
|
||||||
# script file is input as stdin to SSH
|
# script file is input as stdin to SSH
|
||||||
@ -41,6 +48,7 @@ Values available for this section:
|
|||||||
| `host` | If not specified, the command will execute locally. | `string` | no |
|
| `host` | If not specified, the command will execute locally. | `string` | no |
|
||||||
| `scriptEnvFile` | When type is `scriptFile`, the script is appended to this file. | `string` | no |
|
| `scriptEnvFile` | When type is `scriptFile`, the script is appended to this file. | `string` | no |
|
||||||
| `shell` | Only applicable when host is not specified | `string` | no |
|
| `shell` | Only applicable when host is not specified | `string` | no |
|
||||||
|
| `hooks` | Hooks are used at the end of the individual command. Must be another command. | `[]string` | no |
|
||||||
|
|
||||||
#### cmd
|
#### cmd
|
||||||
|
|
||||||
@ -93,9 +101,9 @@ Make sure to escape any shell input.
|
|||||||
|
|
||||||
Path to a file.
|
Path to a file.
|
||||||
|
|
||||||
When type is `scriptFile`, the script is appended to this file.
|
When type is specified, the script is appended to this file.
|
||||||
|
|
||||||
This is useful for specifiing environment variables or other things so they don't have to be included in the script.
|
This is useful for specifying environment variables or other things so they don't have to be included in the script.
|
||||||
|
|
||||||
### type
|
### type
|
||||||
|
|
||||||
@ -116,3 +124,23 @@ For now, the variables have to be defined in an `.env` file in the same director
|
|||||||
If using it with host specified, the SSH server has to be configured to accept those env variables.
|
If using it with host specified, the SSH server has to be configured to accept those env variables.
|
||||||
|
|
||||||
If the command is run locally, the OS's environment is added.
|
If the command is run locally, the OS's environment is added.
|
||||||
|
|
||||||
|
### hooks
|
||||||
|
|
||||||
|
Hooks are run after the command is run.
|
||||||
|
|
||||||
|
Errors are run if the command errors, success if it returns no error. Final hooks are run regardless of error condition.
|
||||||
|
|
||||||
|
Values for hooks are as follows:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
command:
|
||||||
|
hook:
|
||||||
|
# these commands are defined elsewhere in the file
|
||||||
|
error:
|
||||||
|
- errcommand
|
||||||
|
success:
|
||||||
|
- successcommand
|
||||||
|
final:
|
||||||
|
- donecommand
|
||||||
|
```
|
Reference in New Issue
Block a user