Warning
This package is deprecated as of 2024-02-21. The Fastly monorepo is currently hosting the config for each service. The FT.com CDN config has been migrated to Terraform and it's managed by their own separate repo. Consumers of this package should migrate their config to the monorepo.
This library is a command line tool for interacting with the FT.com CDN, Fastly.
- Node version defined by
engines.node
inpackage.json
. Run commandnvm use
to switch your local Node version to the one specified in.nvmrc
.
git clone git@github.com:Financial-Times/fastly-tools.git
cd fastly-tools
make install
In order to run the tests locally you'll need to run:
make test
npm install --save-dev @financial-times/fastly-tools
Usage: fastly [options] [command]
Options:
-h, --help output usage information
Commands:
deploy [options] [folder] Deploys VCL in [folder] to the specified fastly service. Requires FASTLY_APIKEY env var which can be found in the repo's corresponding Vault directory.
Usage: deploy [options] [folder]
Deploys VCL in [folder] to the specified fastly service. Requires FASTLY_APIKEY env var which can be found in the repo\'s corresponding Vault directory.
Options:
-m, --main <main> Set the name of the main vcl file (the entry point). Defaults to "main.vcl"
-v, --vars <vars> A way of injecting environment vars into the VCL. So if you pass --vars AUTH_KEY,FOO the values {$AUTH_KEY} and ${FOO} in the vcl will be replaced with the values of the environment variable. If you include SERVICEID it will be populated with the current --service option
-e, --env Load environment variables from local .env file (use when deploying from a local machine
-s, --service <service> REQUIRED. The ID of the fastly service to deploy to.
-V --verbose Verbose log output
-b --backends <backends> Upload the backends specified in <backends> via the api
-k --api-keys <keys> list of alternate api keys to try should the key stored in process.env.FASTLY_API_KEY hit its rate limit
--skip-conditions <conditions> list of conditions to skip deleting
-h, --help output usage information
For example to deploy to a given environment, you would use the following command:
fastly-tools deploy -V --vars SERVICEID --main main.vcl --service ${FASTLY_STAGING_SERVICE_ID} --api-keys ${FASTLY_STAGING_APIKEY} --backends backends.js ./vcl/