Comments (7)
Hey, so just to clarify you wanted to be able to set the location of the logs for the upstart job?
I can probably to that in the next few days. I agree, feature parity would be nice.
from node-foreman.
Yup, upstart log location, rather than hard-coded /var/log/
.
I usually prefer /var/log
because this is the standard log location, but for whatever reason, Capistrano likes to create an #{app_dir}/shared/log
directory and output there.
Not sure which convention I should break ;0 But parity is a good thing in any event, as noted.
Thanks!
from node-foreman.
This will also include a command by root creating and chown'ing the directory to whatever the given node user is. Would this work with Capistrano? I don't see any reason why it wouldn't, but thought I'd check.
from node-foreman.
Capistrano already chmods the directory to be writable.
IMHO, Capistrano is a bit broken when it comes to setting up security properly. It kind of assumes that the SSH account that it's executing scripts from, is the same account you're using to run the application... which I don't agree with.
In my particular case, I setup a deployers
group, and my deployment path is owned by the SSH user and the deployers
group. The account that I'm SSHing in with is a member of deployers
and has write access to the path where the files are being served from. Another app-specific lower-privileged user is also a member of deployers
and has only read access to the files, except for the #{app_dir}/shared/logs
, where it is allowed to write.
So based on how I have things setup, I think additionally chown
ing the logs dir shouldn't be an issue. But I'm not sure if this is necessarily something node-foreman should configure. I understand why you might want to do this... but I wonder if assuming that the file system should be modified like that is a good idea.
It doesn't appear that the original Ruby source makes the assumption that it should change ownership -- at least I couldn't find anything there -- https://github.com/ddollar/foreman/blob/master/lib/foreman/export/upstart.rb
from node-foreman.
They do chown the logs file, see https://github.com/ddollar/foreman/blob/master/data/export/upstart/master.conf.erb
It's part of the upstart job, node-foreman doesn't actually do it. If all else fails, you still have the option of post-processing the upstart files. It wouldn't be perfect, but it's still "automatable" if that's a word.
I'm gonna migrate this to a pull request #5
See if those changes will meet your needs.
from node-foreman.
Ahh, good find -- apologies. Right you are. Missed it in the Upstart confs!
Awesome -- thanks for implementing. One step closer to pulling Ruby out of my server stacks.
from node-foreman.
Published this change in v0.0.16
from node-foreman.
Related Issues (20)
- .env Port variables not named PORT are not being used HOT 2
- Unable to restart nodemon when started using `nf start` HOT 2
- Question - Is it possible to override a single environment var? HOT 1
- Alias in .bashrc not working in Procfiles HOT 1
- Using .env parameters inside Procfile HOT 2
- How to handle nf run child process options HOT 2
- Regex DoS (ReDos) Vulnerability [FIXED] HOT 14
- Handling release entry in procfile HOT 7
- npm reported sever vulnerability in nf HOT 1
- Profile parsing fails if tuple is not set or has no items HOT 1
- Redis exits with code 1 or null, node-foreman does not appear to wait as foreman does HOT 1
- Spuriously escapes some characters on windows HOT 1
- library usage of `node-foreman`? HOT 1
- Error when starting foreman: Cannot read property '1' HOT 3
- Sequential tasks HOT 3
- How to use different shell to /bin/sh HOT 4
- all processes are killed if one process exits HOT 5
- Processes don't always exit on Ctrl-C (SIGINT)
- How to run nf run 'node --expose-gc' app.js
- .env parsing does not allow for BASH references like other dotenv implementations
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-foreman.