-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9 from davidallendj/update-docker
Update Dockerfile and `magellan.sh` script to run in container
- Loading branch information
Showing
2 changed files
with
96 additions
and
11 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,15 @@ | ||
FROM cgr.dev/chainguard/wolfi-base | ||
|
||
RUN apk add --no-cache tini | ||
RUN apk add --no-cache tini bash | ||
|
||
# nobody 65534:65534 | ||
USER 65534:65534 | ||
|
||
|
||
COPY magellan / | ||
COPY magellan /magellan | ||
COPY bin/magellan.sh /usr/bin/magellan.sh | ||
|
||
CMD [ "/magellan" ] | ||
|
||
CMD [ "/magellan.sh" ] | ||
|
||
ENTRYPOINT [ "/sbin/tini", "--" ] |
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 |
---|---|---|
@@ -1,21 +1,104 @@ | ||
#!/bin/bash | ||
|
||
EXE=./magellan | ||
SUBNETS="" | ||
PORTS="" | ||
USER="" | ||
PASS="" | ||
SMD_HOST="" | ||
SMD_PORT="" | ||
THREADS="-1" | ||
TIMEOUT="30" | ||
ARGS="" | ||
|
||
|
||
function build(){ | ||
go mod tidy && go build -C bin/magellan | ||
} | ||
|
||
function scan() { | ||
./magellan scan --subnet 172.16.0.0 --port 443 | ||
# ./magellan scan --subnet 172.16.0.0 --port 443 | ||
${EXE} scan --subnet ${SUBNETS} --port ${PORTS} --timeout ${TIMEOUT} --threads ${THREADS} | ||
} | ||
|
||
function list() { | ||
./magellan list | ||
} | ||
|
||
function update() { | ||
./magellan update --user admin --pass password --host 172.16.0.109 --component BMC --protocol HTTP --firmware-path "" | ||
function list(){ | ||
# ./magellan list | ||
${EXE} list | ||
} | ||
|
||
function collect() { | ||
./magellan collect --user admin --pass password | ||
# ./magellan collect --user admin --pass password | ||
${EXE} collect --user ${USER} --pass ${PASS} --timeout ${TIMEOUT} --threads ${THREADS} --host ${SMD_HOST} --port ${SMD_PORT} | ||
} | ||
|
||
|
||
# parse incoming arguments to set variables | ||
while [[ $# -gt 0 ]]; do | ||
case $1 in | ||
--subnet) | ||
SUBNETS="$2" | ||
shift # past argument | ||
shift # past value | ||
;; | ||
-p|--port) | ||
PORTS="$2" | ||
shift # past argument | ||
shift # past value | ||
;; | ||
--user) | ||
USER="$2" | ||
shift # past argument | ||
shift # past value | ||
;; | ||
--pass|--password) | ||
PASS="$2" | ||
shift | ||
shift | ||
;; | ||
--smd-host) | ||
SMD_HOST="$2" | ||
shift | ||
shift | ||
;; | ||
--smd-port) | ||
SMD_PORT="$2" | ||
shift | ||
shift | ||
;; | ||
--timeout) | ||
TIMEOUT="$2" | ||
shift | ||
shift | ||
;; | ||
--threads) | ||
THREADS="$2" | ||
shift | ||
shift | ||
;; | ||
-*|--*) | ||
echo "Unknown option $1" | ||
exit 1 | ||
;; | ||
*) | ||
ARGS+=("$1") # save positional arg | ||
shift # past argument | ||
;; | ||
esac | ||
done | ||
|
||
set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters | ||
|
||
echo "SMD host = ${SMD_HOST}" | ||
echo "SMD port = ${SMD_PORT}" | ||
echo "subnets = ${SUBNETS}" | ||
echo "ports = ${PORTS}" | ||
echo "user = ${USER}" | ||
echo "pass = ..." | ||
|
||
if [[ -n $1 ]]; then | ||
echo "Last line of file specified as non-opt/last argument:" | ||
tail -1 "$1" | ||
fi | ||
|
||
scan | ||
collect |