Your other option is to create an openshift
branch of your project on your local machine. You can create a folder/files for the private information that only lives in your openshift
branch. You would still need to source the files in your pre_start
hook, something like source ${OPENSHIFT_REPO_DIR}/.private
.
Then develop in your master
branch, merge into your openshift
branch, and push from your openshift
branch to OpenShift master branch. This sound convoluted at first, but does make for a very easy workflow, especially if you're origin
is shared.
This would be the workflow if your origin was on GitHub.
github/master <--> local/master --> local/openshift --> openshift/master
Notice the only bidirectional link is between github and your local master, so there should be no reason for your credentials to "escape".
This approach also has the added benefit of being able to keep any OpenShift specific changes confined to the openshift
branch (like for Gemfiles, ENV variables, paths, etc).
As for security, on the OpenShift server, the repo should have the same security as your $OPENSHIFT_DATA_DIR
, so you're not really exposing yourself any more.
Caveat:
Depending on your framework, the files in your $OPENSHIFT_REPO_DIR
may be directly accessible via HTTP. You should be able to prevent this with an .htaccess
file.