Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix use case of bosh-deploy-with-created-release task #139

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions bosh-deploy-with-created-release/task
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,31 @@ main() {
setup_bosh_env_vars

local release_name
release_name="$(yq -r '.name' release/config/final.yml)"
if [[ "${release_name}" == "null" ]]; then
release_name="$(yq -r '.final_name' release/config/final.yml)"
fi
if [[ "${release_name}" == "null" ]]; then
echo "Expected non-empty 'name' or 'final_name' in release/config/final.yml"
exit 1
local release_version
if [[ -n ${RELEASE_NAME_OF_TARBALL} ]]; then
if [[ ! -r "${root_dir}/release_tarball_name/name" ]]; then
echo "When providing 'RELEASE_NAME_OF_TARBALL', 'release_tarball_name' must be given."
exit 1
fi
if [[ -z ${RELEASE_VERSION_OF_TARBALL} ]]; then
echo "When providing 'RELEASE_NAME_OF_TARBALL', 'RELEASE_VERSION_OF_TARBALL' must be also given."
exit 1
fi
release_name="${RELEASE_NAME_OF_TARBALL}"
release_version="${RELEASE_VERSION_OF_TARBALL}"
else
release_name="$(yq -r '.name' release/config/final.yml)"
if [[ "${release_name}" == "null" ]]; then
release_name="$(yq -r '.final_name' release/config/final.yml)"
fi
if [[ "${release_name}" == "null" ]]; then
echo "Expected non-empty 'name' or 'final_name' in release/config/final.yml"
exit 1
fi
fi

if [[ -r "${root_dir}/release_tarball_name/name" ]]; then
bosh_interpolate "${root_dir}" "${release_name}" "$(cat ${root_dir}/release_tarball_name/name)"
bosh_interpolate "${root_dir}" "${release_name}" "${release_version}" "$(cat ${root_dir}/release_tarball_name/name)"
else
bosh_interpolate "${root_dir}" "${release_name}"
fi
Expand Down
12 changes: 12 additions & 0 deletions bosh-deploy-with-created-release/task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,18 @@ params:
# - Filepath to the manifest file within the cf-deployment resource
# - The path is relative to root of the `cf-deployment` input

RELEASE_NAME_OF_TARBALL:
# - Optional
# - The name of the release, which was provided as a tarball
# - Required when deploying a release from a tarball, which was provided
# using the input `release_tarball_name`.

RELEASE_VERSION_OF_TARBALL:
# - Optional
# - The version of the release, which was provided as a tarball
# - Required when deploying a release from a tarball, which was provided
# using the input `release_tarball_name`.

SYSTEM_DOMAIN:
# - Required unless toolsmiths-env optional input is provided
# - CF system base domain e.g. `my-cf.com`
Expand Down
10 changes: 7 additions & 3 deletions shared-functions
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,11 @@ function bosh_interpolate() {
local release_name
release_name="${2}"

local release_version
release_version="${3}"

local release_tarball_name
release_tarball_name="${3}"
release_tarball_name="${4}"
set -u

local bosh_manifest
Expand All @@ -133,16 +136,17 @@ function bosh_interpolate() {
cat << EOF > create-provided-release.yml
---
- type: replace
path: /releases/name=${release_name}
path: /releases/name=${release_name}?
value:
name: ${release_name}
url: file://${root_dir}/release/${release_tarball_name}
version: ${release_version}
EOF
else
cat << EOF > create-provided-release.yml
---
- type: replace
path: /releases/name=${release_name}
path: /releases/name=${release_name}?
value:
name: ${release_name}
version: create
Expand Down