# Airnode Deployer Image
Use the deployer image to deploy or remove an Airnode with a cloud provider such as AWS. The simplest way is to use the pre-built packages. If you would rather build the images yourself see the README (opens new window) in the deployer package.
The deployer image has two commands.
deploy
: Deploys or updates an Airnode using configuration files.remove
: Removes an Airnode using itsreceipt.json
file.
Quick Deploy Demos
See the Quick Deploy Demos to quickly deploy
and remove
a
preconfigured Airnode using the deployer image.
# Configuration Files
The files config.json
and secrets.env
are used to configure the Airnode. The
aws.env
and gcp.json
files are used to define environment information the
deployer uses to connect to these cloud providers.
my-airnode
├── aws.env <- Used for AWS deployment
├── gcp.json <- Used for GCP deployment
├── config
│ ├── config.json
│ └── secrets.env
└── output
2
3
4
5
6
7
# Cloud Provider Credentials
In order to deploy Airnode to a serverless cloud provider, you need to provide could provider credentials to the Airnode deployer image. The deployer image currently supports deploying to AWS and GCP.
# AWS
If you are new to AWS watch this video (opens new window) to set up an AWS account and create cloud provider credentials.
# GCP
- Create a Google Cloud project (opens new window)
- Enable App Engine Admin API (opens new window) for your project
- Create a new
service account (opens new window)
with the
Owner
role - Add a new access key of type JSON for the service account and download it as
gcp.json
# deploy
The deploy
command will create the Airnode with a cloud provider or update it
if it already exists. Three files are needed to run the deploy command.
- config.json
- secrets.env
- aws.env (AWS only)
- gcp.json (GCP only)
A receipt.json
file will be created upon completion. It contains some
deployment information and is used to remove the Airnode.
Warning about simultaneous deployments
Avoid running multiple deployments simultaneously as doing so might result in a broken deployment. If this occurs, the standard removal approach may not succeed and Manual Removal may be required.
Normally (for Linux/Mac/WSL2) the deployer image deploy
command
is run by the user root. This may cause permission issues when the
receipt.json
file is generated. Optionally you can specify the
UID (user identifier)
and
GID (group identifier)
that the deployer image should use. Do so by setting the environment
variables USER_ID and GROUP_ID, otherwise omit the line containing the
variables.
# AWS
# GCP
# remove
When an Airnode was deployed using the deploy
command a receipt.json
file
was created. Use this file to remove an Airnode.
# AWS
# GCP
# Manual Removal
Optionally you can remove an Airnode manually though it is highly recommended
that you do so using the deployer image's remove
command. Airnode has a
presence in several areas of both AWS and GCP. An Airnode has a
airnodeAddressShort
(e.g., 0ab830c
) that is included in the element name of
AWS and GCP deployed features.
Remember
Only delete elements of a feature with the airnodeAddressShort
address in the
name you are targeting. There can be more than one Airnode.
Learn more about AWS or GCP resources that Airnode uses in the Cloud Resources doc.