Microservice for publishing Project Helix Fastly service configurations
This microservice sets up a Fastly service config so that it can be used for Project Helix-powered websites. This includes:
- creating VCL for
- basic Project Helix operations
- strain resolution based on
condition
s specified inhelix-config.yaml
- URL parameter whitelists based on
params
whitelists fromhelix-config.yaml
- updating edge dictionary values for
- content resolution
- static asset resolution
- setting correct backends for
- Adobe I/O Runtime
- GitHub
- all proxy strains from
helix-config.yaml
There are a number of important tasks involved in publishing that it does not do:
- it does not create or activate a version, so that you still have full control over what goes live
- it does not flush cache for you, so that you stay in control here, too
Send a POST request with following (Content-Type: application/json
-encoded) body parameters to https://adobeioruntime.net/api/v1/web/helix/default/publish
:
configuration
: yourhelix-config.yaml
, as a JSON documentservice
: the service ID of your Fastly service configtoken
: a Fastly authentication token that hasglobal
permission on the service configversion
: the version number of a checked-out (editable) version of the above service config
You need node>=8.0.0
and npm>=5.4.0
. Follow the typical npm install
, npm test
workflow.
Contributions are highly welcome.
Deploying Helix Logging requires the wsk
command line client, authenticated to a namespace of your choice. For Project Helix, we use the helix
namespace.
Run npm run deploy
to do a one-shot deploment of Helix Publish. All commits to master that pass the testing will be deployed automatically.