Skip to content

Support Go template language for Capact manifests #551

@pkosiec

Description

@pkosiec

Description

  • Prepare a container, which works similarly to Jinja2.template, but it handles Go template
  • Prepare manifests for Go templating helper
  • Figure out how to support Go templating for runners
    • Avoid escaping - use different characters than {{ and }}
    • Or should we do some additional magic to avoid escaping and keeping the same templating patterns ({{, }})?
  • Make sure all current Jinja2 features are supported (take a look at all manifests and find more complex cases in templating)
  • Update manifest generators
    • Support Go templates for generated manifests as an additional flag for CLI (e.g. --templating=go/jinja; enable Go templates as default templating solution
  • Migrate the following manifests to Go Template usage:
    • Mattermost
    • RocketChat
    • Out of scope: dependencies of the apps, such as PostgreSQL or MongoDB
  • Make sure all docs are updated (e.g. content developer guide) - highlight that Content Dev can use Go templates as well, and maybe use Go templates are default (recommended) solution in guides

Reason

We should support Go templates as an additional templating language for manifests, especially if we support such for Terraform and Helm runners. In the same time, we should still keep Jinja2 templating for people preferring the current solution.

Use cases

  • As a Content Developer, I would like to use Go templates as an alternative templating solution for Capact manifests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions