Skip to content

Examples: jsonnet as a config language for Apache Aurora

Notifications You must be signed in to change notification settings

benley/aurora-jsonnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jsonnet as a config language for Apache Aurora

(better description forthcoming)

What's in here:

file description
example/example.jsonnet example of a single trivial Aurora job definition
aurproxy/ a much more complex example, involving multiple jobs in multiple clusters.
aurproxy/us-east-1.jsonnet Job definitions for the aurproxy example in a cluster called us-east-1.
aurproxy/devcluster.jsonnet Job defs for aurproxy in the "devcluster" cluster.
aurproxy/templates/demoproxy.jsonnet Service template that the above two files invoke. It imports the base aurproxy templates and configures a frontend service with various vhosts and backends, plus a second job keeping a loadbalancer in sync with the running backends.
aurproxy/templates/aurproxy_config.jsonnet structural templates for aurproxy's own configuration (it takes a giant json blob as a commandline argument, and we can generate it using jsonnet!)
aurproxy/templates/aurproxy_sources.jsonnet more aurproxy config templates, specifically for various types of backend sources.
aurproxy/templates/aurproxy_aurorajobs.jsonnet Unconfigured template of an aurproxy service.
aurproxy/templates/nginx.conf.template A config file used by aurproxy; it is delivered verbatim into the job sandbox.

Alongside each of the files that actually produces a job or jobs there should also be a generated.<name>.json file containing the result of jsonnet evaluating <name>.json. Normally you would not check these in, but they are here for the sake of demonstration.

This stuff is still evolving, and the aurproxy example currently needs a patched version of aurora.pex that understands json files with a { "jobs": [job1, job2, ...] } structure.

My patch to enable aurora.pex to directly handle jsonnet files and multi-job json ddocuments can be found here, if you really want to try it: https://github.com/apache/aurora/compare/master...benley:jsonnet-client

About

Examples: jsonnet as a config language for Apache Aurora

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published