Skip to content

Commit 020d862

Browse files
committed
chore: make 'base_dir' and 'working_dir' configurable
Use `./test/workdir` as the default `base_dir` instead of `/tmp/go-fdo` as the directory where the test files will be created. Configure the container's working dir through the `working_dir` variable (default: `/workdir`) Signed-off-by: Miguel Martín <[email protected]>
1 parent dca51b7 commit 020d862

File tree

9 files changed

+70
-55
lines changed

9 files changed

+70
-55
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ go.work.sum
55
go-fdo-server
66
go-fdo-server-*.tar.gz
77
rpmbuild
8+
test/workdir

deployments/compose/client/fdo-client.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ services:
44
hostname: go-fdo-client
55
image: go-fdo-client
66
build: https://github.com/fido-device-onboard/go-fdo-client.git#main
7-
working_dir: /tmp/go-fdo/device-credentials
7+
working_dir: ${container_working_dir:-/workdir}/device-credentials
88
user: "${container_user}"
99
networks:
1010
- fdo
1111
volumes:
12-
- /tmp:/tmp:z
12+
- ${base_dir:-./test/workdir}:${container_working_dir:-/workdir}
1313
restart: no
1414
networks:
1515
fdo:

deployments/compose/server/fdo-onboarding-servers.yaml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ services:
1010
TZ: Europe/Madrid
1111
user: ${container_user}
1212
command:
13-
- --db=/tmp/go-fdo/manufacturer.db
14-
- --db-pass='2=,%95QF<uTLLHt'
15-
- --debug
1613
- manufacturing
1714
- manufacturer:8038
18-
- --manufacturing-key=/tmp/go-fdo/certs/manufacturer.key
19-
- --owner-cert=/tmp/go-fdo/certs/owner.crt
20-
- --device-ca-cert=/tmp/go-fdo/certs/device_ca.crt
21-
- --device-ca-key=/tmp/go-fdo/certs/device_ca.key
22-
working_dir: /tmp/go-fdo
15+
- --db=${container_working_dir:-/workdir}/manufacturer.db
16+
- --db-pass='2=,%95QF<uTLLHt'
17+
- --debug
18+
- --manufacturing-key=${container_working_dir:-/workdir}/certs/manufacturer.key
19+
- --owner-cert=${container_working_dir:-/workdir}/certs/owner.crt
20+
- --device-ca-cert=${container_working_dir:-/workdir}/certs/device_ca.crt
21+
- --device-ca-key=${container_working_dir:-/workdir}/certs/device_ca.key
22+
working_dir: ${container_working_dir:-/workdir}
2323
volumes:
24-
- /tmp:/tmp:z
24+
- ${base_dir:-./test/workdir}:${container_working_dir:-/workdir}
2525
networks:
2626
- fdo
2727
ports:
@@ -43,14 +43,14 @@ services:
4343
TZ: Europe/Madrid
4444
user: ${container_user}
4545
command:
46-
- --db=/tmp/go-fdo/rendezvous.db
47-
- --db-pass='2=,%95QF<uTLLHt'
48-
- --debug
4946
- rendezvous
5047
- rendezvous:8041
51-
working_dir: /tmp/go-fdo
48+
- --db=${container_working_dir:-/workdir}/rendezvous.db
49+
- --db-pass='2=,%95QF<uTLLHt'
50+
- --debug
51+
working_dir: ${container_working_dir:-/workdir}
5252
volumes:
53-
- /tmp:/tmp:z
53+
- ${base_dir:-./test/workdir}:${container_working_dir:-/workdir}
5454
networks:
5555
- fdo
5656
ports:
@@ -72,16 +72,16 @@ services:
7272
TZ: Europe/Madrid
7373
user: ${container_user}
7474
command:
75-
- --db=/tmp/go-fdo/owner.db
76-
- --db-pass='2=,%95QF<uTLLHt'
77-
- --debug
7875
- owner
7976
- owner:8043
80-
- --owner-key=/tmp/go-fdo/certs/owner.key
81-
- --device-ca-cert=/tmp/go-fdo/certs/device_ca.crt
82-
working_dir: /tmp/go-fdo
77+
- --db=${container_working_dir:-/workdir}/owner.db
78+
- --db-pass='2=,%95QF<uTLLHt'
79+
- --debug
80+
- --owner-key=${container_working_dir:-/workdir}/certs/owner.key
81+
- --device-ca-cert=${container_working_dir:-/workdir}/certs/device_ca.crt
82+
working_dir: ${container_working_dir:-/workdir}
8383
volumes:
84-
- /tmp:/tmp:z
84+
- ${base_dir:-./test/workdir}:${container_working_dir:-/workdir}
8585
networks:
8686
- fdo
8787
ports:

