- Added
modules listcommand to list modules in a Nullstone organization. - Fixed
nullstone runusage text to properly show command args syntax ([-- command [args...]]). - Added
apps capabilities listcommand to list capabilities in the app's template or app workspace. - Added
apps capabilities createcommand to create capability in the app's template or app workspace. - Added
apps capabilities removecommand to remove capability in the app's template or app workspace. - Fixed parsing of remote URLs when using host aliases (e.g.
github-username->github.com).
- Fixed
modules generatefrom failing during prompt.
- Added
secretscommand group to manage secrets in a Nullstone environment. - Added
secrets listcommand to list secrets in the cloud platform connected to that environment. - Added
secrets createcommand to create a secret in the cloud platform connected to that environment. - Added
secrets updatecommand to update a secret in the cloud platform connected to that environment. - Fixed
nullstone pushfor GCP GCS Static Site when pushing an assets directory.
- Fixed missing connections when running app workspace commands.
- Fixed panic if application is not found by name.
- Added support for EKS services and jobs.
- Changed
nullstone pushto emit the artifact version to stdout. - Added
nullstone pullcommand to download an artifact by--versionfor an application workspace. - Added
ToolName(e.g.terraform,opentofu) tonullstone modules generate. - Added support for
includes: []in.nullstone/module.ymlto specify additional files to include when packaging a module. - Added
SourceUrlto module to allow users to link to the source code of the module. - Updated
nullstone workspaces selectto detect tool name from module manifest when initializing (e.g.terraform init,tofu init). - Fixed packaging of nullstone modules with
--includeon Windows. - Fixed
nullstone modules generateto pre-fill answers based on existing module manifest. - Added
--manifest-onlyflag tonullstone modules generateto only generate the module manifest file. - Fixed
nullstone runwhen running Cloud Run jobs.
- Fixed nil panic when performing
nullstone runwith--env-var.
- Fixed
--env-varflag not overriding--env.
- Added support for adding environment variables to a job/task when using
nullstone run.
- Fixed registration of
cloudrunfornullstone run.
- Added an error message when
nullstone runis not supported by workspace. - Fixed registration of
cloudrunwith CLI when performingnullstone run.
- Fixed an issue where
nullstone applyfailed if--module-versionwas specified.
- Fixed initial deployments of Cloud Run apps.
- Added app support (
push,deploy,launch,logs) for GCP Cloud Functions.
- Improved
nullstone logsfor kubernetes apps/jobs to handle pods starting/stopping during log streaming. - Improved logs when performing
nullstone runon k8s jobs so logs are flushed before showing exit code.
- Fixed issue generating capabilities template in
workspaces select; missing env/secrets from capabilities.
- Added app support (
push,deploy,launch,run,logs) for Cloud Run jobs.
- Enable support for GCP service account impersonation when pushing GCP artifacts.
- Updated
workspaces selectcommand to generatecapabilitieswithmetathat contains additional information about the capability. - Updated generated terraform for
modules generateto optimize capability outputs. - Added
capability_outputs.tfthat is generated bynullstone modules generateto indicate supported outputs for an app module.
- Fixed bug in
nullstone deploywhen a user doesn't specify--versionflag.
- Changed
nullstone pushto skip pushing an artifact if the desired version already exists in the app's registry. - Added
--uniqueflag tonullstone pushthat will always push an image to the app's registry.
- Updated
nullstone modules generateto identify capabilities byNameinstead of byId.
- Added
TfIdfor Terraform generation of capabilities. - Updated Terraform templates to use
TfIdwhen runningnullstone modules generate.
- Added support for subdomain configuration for
nullstone iaccommands. - Improved output format for
nullstone iac test.
- Added support for OpenTofu for managing modules.
- Record code artifact in Nullstone when performing
nullstone push|launch.
- Added support for environment event actions (
env-launched,env-destroyed) toiaccommands.
- Fixed resolution errors on new blocks when performing
nullstone iac test. - Updated API client.
- Internal update to add effective and desired values to workspace config.
- Internal update to add
nameto capabilities.
- Added support for port forwarding when using
nullstone sshcommand. (--forward <local-port>:<remote-port>)
- Added
nullstone runcommand that allows you to a start a new job/task. - Added support for
nullstone runto ECS/Fargate tasks and GKE jobs.
- Improve reliability of streaming deploy logs when performing a deployment.
- Added ability for users with
software_engineerto 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 generatecommand to export workspace config to an IaC file.
- Fixed nil panic when performing
nullstone iac testwithout any IaC files.
- Fixed nil panic when performing
nullstone iac testin a directory without a git repo.
nullstone iac testwill find IaC files with.ymlor.yamlfile extension.- Added support for
eventsin IaC files.
nullstone iac testnow emits previous and updated values formodule_version,env_variable,variable, andconnectionchanges.- Eliminated diffs in
nullstone iac testfor similar values.- Variable values set to the same as the default
- Connections having a missing environment id
- Fixed generation of capabilities using
workspaces selectCLI command.
- Added
nullstone iac testcommand to validate Nullstone IaC files.
- Added
commitShawhen 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
ingressas an option for category when generating a new module.
- Added support for AWS Batch jobs; including pushing images, deploy, and logs.
- Fixed issue where
pushanddeploydid 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 waitcommand 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 newcommand.
- Restoring
NULLSTONE_API_KEYusage 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 sessionbug when usingnullstone sshagainst AWS. (Upgraded aws sdk packages)
- Fixed bug in registration of beanstalk provider.
- Added support for
nullstone sshandnullstone execto Elastic Beanstalk apps.
- Added log streaming support for multiple cloudwatch log groups. (Use
/*suffix to look for multiple cloudwatch log groups) - Moved
LogStreamerimplementations to github.com/nullstone-io/deployment-sdk.
- Added log streaming support for AWS Elastic Beanstalk.
- Added support for running
nullstone execfor Fargate and ECS Tasks
- Fixed nil panic when specifying
--stackthat does not exist.
- Added support for
nullstone sshfor GKE apps. - Added support for
nullstone logsfor GKE apps. - Fixed colorization of logs output on Windows.
- Fixed
nullstone --versionreporting the correct version instead ofdev. - Added support for
--containerwhen usingnullstone ssh|execcommands for an ECS/Fargate app.
- Added
domain_fqdnlocal when generating a domain module. - Renamed
domain_namelocal todomain_dns_namewhen generating a domain module.
- Added support for
cluster-namespaceon container apps. - Dropped
service_prefix from variables generated fromnullstone modules generate.
- Upgraded
deployment-sdklibrary to fix GCP GKE deployment support.
- Added support for
cluster-namespacemodules to module generation/creation.
- Changed
nullstone statusdisplay format for times to emit local times using "Mon Jan _2 15:04:05 MST". - Changed
nullstone logsdisplay format for times to emit local times using "Mon Jan _2 15:04:05 MST".
- Added
Variable.HasValuehelper 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 generatecommand to produce an updated module template. - Support for environment variables has been updated and includes interpolation by adding the
ns_env_variablesdata source.
- Nullstone modules are packaged with
.terraform.lock.hclandCHANGELOG.md.
- Nullstone now supports the ability to queue up changes and review them before applying.
- Updated the
apply,plan, andupcommands to support pending changes.
- Added support for unversioned assets in static sites. If unversioned, assets are uploaded to the root directory.
- Improved
nullstone sshto 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-buildblocks new
- Fixed nil panic when
modules publish --version=next-patch|next-buildhappens on a module with no published versions.
- Added a new
profilecommand to output the current profile configuration for the CLI. Use this to help debug any unexpected results from CLI commands. - Updated the
envs newcommand to accept a new--previewparameter. If--previewis passed, the default provider and region configured for the stack will be used to configure the new preview environment. - Added a new command
envs upthat is used to launch and deploy an entire environment. - Added a new command
envs downthat is used to destroy an entire environment. - Added a new command
envs deletethat 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 (
upcommand) and deploys (launchanddeploycommands). - 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
sshcommand for ec2 apps. - Added helpful error message when the CLI does not support SSH for an application.
- Fixed issue when
StackNameis blank when finding an application.
- Updated
go-api-clientto adjust for changes to the Nullstone APIs.- Deprecated
ParentBlocksin favor ofConnectionson Blocks/Capabilities. - Removed
StackNamefrom Blocks.
- Deprecated
- CLI no longer prints
context canceledwhen a user cancels a command. - Updated generation of
capabilities.tf.tmplin application modules to generatelocal.cap_modules,local.cap_env_vars, &local.cap_secrets. - Updated go-api-client to utilize
NamespaceandEnvPrefixin generation ofcapabilities.tf.
- Updated
outputscommand and deployments to use a new endpoint that references outputs from the state backend.
- Fixed panic when running
nullstone statuson apps that do not have status support in the CLI. - Added
--includeflag to package additional files when runningnullstone modules publishornullstone modules package.
- Fixed emitted browser URL when a plan needs approval.
- Changed
nullstone modules publishto includeREADME.mdin the package. - Changed
nullstone workspaces selectto 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 outputsto emit liketerraform output. - Added
--plaintonullstone outputsto emit a map of output name and output value.
- Fixed nil panic when a
plan/applyreceived an HTTP 404 when retrieving a run configuration.
- Fixed
planfrom exiting with non-zero exit code since the plan is always "disapproved".
- Fixed lack of error handling during
plan/apply/upwhen retrieving a promotion plan. - Switched to
gopkg.in/nullstone/go-api-client.v0when resolving module versions by version constraint.
- When running a
plan/applywith--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-buildandnext-patch.
modules publish --version=next-build|next-patchdoes 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
plancommand to run plans using the Nullstone engine. - Added
applycommand to run applies (with optional--auto-approve) using the Nullstone engine. modules publishnow emits info to stderr and emits only the new module version to stdout (if publish succeeds).- Replaced
--version=autowith--version=next-patch. - Added
--version=next-buildthat will bump the patch and append the short git commit sha as+build.
- Added
--waitflag todeploycommand that waits for the app to become healthy. launchcommand now performspush+deploy+wait-healthyinstead 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 newwhen the selected module is an application module. - Added
--version=autotomodules publishthat uses latest version and bumps the patch component.
- Fixed selection of category when running
modules generate.
- Added support for
app:serverless/aws/lambda:containerapps.
- Updated module generation and registration to use contract-based module taxonomy.
- Renamed
modules newtomodules register. - Marked
modules newfor deprecation.
- Changed
aws/lambdaprovider to upload artifacts withContent-MD5header to work for S3 Artifacts bucket that has object lock enabled.
- Changed
aws/s3provider to invalidate all content when deploying new version.
- Fixed CLI panic when
--sourcedirectory does not exist.
- Updated terraform generation of
random_string.resource_suffixto usenumericinstead of deprecatednumberattribute.
- Added generation for
domainmodules when runningmodules generate.
- Added
sshcommand- Supports ssh for
aws-fargateandaws-ec2providers. - Support port forwarding
--forward/-Lforaws-ec2provider.
- Supports ssh for
- Fixed issue with
nullstone publishincludingvprefix in version number.
- Improved
nullstone upto set variableValuetoDefaultifnil. - Added
--vartonullstone upto specify Terraform variables upon launch.
- Fixed usage of
StackIdin Deploys endpoint.
- Migrated "Update AppEnvs" endpoint to new "Create Deploy" endpoint.
- Removed use of deprecated public module endpoints.
- Fixed
upcommand:- 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
upcommand for provisioning workspaces.- This command will only launch workspaces that have not provisioned yet.
- This command comes with a
--waitflag that will stream Terraform logs from the server.
- Enhanced
modules generatelayeris inferred fromcategoryunlesscategory=block.- Added
appCategorieswhen generating a capability module. - Generating
variables.tffor capability modules. - Generating
capabilities.tf,capabilities.tf.tmpl,outputs.tffor app modules.
- Fixed
--connectionflags inblocks newcommand. - Updated
workspaces selectcommand:- Generating
capabilities.tffromcapabilities.tf.tmpl. - If new
ns_connectionexist 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
connectionsto.nullstone/active-workspace.yml.
- Fixed loading of profile so that address is set to
""if there is no profile found.
- Added
aws-ec2provider forapp/servercategory with support for onlyexeccommand to SSH into a box. - Added
stacks newcommand. - Added
envs newcommand. - Added
blocks listcommand. - Added
blocks newcommand. - Added
modules generatecommand. - Added
modules newcommand. - Added
modules publishcommand. - Added
workspaces selectcommand.
- 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
execcommand allowing user to ssh/exec command against a container foraws-fargateprovider.
- Updated
aws-fargateprovider to usedeployeruser from fargate service instead of the cluster.
- Updated
launchto tail logs from deploy time. - Updated
logsto default-sto "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
statuscommand.
- Added
site/aws-s3provider forapp/static-sitecategory.
- 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,launchcommands) to detect git commit sha if no version is specified.
- Updated API client to handle error responses consistently.
- Added
statuscommand for app. - Added
statuscommand for app+environment.
- Emitting app, stack, and environment for context when running commands.
- Fixed
push/deploywhen no stack is specified.
- Added
stacks listcommand. - Added
envs listcommand.
- Added
logscommand to stream logs. - Added
cloudwatchlog provider.
- Added
aws-ecrprovider forapp/containercategory that allowspushcommand.
- 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_nameinaws-fargateoutputs as a way of selecting the primary container.
- Fixed interpretation of docker image url when there is an implicit domain.
- Added
aws-lambdaprovider forapp/serverlesscategory.
- 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-fargateprovider forapp/containercategory. - Added profile configuration with API key support.