gomplate

Render templates by aggregating data from JSON, YAML, Vault, Consul, and HTTP sources.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/rigerc/ha-apps --skill gomplate
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gomplate
Source: https://github.com/rigerc/ha-apps/tree/main/.claude/skills/gomplate
Command: npx skills add https://github.com/rigerc/ha-apps --skill gomplate

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires gomplate, and includes scripts (resource) components.

What problem does it solve?

gomplate enables automated, data-driven rendering of templates by aggregating data from multiple sources (JSON, YAML, Vault, Consul, HTTP, environment variables) without requiring bespoke parsers or glue code.

Core Features & Use Cases

  • Data-driven templating: Combine multiple datasources and templates to generate configuration files, deployment manifests, and scripts.
  • Context and lazy loading: Use -c for immediate context or -d for lazy-loaded datasources, enabling efficient data access and conditional rendering.
  • Templates and plugins: Reuse templates with nested templates and extend functionality via external plugins and custom functions.
  • Use Case: Generate a single application config by merging local JSON/YAML data with Vault credentials and environment variables.

Quick Start

Create a simple template and render it with a local data file, for example: gomplate -d cfg=./config.json -f template.tmpl -o output.txt Then render a second template referencing data from a Vault secret and environment variable to demonstrate dynamic data integration.

Frequently Asked Questions about gomplate

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I render configuration files by merging data from multiple sources?

Template rendering merges data from JSON, YAML, Vault, Consul, HTTP, and environment variables to generate configuration files. It aggregates datasources without requiring bespoke parsers or glue code, applying lazy or context-based loading.

How do I generate deployment manifests using data-driven templates?

Data-driven templating generates deployment manifests by combining multiple datasources and templates. You apply context and lazy loading to conditionally render data, extending functionality via external plugins and custom functions.

Can I use environment variables and Vault secrets together when generating application configs?

Yes, you can generate a single application config by merging local JSON or YAML data with Vault credentials and environment variables. This dynamic data integration uses immediate context or lazy-loaded datasources for efficient access.

Do I need to write custom parsers to merge local JSON files with HTTP datasources?

No, you do not need to write custom parsers or glue code to merge local JSON files with HTTP datasources. The process handles data aggregation natively across supported formats and HTTP endpoints.

What is the best way to manage complex nested templates and custom functions?

Managing complex nested templates and custom functions uses a .gomplate.yaml configuration file. You reuse templates with nested structures and extend functionality by enabling external plugins for advanced rendering.

When should I use lazy loading instead of immediate context for template rendering?

Use lazy loading via the -d flag for efficient data access and conditional rendering, avoiding unnecessary data fetching. Use the -c flag for immediate context when all datasource data is required upfront during template rendering.