deployments/compose/server/fdo-resale-servers.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ services:
1010
TZ: Europe/Madrid
1111
user: ${container_user}
1212
command:
13-
- --db=/tmp/go-fdo/new_owner.db
14-
- --db-pass='2=,%95QF<uTLLHt'
15-
- --debug
1613
- owner
1714
- new_owner:8045
18-
- --owner-key=/tmp/go-fdo/certs/new_owner.key
19-
- --device-ca-cert=/tmp/go-fdo/certs/device_ca.crt
20-
working_dir: /tmp/go-fdo
15+
- --db=${container_working_dir:-/workdir}/new_owner.db
16+
- --db-pass='2=,%95QF<uTLLHt'
17+
- --debug
18+
- --owner-key=${container_working_dir:-/workdir}/certs/new_owner.key
19+
- --device-ca-cert=${container_working_dir:-/workdir}/certs/device_ca.crt
20+
working_dir: ${container_working_dir:-/workdir}
2121
networks:
2222
- fdo
2323
ports:
2424
- 8045:8045
2525
volumes:
26-
- /tmp:/tmp:z
26+
- ${base_dir:-./test/workdir}:${container_working_dir:-/workdir}
2727
restart: unless-stopped
2828
healthcheck:
2929
test: [ "CMD", "curl --silent --output /dev/null --fail http://new_owner:8045/health" ]
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
services:
22
owner:
33
command:
4-
- --db=/tmp/go-fdo/owner.db
5-
- --db-pass='2=,%95QF<uTLLHt'
6-
- --debug
74
- owner
85
- owner:8043
9-
- --owner-key=/tmp/go-fdo/certs/owner.key
10-
- --device-ca-cert=/tmp/go-fdo/certs/device_ca.crt
6+
- --db=${container_working_dir:-/workdir}/owner.db
7+
- --db-pass='2=,%95QF<uTLLHt'
8+
- --debug
9+
- --owner-key=${container_working_dir:-/workdir}/certs/owner.key
10+
- --device-ca-cert=${container_working_dir:-/workdir}/certs/device_ca.crt
1111
- --command-download=file1
12-
- --command-download=/tmp/go-fdo/fsim/download/owner/file2
13-
- --command-download=/tmp/go-fdo/fsim/download/owner/subdir1/file3
14-
working_dir: /tmp/go-fdo/fsim/download/owner
12+
- --command-download=${container_working_dir:-/workdir}/fsim/download/owner/file2
13+
- --command-download=${container_working_dir:-/workdir}/fsim/download/owner/subdir1/file3
14+
working_dir: ${container_working_dir:-/workdir}/fsim/download/owner
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
services:
22
owner:
33
command:
4-
- --db=/tmp/go-fdo/owner.db
5-
- --db-pass='2=,%95QF<uTLLHt'
6-
- --debug
74
- owner
85
- owner:8043
9-
- --owner-key=/tmp/go-fdo/certs/owner.key
10-
- --device-ca-cert=/tmp/go-fdo/certs/device_ca.crt
11-
- --upload-directory=/tmp/go-fdo/fsim/upload/owner
6+
- --db=${container_working_dir:-/workdir}/owner.db
7+
- --db-pass='2=,%95QF<uTLLHt'
8+
- --debug
9+
- --owner-key=${container_working_dir:-/workdir}/certs/owner.key
10+
- --device-ca-cert=${container_working_dir:-/workdir}/certs/device_ca.crt
11+
- --upload-directory=${container_working_dir:-/workdir}/fsim/upload/owner
1212
- --command-upload=file1
1313
- --command-upload=subdir1/file2
1414
- --command-upload=subdir1/subdir2/file3
15-
working_dir: /tmp/go/fdo/fsim/upload/owner
15+
working_dir: ${container_working_dir:-/workdir}/fsim/upload/owner

