Troubleshooting
PostgreSQL connection problems
If you are having trouble connecting your app to a PostgreSQL database, follow the steps below. You can also apply these instructions to other backing services. If you require more guidance for other supported backing services, contact us at gov-uk-paas-support@digital.cabinet-office.gov.uk.
- Ensure your app is making a TLS connection to the PostgreSQL service.
- Use
cf service SERVICE_INSTANCE
to check that the service is bound to the app. - Use
cf env APPNAME
to see the app’s environment variables and confirm that there is aVCAP_SERVICES={"postgres":
section, indicating the app has correctly received the environment variables. - Make sure your app writes database connection errors to
STDOUT
orSTDERR
, then look for recent errors withcf logs APPNAME --recent
. - If restarting the app does not make it connect, try restaging the app with
cf restage APPNAME
.
Pushing apps fails on Windows (line endings issue)
We are aware of some cases where pushing an app can fail if you are pushing from a Windows machine that has saved project files with Windows-style (CRLF) line endings.
This happens because some buildpacks do not interpret the CRLF line endings correctly. This is an example of an error arising from an executable script with CRLF line endings when using the Ruby buildpack:
2016-12-02T06:03:25.95-0800 [APP/PROC/WEB/0]ERR /usr/bin/env: ruby
2016-12-02T06:03:25.95-0800 [APP/PROC/WEB/0]ERR : No such file or directory
2016-12-02T06:03:25.95-0800 [APP/PROC/WEB/0]OUT Exit status 127
Similar problems may happen in other buildpacks. If you find that pushing an app from Windows is failing, try making sure that files in your project are being saved with Unix-style LF line endings, not Windows-style CRLF line endings. Most text editors aimed at developers allow you to change the line ending style.
If you are working with a Git repository, disable Git’s autocrlf
setting:
git config --global core.autocrlf false
then clone the repository again.
Tracing HTTP requests
The Cloud Foundry router automatically adds Zipkin-compatible headers to the incoming HTTP requests so you can match those with your application’s responses.
Zipkin is a tracing system that enables app developers to troubleshoot failures or latency issues. Zipkin provides the ability to trace requests and responses across distributed systems. See Zipkin.io for more information.
To trace app requests and responses in Cloud Foundry, apps must also log Zipkin headers.
After adding Zipkin HTTP headers to app logs, developers can use cf logs myapp
to correlate the trace and span ids logged by the Cloud Foundry router with the trace ids logged by their app. To correlate trace IDs for a request through multiple apps, each app must forward appropriate values for the headers with requests to other applications.
Forgotten passwords
If you believe you have forgotten your GOV.UK PaaS credentials, you can request a password reset using the links below: