crowdsec/cmd/crowdsec-cli/cliitem/hubpostoverflow.go

99 lines
4.4 KiB
Go

package cliitem
import (
"github.com/crowdsecurity/crowdsec/pkg/cwhub"
)
func NewPostOverflow(cfg configGetter) *cliItem {
return &cliItem{
cfg: cfg,
name: cwhub.POSTOVERFLOWS,
singular: "postoverflow",
oneOrMore: "postoverflow(s)",
help: cliHelp{
example: `cscli postoverflows list -a
cscli postoverflows install crowdsecurity/cdn-whitelist crowdsecurity/rdns
cscli postoverflows inspect crowdsecurity/cdn-whitelist crowdsecurity/rdns
cscli postoverflows upgrade crowdsecurity/cdn-whitelist crowdsecurity/rdns
cscli postoverflows remove crowdsecurity/cdn-whitelist crowdsecurity/rdns
`,
},
installHelp: cliHelp{
example: `# Install some postoverflows.
cscli postoverflows install crowdsecurity/cdn-whitelist crowdsecurity/rdns
# Show the execution plan without changing anything - compact output sorted by type and name.
cscli postoverflows install crowdsecurity/cdn-whitelist crowdsecurity/rdns --dry-run
# Show the execution plan without changing anything - verbose output sorted by execution order.
cscli postoverflows install crowdsecurity/cdn-whitelist crowdsecurity/rdns --dry-run -o raw
# Download only, to be installed later.
cscli postoverflows install crowdsecurity/cdn-whitelist crowdsecurity/rdns --download-only
# Install over tainted items. Can be used to restore or repair after local modifications or missing dependencies.
cscli postoverflows install crowdsecurity/cdn-whitelist crowdsecurity/rdns --force
# Prompt for confirmation if running in an interactive terminal; otherwise, the option is ignored.
cscli postoverflows install crowdsecurity/cdn-whitelist crowdsecurity/rdns -i
cscli postoverflows install crowdsecurity/cdn-whitelist crowdsecurity/rdns --interactive`,
},
removeHelp: cliHelp{
example: `# Uninstall some postoverflows.
cscli postoverflows remove crowdsecurity/cdn-whitelist crowdsecurity/rdns
# Show the execution plan without changing anything - compact output sorted by type and name.
cscli postoverflows remove crowdsecurity/cdn-whitelist crowdsecurity/rdns --dry-run
# Show the execution plan without changing anything - verbose output sorted by execution order.
cscli postoverflows remove crowdsecurity/cdn-whitelist crowdsecurity/rdns --dry-run -o raw
# Uninstall and also remove the downloaded files.
cscli postoverflows remove crowdsecurity/cdn-whitelist crowdsecurity/rdns --purge
# Remove tainted items.
cscli postoverflows remove crowdsecurity/cdn-whitelist crowdsecurity/rdns --force
# Prompt for confirmation if running in an interactive terminal; otherwise, the option is ignored.
cscli postoverflows remove crowdsecurity/cdn-whitelist crowdsecurity/rdns -i
cscli postoverflows remove crowdsecurity/cdn-whitelist crowdsecurity/rdns --interactive`,
},
upgradeHelp: cliHelp{
example: `# Upgrade some postoverflows. If they are not currently installed, they are downloaded but not installed.
cscli postoverflows upgrade crowdsecurity/cdn-whitelist crowdsecurity/rdnss
# Show the execution plan without changing anything - compact output sorted by type and name.
cscli postoverflows upgrade crowdsecurity/cdn-whitelist crowdsecurity/rdnss --dry-run
# Show the execution plan without changing anything - verbose output sorted by execution order.
cscli postoverflows upgrade crowdsecurity/cdn-whitelist crowdsecurity/rdnss --dry-run -o raw
# Upgrade over tainted items. Can be used to restore or repair after local modifications or missing dependencies.
cscli postoverflows upgrade crowdsecurity/cdn-whitelist crowdsecurity/rdnss --force
# Prompt for confirmation if running in an interactive terminal; otherwise, the option is ignored.
cscli postoverflows upgrade crowdsecurity/cdn-whitelist crowdsecurity/rdnss -i
cscli postoverflows upgrade crowdsecurity/cdn-whitelist crowdsecurity/rdnss --interactive`,
},
inspectHelp: cliHelp{
example: `# Display metadata, state and ancestor collections of postoverflows (installed or not).
cscli postoverflows inspect crowdsecurity/cdn-whitelist
# Display difference between a tainted item and the latest one.
cscli postoverflows inspect crowdsecurity/cdn-whitelist --diff
# Reverse the above diff
cscli postoverflows inspect crowdsecurity/cdn-whitelist --diff --rev`,
},
listHelp: cliHelp{
example: `# List enabled (installed) postoverflows.
cscli postoverflows list
# List all available postoverflows (installed or not).
cscli postoverflows list -a
# List specific postoverflows (installed or not).
cscli postoverflows list crowdsecurity/cdn-whitelists crowdsecurity/rdns`,
},
}
}