New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

cirrus2

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cirrus2

Cirrus is a push to deploy tool written above the cirrus clouds. Inspired by Evan You's pod.

latest
Source
npmnpm
Version
0.4.1
Version published
Maintainers
1
Created
Source

☁️ Cirrus

Cirrus is a push to deploy tool written above the cirrus clouds. Inspired by Evan You's pod.

license build prettier
jest PRs Welcome

Install

$ yarn global add cirrus2

or with npm

$ npm install -g cirrus2

Features

  • Automatically sets up domains with SSL
  • Monorepo support out of the box
  • Plugins

Available commands

create

allows you to create a cloud app either from a local repository or a GitHub remote.

Options
--port, -p Port to use for your app
--environment, -e Path to an .env file to source when creating app
--remote, -r Port to use for your app

TODO: Write the rest

Usage

First, log in to your Virtual Private Server. DigitalOcean offers VPS' for only 4$/mo.

$ ssh root@<ip>

Install Cirrus

$ npm install -g cirrus

Setup Cirrus. This step sets up necessary firewalls etc.

$ cirrus setup

Create an app.

$ cirrus init my-app

Then, on your local machine:

$ git remote add deploy https://<your vps ip>/
$ git push deploy main # deploy!

Docs

TODO: Write docs

Contributing

All contributions are welcome! Please read below for guidelines on how to get started.

Feature request

If you want to propose a new feature, open an issue.

Found a bug?

  • Fork this repository to your own GitHub account and then clone it to your local device
  • Link the package to the global module directory: npm link
  • Within the module you want to test your local development instance of cirrus, just link it to the dependencies: npm link cirrus. Node.js will now use your local clone of cirrus!

License

Cirrus is released under the MIT License.

TODO

  • Tests

    • Deployment tests (write abstractions w dep injection)
    • Create project tests (write abstractions w dep injection)
    • Plugin tests (write abstractions w dep injection)
    • get logs, get project, get deployments tests
    • test deploying with mock app
  • Make sure "npm start" script exists in package.json

  • Check that correct version 2.30+ of git is installed.

    • Install command thing…
  • "Stream" command output so it doesn't feel as if the action is unresponsive

  • Logging

    • logging flag… [X]
  • Good error reporting

    • All errors should have some explanation or possible solution
    • Also have the error
  • Abstract away cirrus.json

    • Upon init a cirrus.json gets created in cirruspath/config/projectname.json
    • You can have a cirrus.json file in your GitHub repository, in which case that is prioritized (merged) with the project cirrus config on disk (for things like ports)
    • Remove port option (user shouldn't need to think about ports…)
  • Deploy in a way that doesn't take app offline

  • Plugins

    • Plugins can insert ENV variables to all programs; for instance, if we have POSTGRES plugin, then maybe we have a POSTGRES_CONNECTION_URL env variable passed to all programs. What ENV variables are exposed needs to be documented by the plugin.
    • Automatic Caddy server configuration plugin
      • Add path to CERT files to ENV
      • domain is determined in DEPLYOMENT section,
    • Automatic Postgres configuration plugin
      • Add connection url to ENV
    • Firewall setup plugin
  • Add possibility to init from github Instructions

$ cirrus init umami-software/umami
$ cirrus init railwayapp/blog
  • Ignore paths (low priority)

DigitalOcean Referral Badge

Keywords

push

FAQs

Package last updated on 15 Aug 2022

Did you know?

Socket

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.

Install

Related posts