Status of "simpler" templating solution


hi Rob, you added this comment do the dcd spec readme: What’s the status of that work, and can we see it being developed anywhere on github?


@mdirkse If I had to guess (not being on the spinnaker team itself), the pipeline templating solution - previously provided by roer - will be a combination of their new spin cli and their sponnet (jsonnet library). No status on when all the documentation will be created around it, but it does seem like the demo provides enough of an example to get off the ground


@briananderson1222’s guess and links are correct. There’s no explicit timeline in place, but if you’re in need of a templating solution immediately, the current MPT solution will work for you.


@lwander @robzienert So it seems like sponnet is an offline templating engine, and the spin CLI just saves the pipleline JSON it generates into spinnaker. So the managed part of managed pipeline templates is not available (at least in the current state). Is the plan to extend upon this, and allow sponnet templates to be managed as well?


Is the plan to extend upon this, and allow sponnet templates to be managed as well?

Almost, we’re expanding on the pipeline template support in Spinnaker and spin, but won’t be requiring sponnet templates – you can write sponnet if you like, but the actual API will only accept something much simpler (pure JSON).


So will the management capability still be there? e.g. the template is rendered at pipeline execution time.

If there is a design document somewhere, I’d be interested in reading it!


I think @jtk54 has some docs & milestone he can share shortly


I think docs and milestones were not shared yet. If it is so, will be really glad if you can share anything sharable at this moment. Our company is step behind templating and we thought to use spin + jsonnet for that. Would be interesting to see how you are planning to tackle this so we can be prepared for recalibration.


We’re using jsonnet library sponnet plu spin cli now.
Have cut over from YAML MPT and roer.

We weren’t using Deck’s ‘create pipeline from template’ anyway so our use case is simpler than others.

  1. Create project/environment/main_config jsonnet.
  2. Create Spinnaker pipeline template(s) in jsonnet.
  3. Create application jsonnet.
  4. Generate json pipeline ‘manifests’ from all above - jsonnet -m .... ; for f in pipeline*; do spin pipeline save --file $f; sleep 10s; done

We define pipeline id’s and things in the jsonnet.
We’re keeping an eye out for the MPTv2 and how it might improve this workflow.