Skip to content

Commit 84b7169

Browse files
committed
wip change to prebuilt-image-namespace
1 parent 83a1596 commit 84b7169

5 files changed

Lines changed: 23 additions & 31 deletions

File tree

commands/push.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ if plugin_read_list_into_result BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILD; then
2626
build_services=("${result[@]}")
2727
fi
2828

29-
metadata_key_prefix="$(plugin_read_config METADATA_KEY_PREFIX '')"
29+
prebuilt_image_namespace="$(plugin_read_config PREBUILT_IMAGE_NAMESPACE 'docker-compose-plugin-')"
3030

3131
# Then we figure out what to push, and where
3232
for line in $(plugin_read_list PUSH) ; do
@@ -39,7 +39,7 @@ for line in $(plugin_read_list PUSH) ; do
3939
elif in_array "${service_name}" "${build_services[@]}"; then
4040
echo "~~~ :docker: Service was built in this step, using that image"
4141
service_image="$(default_compose_image_for_service "${service_name}")"
42-
elif prebuilt_image="$(get_prebuilt_image "$metadata_key_prefix" "$service_name")"; then
42+
elif prebuilt_image="$(get_prebuilt_image "$prebuilt_image_namespace" "$service_name")"; then
4343
echo "~~~ :docker: Using pre-built image ${prebuilt_image}"
4444

