Missing environment variables when using PAS 2.3+ and the cflinuxfs3 stack
search cancel

Missing environment variables when using PAS 2.3+ and the cflinuxfs3 stack

book

Article ID: 297763

calendar_today

Updated On:

Products

VMware Tanzu Application Service for VMs

Issue/Introduction

Pivotal Application Service (PAS) v2.3 or later includes the `cflinuxfs3` stack. Pivotal recommends pushing all apps using the `cflinuxfs3` stack for better performance, security, and compatibility. 

However, if you use the `cflinuxfs3` stack and provide environment variables containing periods ('.') or dashes ('-'), the environment variables do not show up in the process environment of the application. 

This article discusses how to ensure the intended environment variables show up in the environment of the application.

Environment


Cause

There has been no change to the buildpacks. However, Ubuntu Bionic is using a new version of Dash where non-shell-compliant environment variables are now filtered from any processes launched by the shell. As a result, shell environment variables that use non-compliant variable naming conventions for Dash shells are failing builds on `cflinuxfs3`.

Note: This issue has only been noticed in language tools that explicitly call `/bin/sh` and contain environment variables that are not Portable Operating System Interface (POSIX) shell compliant.

Resolution

To resolve this issue, ensure that all applications are using Dash shell-compliant environment variables that do not contain periods ('.') or dashes ('-').