deployments/compose/server/fsim-fdo-wget-override.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
services:
22
owner:
33
command:
4-
- --db=/tmp/go-fdo/owner.db
5-
- --db-pass='2=,%95QF<uTLLHt'
6-
- --debug
74
- owner
85
- owner:8043
9-
- --owner-key=/tmp/go-fdo/certs/owner.key
10-
- --device-ca-cert=/tmp/go-fdo/certs/device_ca.crt
6+
- --db=${container_working_dir:-/workdir}/owner.db
7+
- --db-pass='2=,%95QF<uTLLHt'
8+
- --debug
9+
- --owner-key=${container_working_dir:-/workdir}/certs/owner.key
10+
- --device-ca-cert=${container_working_dir:-/workdir}/certs/device_ca.crt
1111
- --command-wget=http://wget_httpd:8888/file1
1212
wget_httpd:
1313
container_name: wget_httpd
@@ -21,13 +21,13 @@ services:
2121
- "-m"
2222
- "http.server"
2323
- "8888"
24-
working_dir: /tmp/go-fdo/fsim/wget/httpd
24+
working_dir: ${container_working_dir:-/workdir}/fsim/wget/httpd
2525
networks:
2626
- fdo
2727
ports:
2828
- 8888:8888
2929
volumes:
30-
- /tmp:/tmp:z
30+
- ${base_dir:-./test/workdir}:${container_working_dir:-/workdir}
3131
restart: unless-stopped
3232
healthcheck:
3333
test: [ "CMD", "curl --silent --output /dev/null --fail http://wget_httpd:8888" ]

test/ci/utils.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ trap stop_services EXIT
77
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)/../../scripts/cert-utils.sh"
88
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)/../../scripts/fdo-utils.sh"
99

10-
base_dir="/tmp/go-fdo"
10+
base_dir="${PWD}/test/workdir"
1111
bin_dir="${base_dir}/bin"
1212
pid_dir="${base_dir}/run"
1313
logs_dir="${base_dir}/logs"

test/container/utils.sh

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,19 @@
33
set -euo pipefail
44

55
client_compose_file="deployments/compose/client/fdo-client.yaml"
6-
servers_compose_file="deployments/compose/servers/fdo-onboarding-servers.yaml"
6+
servers_compose_file="deployments/compose/server/fdo-onboarding-servers.yaml"
77

8+
# Export base_dir explicitly for Docker Compose
9+
export base_dir
10+
11+
# Export container_user explicitly for Docker Compose
812
container_user="$(id -u):$(id -g)"
913
export container_user
1014

15+
# Container working directory (default to /workdir if not set)
16+
container_working_dir="${container_working_dir:-/workdir}"
17+
export container_working_dir
18+
1119
get_real_ip() {
1220
local service_name=$1
1321
docker inspect --format='{{.NetworkSettings.Networks.fdo.IPAddress}}' "${service_name}"
@@ -41,7 +49,13 @@ uninstall_client() {
4149
}
4250

4351
run_go_fdo_client() {
44-
docker compose --file "${client_compose_file}" run --rm go-fdo-client "$@"
52+
# Translate host paths to container paths in arguments
53+
local args=()
54+
for arg in "$@"; do
55+
# Replace base_dir with container_working_dir in paths
56+
args+=("${arg//$base_dir/$container_working_dir}")
57+
done
58+
docker compose --file "${client_compose_file}" run --rm go-fdo-client "${args[@]}"
4559
}
4660

4761
install_server() {

0 commit comments

Comments
 (0)