Is it possible to upload an untracked file to Heroku using the CLI? Something like
$ heroku upload config/secrets.yml
I have a file that I do not want to track in my Github repository that is deploying to Heroku, but I need it to make the application work on Heroku.
In order to achieve what you're trying to do with Heroku, you need to do it a little differently. You can use a config file that is checked into the repo, but don't store any of your keys in the config. Refer to environment variables to provide the actual values to use based on that environment. (local/staging/production) You then set your env vars locally just as you would on Heroku. It's all the same on each environment which is what you want. Here's a short example:
staging: {
env: 'staging',
root: rootPath,
app: {
name: appname,
assets_path: '/build/dist',
main: packageJSON.main
},
port: process.env.PORT,
db: {
MONGODB_URI: process.env.MONGODB_URI
},
redis: {
REDIS_URL: process.env.REDIS_URL
},
logs: {
LE_TOKEN: process.env.LE_TOKEN
},
auth: {
CLIENT_ID: process.env.AUTH0_CLIENT_ID,
CLIENT_SECRET: process.env.AUTH0_CLIENT_SECRET,
DOMAIN: process.env.AUTH0_DOMAIN,
CALLBACK: process.env.AUTH0_CALLBACK_URL,
TOKEN: process.env.AUTH0_TOKEN
},
google: {
MAPS_KEY: process.env.GOOGLE_MAPS_KEY
}
}