Commit graph

248 commits

Author SHA1 Message Date
mmetc b2d3520519
decouple bouncer dependencies: use go-cs-lib in test code (#2229) 2023-05-25 15:37:44 +02:00
mmetc eddb994c0b
Use go 1.20.4 (#2209) 2023-05-17 11:24:37 +02:00
blotus 0ddd42c01f
disable armv6 and 7 for docker debian image temporarily (#2200) 2023-05-16 15:24:31 +02:00
mmetc e1f5ed41df
Implement "cscli config show-yaml" (#2191) 2023-05-11 21:01:13 +02:00
mmetc 774a8cfc00
CI: use Go 1.20.3 (#2163) 2023-04-12 16:57:52 +02:00
Thibault "bui" Koechlin 7fa469d0b0
timeout of ci jobs (#2160) 2023-04-05 15:15:33 +02:00
mmetc ea6401ce09
CI: Static builds by default; replace bincover with go -cover from 1.20 (#2150)
* Makefile: build static binaries only
* Replace bincover with go -cover from 1.20
* CI: Fix timing issue between lapi and agent containers
2023-03-30 15:05:09 +02:00
blotus 772d5b5c32
Add experimental support for re2 (#2138) 2023-03-28 16:26:47 +02:00
mmetc 68d4bdc1bd
Docker: correct behavior of AGENTS_ALLOWED_OU, BOUNCERS_ALLOWED_OU (#2140) 2023-03-24 11:23:04 +01:00
mmetc 86971da274
CI: avoid conflict with pkg/build cache in golangci-lint action (#2123) 2023-03-20 10:41:08 +01:00
mmetc 0a114ca7d1
Fix docker tests by increasing timeout (again) and move compose test to plugin (#2112)
* Fix docker tests by increasing timeout (again) and move compose test to plugin

* Bump workflow timeout to 30 min

* Test only alpine-slim and debian-full flavors
2023-03-09 12:00:29 +01:00
mmetc e71d146a2d
Fix docker tests by increasing timeout (#2107) 2023-03-08 14:51:49 +01:00
mmetc 137e7408fd
Run lint after tests instead of separate workflow (#2103) 2023-03-08 14:50:59 +01:00
mmetc e63a3ab92b
Unit tests: fix authentication to localstack (#2106) 2023-03-08 14:41:16 +01:00
mmetc a19748ae35
Rename directory "tests" to "test" (#2094)
If you use a ./test/local directory, you need to create it again:
$ make clean bats-build bats-fixture
2023-03-03 15:54:49 +01:00
mmetc dd76c07293
CI: limit -dev docker image to amd64 to speed up the pipeline (#2090) 2023-03-02 11:33:36 +01:00
mmetc a6bb2cf5e1
Fix log destination in one-shot mode (#2084) 2023-03-01 17:00:04 +01:00
mmetc 83b6c2cfef
Bump bats-core to 1.9 (#2083)
- update bats-core to the last release
- renamed 01_base.bats to 01_cscli.bats
- separate stderr for all the run commands in 01_*.bats, fix out/err check where appropriate
- cache go modules for bats build too
- add configuration file for buildx jobs
2023-03-01 10:56:25 +01:00
mmetc 3962daa3bd
CI: Limit parallel docker builds for performance on small machines (#2082) 2023-03-01 10:27:08 +01:00
mmetc 301782ae18
Docker tests: use pytest-cs 0.2 (#2079)
* Use pytest-cs 0.2

* fix pipenv cache key

* Cache docker layers

* Load build images from buildx to docker

* CI: commit Pipfile.lock

* Add full docker tag

* Cache only amd64 docker layers

* Cache layer mode=min
2023-02-28 17:49:32 +01:00
mmetc ff17a961fc
CI: Cache all built go modules (#2081) 2023-02-28 17:25:09 +01:00
mmetc 40b5bcb918
Fix docker tests (network creation) (#2077) 2023-02-24 17:15:17 +01:00
mmetc addf60b3ee
Pin pytest-cs to a stable tag, cache virtualenvs, don't install ipython in CI (#2075) 2023-02-24 11:01:45 +01:00
mmetc 8fce946850
CI: functional docker tests (#2056) 2023-02-20 14:55:56 +01:00
mmetc 5de500d6da
CI: set GOBIN instead of go install + cp (#2030) 2023-02-15 14:27:47 +01:00
mmetc 5ff6bfba9c
CI: build with/require go 1.20 (#2031) 2023-02-15 14:27:17 +01:00
mmetc 8f130196f8
CI: bump more actions (#2028) 2023-02-02 09:49:52 +01:00
mmetc 628af6e2d0
CI: update github actions and deprecated commands (#2023) 2023-02-01 16:55:34 +01:00
he2ss 8024693f4f
add dev docker image (based on master) (#2024)
* add dev docker image (based on master)
2023-02-01 14:47:38 +01:00
mmetc 1e4441b6ae
docker: replace BUILD_ENV with --target (#1995) 2023-01-19 11:02:23 +01:00
mmetc 2142f7bb5c
ci: remove hub dispatch, (msi) take release version from git history (#1949)
Co-authored-by: Sebastien Blot <sebastien@crowdsec.net>
2023-01-13 14:16:17 +01:00
mmetc 943bb58086
docker: add {VERSION}-slim tag to releases (#1977) 2023-01-09 16:44:03 +01:00
Cristian Nitescu 7284c0a47a
retry with backoff requests to CAPI (#1957)
* backoff on refresh token error

* fix tls communication with lapi and user/pw auth (#1956)

allow self-signed TLS encryption with user/pw auth

docker:
 - remove defaults for certificate file locations
 - new envvar INSECURE_SKIP_VERIFY
 - register agent before TLS settings (cscli machine add removes them
   from the credentials file)

* separate cscli cobra constructors:  lapi, machines, bouncers, postoverflows (#1945)

* use feature toggling to improve testability with http retry backoff

* Add parse unix to dateparse enricher (#1958)

Add parse unix is we do have a strTime but wasnt parsed using convential golang time

* func tests: redirect stderr to filter extra logs (#1961)

* backoff on refresh token error

* use feature toggling to improve testability with http retry backoff

* refactor feature backoff toggle for tests

Co-authored-by: mmetc <92726601+mmetc@users.noreply.github.com>
Co-authored-by: Laurence Jones <laurence.jones@live.co.uk>
2023-01-09 14:49:21 +01:00
mmetc 822e441d3a
bump docker actions to avoid deprecation warnings (#1966) 2023-01-04 16:55:34 +01:00
mmetc 7d6523db29
ci: authenticate when looking up release information (#1936) 2022-12-21 20:34:11 +01:00
mmetc 6b71da6b78
require go 1.19, test with 1.20 too (#1935) 2022-12-21 15:40:29 +01:00
mmetc ff88faf402
updated localstack dependencies, added build cache 2022-12-21 12:20:01 +01:00
blotus fdda940ac0
Add Kubernetes audit acquisition (#1767) 2022-12-06 13:47:29 +01:00
Laurence Jones 311cda31fe
Governance v1 (#1844)
* v1

* Update wording

* The area stuff needs a little work

* add enhancement to pr's

* Update governance and feature request template
2022-12-05 15:58:19 +00:00
mmetc 104f5d1fe6
lint: error handling cleanup (#1877) 2022-11-29 09:16:07 +01:00
mmetc aa974d26c6
enable CI workflow for stable branches (#1889) 2022-11-28 10:52:42 +01:00
mmetc 2067ab0427
CI: print stack traces (#1886) 2022-11-25 12:02:38 +01:00
mmetc 5bdd3bbfcb
require at least go 1.18 to build (#1884) 2022-11-24 11:29:54 +01:00
mmetc 8b82939d33
fix static release upload (#1883) 2022-11-24 10:29:17 +01:00
mmetc b0889d7751
docker build flavors: slim, with-plugins, with-geoip, full (#1862) 2022-11-08 12:28:57 +01:00
mmetc 502a3cf841
ci: skip func tests with legacy postgres driver (keep pgx) (#1864) 2022-11-08 12:27:31 +01:00
mmetc 67e464281f
create hub badges, repository dispatch only on crowdsecurity/crowdsec (#1838) 2022-10-28 10:11:15 +02:00
mmetc 02d2eab18c
update golangci-lint to 1.50 and fixes (#1828) 2022-10-26 15:11:37 +02:00
mmetc 7b4f300eb2
update codecov action (node 12 is deprecated) (#1830) 2022-10-24 12:48:25 +02:00
mmetc 2b7f6b2b84
force postgres 14 for func tests (#1813)
the postgres 15 image (released two days ago) has a permission issue. proper fix will follow
2022-10-17 09:21:55 +02:00
mmetc 8fecc2c00b
enable staticcheck linter; fixes (#1806)
- explicitly ignore returned parameters
 - replace Walk with faster WalkDir
 - log path error during hub dir sync
 - colorize static unit tests
 - removed duplicate import in crowdsec/main.go
 - typos
 - func tests: default datasource in tests/var/log instead of /tmp
 - action setup-go v3
2022-10-14 16:12:21 +02:00
AlteredCoder b95a67751e
Update ent and grokky package (#1772)
* Update ent and grokky package
2022-10-06 14:55:42 +02:00
mmetc af30ba0e3b
tests/bin cleanup (#1760) 2022-10-04 15:58:10 +02:00
blotus bfbe180101
Tighten windows sqlite database permissions (#1769) 2022-09-28 16:18:00 +02:00
mmetc 52fbda1a5e
simpler makefiles for static targets (#1744) 2022-09-14 14:22:57 +02:00
mmetc 414282a2c9
golangci-lint 1.49 and related fixes (#1736) 2022-09-06 13:55:03 +02:00
mmetc c4652d60a7
hardcode db password in CI to allow tests from third parties (#1729) 2022-09-01 16:49:12 +02:00
he2ss ea40ffd655
Datasource/kafka (#1698)
* add Kafka datasource
2022-08-30 17:03:45 +02:00
blotus 1f5224b74b
switch to go 1.19 (#1709) 2022-08-26 13:31:49 +02:00
mmetc eea07b7a1a
golangci-lint v1.48 and fixes for "usestdlibvars" (#1711) 2022-08-16 09:46:10 +02:00
blotus 3adb90e7b7
do not hide unit test failure (#1677) 2022-07-22 10:59:23 +02:00
Thibault "bui" Koechlin 0a372d83b9
fix again (#1641) 2022-07-06 14:34:39 +02:00
Thibault "bui" Koechlin 5e80bf3043
up (#1640) 2022-07-06 14:04:33 +02:00
Thibault "bui" Koechlin 9739de61b0
rename (#1639) 2022-07-06 13:58:03 +02:00
Thibault "bui" Koechlin 134ac2e68c
Issues templates improvements (#1629)
* add security.md
* add metrics and config show
2022-07-06 13:53:30 +02:00
mmetc b1cbf2e2e5
fix build/test badge (#1626) 2022-07-01 12:19:21 +02:00
mmetc 8e7e799304
[wip] serve metrics only after agent and/or lapi are ready; fixed some func tests (#1613) 2022-06-24 15:55:21 +02:00
mmetc c78c833400
CI: colored test output, colored crowdsec and crowdsec-api logs, full final db dump for mysql and sqlite (#1596)
* github-ci: color unit test output and logs
* new config option: force_color_logs (useful in CI)
* bats: show sqlite/mysql dump at the end
* removed "-v" (print package names) from "go build"
* general workflow cleanup
2022-06-17 16:12:49 +02:00
Thibault "bui" Koechlin 1c0fe09576
Add support for certificate authentication for agents and bouncers (#1428) 2022-06-08 16:05:52 +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 1fc9587919
fix #1283: update and enable error reports from golangci (#1523) 2022-05-25 22:27:50 +02:00
mmetc d199223be0
update codeql actions (v1 is going to be deprecated) (#1563) 2022-05-25 10:06:22 +02:00
mmetc 8ea9e83798
Codecov (#1561)
* fix coverage report (#1553)

* codecov
2022-05-24 17:22:08 +02:00
mmetc f1cfcfe7cc
fix coverage report (#1553) 2022-05-23 09:50:35 +02:00
mmetc a7c7ea5712
increase lint timeout for windows (#1543) 2022-05-23 09:45:32 +02:00
mmetc afbdcd520b
update docker docs: filter on github.repository_owner == 'crowdsecurity' (#1511) 2022-05-17 12:49:25 +02:00
blotus 0449ec1868
Windows Support (#1159) 2022-05-17 12:14:59 +02:00
he2ss 2169dc674f
publish docker image to ghcr also (#1467) 2022-04-20 16:02:20 +02:00
mmetc d6d9bdd2ec
db tests CI: skip jobs by default; fix pg dump; check client requirements (#1454) 2022-04-19 11:41:50 +02:00
mmetc 5f2797c83c
more func test coverage; capture exit code for bincover (#1425) 2022-04-13 15:44:23 +02:00
mmetc 0190614342
show crowdsec logs after the tests (#1439) 2022-04-13 15:03:37 +02:00
mmetc bf4bc0c9fc
single workflow for all tests, with bats coverage (#1413) 2022-04-05 11:00:11 +02:00
mmetc 7e36432bf5
use golangci-lint 1.45.2 (#1420) 2022-04-04 21:16:18 +02:00
mmetc c54c9f2951
skip broken tests (w/ postgres and test coverage) (#1410) 2022-04-01 15:03:17 +02:00
mmetc 058237c9dd
install *.cover binaries in $BIN_DIR; minor workflow changes (#1408) 2022-04-01 14:12:03 +02:00
Thibault "bui" Koechlin cea793fc3a
cleanup mess (#1401) 2022-03-30 16:11:27 +02:00
Thibault "bui" Koechlin ec5587a734
Merge branch 'master' into master 2022-03-30 16:05:32 +02:00
Thibault "bui" Koechlin d8dc01cd94
Revamp unit tests (#1368)
* Revamp unit tests
* Increase coverage
* Use go-acc to get cross packages coverage

Signed-off-by: Shivam Sandbhor <shivam.sandbhor@gmail.com>
2022-03-29 14:20:26 +02:00
mmetc 3f24bcdbcf
pg tests: pass now, waiting for fix (#1393)
* PG* variable names
* take DB_BACKEND from file name; reduce duplicated code; configure db_type=sqlite
2022-03-28 10:41:32 +02:00
mmetc 2f18808d68
print db logs after tests (#1390) 2022-03-25 12:17:28 +01:00
mmetc 7baa5d623b
pgx driver tests (#1379) 2022-03-23 11:13:23 +01:00
mmetc 8df58df757
use secret for db passwords in tests (#1381) 2022-03-23 09:40:23 +01:00
mmetc 9d337bfb0e
fake machine-id in CI (#1380) 2022-03-22 12:33:36 +01:00
mmetc 0667552132
bats: postgres tests (#1377)
* split CI/bats in sqlite+mysql+mariadb+hub
* renamed db and user 'crowdsec' to 'crowdsec-test'; moved backend-specific scripts to lib/db, etc.
* postgres tests
* force delay between ipv6 tests (for myisam)
* force delay after pg_restore to ensure data is written
2022-03-21 15:51:05 +01:00
Manuel Sabban b792c45921
Mysql enabled tests (#1372)
* add msyql backend test

Co-authored-by: sabban <15465465+sabban@users.noreply.github.com>
2022-03-18 17:36:51 +01:00
mmetc b050d27e20
bats changes to allow bouncer testing (#1345) 2022-03-15 10:40:01 +01:00
mmetc c077668511
restore test_env.sh (#1332)
* restore test_env.sh, test 'make package' in CI
2022-03-10 09:28:42 +01:00
mmetc 59ad91a8ca
functional tests with bats-core (#1266) 2022-03-09 14:45:36 +01:00
he2ss 45c1075ae0
docker image: add multi arch platforms (#1270)
* docker image: add multi arch platforms
2022-02-28 12:04:31 +01:00
Andreas Krüger d18620858e
Create debian docker package including journalctl/systemd (#1233)
* Create debian docker package with journalctl

Co-authored-by: he2ss <hamza.essahely@gmail.com>
2022-02-15 17:10:15 +01:00