Skip to content

Commit 8a62cba

Browse files
Added makefile with checks and container image targets
1 parent 533a84e commit 8a62cba

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed

Makefile

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
2+
INSTALLER_IMAGE=sysdiglabs/aks-audit-log-installer
3+
INSTALLER_MAYOR=1
4+
INSTALLER_MINOR=1.1
5+
6+
FORWARDER_IMAGE=sysdiglabs/aks-audit-log-installer
7+
FORWARDER_IMAGE=1
8+
FORWARDER_IMAGE=1.0.0
9+
FORWARDER_DIR=./AKSKubeAuditReceiverSolution/AKSKubeAuditReceiver/
10+
11+
RESOURCE_GROUP="aks-test-group"
12+
CLUSTER_NAME="aks-test-cluster"
13+
SYSDIG_SECURE_API_TOKEN=$(shell cat ${KEYS}/SYSDIG_SECURE_API_TOKEN)
14+
DOCKERHUB_USERNAME=$(shell cat ${KEYS}/DOCKER_USER)
15+
DOCKERHUB_PASSWORD=$(shell cat ${KEYS}/DOCKER_PASS)
16+
DOCKERHUB_ORG=sysdiglabs
17+
18+
installer-build-dev:
19+
docker build . -f build/Dockerfile -t ${INSTALLER_IMAGE}:dev
20+
21+
installer-push-dev:
22+
docker push ${INSTALLER_IMAGE}:dev
23+
24+
installer-build:
25+
docker build . -f build/Dockerfile -t ${INSTALLER_IMAGE}:latest \
26+
-t ${INSTALLER_IMAGE}:${INSTALLER_MAYOR} -t ${INSTALLER_IMAGE}:${INSTALLER_MINOR}
27+
28+
installer-push: check-shell installer-build inline-scan
29+
docker push ${INSTALLER_IMAGE}:latest
30+
docker push ${INSTALLER_IMAGE}:${INSTALLER_MAYOR}
31+
docker push ${INSTALLER_IMAGE}:${INSTALLER_MINOR}
32+
33+
installer-dockerhub-readme:
34+
echo 'Updating Dockerhub description' ; \
35+
echo 'Readme: ${PWD}/build/README.md' ; \
36+
echo 'Repository: ${INSTALLER_IMAGE}' ; \
37+
docker run -v ${PWD}/build:/workspace \
38+
-e DOCKERHUB_USERNAME='${DOCKERHUB_USERNAME}' \
39+
-e DOCKERHUB_PASSWORD='${DOCKERHUB_PASSWORD}' \
40+
-e DOCKERHUB_REPOSITORY='${INSTALLER_IMAGE}' \
41+
-e README_FILEPATH='/workspace/README.md' \
42+
peterevans/dockerhub-description:2
43+
44+
forwarder-build-dev:
45+
docker build ${FORWARDER_DIR} -f ${FORWARDER_DIR}/Dockerfile -t ${FORWARDER_IMAGE}:dev
46+
47+
forwarder-push-dev:
48+
docker push ${FORWARDER_IMAGE}:dev
49+
50+
forwarder-build:
51+
docker build ${FORWARDER_DIR} -f ${FORWARDER_DIR}/Dockerfile \
52+
-t ${FORWARDER_IMAGE}:latest -t ${FORWARDER_IMAGE}:${FORWARDER_MAYOR} -t ${FORWARDER_IMAGE}:${FORWARDER_MINOR}
53+
54+
forwarder-push: check installer-build inline-scan
55+
docker push ${FORWARDER_IMAGE}:latest
56+
docker push ${FORWARDER_IMAGE}:${FORWARDER_IMAGE}
57+
docker push ${FORWARDER_IMAGE}:${FORWARDER_IMAGE}
58+
59+
60+
install:
61+
docker run -it -v ${HOME}/.azure:/root/.azure \
62+
sysdiglabs/aks-audit-log-installer:${MINOR} \
63+
-g ${RESOURCE_GROUP} -c ${CLUSTER_NAME}
64+
65+
uninstall:
66+
docker run -it -v ${HOME}/.azure:/root/.azure \
67+
--entrypoint /app/uninstall-aks-audit-log.sh \
68+
sysdiglabs/aks-audit-log-installer:${MINOR} \
69+
-g ${RESOURCE_GROUP} -c ${CLUSTER_NAME}
70+
71+
check: check-shell check-yaml check-dotnet
72+
73+
check-shell:
74+
docker run --rm --mount type=bind,source=$(PWD)/,target=/data koalaman/shellcheck shellcheck /data/*.sh
75+
76+
check-yaml:
77+
yamllint ./*.yaml*
78+
79+
check-dotnet:
80+
# Dotnet lint install dotnet-format for linting
81+
dotnet tool install -g dotnet-format --version 3.3.111304 ||:
82+
# Dotnet lint check with dotnet-format
83+
dotnet format --folder AKSKubeAuditReceiverSolution/ --check --dry-run || true
84+
# Dotnet build solution
85+
dotnet build AKSKubeAuditReceiverSolution/AKSKubeAuditReceiver.sln
86+
# Dotnet test solution
87+
dotnet test AKSKubeAuditReceiverSolution/AKSKubeAuditReceiver.sln
88+
89+
inline-scan:
90+
@curl -s https://download.sysdig.com/stable/inline_scan.sh | \
91+
bash -s -- \
92+
analyze -s https://secure.sysdig.com -o -k ${SYSDIG_SECURE_API_TOKEN} ${INSTALLER_IMAGE} ; \
93+
RESULT=$$? ; \
94+
echo ; echo "******************************" ; \
95+
[ "$$RESULT" -eq 0 ] && echo "** Scan result > PASS < **" ; \
96+
[ "$$RESULT" -eq 1 ] && echo "** Scan result > FAIL < **" ; \
97+
[ "$$RESULT" -eq 2 ] && echo "** Wrong script invokation **" ; \
98+
[ "$$RESULT" -eq 3 ] && echo "** Runtime error **" ; \
99+
echo "******************************" ; echo ; exit $$RESULT

0 commit comments

Comments
 (0)