As a beginning, just to let you know, it is now my 54th deployment (which means around a week) using ebextensions in order to reverse engineering how it works in terms of environment variables!
The RDS environment variables are:
– RDS_USERNAME
– RDS_PASSWORD
– RDS_HOSTNAME
– RDS_DB_ NAME
The weird part is, accessing to those environment variables under the following 3 scenarios are different:
1. Directly under ebextensions : This is not possible !
2. Under the scripts triggered by ebextensions : This is possible, you can use them like $RDS_HOSTNAME …
3. Under the hooks : This was not possible but here is the workaround that i found and worked for my case:
– Store them under a file using a script trigged by ebextensions:
echo RDS_HOSTNAME=$RDS_HOSTNAME >> /etc/environment
echo RDS_USERNAME=$RDS_USERNAME >> /etc/environment
echo RDS_PASSWORD=$RDS_PASSWORD >> /etc/environment
– Parse them from the hook:
RDS_HOSTNAME="$(awk -F= '/RDS_HOSTNAME/{print $2}' /etc/environment)"
RDS_USERNAME="$(awk -F= '/RDS_USERNAME/{print $2}' /etc/environment)"
RDS_PASSWORD="$(awk -F= '/RDS_PASSWORD/{print $2}' /etc/environment)"
What a nasty solution but works!