Nitric CLI
The Nitric CLI allows you to build, develop, and deploy your serverless application.
To verify your installation run nitric version
. If a version is printed, the CLI is installed correctly.
To get a list of the available commands, run the following command:
nitric help
Usage:
nitric [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
down Undeploy a previously deployed stack, deleting resources
feedback Provide feedback on your experience with nitric
help Help about any command
info Gather information about Nitric and the environment
list List all project stacks and their status
new Create a new project
run Run your project locally for development and testing
stack Manage stacks (the deployed app containing multiple resources e.g. services, buckets and topics)
up Create or update a deployed stack
version Print the version number of this CLI
Flags:
-h, --help help for nitric
-o, --output stringEnumVar output format (default table)
-v, --verbose int set the verbosity of output (larger is more verbose) (default 1)
Use "nitric [command] --help" for more information about a command.
Common Commands
There are a few common commands that you will use frequently:
nitric new
creates a new projectnitric stack new
creates a new stack within a projectnitric start
runs the Nitric server locallynitric up
deploys your stack to the cloudnitric down
destroys your stack from the cloud
Getting Started
Projects
To start a new project with nitric, run the nitric new
command.
nitric new
This will walk through creating the project, including the name and what template you want to start from.
The command will also create a nitric.yaml
file. This file contains the configuration for your project. The services key is list of globs for your services. The services should point to all services you want to run or deploy.
name: my-project
services:
- match: services/*.ts
start: ts-node $SERVICE_PATH
If you want to specify a specific type of service that matches your stack config, you can use this syntax instead:
name: my-project
services:
- match: services/*.ts
start: ts-node $SERVICE_PATH
type: default
- match: custom/*.ts
start: ts-node $SERVICE_PATH
type: memory-optimized
Stacks
Creating a new stack will create a configuration for a particular cloud. You can have multiple stacks for one project.
nitric stack new
This will create a nitric.stackName.yaml
file that contains the configuration for deploying to the cloud. Some providers will have different config, here's an example of an aws stack:
# nitric.my-aws-stack.yaml
provider: nitric/aws@1.0.0
region: us-east-1
You will still have to set your cloud credentials on your first deployment by following the guide in the cloud's section in the reference documentation.
If you want to specify different configuration for your services you can use the following syntax:
# nitric.my-aws-stack.yaml
provider: nitric/aws@1.0.0
region: us-east-1
telemetry: 10
config:
default:
lambda:
memory: 1024
memory-optimized:
lambda:
memory: 4096
Development
When you are done developing your application and you want to run and test it locally, you can use the nitric start
command.
nitric start
This will run the Nitric server for local testing. This will output a local endpoint so that you can test your apis.
Deployment
Deploying the Stack
Once you have tested your application locally and you're ready to deploy, you can do nitric up
. This command can be optionally supplied with the name of a stack with the -s
or --stack
argument. However, the stack will be auto-detected if there is only one or options will be presented if there are multiple. This will set the cloud configuration for that particular deployment.
If this is your first deployment, you will have to set up your cloud credentials before deploying to the cloud. You can find the guides for these in the cloud's section in the reference documentation. The AWS guide is here.
nitric up
Each of the cloud provider's deployments take different amounts of time.
Destroying the Deployment
If you make changes and want to redeploy, you don't have to take the application down, you can just redeploy and it will find the difference. However, if you do want to destroy the application completely, you can use the nitric down
command.
nitric down
Listing Stacks
To get information about your stacks, use the nitric list
command.
This will provide give information about its name, its deployment status, when it was last updated, the resource count, and a url to view the deployment on the pulumi console (will require a pulumi account).
Info
To get information about the CLI version you are using, you can use:
nitric version
To get more detailed information about the Nitric runtime, you can use:
nitric info
For information regarding individual commands, use the --help
argument on any of the CLI commands. Alternatively you can run:
nitric help
For more verbose input, specify a verbosity level with --verbose
. The larger the number, the more verbose.
Feedback
If you want to provide feedback on the CLI or the framework in general, you can use the nitric feedback
command. This will template a github issue for you to submit. Alternatively, you can open an issue manually here.
nitric feedback