- Added
nullstone run
command that allows you to a start a new job/task. - Added support for
nullstone run
to ECS/Fargate tasks and GKE jobs.
- Improve reliability of streaming deploy logs when performing a deployment.
- Added ability for users with
software_engineer
to access logs, metrics, and status. - Added support for GCP static sites.
- Added support for pushing and deploying using Google Artifact Registry.
- Added "Deployment completed." message after streaming deployment logs.
- Created fallback when we cannot find app deployment workflow.
- Added
nullstone iac generate
command to export workspace config to an IaC file.
- Fixed nil panic when performing
nullstone iac test
without any IaC files.
- Fixed nil panic when performing
nullstone iac test
in a directory without a git repo.
nullstone iac test
will find IaC files with.yml
or.yaml
file extension.- Added support for
events
in IaC files.
nullstone iac test
now emits previous and updated values formodule_version
,env_variable
,variable
, andconnection
changes.- Eliminated diffs in
nullstone iac test
for similar values.- Variable values set to the same as the default
- Connections having a missing environment id
- Fixed generation of capabilities using
workspaces select
CLI command.
- Added
nullstone iac test
command to validate Nullstone IaC files.
- Added
commitSha
when created deploy so that Nullstone can add commit info to deploy activity. - Added detection of automation tool (e.g. CircleCI, Github Actions, Gitlab, etc.) when creating deploy.
- Updated CLI commands (
launch
,deploy
,plan
,apply
,up
,envs up
,envs down
) to interop with workflows.
- Added
ingress
as an option for category when generating a new module.
- Added support for AWS Batch jobs; including pushing images, deploy, and logs.
- Fixed issue where
push
anddeploy
did not find existing docker image tag due to ECR paging the image tags.
- Fixed link to run activity when running
envs up
,plan
,apply
,up
. - Added
nullstone wait
command to enable waiting for a workspace to reachlaunched
.
- Provided a better mechanism for default deploy versions. This allows multiple deploys to be run from the same git commit sha.
- Always record the git commit sha on the deploy.
- Sanitizing environment name before creating in
envs new
command.
- Restoring
NULLSTONE_API_KEY
usage when running CLI commands.
- Fixed panic when user has not configured an API key.
- Fixed an issue where a Beanstalk app would sporadically use the EC2 providers for commands. (e.g.
ssh
)
- Fixed
error starting ssm session
bug when usingnullstone ssh
against AWS. (Upgraded aws sdk packages)
- Fixed bug in registration of beanstalk provider.
- Added support for
nullstone ssh
andnullstone exec
to Elastic Beanstalk apps.
- Added log streaming support for multiple cloudwatch log groups. (Use
/*
suffix to look for multiple cloudwatch log groups) - Moved
LogStreamer
implementations to github.com/nullstone-io/deployment-sdk.
- Added log streaming support for AWS Elastic Beanstalk.
- Added support for running
nullstone exec
for Fargate and ECS Tasks
- Fixed nil panic when specifying
--stack
that does not exist.
- Added support for
nullstone ssh
for GKE apps. - Added support for
nullstone logs
for GKE apps. - Fixed colorization of logs output on Windows.
- Fixed
nullstone --version
reporting the correct version instead ofdev
. - Added support for
--container
when usingnullstone ssh|exec
commands for an ECS/Fargate app.
- Added
domain_fqdn
local when generating a domain module. - Renamed
domain_name
local todomain_dns_name
when generating a domain module.
- Added support for
cluster-namespace
on container apps. - Dropped
service_
prefix from variables generated fromnullstone modules generate
.
- Upgraded
deployment-sdk
library to fix GCP GKE deployment support.
- Added support for
cluster-namespace
modules to module generation/creation.
- Changed
nullstone status
display format for times to emit local times using "Mon Jan _2 15:04:05 MST". - Changed
nullstone logs
display format for times to emit local times using "Mon Jan _2 15:04:05 MST".
- Added
Variable.HasValue
helper function when running capability generation (nullstone workspaces select
).
- Provide better error messages when a user is not authorized to perform an action.
- Updated the
nullstone modules generate
command to produce an updated module template. - Support for environment variables has been updated and includes interpolation by adding the
ns_env_variables
data source.
- Nullstone modules are packaged with
.terraform.lock.hcl
andCHANGELOG.md
.
- Nullstone now supports the ability to queue up changes and review them before applying.
- Updated the
apply
,plan
, andup
commands to support pending changes.
- Added support for unversioned assets in static sites. If unversioned, assets are uploaded to the root directory.
- Improved
nullstone ssh
to forward OS signals (e.g.Ctrl+C
) so it does not terminate SSH tunnel.
- Fixed retrieval of module versions if none exist for a module.
- Fixed retrieval of the latest version of a module. This affected:
modules publish --version=next-patch|next-build
blocks new
- Fixed nil panic when
modules publish --version=next-patch|next-build
happens on a module with no published versions.
- Added a new
profile
command to output the current profile configuration for the CLI. Use this to help debug any unexpected results from CLI commands. - Updated the
envs new
command to accept a new--preview
parameter. If--preview
is passed, the default provider and region configured for the stack will be used to configure the new preview environment. - Added a new command
envs up
that is used to launch and deploy an entire environment. - Added a new command
envs down
that is used to destroy an entire environment. - Added a new command
envs delete
that is used to delete an environment once the infrastructure has been destroyed.
- Updated to account for changes in environment ordering and preview environments.
- Improved logging for runs (
up
command) and deploys (launch
anddeploy
commands). - Increased retry delay to 2 seconds (from 1 second) if log streaming connection fails.
- Added tracing for log streaming (use
NULLSTONE_TRACE=1
). - Fixed nil panic when cancelling log stream that was never able to connect.
- Fixed
ssh
command for ec2 apps. - Added helpful error message when the CLI does not support SSH for an application.
- Fixed issue when
StackName
is blank when finding an application.
- Updated
go-api-client
to adjust for changes to the Nullstone APIs.- Deprecated
ParentBlocks
in favor ofConnections
on Blocks/Capabilities. - Removed
StackName
from Blocks.
- Deprecated
- CLI no longer prints
context canceled
when a user cancels a command. - Updated generation of
capabilities.tf.tmpl
in application modules to generatelocal.cap_modules
,local.cap_env_vars
, &local.cap_secrets
. - Updated go-api-client to utilize
Namespace
andEnvPrefix
in generation ofcapabilities.tf
.
- Updated
outputs
command and deployments to use a new endpoint that references outputs from the state backend.
- Fixed panic when running
nullstone status
on apps that do not have status support in the CLI. - Added
--include
flag to package additional files when runningnullstone modules publish
ornullstone modules package
.
- Fixed emitted browser URL when a plan needs approval.
- Changed
nullstone modules publish
to includeREADME.md
in the package. - Changed
nullstone workspaces select
to print specific error message if unable to initialize Terraform.
- Changed deployments to run on the Nullstone servers and stream the logs through the CLI.
- Changed
nullstone outputs
to emit liketerraform output
. - Added
--plain
tonullstone outputs
to emit a map of output name and output value.
- Fixed nil panic when a
plan
/apply
received an HTTP 404 when retrieving a run configuration.
- Fixed
plan
from exiting with non-zero exit code since the plan is always "disapproved".
- Fixed lack of error handling during
plan
/apply
/up
when retrieving a promotion plan. - Switched to
gopkg.in/nullstone/go-api-client.v0
when resolving module versions by version constraint.
- When running a
plan
/apply
with--wait
:- A failed plan causes the CLI to exit with non-zero code.
- A failed plan causes the CLI to print the error message.
- Fixed comparison of module versions when using
next-build
andnext-patch
.
modules publish --version=next-build|next-patch
does not consider existing versions that have build components in the version.
- Fixed
nullstone Apply
=>nullstone apply
. - Printed Run URLs to stdout for
plan
,apply
, andup
. - When running
apply
, printed message when run needs approval to proceed.
- Added
plan
command to run plans using the Nullstone engine. - Added
apply
command to run applies (with optional--auto-approve
) using the Nullstone engine. modules publish
now emits info to stderr and emits only the new module version to stdout (if publish succeeds).- Replaced
--version=auto
with--version=next-patch
. - Added
--version=next-build
that will bump the patch and append the short git commit sha as+build
.
- Added
--wait
flag todeploy
command that waits for the app to become healthy. launch
command now performspush
+deploy
+wait-healthy
instead ofpush
+deploy
+logs
.- Added support for elastic beanstalk apps.
- Rebuilt app providers using nullstone-io/deployment-sdk.
- Fixed sorting of module versions.
- Added application support for
app:container/aws/ecs:ec2
. - Fixed
blocks new
when the selected module is an application module. - Added
--version=auto
tomodules publish
that uses latest version and bumps the patch component.
- Fixed selection of category when running
modules generate
.
- Added support for
app:serverless/aws/lambda:container
apps.
- Updated module generation and registration to use contract-based module taxonomy.
- Renamed
modules new
tomodules register
. - Marked
modules new
for deprecation.
- Changed
aws/lambda
provider to upload artifacts withContent-MD5
header to work for S3 Artifacts bucket that has object lock enabled.
- Changed
aws/s3
provider to invalidate all content when deploying new version.
- Fixed CLI panic when
--source
directory does not exist.
- Updated terraform generation of
random_string.resource_suffix
to usenumeric
instead of deprecatednumber
attribute.
- Added generation for
domain
modules when runningmodules generate
.
- Added
ssh
command- Supports ssh for
aws-fargate
andaws-ec2
providers. - Support port forwarding
--forward/-L
foraws-ec2
provider.
- Supports ssh for
- Fixed issue with
nullstone publish
includingv
prefix in version number.
- Improved
nullstone up
to set variableValue
toDefault
ifnil
. - Added
--var
tonullstone up
to specify Terraform variables upon launch.
- Fixed usage of
StackId
in Deploys endpoint.
- Migrated "Update AppEnvs" endpoint to new "Create Deploy" endpoint.
- Removed use of deprecated public module endpoints.
- Fixed
up
command:- If an error occurs when creating the run, do not attempt to stream the logs.
- If we are unable to stream the logs and the user cancels (Ctrl+C/Cmd+C), then kill the process.
- Added
up
command for provisioning workspaces.- This command will only launch workspaces that have not provisioned yet.
- This command comes with a
--wait
flag that will stream Terraform logs from the server.
- Enhanced
modules generate
layer
is inferred fromcategory
unlesscategory=block
.- Added
appCategories
when generating a capability module. - Generating
variables.tf
for capability modules. - Generating
capabilities.tf
,capabilities.tf.tmpl
,outputs.tf
for app modules.
- Fixed
--connection
flags inblocks new
command. - Updated
workspaces select
command:- Generating
capabilities.tf
fromcapabilities.tf.tmpl
. - If new
ns_connection
exist locally, will prompt user to select a target for the connection.
- Generating
- Updated CLI to utilize new stack-based API endpoints in Nullstone API.
- Added
connections
to.nullstone/active-workspace.yml
.
- Fixed loading of profile so that address is set to
""
if there is no profile found.
- Added
aws-ec2
provider forapp/server
category with support for onlyexec
command to SSH into a box. - Added
stacks new
command. - Added
envs new
command. - Added
blocks list
command. - Added
blocks new
command. - Added
modules generate
command. - Added
modules new
command. - Added
modules publish
command. - Added
workspaces select
command.
- Changed all commands to use flags (e.g.
nullstone [command] --app=<app> --env=<env>
) instead of positional args (e.g.nullstone [command] <app> <env>
).
- Fixed accessing public modules from a different organization.
- Added
exec
command allowing user to ssh/exec command against a container foraws-fargate
provider.
- Updated
aws-fargate
provider to usedeployer
user from fargate service instead of the cluster.
- Updated
launch
to tail logs from deploy time. - Updated
logs
to default-s
to "now".
- Temporary updates and fixes to allow Nullstone to deploy sensitive outputs update.
- Updated API client from Nullstone changes to handle sensitive module outputs.
- Upgrade to go 1.17.
- Fixed resolution of app module for
status
command.
- Added
site/aws-s3
provider forapp/static-site
category.
- Fix panic when detecting git commit sha if there is no commit sha.
- Fix panic when detecting git commit sha if there is no current git repo.
- Changed
--version
(push
,deploy
,launch
commands) to detect git commit sha if no version is specified.
- Updated API client to handle error responses consistently.
- Added
status
command for app. - Added
status
command for app+environment.
- Emitting app, stack, and environment for context when running commands.
- Fixed
push
/deploy
when no stack is specified.
- Added
stacks list
command. - Added
envs list
command.
- Added
logs
command to stream logs. - Added
cloudwatch
log provider.
- Added
aws-ecr
provider forapp/container
category that allowspush
command.
- Fixed retrieval of environment by name.
- Updated retrieval of module outputs to pull the last finished run instead of the last successful run.
- Updated API client to use ID-based endpoints.
- Added support for
main_container_name
inaws-fargate
outputs as a way of selecting the primary container.
- Fixed interpretation of docker image url when there is an implicit domain.
- Added
aws-lambda
provider forapp/serverless
category.
- Fixed exit code for commands.
- Use tag from source image if no image tag is specified.
- Fix image tag when pushing ECR image.
- Updated app version when deploying app.
- Initial beta release.
- Added
aws-fargate
provider forapp/container
category. - Added profile configuration with API key support.