Skip to content

Microservice for publishing Project Helix Fastly service configurations

License

Notifications You must be signed in to change notification settings

drwilco/helix-publish

 
 

Repository files navigation

Helix Publish Microservice

Known Vulnerabilities codecov CircleCI GitHub license GitHub issues Greenkeeper badge

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 conditions specified in helix-config.yaml
    • URL parameter whitelists based on params whitelists from helix-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

Usage

Send a POST request with following (Content-Type: application/json-encoded) body parameters to https://adobeioruntime.net/api/v1/web/helix/default/publish:

  • configuration: your helix-config.yaml, as a JSON document
  • service: the service ID of your Fastly service config
  • token: a Fastly authentication token that has global permission on the service config
  • version: the version number of a checked-out (editable) version of the above service config

Developing Helix Publish

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 Publish

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.

About

Microservice for publishing Project Helix Fastly service configurations

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 38.9%
  • VCL 31.4%
  • HTML 29.7%