hi,
i previously had a github action that would post the terraform outputs to pull request. this has recently broken does anyknow why?
qovery code:
qovery_terraform_output=`qovery lifecycle env list --json -n "terraform" \
--organization "Open Corporates" \
--project "Open Corporates" \
--environment ${{ steps.extract_branch.outputs.branch }} \
| jq -r '.[] | select(.scope == "ENVIRONMENT" and .alias_parent_key != null) | [.key, .interpolated_value] | @tsv' \
| awk -v OFS=" | " 'BEGIN{print "| Key | Value |\n| --- | ----- |"} {print "| "$1, $2" |"}'`
echo "QOVERY_STATUS_MARKDOWN_OUTPUT<<EOF" >> "$GITHUB_OUTPUT"
echo "$qovery_terraform_output" >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
$qovery_terraform_output now only returns the environment, where as previously it would return all outputs
ce_gagnaire
(Charles-Edouard Gagnaire)
October 1, 2024, 8:51am
2
Hello Stephen,
I’ll have a look at your problem.
Do you have an example of the expected output vs the new output?
Have you made any modifications since this post?
to confirm just running the command to get the json output. there is no key: terraform_exec_output in any of the json.
i do a decent output from :
% qovery lifecycle env list --json -n "terraform" \
--organization "Open Corporates" \
--project "Open Corporates" \
--environment "dev-1855" \
| jq '.[] | select(.scope == "ENVIRONMENT" and .alias_parent_key != null) | {key: .key, value: .interpolated_value}'
{
"key": "S3_DATA_BUCKET",
"value": "oc-idp-data-expectation-check-dev-1855-data"
}
…
Regards,
Charles-Edouard
yes still that code with no changes. i expected to see what the pic in that post shows, which is all the outputs from terraform module. But now i just get
Hello @Stephen_Bennett
Looking at your environments, seems that the environment sec-fix doesn’t have any job outputs so it’s normal you don’t see any.
In your entire project, only the ren-cattrs environment has some job outputs.
Do you target the correct environment in your github action ?
so am i looking at it wrong then.
Im taking it that sec-fix is created in the namespace: z4789d231-sec-fix
and the logs are below, and i expected all those outputs to be in the github pull request
Outputs:
batch-job-environment = "oc-idp-turbot-fillet-sec-fix-compute-environment"
batch-job-queue = "arn:aws:batch:eu-west-2:058264218412:job-queue/oc-idp-turbot-fillet-sec-fix-job-queue"
dc-user = "oc-idp-turbot-fillet-sec-fix-user"
dc-user-secret-path = "arn:aws:secretsmanager:eu-west-2:058264218412:secret:turbot-fillet-sec-fix/oc-idp-turbot-fillet-sec-fix-user-kAuGbo"
s3-output-arn = "arn:aws:s3:::oc-idp-turbot-fillet-sec-fix-output"
s3-output-name = "oc-idp-turbot-fillet-sec-fix-output"
s3-state-arn = "arn:aws:s3:::oc-idp-turbot-fillet-sec-fix-state"
s3-state-name = "oc-idp-turbot-fillet-sec-fix-state"
Ok I took a deeper look, it comes from the variable output format
Your environment ren-cattrs has outputs variables that follow the good format: the “-
” character is forbidden.
Can you output your variables using _
in your environment sec-fix ?
We added a task in our backlog to indicate which variables will be imported / which variables are rejected
so its the variable name that has to not contain -?
so s3-state-name is bad
s3_state_name is good?
yep changed all the outputs to _ and thats working! the other services deployed where already using _ for outputs…
thank you for the clarification!
S
so s3-state-name is bad
s3_state_name is good?
Yes exactly @Stephen_Bennett , sorry if it wasn’t clear