Comments (2)
Hey @tarjei. Thanks for the suggestion, but as I mentioned in #26, I think this will start to add a bit too much to this tool. For example, if you had a directory tree like:
/dir
|----/sub1
| |----file1.txt
| |----file2.txt
| |----file3.txt
|----/sub2
|----fileA.txt
|----fileB.txt
|----fileC.txt
The syntax in the node_deb
object in package.json
would have to be something like:
{
"permissions": {
"/var/lib/my-app-name/": "0750:my-user:my-group",
"/var/lib/my-app-name/dir": "0750:my-user:my-group",
"/var/lib/my-app-name/dir/sub1": "0750:my-user:my-group",
"/var/lib/my-app-name/dir/sub1/file1": "0640:my-user:my-group",
...
}
}
While itself not hard to implement, this would bloat the package.json
and I don't think anything beyond basic Debian packing should be a first class feature of node-deb
.
However, because of the --template-postinst
flag, you could override the default postinst
script that is run on package installation and include a series of chown
and chmod
commands to handle your specific needs.
I also think this job of permissions is best handled by a tool like ansible
or chef
, so when we've used this, the workflow has been something like:
- Build Debian package via CI tool
- Push to Debian repo
- Trigger deployment scripts
- Configure server, install
.deb
, configure some more
from node-deb.
Good call. I like your suggerstion of using a postinst script.
T
2016-11-04 11:01 GMT+01:00 heartsucker [email protected]:
Hey @tarjei https://github.com/tarjei. Thanks for the suggestion, but
as I mentioned in #26 #26,
I think this will start to add a bit too much to this tool. For example, if
you had a directory tree like:/dir
|----/sub1
| |----file1.txt
| |----file2.txt
| |----file3.txt
|----/sub2
|----fileA.txt
|----fileB.txt
|----fileC.txtThe syntax in the node_deb object in package.json would have to be
something like:{
"permissions": {
"/var/lib/my-app-name/": "0750:my-user:my-group",
"/var/lib/my-app-name/dir": "0750:my-user:my-group",
"/var/lib/my-app-name/dir/sub1": "0750:my-user:my-group",
"/var/lib/my-app-name/dir/sub1/file1": "0640:my-user:my-group",
...
}
}While itself not hard to implement, this would bloat the package.json and
I don't think anything beyond basic Debian packing should be a first class
feature of node-deb.However, because of the --template-postinst flag, you could override the
default postinst script that is run on package installation and include a
series of chown and chmod commands to handle your specific needs.I also think this job of permissions is best handled by a tool like
ansible or chef, so when we've used this, the workflow has been something
like:
- Build Debian package via CI tool
- Push to Debian repo
- Trigger deployment scripts
- Configure server, install .deb, configure some more
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#28 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAM5P42WMX3rBr7c2DAmlm-r4Ci4LnjIks5q6wKWgaJpZM4KpQ9h
.
Tarjei Huse
Mobil: 920 63 413
from node-deb.
Related Issues (20)
- add option to not create system users or groups HOT 3
- Typo prevents removing links from .bin HOT 1
- add tests for Bionic Beaver when it's released
- npm install in postinst fails when having native library dependency HOT 3
- Question: usage of pm2
- bash: node-deb: command not found HOT 5
- unescaped newline inside substitute pattern HOT 1
- postinst prevent user creation HOT 2
- No more node_modules/.bin directory in the debian package HOT 7
- Migrate from Bash to JavaScript
- Error parsing file HOT 6
- Using dh-sysuser when available HOT 1
- Unable to run app HOT 9
- node-deb not ignoring own temp directory... HOT 1
- Does node_deb.entrypoints.cli support more than 1 file? HOT 1
- Deprecated dependencies HOT 1
- Use node-deb in bitbucket pipelines HOT 1
- dpkg-deb: error: unable to create 'real-app_0.1.0_all.deb': Success
- Add option to specify conflicts
- Add Conflicts in debian control template
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-deb.