plugin-twilio-infra

Develop and deploy your Twilio infrastructure using code


Keywords
oclif-plugin, twilio-cli-plugin, twilio-ci, twilio
License
MIT
Install
npm install plugin-twilio-infra@0.2.0

Documentation

plugin-twilio-infra

Plugin for the Twilio CLI to integrate Pulumi and Twilio in order to create, deploy, and manage Twilio infrastructure using code.

PRs Welcome


This plugin adds the infra command to the Twilio CLI. It integrates Pulumi with Twilio and consists of subcommands that let you create, deploy, and manage Twilio infrastructure via code.

Requirements

Install the Pulumi CLI

To get started with the Pulumi CLI, check out the Download and Install page.

Also, you need a backend storage system to keep your infrastructure state. The options are:

  • The Pulumi Service backend
  • A self-managed backend, either stored locally on your filesystem or remotely using a cloud storage service

See State and Backends for more details.

For quick testing, you can easily create a free Pulumi account and run pulumi login to your storage backend.

Install the Twilio CLI

Via npm or yarn:

$ npm install -g twilio-cli
$ yarn global add twilio-cli

Via homebrew:

$ brew tap twilio/brew && brew install twilio

Link the Twilio CLI Infra Plugin

To get started, run npm install to install the plugin package dependencies. Afterwards, run the following command:

$ twilio plugins:install plugin-twilio-infra

You can now start using the twilio infra commands on your machine.

Usage

$ twilio infra --help
USAGE
  $ twilio infra
...

Commands

  • twilio infra:new: Creates a new project using Pulumi provider
  • twilio infra:deploy: Deploys and updates resources described in this directory to a Twilio project. Additional environment variables can be defined using .env files
  • twilio infra:preview: Previews changes without deploying them to your Twilio project
  • twilio infra:destroy: Destroy deployed resources associated to a specific environment
  • twilio infra:environment:new: Create a new environment for the current Twilio project
  • twilio infra:environment:set: Get the deployment environment set for the current project
  • twilio infra:environment:get: Set the deployment environment for the current project

To see the usage details and options for each subcommand, run twilio infra:<subcommand> --help.

Environment variables

Environment variables used by the infra commands can be store in a .env file. Each deployment environment can have his own file. The env file needs to be placed in the directory where the infra command is executed and it needs to respect the following naming convention:

.env.<environment name>

For example, if your environment is called dev the file needs to be called:

.env.dev

.env file without suffix will not be loaded automatically by the CLI plugin.

Contributing

This project welcomes contributions from the community. Please see the CONTRIBUTING.md file for more details.

Code of Conduct

Please be aware that this project has a Code of Conduct. The tldr; is to just be excellent to each other ❤️

Acknowledgment and thanks

This plugin is based on the Twilio CLI Serverless Plugin repository. A big thank you to everyone involved in that project! #WeBuild

License

MIT