Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
lets-git-pull
Advanced tools
git-pull deployment management for Lets. Basically provides the same functionality as capistrano.
See Lets for how to install lets.
Install lets-git-pull:
npm install lets-git-pull
Create the following Letsfile.js:
var gitpull = require('lets-git-pull');
module.exports = function (lets) {
// Create a stage
var stagename = lets.Stage({
host: '1.2.3.4',
username: 'username',
password: 'asdasd',
agent: process.env.SSH_AUTH_SOCK,
agentForward: true,
repository: 'git@github.com:letsjs/lets-git-pull.git',
remotePath: '/var/lets/sitename'
});
// Add your own instructions, like symlink to the server's folder
stagename.on('deploy:publish', function (options, done) {
this.getConnection(function(c) {
c.exec('ln -nfs ' + options.current + ' /var/www/site.com', done);
});
});
// Deploy using git pull
stagename.plugin(gitpull());
// Add the stage to lets
lets.addStage('stagename', stagename);
};
Then run this in the terminal:
lets deploy:setup stagename
lets deploy:check stagename
lets deploy stagename
That's it! More examples will come later.
The following options may be used but not specific to this plugin, see lets-ssh for more information:
options.repository
The url of the repository.
options.remotePath
The path where the files will be put on the remote, without trailing slash.
options.branch = 'master'
The branch to checkout. Default is master.
options.keepRevisions = 5
How many revisions to keep on cleanup. Default is 5.
options.removeOldRevisionOnRollback = true
Whether or not to remove the old revision on rollback.
options.currentPath
The absolute path to the folder where the current revision is stored. Available
after deploy:update
.
options.current
The absolute path to the symlink ([remotePath]/current) to the current revision.
Use for e.g. symlinking the project to the webserver's public-html file.
Available after deploy:publish
.
options.oldRevision
The absolute path to the folder where the old revision is stored when rolling
back. Available after deploy:rollback
.
See guidelines for lets.
Run tests using npm test
, grunt test
or make test
. You need to set up your
own SSH-server to test against. On OS X a really simple way is to simply enable
Sharing->Remote Login
(preferably on a for this purpose designated account).
However on OS X (and any other server which doesn't use GNU CLI tools) you also
need to install GNU find (using e.g. brew install findutils --default-names
),
since the tests use a flag (-printf) which the BSD version doesn't support.
When you have an SSH-server to test against, copy test/config-sample.js
to
config.js
and enter its details.
FAQs
Deployment management for Lets using git pull
The npm package lets-git-pull receives a total of 0 weekly downloads. As such, lets-git-pull popularity was classified as not popular.
We found that lets-git-pull demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.