-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add "--detailed" inspect.sh flag The "inspect.sh" script currently retrieves logs from the kube-system and default namespaces, which sometimes isn't enough to identify cluster problems. We're adding a "--detailed" setting that will collect logs from all namespaces. This won't be the default since the logs may contain sensitive user information. * Move Trivy and Tics tests to separate scripts We're moving the Trivy and Tics test logic to separate scripts, simplifying the GH workflows and allowing these tests to be invoked locally.
- Loading branch information
1 parent
7a86f37
commit 025ff67
Showing
4 changed files
with
117 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#!/usr/bin/env bash | ||
|
||
SCRIPT_DIR=$(realpath $(dirname "$BASH_SOURCE")) | ||
|
||
set -ex | ||
cd "${SCRIPT_DIR}/.." | ||
|
||
sudo apt-get update | ||
sudo apt-get install -y python3-venv | ||
python3 -m venv .venv/tics | ||
source .venv/tics/bin/activate | ||
|
||
# Install python dependencies | ||
pip install -r tests/integration/requirements-test.txt | ||
pip install -r tests/integration/requirements-dev.txt | ||
|
||
cd src/k8s | ||
|
||
# TICS requires us to have the test results in cobertura xml format under the | ||
# directory use below | ||
sudo make go.unit | ||
go install github.com/boumenot/gocover-cobertura@latest | ||
gocover-cobertura < coverage.txt > coverage.xml | ||
mkdir -p .coverage | ||
mv ./coverage.xml ./.coverage/ | ||
|
||
# Install the TICS and staticcheck | ||
go install honnef.co/go/tools/cmd/[email protected] | ||
. <(curl --silent --show-error 'https://canonical.tiobe.com/tiobeweb/TICS/api/public/v1/fapi/installtics/Script?cfg=default&platform=linux&url=https://canonical.tiobe.com/tiobeweb/TICS/') | ||
|
||
# We need to have our project built | ||
# We load the dqlite libs here instead of doing through make because TICS | ||
# will try to build parts of the project itself | ||
sudo add-apt-repository -y ppa:dqlite/dev | ||
sudo apt-get install -y dqlite-tools-v2 libdqlite1.17-dev | ||
sudo make clean | ||
go build -a ./... | ||
|
||
TICSQServer -project k8s-snap -tmpdir /tmp/tics -branchdir $SCRIPT_DIR/.. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#!/usr/bin/env bash | ||
|
||
SCRIPT_DIR=$(realpath $(dirname "$BASH_SOURCE")) | ||
|
||
set -ex | ||
cd "${SCRIPT_DIR}/.." | ||
|
||
SNAP_PATH="$1" | ||
if [[ ! -f $SNAP_PATH ]]; then | ||
echo "Usage: $0 <snap_path>" | ||
exit 1 | ||
fi | ||
|
||
# Setup Trivy vulnerability scanner | ||
mkdir -p manual-trivy/sarifs | ||
pushd manual-trivy | ||
VER=$(curl --silent -qI https://github.com/aquasecurity/trivy/releases/latest | awk -F '/' '/^location/ {print substr($NF, 1, length($NF)-1)}'); | ||
wget https://github.com/aquasecurity/trivy/releases/download/${VER}/trivy_${VER#v}_Linux-64bit.tar.gz | ||
tar -zxvf ./trivy_${VER#v}_Linux-64bit.tar.gz | ||
popd | ||
|
||
# Run Trivy vulnerability scanner in repo mode | ||
./manual-trivy/trivy fs . \ | ||
--format sarif \ | ||
--db-repository public.ecr.aws/aquasecurity/trivy-db \ | ||
--severity "MEDIUM,HIGH,CRITICAL" \ | ||
--ignore-unfixed \ | ||
> ./manual-trivy/sarifs/trivy-k8s-repo-scan--results.sarif | ||
|
||
for var in $(env | grep -o '^TRIVY_[^=]*'); do | ||
unset "$var" | ||
done | ||
cp "${SNAP_PATH}" ./k8s-test.snap | ||
rm -rf ./squashfs-root | ||
unsquashfs k8s-test.snap | ||
./manual-trivy/trivy rootfs ./squashfs-root/ \ | ||
--format sarif \ | ||
--db-repository public.ecr.aws/aquasecurity/trivy-db \ | ||
> ./manual-trivy/sarifs/snap.sarif |