Comments (9)
I'm still trying to decide how to allow customization of the resulting upstart scripts without adding a crazy amount of command line options. Do you have any ideas?
from foreman.
If you don't want to make something like this a built in command line option, maybe some way to specify or automatically read and insert certain command line options into the upstart templates would work. Maybe something like:
Automatically read from config/foreman/master.conf.erb (or specify an upstart template directory)
- the gem's data/export/upstart/master.conf.erb could import the contents of this file at the top or bottom...
or - or this file could be used instead of what is in the gem's master.conf.erb. these files could also be generated by foreman as a rake generate task, to create the template for the user if they want to customize it.
I'm not sure if there's an easier or cleaner approach, but these would allow customization without adding tons of command line options.
from foreman.
@ddollar @travisp I didn't see this issue and already set up a pull request. I found myself updating the /etc/init/<app>.conf
every time by adding a single line at the top that'll start up my processes when the system boots up. It would be nice if you could just do foreman export upstart /etc/init --start-on-boot
(or -b
) that'll automatically add the line so you don't have to edit the file manually every time.
Here's the pull request: #36
from foreman.
+1
from foreman.
This can now be achieved with custom export templates. Closing this issue.
from foreman.
@ddollar just thinking that start on boot is actually a great default (as a user i'm less concerned about cli option proliferation than you). Perhaps there is a cool justification for why this should NOT be the default that i'm missing or maybe i'm assuming too much about the kind of processes being managed by foreman. At the risk of being overly dramatic, runlevel is a fundamental property of upstart/inittab and what not, no?
Exporting and keeping another set of templates negates at least one major purpose of foreman IMHO (exporting). If the /etc/init/*.conf files are generated out of my own possibly error prone and non-standard templates, what do i need foreman (outside of development) for? Am I missing something here?
I loved the fact that you had taken away the pain from us of configuring "upstarting" of processes and abstracted it in the Procfile to a large extent. With having to maintain my own templates, this feature gets diluted.
If i've overlooked something, i'm quite happy to get convinced either way.
from foreman.
I agree with @asanghi
from foreman.
3rd'ed. I'm a bit confused, wouldnt you want your app to start up on boot?
from foreman.
Good!! Looks like the merge for #229 has fixed this. Your app should now start/stop fairly easily!
from foreman.
Related Issues (20)
- Odd error message when you skip the 'start' command and include a -f
- Using RuboCop?
- issue killing subprocesses using `cd` with failure at startup HOT 1
- breakpoint vscode not work to Ruby
- After the foreman finishes, the ruby process continues to exist HOT 2
- Release 1.0? HOT 1
- About link is broken HOT 1
- Foreman does not terminate child process HOT 3
- Forman doesn't show errors and logs of Procfile commands HOT 3
- Change https://ddollar.github.com/foreman to https://ddollar.github.io/foreman on repo description link
- Port 5000 taken by Mac OSX HOT 1
- When launching rails via foreman, rails asset pipeline errors
- Support for x64-mingw-ucrt platform
- Version Optimize
- Document that Foreman secretly sets the PORT environment variable to 5000 HOT 1
- Error after running command "foreman start"
- foreman export systemd raises undefined method `exists?' for File:Class (NoMethodError) HOT 1
- Security CVE-2022-3874 HOT 4
- Usage Error: Unrecognized or legacy configuration settings found
- Ruby32-x64/lib/ruby/gems/3.2.0/gems/foreman-0.87.2/lib/foreman/engine.rb:201:in `kill': Invalid argument (Errno::EINVAL)
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 foreman.