4545
# Only pull it down once
@@ -65,15 +65,15 @@ for line in $(plugin_read_list PUSH) ; do
6565
if [[ ${#tokens[@]} -eq 1 ]] ; then
6666
echo "${group_type} :docker: Pushing images for ${service_name}" >&2;
6767
retry "$push_retries" run_docker_compose push "${service_name}"
68-
set_prebuilt_image "${metadata_key_prefix}" "${service_name}" "${service_image}"
68+
set_prebuilt_image "${prebuilt_image_namespace}" "${service_name}" "${service_image}"
6969
target_image="${service_image}" # necessary for build-alias
7070
# push: "service-name:repo:tag"
7171
else
7272
target_image="$(IFS=:; echo "${tokens[*]:1}")"
7373
echo "${group_type} :docker: Pushing image $target_image" >&2;
7474
plugin_prompt_and_run docker tag "$service_image" "$target_image"
7575
retry "$push_retries" plugin_prompt_and_run docker push "$target_image"
76-
set_prebuilt_image "${metadata_key_prefix}" "${service_name}" "${target_image}"
76+
set_prebuilt_image "${prebuilt_image_namespace}" "${service_name}" "${target_image}"
7777
fi
7878
done
7979

@@ -84,5 +84,5 @@ for service_alias in $(plugin_read_list BUILD_ALIAS) ; do
8484
exit 1
8585
fi
8686

87-
set_prebuilt_image "${metadata_key_prefix}" "$service_alias" "${target_image}"
88-
done
87+
set_prebuilt_image "${prebuilt_image_namespace}" "$service_alias" "${target_image}"
88+
done

commands/run.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ while read -r name ; do
3535
fi
3636
done <<< "$(plugin_read_list PULL)"
3737

38-
metadata_key_prefix="$(plugin_read_config METADATA_KEY_PREFIX '')"
38+
prebuilt_image_namespace="$(plugin_read_config PREBUILT_IMAGE_NAMESPACE 'docker-compose-plugin-')"
3939

4040
# A list of tuples of [service image cache_from] for build_image_override_file
4141
prebuilt_service_overrides=()
@@ -47,7 +47,7 @@ for service_name in "${prebuilt_candidates[@]}" ; do
4747
if [[ -n "$prebuilt_image_override" ]] && [[ "$service_name" == "$run_service" ]] ; then
4848
echo "~~~ :docker: Overriding run image for $service_name"
4949
prebuilt_image="$prebuilt_image_override"
50-
elif prebuilt_image=$(get_prebuilt_image "$metadata_key_prefix" "$service_name") ; then
50+
elif prebuilt_image=$(get_prebuilt_image "$prebuilt_image_namespace" "$service_name") ; then
5151
echo "~~~ :docker: Found a pre-built image for $service_name"
5252
fi
5353

lib/metadata.bash

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,10 @@ function plugin_check_metadata_exists() {
77

88
# Read agent metadata for the plugin
99
function plugin_get_metadata() {
10-
local metadata_key_prefix="$1"
10+
local namespace="$1"
1111
local key="$2"
1212

13-
if [ -n "$metadata_key_prefix" ]; then
14-
metadata_key_prefix="$metadata_key_prefix-"
15-
fi
16-
17-
key="docker-compose-plugin-$metadata_key_prefix$key"
13+
key="$namespace$key"
1814

1915
if plugin_check_metadata_exists "$key"; then
2016
plugin_prompt buildkite-agent meta-data get "$key"
@@ -26,15 +22,11 @@ function plugin_get_metadata() {
2622

2723
# Write agent metadata for the plugin
2824
function plugin_set_metadata() {
29-
local metadata_key_prefix="$1"
25+
local namespace="$1"
3026
local key="$2"
3127
local value="$3"
3228

33-
if [ -n "$metadata_key_prefix" ]; then
34-
metadata_key_prefix="$metadata_key_prefix-"
35-
fi
36-
37-
key="docker-compose-plugin-$metadata_key_prefix$key"
29+
key="$namespace$key"
3830

3931
plugin_prompt_and_must_run buildkite-agent meta-data set "$key" "$value"
4032
}
@@ -60,17 +52,17 @@ function prebuilt_image_meta_data_key() {
6052

6153
# Sets a prebuilt image for a service name
6254
function set_prebuilt_image() {
63-
local metadata_key_prefix="$1"
55+
local namespace="$1"
6456
local service="$2"
6557
local image="$3"
6658

67-
plugin_set_metadata "$metadata_key_prefix" "$(prebuilt_image_meta_data_key "$service")" "$image"
59+
plugin_set_metadata "$namespace" "$(prebuilt_image_meta_data_key "$service")" "$image"
6860
}
6961

7062
# Gets a prebuilt image for a service name
7163
function get_prebuilt_image() {
72-
local metadata_key_prefix="$1"
64+
local namespace="$1"
7365
local service="$2"
7466

75-
plugin_get_metadata "$metadata_key_prefix" "$(prebuilt_image_meta_data_key "$service")"
67+
plugin_get_metadata "$namespace" "$(prebuilt_image_meta_data_key "$service")"
7668
}

plugin.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ configuration:
7878
type: boolean
7979
pre-run-dependencies:
8080
type: boolean
81+
prebuilt-image-namespace:
82+
type: string
8183
propagate-environment:
8284
type: boolean
8385
propagate-uid-gid:
@@ -131,8 +133,6 @@ configuration:
131133
type: boolean
132134
workdir:
133135
type: string
134-
metadata-key-prefix:
135-
type: string
136136
anyOf:
137137
- required:
138138
- run

tests/metadata.bats

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,19 @@ load '../lib/metadata'
3636
# Only expect the 'exists' command to be called, not the 'get'
3737
stub buildkite-agent "meta-data exists docker-compose-plugin-built-image-tag-test : exit 1"
3838

39-
run get_prebuilt_image "" "test"
40-
39+
run get_prebuilt_image "docker-compose-plugin-" "test"
40+
4141
assert_failure
4242
unstub buildkite-agent
4343
}
4444

4545
@test "Only get prebuilt image from metadata if 'exists' check returns true" {
4646
stub buildkite-agent \
4747
"meta-data exists docker-compose-plugin-built-image-tag-test : exit 0" \
48-
"meta-data get docker-compose-plugin-built-image-tag-test : exit 0"
48+
"meta-data get docker-compose-plugin-built-image-tag-test : exit 0"
49+
50+
run get_prebuilt_image "docker-compose-plugin-" "test"
4951

50-
run get_prebuilt_image "" "test"
51-
5252
assert_success
5353
assert_output --partial "buildkite-agent meta-data get docker-compose-plugin-built-image-tag-test"
5454
unstub buildkite-agent

0 commit comments

Comments
 (0)