Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
@sofarocean/loft
Advanced tools
Standard build scripts combining Terraform and custom pre- and post- deploy options
loft
is a set of command line utilities that provide a standard way of managing and deploying infrastructure and code across multiple environments using git, Github, and Terraform."Lofting is a drafting technique whereby curved lines are generated, to be used in plans for streamlined objects such as aircraft and boats."
loft
is published on npm
and can be executed anywhere with npx
:
npx @sofarocean/loft
If you find yourself using loft
frequently from the command line, you can create an alias by adding an entry to your ~/.profile
, ~/.bashrc
, or similar:
alias loft='npx @sofarocean/loft'
And then running commands from any directory such as:
loft deploy
deploy
npx @sofarocean/loft deploy [--pre-apply <script>] [--post-apply <script>]
Running this command from your local machine or on a CI/CD server (such as with Github Actions) will:
dev
, staging
, or prod
) frome the current git branchterraform apply
with the .tfvars
corresponding to the chosen deploy environmentThe deployment environment can be overridden with the -d
or --deploy-env
option.
For a full list of options, run:
npx @sofarocean/loft deploy -h
When running on a CI/CD server, you can set the -a
or --auto-approve
option to auto-approve the Terraform changes.
promote
Use promote
to bring code from one environment up to date with another. This is typically used to promote code on dev
->staging
or staging
->prod
.
In most cases, you can just run:
npx @sofarocean/loft promote
This will infer the target branch based on your current branch (e.g. if you are currently on dev
, this will attempt to promote dev
->staging
).
You can also specify a target branch:
npx @sofarocean/loft promote --target master
Before promoting, loft
will show you a log of the commits that differ between your current and target branches. Run these by your team before promoting to make sure everything looks good to go!
promote
will only attempt a fast-forward merge. This will fail if the target branch contains code that is not on the current branch, as is the case when a hotfix was applied directly on the target branch. In this case, you will need to back-merge the changes onto your current branch and resolve any merge conflicts manually before continuing.
Back merging is as simple as:
git merge <target>
where <target>
was your original target branch.
init
Initialize a project with the standard deployment setup:
/terraform
directory with [dev,staging,prod].tfvars
files[dev,staging,prod].env
files for environment variables in each environmentgit init
if neededdev
and staging
git branch and checkout dev
dev
, branch protection, linear history, etc?test
deploy
, but set up environment variables before running test commanddestroy
terraform destroy
that sets variables based on environment and branch, similar to loft deploy
FAQs
Standard build scripts combining Terraform and custom pre- and post- deploy options
We found that @sofarocean/loft 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.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.