|
|
|
@ -405,14 +405,18 @@ grpc_dockerfile_install() { |
|
|
|
|
|
|
|
|
|
# For specific base images, sync the ssh key into the .ssh dir in the dockerfile context |
|
|
|
|
[[ $image_label == "grpc/base" ]] && { |
|
|
|
|
grpc_docker_sync_github_key $dockerfile_dir/.ssh 'base_ssh_key'|| return 1; |
|
|
|
|
grpc_docker_sync_github_key $dockerfile_dir/.ssh 'base_ssh_key' || return 1; |
|
|
|
|
} |
|
|
|
|
[[ $image_label == "grpc/go" ]] && { |
|
|
|
|
grpc_docker_sync_github_key $dockerfile_dir/.ssh 'go_ssh_key'|| return 1; |
|
|
|
|
grpc_docker_sync_github_key $dockerfile_dir/.ssh 'go_ssh_key' || return 1; |
|
|
|
|
} |
|
|
|
|
[[ $image_label == "grpc/java_base" ]] && { |
|
|
|
|
grpc_docker_sync_github_key $dockerfile_dir/.ssh 'java_base_ssh_key'|| return 1; |
|
|
|
|
grpc_docker_sync_github_key $dockerfile_dir/.ssh 'java_base_ssh_key' || return 1; |
|
|
|
|
} |
|
|
|
|
[[ $image_label == "grpc/ruby" ]] && { |
|
|
|
|
grpc_docker_sync_roots_pem $dockerfile_dir/cacerts || return 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# TODO(temiola): maybe make cache/no-cache a func option? |
|
|
|
|
sudo docker build $cache_opt -t $image_label $dockerfile_dir || { |
|
|
|
@ -471,3 +475,31 @@ grpc_docker_sync_github_key() { |
|
|
|
|
} |
|
|
|
|
gsutil cp $src $gcs_key_path $local_key_path |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# grpc_docker_sync_roots_pem. |
|
|
|
|
# |
|
|
|
|
# Copies the root pems from GCS to the target dir |
|
|
|
|
# |
|
|
|
|
# call-seq: |
|
|
|
|
# grpc_docker_sync_roots_pem <target_dir> |
|
|
|
|
grpc_docker_sync_roots_pem() { |
|
|
|
|
local target_dir=$1 |
|
|
|
|
[[ -n $target_dir ]] || { echo "$FUNCNAME: missing arg: target_dir" >&2; return 1; } |
|
|
|
|
|
|
|
|
|
# determine the admin root; the parent of the dockerfile root, |
|
|
|
|
local gs_dockerfile_root=$(load_metadata "attributes/gs_dockerfile_root") |
|
|
|
|
[[ -n $gs_dockerfile_root ]] || { |
|
|
|
|
echo "$FUNCNAME: missing metadata: gs_dockerfile_root" >&2 |
|
|
|
|
return 1 |
|
|
|
|
} |
|
|
|
|
local gcs_admin_root=$(dirname $gs_dockerfile_root) |
|
|
|
|
|
|
|
|
|
# cp the file from gsutil to a known local area |
|
|
|
|
local gcs_certs_path=$gcs_admin_root/cacerts/roots.pem |
|
|
|
|
local local_certs_path=$target_dir/roots.pem |
|
|
|
|
mkdir -p $target_dir || { |
|
|
|
|
echo "$FUNCNAME: could not create dir: $target_dir" 1>&2 |
|
|
|
|
return 1 |
|
|
|
|
} |
|
|
|
|
gsutil cp $src $gcs_certs_path $local_certs_path |
|
|
|
|
} |
|
|
|
|