Compare commits
6 Commits
e20141043c
...
v0.7.0
Author | SHA1 | Date | |
---|---|---|---|
67a1eab908 | |||
c618ca33f8 | |||
6e7d912fa2 | |||
b90d1958b2 | |||
c187fbb735 | |||
c3de4386ab |
@ -1,3 +0,0 @@
|
|||||||
kind: Added
|
|
||||||
body: '[feat]: package `packageOperation` option `checkVersion` implemented'
|
|
||||||
time: 2025-01-11T21:15:46.207199643-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Added
|
|
||||||
body: user management added - see docs
|
|
||||||
time: 2025-01-11T21:18:13.182822019-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Added
|
|
||||||
body: Support for remote config sources. Only config file and list can be used for now.
|
|
||||||
time: 2025-01-13T23:12:48.383700682-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Added
|
|
||||||
body: Cache functionality - still a WIP
|
|
||||||
time: 2025-01-28T15:35:24.512485671-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Added
|
|
||||||
body: Flag `--s3-endpoint` for config file fetching from S3
|
|
||||||
time: 2025-02-07T21:24:29.596055611-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Changed
|
|
||||||
body: Internal refactoring of config setup
|
|
||||||
time: 2025-01-13T23:10:07.215735108-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Changed
|
|
||||||
body: Formatting and sending for notifications
|
|
||||||
time: 2025-01-13T23:16:22.260458782-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Changed
|
|
||||||
body: "name of `configfetcher` to `remotefetcher`"
|
|
||||||
time: 2025-01-28T15:42:04.282668058-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Changed
|
|
||||||
body: Flags that took comma-separated lists now have to be passed multiple times for each argument.
|
|
||||||
time: 2025-02-08T15:15:08.457086102-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Fixed
|
|
||||||
body: Parsing of remote URLs when determining list config file path
|
|
||||||
time: 2025-01-28T15:38:06.957506929-06:00
|
|
@ -1,3 +0,0 @@
|
|||||||
kind: Fixed
|
|
||||||
body: Incorrect error notification template value
|
|
||||||
time: 2025-02-02T19:45:23.872797604-06:00
|
|
16
.changes/v0.7.0.md
Normal file
16
.changes/v0.7.0.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
## v0.7.0 - 2025-02-11
|
||||||
|
### Added
|
||||||
|
* [feat]: package `packageOperation` option `checkVersion` implemented
|
||||||
|
* user management added - see docs
|
||||||
|
* Support for remote config sources. Only config file and list can be used for now.
|
||||||
|
* Cache functionality - still a WIP
|
||||||
|
* Flag `--s3-endpoint` for config file fetching from S3
|
||||||
|
### Changed
|
||||||
|
* Internal refactoring of config setup
|
||||||
|
* Formatting and sending for notifications
|
||||||
|
* name of `configfetcher` to `remotefetcher`
|
||||||
|
* Flags that took comma-separated lists now have to be passed multiple times for each argument.
|
||||||
|
* Hosts passed to `exec host` now checked against default SSH config files
|
||||||
|
### Fixed
|
||||||
|
* Parsing of remote URLs when determining list config file path
|
||||||
|
* Incorrect error notification template value
|
18
CHANGELOG.md
18
CHANGELOG.md
@ -6,10 +6,26 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|||||||
and is generated by [Changie](https://github.com/miniscruff/changie).
|
and is generated by [Changie](https://github.com/miniscruff/changie).
|
||||||
|
|
||||||
|
|
||||||
|
## v0.7.0 - 2025-02-11
|
||||||
|
### Added
|
||||||
|
* [feat]: package `packageOperation` option `checkVersion` implemented
|
||||||
|
* user management added - see docs
|
||||||
|
* Support for remote config sources. Only config file and list can be used for now.
|
||||||
|
* Cache functionality - still a WIP
|
||||||
|
* Flag `--s3-endpoint` for config file fetching from S3
|
||||||
|
### Changed
|
||||||
|
* Internal refactoring of config setup
|
||||||
|
* Formatting and sending for notifications
|
||||||
|
* name of `configfetcher` to `remotefetcher`
|
||||||
|
* Flags that took comma-separated lists now have to be passed multiple times for each argument.
|
||||||
|
* Hosts passed to `exec host` now checked against default SSH config files
|
||||||
|
### Fixed
|
||||||
|
* Parsing of remote URLs when determining list config file path
|
||||||
|
* Incorrect error notification template value
|
||||||
|
|
||||||
## v0.6.1 - 2025-01-04
|
## v0.6.1 - 2025-01-04
|
||||||
### Fixed
|
### Fixed
|
||||||
* When running a list, hooks now run explicitly after the command executes. Fixed panic due to improper logic.
|
* When running a list, hooks now run explicitly after the command executes. Fixed panic due to improper logic.
|
||||||
|
|
||||||
## v0.6.0 - 2025-01-04
|
## v0.6.0 - 2025-01-04
|
||||||
### Added
|
### Added
|
||||||
* Command Type Package - allows one to perform package operations [docs](https://backy.cybershell.xyz/config/packages/)
|
* Command Type Package - allows one to perform package operations [docs](https://backy.cybershell.xyz/config/packages/)
|
||||||
|
19
cmd/host.go
19
cmd/host.go
@ -15,14 +15,16 @@ var (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// Holds command list to run
|
// Holds list of hosts to run commands on
|
||||||
var hostsList []string
|
var hostsList []string
|
||||||
|
|
||||||
|
// Holds command list to run
|
||||||
var cmdList []string
|
var cmdList []string
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
||||||
hostExecCommand.Flags().StringArrayVarP(&hostsList, "hosts", "m", nil, "Accepts space-separated names of hosts.")
|
hostExecCommand.Flags().StringArrayVarP(&hostsList, "hosts", "m", nil, "Accepts space-separated names of hosts. Specify multiple times for multiple hosts.")
|
||||||
hostExecCommand.Flags().StringArrayVarP(&cmdList, "command", "c", nil, "Accepts space-separated names of commands.")
|
hostExecCommand.Flags().StringArrayVarP(&cmdList, "command", "c", nil, "Accepts space-separated names of commands. Specify multiple times for multiple commands.")
|
||||||
parseS3Config()
|
parseS3Config()
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -42,14 +44,19 @@ func Host(cmd *cobra.Command, args []string) {
|
|||||||
if hostsList == nil {
|
if hostsList == nil {
|
||||||
logging.ExitWithMSG("error: hosts must be specified", 1, &backyConfOpts.Logger)
|
logging.ExitWithMSG("error: hosts must be specified", 1, &backyConfOpts.Logger)
|
||||||
}
|
}
|
||||||
// host is only checked when we read the SSH File
|
|
||||||
// so a check may not be needed here
|
|
||||||
// but we can check if the host is in the config file
|
|
||||||
for _, h := range hostsList {
|
for _, h := range hostsList {
|
||||||
|
// check if h exists in the config file
|
||||||
_, hostFound := backyConfOpts.Hosts[h]
|
_, hostFound := backyConfOpts.Hosts[h]
|
||||||
if !hostFound {
|
if !hostFound {
|
||||||
|
// check if h exists in the SSH config file
|
||||||
|
hostFoundInConfig, s := backy.CheckIfHostHasHostName(h)
|
||||||
|
if !hostFoundInConfig {
|
||||||
logging.ExitWithMSG("host "+h+" not found", 1, &backyConfOpts.Logger)
|
logging.ExitWithMSG("host "+h+" not found", 1, &backyConfOpts.Logger)
|
||||||
}
|
}
|
||||||
|
// create host with hostname and host
|
||||||
|
backyConfOpts.Hosts[h] = &backy.Host{Host: h, HostName: s}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if cmdList == nil {
|
if cmdList == nil {
|
||||||
logging.ExitWithMSG("error: commands must be specified", 1, &backyConfOpts.Logger)
|
logging.ExitWithMSG("error: commands must be specified", 1, &backyConfOpts.Logger)
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
const versionStr = "0.6.1"
|
const versionStr = "0.7.0"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
versionCmd = &cobra.Command{
|
versionCmd = &cobra.Command{
|
||||||
|
@ -757,3 +757,12 @@ func (h *Host) DetectOS(opts *ConfigOpts) (string, error) {
|
|||||||
osName := string(output)
|
osName := string(output)
|
||||||
return osName, nil
|
return osName, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func CheckIfHostHasHostName(host string) (bool, string) {
|
||||||
|
HostName, err := ssh_config.DefaultUserSettings.GetStrict(host, "HostName")
|
||||||
|
if err != nil {
|
||||||
|
return false, ""
|
||||||
|
}
|
||||||
|
println(HostName)
|
||||||
|
return HostName != "", HostName
|
||||||
|
}
|
||||||
|
8
release
8
release
@ -1,6 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# export GORELEASER_CURRENT_TAG="$(go run backy.go version -V)"
|
export CURRENT_TAG="$(go run backy.go version -V)"
|
||||||
git tag "$(go run backy.go version -V)"
|
changie batch $CURRENT_TAG
|
||||||
|
changie merge
|
||||||
|
git add .changes/
|
||||||
|
git commit =am "$CURRENT_TAG"
|
||||||
|
git tag "$CURRENT_TAG"
|
||||||
git push all
|
git push all
|
||||||
git push all --tags
|
git push all --tags
|
||||||
# goreleaser release -f .goreleaser/gitea.yml --clean --release-notes=".changes/$(go run backy.go version -V).md"
|
# goreleaser release -f .goreleaser/gitea.yml --clean --release-notes=".changes/$(go run backy.go version -V).md"
|
Reference in New Issue
Block a user