Commit graph

57 commits

Author SHA1 Message Date
Marco Mariani
2e91a82aa7 load feature.yaml as soon as possible 2023-01-18 15:15:18 +01:00
mmetc
51800132cd
improve feature flag logging (#1986)
For cscli: it should provide a terse output, not nag users with configuration details. Although it's usually important that cscli and crowdsec have the same enabled features, having it list them every time the command is invoked can be too much.

For crowdsec: when features are set from the environment, it's too early to log where we should. So we can use log.Debug at activation time, and list them again once logging is configured.

 - wrap some functions in csconfig for convenience and DRY
 - for each enabled feature, log.Debug
 - log all enabled features once as Info (crowdsec) or Debug (cscli)
 - file does not exist -> log.Trace
2023-01-13 13:42:42 +01:00
mmetc
cd4dabde0e
silence yaml.local explicitly in cscli, keep in crowdsec/bouncer logs (#1981) 2023-01-11 09:50:46 +01:00
mmetc
6efc2688b1
simplify feature flags (#1947)
Now checking for a feature flag is a one liner,
with no need to control errors.

if fflag.Crowdsec.CscliSetup.IsEnabled() {
   ...
}
2022-12-26 14:23:41 +01:00
mmetc
ef3a130d54
Cscli config refactoring (#1934) 2022-12-22 12:22:55 +01:00
mmetc
5d2c99bb17
runtime feature flag initialization 2022-12-21 17:19:20 +01:00
mmetc
a32aa96752
feature flags (#1933)
Package fflag provides a simple feature flag system.

 Feature names are lowercase and can only contain letters, numbers, undercores
 and dots.

 good: "foo", "foo_bar", "foo.bar"
 bad: "Foo", "foo-bar"

 A feature flag can be enabled by the user with an environment variable
 or by adding it to {ConfigDir}/feature.yaml

 I.e. CROWDSEC_FEATURE_FOO_BAR=true
 or in feature.yaml:
```
 ---
 - foo_bar
```

 If the variable is set to false, the feature can still be enabled
 in feature.yaml. Features cannot be disabled in the file.

 A feature flag can be deprecated or retired. A deprecated feature flag is
 still accepted but a warning is logged. A retired feature flag is ignored
 and an error is logged.

 A specific deprecation message is used to inform the user of the behavior
 that has been decided when the flag is/was finally retired.
2022-12-20 16:11:51 +01:00
mmetc
6c19beb937
set cscli log timestamp to 24h (#1917) 2022-12-09 16:48:24 +01:00
mmetc
104f5d1fe6
lint: error handling cleanup (#1877) 2022-11-29 09:16:07 +01:00
mmetc
895691dad1
enabled linters: gocritic, nilerr (#1853) 2022-11-07 10:36:50 +01:00
mmetc
4b3c9c2806
print cscli usage in color, fix windows terminal detection (#1801) 2022-10-13 12:28:24 +02:00
mmetc
ddd75eae9a
cscli: new tables, --color yes|no|auto option (#1763) 2022-10-07 11:05:35 +02:00
blotus
e46ca38cbb
add cscli support dump (#1634) 2022-08-18 11:54:01 +02:00
AlteredCoder
24b1a99c42
Run cscli hubtest without being root (#1658) 2022-07-13 12:00:26 +02:00
mmetc
628d7be1d8
simplify err.Error() to err when used in printf context (#1603) 2022-06-22 15:53:53 +02:00
mmetc
799cc82bb5
functional tests, minor refactoring and lint/cleanup (#1570)
* cmd/crowdsec: removed log.Fatal()s, added tests and print error for unrecognized argument
* updated golangci-lint to v1.46
* lint/deadcode: fix existing issues
* tests: cscli config backup/restore
* tests: cscli completion powershell/fish
* err check: pflags MarkHidden()
* empty .dockerignore (and explain the reason)
* tests, errors.Wrap
* test for CS_LAPI_SECRET and minor refactoring
* minor style changes
* log cleanup
2022-06-06 15:24:48 +02:00
mmetc
df7c51f34e
fixed coverage reporting for functional tests; added cscli (#1568) 2022-05-31 10:01:30 +02:00
mmetc
4b843d145a
cscli: avoid double output (error + log fatal) and automatic --help after each error (#1536) 2022-05-19 13:42:44 +02:00
mmetc
131ed1b0a7
error reporting (#1501)
* unified error reporting, removed redundancy, tests
2022-05-19 10:48:08 +02:00
Manuel Sabban
18030e6c58
add notifications command (#1537)
* add notifications command

Co-authored-by: sabban <15465465+sabban@users.noreply.github.com>
2022-05-18 16:13:33 +02:00
mmetc
5f2797c83c
more func test coverage; capture exit code for bincover (#1425) 2022-04-13 15:44:23 +02:00
mmetc
b202e387cf
fix "cscli" without arguments (#1406) 2022-03-31 16:50:38 +02:00
mmetc
b6aca81ebd
allow "cscli completion..." without configuration file (#1340) 2022-03-10 14:57:14 +01:00
mmetc
35eea39db7
allow Makefile to override /etc/crowdsec and /var/lib/crowdsec/data (#1221) 2022-02-01 10:34:53 +01:00
Thibault "bui" Koechlin
af4bb350c0
hubtests revamp + cscli explain (#988)
* New hubtest CI for scenarios/parsers from the hub
 * New `cscli explain` command to visualize parsers/scenarios pipeline

Co-authored-by: alteredCoder <kevin@crowdsec.net>
Co-authored-by: Sebastien Blot <sebastien@crowdsec.net>
Co-authored-by: he2ss <hamza.essahely@gmail.com>
Co-authored-by: Cristian Nitescu <cristian@crowdsec.net>
2021-10-04 17:14:52 +02:00
blotus
2f937cb53a
update doc generation (#926) 2021-09-03 12:56:17 +02:00
blotus
e54b5beb8d
Update cscli doc for docusaurus (#924) 2021-08-31 15:03:47 +02:00
blotus
3994aec7fe
add console enroll command to cscli (#828) 2021-06-28 17:34:19 +02:00
AlteredCoder
73a10ef0e5
add autocompletion for cscli (#717) 2021-03-24 19:07:58 +01:00
AlteredCoder
1e899c2211
Refactor configuration management (#698) 2021-03-24 18:16:17 +01:00
AlteredCoder
111e17e884
don't hide cscli version (#686)
Co-authored-by: AlteredCoder <AlteredCoder>
2021-03-12 16:17:28 +01:00
AlteredCoder
8b504e9f67
improve logging in cscli and wizard (#643) 2021-02-25 11:20:36 +01:00
AlteredCoder
22c4962768
don't load lapi creds when running only api (#608)
Co-authored-by: AlteredCoder <AlteredCoder>
2021-02-09 17:59:35 +01:00
AlteredCoder
e8709074f0
fix stack trace when missing cscli in config file (#607)
Co-authored-by: AlteredCoder <AlteredCoder>
2021-02-07 15:50:27 +01:00
erenJag
9d016f262f
fix & improve cscli remove action + improve cscli args vars (#498) 2020-12-02 18:47:17 +01:00
Thibault "bui" Koechlin
dbb420f79e
local api (#482)
Co-authored-by: AlteredCoder
Co-authored-by: erenJag
2020-11-30 10:37:17 +01:00
registergoofy
f0ea8312db
set default hub branch to master in cscli (#279) 2020-10-01 15:02:53 +02:00
AlteredCoder
b7286d6a85
make cscli use crowdsec version for hub (#194) 2020-09-01 14:32:45 +02:00
AlteredCoder
794d3221d0
add tests in pkg/csconfig and improve pkg/exprhelpers tests (#150)
* add tests for csconfig & improve exprhelpers tests
2020-07-28 15:38:48 +02:00
Thibault "bui" Koechlin
6b4674104c
Update documentation for crowdsec v0.3.0 (#141) 2020-07-22 10:25:23 +02:00
Thibault "bui" Koechlin
7fe6741df3
Simulation support (#136)
* support simulation mode
2020-07-16 15:59:09 +02:00
Thibault "bui" Koechlin
f2e38b0d28
fix #47 #35 (#49) 2020-06-01 12:56:32 +02:00
Thibault "bui" Koechlin
cda7beddbf add support in cscli to switch branches of hub (#43) 2020-05-28 11:32:00 +02:00
AlteredCoder
3dfc9de409 fix 2020-05-24 19:19:56 +02:00
AlteredCoder
1f91bd8af0 make var public 2020-05-24 19:17:03 +02:00
AlteredCoder
38a750d3df fix 2020-05-24 18:30:47 +02:00
AlteredCoder
6757fa3cee merge 2020-05-24 18:15:59 +02:00
AlteredCoder
176d5197f6 debug 2020-05-22 18:31:46 +02:00
AlteredCoder
ae191f3426 debug 2020-05-22 18:29:13 +02:00
AlteredCoder
74dd723ebf fix 2020-05-22 18:24:54 +02:00