Skip to content

Changelog

Release artefacts (Linux/macOS, amd64/arm64, plus checksums) are attached to each GitLab Release.

  • deckctl --version now reports a meaningful version for binaries installed with go install gitlab.com/oreo-hub/services/deckctl@vX.Y.Z. Those builds never run goreleaser’s ldflags, so the version is now taken from the module metadata Go embeds, falling back to dev for local go build and go run builds rather than printing a VCS pseudo-version.
  • The Go module path is now gitlab.com/oreo-hub/services/deckctl, matching the repository. go install gitlab.com/oreo-hub/services/deckctl@v0.1.4 works from this release onwards.
  • Release tags are v-prefixed, as Go modules require.
  • Release pipeline fixes so binaries, checksums and the GitLab Release are published correctly. No CLI behaviour changed between 0.1.0 and 0.1.3.

First tagged release. deckctl is the Go rewrite of copydeck.

  • Sourceslocal (filesystem) and gitlab (gitlab.com and self-hosted), managed with deckctl source list/get/add/remove. Tokens are referenced by environment-variable name and never stored in the config file.
  • Template listing and inspectiondeckctl template list and deckctl template variables, the latter showing each variable’s type, default and choices without applying anything.
  • Applydeckctl template apply <template> <output> renders through gonja (Jinja2): filters, conditionals, loops and template inheritance.
  • Suffix-based rendering.tpl, .tmpl, .jinja, .j2 are rendered and the suffix stripped; everything else is copied byte-for-byte, binaries included.
  • Configurable delimiters — override {{ }}, {% %} and {# #} per template so Helm charts and Go templates survive untouched.
  • Copier compatibility — apply existing copier.yml templates: ordered questions, _subdirectory, _templates_suffix, _envops, Jinja-computed defaults and when conditions.
  • Caching — GitLab templates are cached under ~/.cache/deckctl/ with ETag and TTL freshness checks; --no-cache forces a re-fetch, and deckctl cache list/clear manages it.
  • Tag-aware fetching — pin a version with --tag, or pick interactively from a project’s tags.
  • Interactive prompting via huh for any variable not supplied by --var or a default.
  • Dry-run mode--dry-run previews the full rendered output without writing anything.
  • Apply history — every apply recorded in a bbolt database and queryable with deckctl history list.
  • Themed output — lipgloss-styled tables with configurable palettes, managed by deckctl theme; -o json on every command for scripting.
  • Validationdeckctl validate checks config, themes and sidecars.
  • Concurrent scanning--concurrency N fans local source scans across a bounded worker pool.