Skip to content

Releases: windsorcli/cli

v0.8.1

12 Dec 18:20
4469927

Choose a tag to compare

Changes

Bug Fixes

  • fix(blueprint): Default to setting secret name for dev @rmvangun (#1980)
  • fix(blueprint): Improve repository merge logic and defaults @rmvangun (#1976)
  • fix(blueprint): Set correct metadata on initialized blueprint @rmvangun (#1959)
  • fix(provisioner): Ensure windsor down destroys terraform @rmvangun (#1957)

Maintenance

Dependencies

21 changes

v0.8.0

02 Dec 03:09
0f402dc

Choose a tag to compare

Changes

Features

  • feat(config): Improved defaults @rmvangun (#1931)
  • feature(blueprint): Load blueprints from archives @rmvangun (#1928)
  • enhancement(blueprint): Hide templated content @rmvangun (#1912)
  • feature(blueprint): Introduce feature merge strategy setting @rmvangun (#1897)
  • feature(blueprint): Specify cli version compatibility in blueprint template metadata @rmvangun (#1881)
  • feature(blueprint): Introduce file loading to Features @rmvangun (#1763)
  • feature(blueprint): Set default repository URL @rmvangun (#1743)
  • feature(blueprint): Mixed Feature interpolation @rmvangun (#1742)
  • feature(blueprint): Implement terraform inputs in Features @rmvangun (#1741)
  • feature(blueprint): Add complete feature composition @rmvangun (#1739)
  • refactor: Leverage 'generic' provider @rmvangun (#1700)
  • feat(blueprint): Add feature evaluator @rmvangun (#1670)
  • feature(blueprint): Implement an input schema for defaults and validations @rmvangun (#1660)
  • feature(blueprint): Full contextual config in values.yaml @rmvangun (#1626)
  • feat(cmd): Add windsor build-id command @rmvangun (#1536)
  • feat(blueprint): Centralize post build variables to a single values.yaml file @rmvangun (#1535)
  • feat(blueprint): Add postBuild variable substitution @rmvangun (#1523)

Bug Fixes

  • fix(env): Use full path to PV mount @rmvangun (#1952)
  • fix(workstation): Generate docker-compose.yaml on init @rmvangun (#1954)
  • fix(config): Defaults to cluster.enabled=true @rmvangun (#1949)
  • fix(blueprint): Include Feature inputs when processing user blueprints @rmvangun (#1946)
  • fix(cmd): Silence trusted directory warning @rmvangun (#1921)
  • fix(blueprint): Fix input injection and cleanup @rmvangun (#1936)
  • fix(init): Make sure to switch contexts on init @rmvangun (#1934)
  • fix(cmd): Change context on init @rmvangun (#1930)
  • fix(kubernetes): Reintroduce max wait time for all kustomizations @rmvangun (#1919)
  • fix(stack): Repair terraform stack functionality @rmvangun (#1918)
  • fix(secrets): Re-implements secrets injection @rmvangun (#1917)
  • fix(virt): Repair colima virtualization mode @rmvangun (#1915)
  • fix(cmd): Correctly perform cleanup on windsor down @rmvangun (#1914)
  • fix(cmd): Set verbose correctly @rmvangun (#1913)
  • fix(blueprint): Re-implement patch generation @rmvangun (#1905)
  • fix(blueprint): Re-implement postBuild substitutions @rmvangun (#1896)
  • fix(tools): Remove kubectl and awscli requirements @rmvangun (#1895)
  • fix(workstation): Correctly generate service DNS entries @rmvangun (#1863)
  • fix(types): Use corrected method for converting to flux kustomizations @rmvangun (#1849)
  • fix(cmd): Add trusted dir when running init @rmvangun (#1848)
  • fix(cmd): Don't check trusted directory when injecting env on init @rmvangun (#1792)
  • fix(generator): Ensure proper generation of list of strings @rmvangun (#1764)
  • fix(blueprint): Fix terraform strategic merge @rmvangun (#1755)
  • fix(blueprint): Correctly set and normalize default repo url @rmvangun (#1752)
  • fix(config): Set initial values when --set is passed @rmvangun (#1744)
  • fix(artifact): Don't require a schema.yaml in the OCI artifact @rmvangun (#1665)
  • fix(blueprint): Enhance LoadConfig and LoadData methods to prevent redundant loading of configuration @rmvangun (#1648)
  • fix(terraform): Ensure sensitive outputs are retained @rmvangun (#1642)
  • fix(artifact): Correct order of template loading @rmvangun (#1636)
  • fix(blueprint): Correctly load provided substitutions @rmvangun (#1637)
  • fix(pipeline): Correctly shim command in pipeline @rmvangun (#1625)
  • fix(init): Ensure oci blueprints self-reference @rmvangun (#1624)
  • fix(install): Install now applies generated templates @rmvangun (#1589)
  • fix(install): Install now applies generated templates @rmvangun (#1579)
  • Fix/docker-hardening-exception @rmvangun (#1540)
  • fix(template): Remove empty keys from template outputs @rmvangun (#1538)
  • fix(config): improve default config selection and provider precedence @rmvangun (#1537)
  • fix(config): Ensure proper config loading order @rmvangun (#1530)

Maintenance

  • docs: Update to include v0.8.0 functionality @rmvangun (#1956)
  • chore(terraform): Put terraform scratch folder in .windsor @rmvangun (#1953)
  • chore(terraform): Place terraform module shims in context specific folder @rmvangun (#1950)
  • chore(workstation): Update configuration and pin to colima v0.9.0 @rmvangun (#1947)
  • chore(blueprint): Remove unused substitutions file support @rmvangun (#1933)
  • chore(env): Fix docker env tests @rmvangun (#1932)
  • chore(cmd): Clean up tests @rmvangun (#1910)
  • chore(runtime): Enhance test coverage and conformance @rmvangun (#1891)
  • chore(workstation): Enhance tests @rmvangun (#1886)
  • chore(provisioner): Enhance test coverage @rmvangun (#1885)
  • chore(project): Enhance test coverage @rmvangun (#1884)
  • chore(composer): Standardize test style and increase coverage @rmvangun (#1883)
  • cleanup(di): Remove dependency injector and cleanup @rmvangun (#1882)
  • refactor(runtime): Remove dependency injector @rmvangun (#1877)
  • refactor(workstation): Remove dependency injector @rmvangun (#1876)
  • refactor(provisioner): Remove dependency injector @rmvangun (#1873)
  • refactor(composer): Remove dependency injector from composer @rmvangun (#1872)
  • cleanup: Refactor minor facades @rmvangun (#1871)
  • cleanup: Remove and privatize methods @rmvangun (#1870)
  • refactor(blueprint): Remove k8s api handling from blueprint handler @rmvangun (#1869)
  • refactor(runtime): Renamed context package to runtime @rmvangun (#1868)
  • refactor(generator): Remove the generator package @rmvangun (#1867)
  • cleanup: Remove old runtime and pipeline packages @rmvangun (#1866)
  • refactor(cmd): Remove runtime and pipeline from install command @rmvangun (#1865)
  • refactor(cmd): Factor out runtime and pipeline from down @rmvangun (#1864)
  • refactor(context): Always run ExecutePostEnvHooks when running LoadEnvironment @rmvangun (#1862)
  • refactor(project): Adds the project component for top level orchestration @rmvangun (#1855)
  • refactor(workstation): Use port allocator @rmvangun (#1847)
  • refactor(cmd): Init command uses context execution runtime @rmvangun (#1846)
  • refactor(config): Add IsDevMode check @rmvangun (#1845)
  • refactor(cmd): Migrate push command to use context mechanism @rmvangun (#1830)
  • refactor(cmd): Migrate check to use context mechanism @rmvangun (#1829)
  • refactor(cmd): Run exec command with context (runtime) @rmvangun (#1827)
  • refactor(cmd): Bundle uses context @rmvangun (#1825)
  • refactor(cmd): Context commands use context (runtime) construct @rmvangun (#1824)
  • refactor(cmd): Env command uses context instead of runtime @rmvangun (#1823)
  • refactor(context): Migrate build ID to leverage context vs. pipeline @rmvangun (#1822)
  • refactor(cmd): Use the context for hook functionality @rmvangun (#1817)
  • refactor(constants): Make global constants camelcase @rmvangun (#1813)
  • refactor(composer): Rename 'resources' => 'composer' @rmvangun (#1812)
  • refactor(provisioner): Rename 'infrastructure' => 'provisioner' @rmvangun (#1811)
  • refactor: Create new "context" manager @rmvangun (#1810)
  • refactor(infrastructure): Add infrastructure manager @rmvangun (#1808)
  • refactor(resources): Add resources manager @rmvangun (#1796)
  • refactor(environment): Add environment manager @rmvangun (#1794)
  • refactor(workstation): Create workstation manager @rmvangun (#1791)
  • refactor(shell): Move the ssh functionality underneath the shell package @rmvangun (#1790)
  • refactor(artifact): Consolidate artifact package and leverage runtime @rmvangun (#1789)
  • refactor(runtime): Add CheckTrustedDirectory to runtime @rmvangun (#1785)
  • refactor(runtime): Add HandleSessionReset @rmvangun (#1784)
  • refactor(runtime): Fully load config, not just config handler @rmvangun (#1778)
  • refactor(runtime): Load blueprint in runtime @rmvangun (#1777)
  • refactor(runtime): Add k8s loader @rmvangun (#1775)
  • refactor(runtime): Add env printers and secrets providers to runtime @rmvangun (#1774)
  • refactor(runtime): Migrate get and set context to use runtime @rmvangun (#1771)
  • refactor(runtime): Pass Dependencies object to Runtime constructor @rmvangun (#1769)
  • refactor(runtime): Implement hook using runtime @rmvangun (#1768)
  • refactor(template): Remove template package @rmvangun (#1766)
  • chore: Removed unused functions, args @rmvangun (#1765)
  • refactor(config): Consolidate config handler to combine windsor.yaml and values.yaml @rmvangun (#1762)
  • refactor(blueprint): Blueprint type cleanup and conformance @rmvangun (#1760)
  • refactor(blueprint): Introduce postBuild substitutions via Features @rmvangun (#1745)
  • chore(workstation): Consolidate workstation packages in to subfolders @rmvangun (#1738)
  • chore(blueprint): Organize blueprint tests @rmvangun (#1736)
  • chore(config): Consolidate config handler and organize tests @rmvangun (#1735)
  • refactor(blueprint): Access context values through config handler @rmvangun (#1734)
  • refactor(config): Consolidate values.yaml and windsor.yaml configs under config handler @rmvangun (#1733)
  • refactor(blueprint): Move schema validator to config handler @rmvangun (#1717)
  • chore(blueprint): Add strategic merge for merging blueprints @rmvangun (#1697)
  • chore(blueprint): Add blueprint Feature type @rmvangun (#1667)
  • chore(blueprint): Remove Authors field @rmvangun (#1666)
  • refactor(blueprint): Use config.yaml instead of values.yaml @rmvangun (#1575)
  • refactor(blueprint): Template and apply kustomize values and patches in memory @rmvangun (#1571)
  • refactor(generator): Generates templated tfvars to tf_modules vs. context folder @rmvangun (#1554)
  • refactor(config): Begin designing v1alpha2 config schema @rmvangun (#1552)
  • refactor(template): Make jsonnet template aware of context folder structure @rmvangun (#1522)

Dependencies

<detail...

Read more

v0.7.1

30 Jul 16:21
32a9f26

Choose a tag to compare

Changes

Bug Fixes

  • fix(terraform): Always perform -upgrade on terraform init @rmvangun (#1520)

v0.7.0

27 Jul 17:45
1c53d5a

Choose a tag to compare

The OCI Edition

Windsor CLI v0.7.0 introduces significant enhancements to infrastructure management capabilities, focusing on improved Terraform integration, OCI artifact support, and enhanced operational workflows. In particular, this version of windsor introduces full blueprint templating and artifact packaging as OCI artifacts. This feature permits a user to template a context with jsonnet in contexts/_template/. This template, along with dependent kustomize and terraform components, can be bundled and pushed to an OCI-compatible registry by running:

windsor push oci://ghcr.io/windsorcli/core:v0.5.0

Blueprints can be used as the basis for templating new contexts by running:

windsor init production --provider aws --blueprint windsorcli/core

Major Features

Terraform Component Enhancements

  • OCI Module Support: Full support for OCI-sourced blueprints with oci:// protocol
  • Parallelism Control: Added parallelism parameter to Terraform components for controlled resource deployment
  • Dependency Management: Implemented dependsOn support for Terraform components. This feature currently controls chaining of terraform outputs to inputs when running a stack.
  • Terraform Refresh: Added refresh capability for maintaining state consistency

OCI Artifact System

  • Artifact Bundling: New windsor bundle command for creating distributable OCI artifacts
  • Artifact Publishing: windsor push command for publishing artifacts to OCI registries
  • Template Bundling: Support for bundling templates, Kustomize configurations, and Terraform modules

Blueprint Context Templating

  • Jsonnet Integration: Native support for Jsonnet templating in blueprint contexts
  • Dynamic Configuration: Context-aware template processing for environment-specific configurations
  • Template Helpers: Built-in helper functions for common templating patterns
  • Core v0.5.0: Upgrade to windsorcli/core v0.5.0 for default blueprint templating

Health Monitoring

  • Kubernetes Endpoint Health: Enhanced health checking of k8s api endpoint with windsor check node-health --k8s-endpoint flag
  • Node Health Checks: Comprehensive node health monitoring for Talos clusters
  • Cluster Readiness: Improved cluster readiness verification and reporting with windsor check node-health --ready flag

Operational Improvements

  • Enhanced Down Command: More granular control over resource cleanup with skip options
  • Thorough Cluster Cleanup Operations: Cleanup operations now sequentially destroy Kustomizations and wait for their disposal
  • DNS Configuration Warnings: Proactive communication about elevated privileges when configuring DNS
  • Secret Security: Improved secret handling to prevent leakage in verbose output using scrubbing routines

Technical Enhancements

Pipeline Architecture

  • Unified Pipeline System: Migrated all commands to consistent pipeline architecture, deprecating the controller architecture
  • Error Handling: Enhanced error handling and user feedback across all operations

Configuration Management

  • Context-Aware Configs: Support for windsor.yaml in contexts/<context> folders with context-specific configurations.
  • Environment Variables: Improved environment variable management with windsor env list command, now outputs as KEY=value without the export or OS-specific injection
  • Default Configurations: Enhanced default configuration generation and management

Performance Optimizations

  • Parallel Processing: Improved parallel execution for Terraform operations
  • Resource Cleanup: Optimized cleanup timing and resource management
  • Windows Performance: Enhanced Windows runner optimization for better performance

Deprecations

  • Provider Flag: Deprecated --platform flag in favor of --provider for consistency

Breaking Changes

  • Configuration Structure: Removed blueprint setting from windsor.yaml

Compatibility

  • Go 1.24.3: Updated to Go 1.24.3 for improved performance and security
  • Kubernetes v1.33: Updated Kubernetes client libraries for latest API support
  • Dependency Updates: Comprehensive dependency updates for security and stability

This release represents a significant step forward in Windsor CLI's capabilities, providing enhanced infrastructure management, improved artifact distribution, and better operational workflows for modern cloud-native environments.

Features

25 changes
  • fix(blueprint): Wait for kustomizations to complete and their resources to terminate @rmvangun (#1509)
  • feat(check): Check node readiness state @rmvangun (#1508)
  • refactor(provider): consolidate omni and talos environment management @rmvangun (#1493)
  • feat(check): Include --k8s-endpoint for health checking api endpoint @rmvangun (#1489)
  • feat(blueprint): add parallelism parameter to terraform components @rmvangun (#1319)
  • feat(blueprint): Implement dependsOn for terraform components @rmvangun (#1478)
  • feat(env): Print simple list of vars when running windsor env @rmvangun (#1474)
  • feat(pipeline): Show DNS configuration warning on "windsor up" @rmvangun (#1473)
  • feat(config): Support windsor.yaml in subfolders @rmvangun (#1467)
  • feat(template): Include helpers for jsonnet templating @rmvangun (#1464)
  • feature(cmd): Fix and deprecate --platform in exchange for --provider @rmvangun (#1457)
  • feat(service): Add rsync_include support to livereload @rmvangun (#1455)
  • fix(env): Update Terraform CLI args to include -force-copy option for init command @rmvangun (#1421)
  • feature(terraform): Support refresh @rmvangun (#1418)
  • feat(blueprint): Support OCI sources for terraform components @rmvangun (#1360)
  • feat(blueprint): Support OCI sources @rmvangun (#1357)
  • feat(bundler): Add terraform bundler @rmvangun (#1355)
  • feat(cmd): Add windsor push command for pushing OCI artifacts @rmvangun (#1353)
  • feat(cmd): Add windsor bundle command @rmvangun (#1352)
  • feat(bundler): Add kustomize bundler @rmvangun (#1351)
  • feat(bundler): Add template bundler @rmvangun (#1350)
  • feat(bundler): Add bundler foundation @rmvangun (#1348)
  • feat(bundler): Add artifact builder foundation @rmvangun (#1345)
  • feat(blueprint): Add blueprint context templating with Jsonnet support @rmvangun (#1326)
  • feat: add node health check subcommand with Talos cluster support @rmvangun (#1316)

Bug Fixes

35 changes
  • fix(cleanup): Fix kustomize paths on Windows @rmvangun (#1512)
  • fix(down): Improve timing and robustness of cleanup kustomizations @rmvangun (#1511)
  • fix(init): Update setDefaultConfiguration logic for context handling @rmvangun (#1506)
  • fix(init): Ensure correct default configs when running init @rmvangun (#1504)
  • fix(cmd): Don't show usage on error @rmvangun (#1486)
  • fix(secrets): Prevent a secret leak scenario with --verbose @rmvangun (#1483)
  • fix(env): Don't throw an error when volumes not accessible @rmvangun (#1482)
  • fix(git-livereload): Upgrade to v0.2.1 @rmvangun (#1480)
  • fix(config): Generate context windsor config even if root exists @rmvangun (#1472)
  • fix(livereload): Include kustomize/ folder and don't ignore data/ @rmvangun (#1471)
  • fix(config): Fixes error when running --set to a boolean value @rmvangun (#1466)
  • fix(generators): Only process terraform components present in blueprint @rmvangun (#1462)
  • fix(config): Enable cluster by default @rmvangun (#1460)
  • fix(pipeline): Fix init pipeline context determination for up/down commands @rmvangun (#1458)
  • fx(generator): Properly overwrites tfvars when --reset is passed @rmvangun (#1454)
  • fix(config): Generate correct defaults on windsor init @rmvangun (#1452)
  • fix(service): Remediate Corefile written as a folder @rmvangun (#1448)
  • fix(cmd): Implement trust properly across required commands @rmvangun (#1447)
  • fix(pipeline): Initialize the secure shell when in use @rmvangun (#1446)
  • fix(cmd): Properly add and check trusted folder status @rmvangun (#1443)
  • fix(blueprint): Clean blueprint before writing @rmvangun (#1442)
  • fix(pipeline): Ensure 'install' deploys kustomizations @rmvangun (#1440)
  • fix(pipeline): Prefer existing blueprint.yaml if reset isn't set @rmvangun (#1439)
  • fix(pipeline): Set context if provided @rmvangun (#1437)
  • fix(env): Register env printers with DI on withEnvPrinters @rmvangun (#1417)
  • fix(env): Enhance generateBackendOverrideTf to accept custom directory @rmvangun (#1415)
  • fix(kubernetes): Handle "not found" errors during resource deletion @rmvangun (#1414)
  • refactor(cmd): Leverage WithPipeline factory to reduce boilerplate code @rmvangun (#1412)
  • fix(generator): Git generator considers commented lines @rmvangun (#1382)
  • fix(generators): Don't auto-create project folders @rmvangun (#1376)
  • fix(cmd): Include artifact system when performing windsor up @rmvangun (#1363)
  • fix(secrets): prevent secret leakage in verbose shell output @rmvangun (#1324)
  • fix(config): prevent windsor init from overwriting existing windsor.yaml unless --reset is passed @rmvangun (#1318)
  • fix(blueprint): Handle kustomization update scenarios correctly @rmvangun (#1264)
  • fix(terraform): add -upgrade flag to terraform init for latest module versions @rmvangun (#1263)

Maintenance

49 changes
  • test(kubernetes): Improve test coverage @rmvangun (#1510)
  • ci(release): Pin latest core semver on release @rmvangun (#1505)
  • refactor(config): Initialize windsor.yaml to context folder @rmvangun (#1470)
  • clean(generator): Remove unused blueprint generator @rmvangun (#1468)
  • refactor(cmd): Centralize trust mechanism @rmvangun (#1451)
  • refactor(pipeline): Use blueprint handler's write in init pipeline @rmvangun (#1438)
  • chore(bl...
Read more

v0.6.1

01 Jun 02:55
a146c20

Choose a tag to compare

Changes

Bugs

  • Pinned to windsorcli/core v0.4.0 in default blueprint templates

Dependencies

v0.6.0

30 May 13:17
ac69b69

Choose a tag to compare

Changes

Features

Bug Fixes

Maintenance

Dependencies

76 changes
Read more

v0.6.0-alpha.1

16 May 14:38
cdb0ea7

Choose a tag to compare

v0.6.0-alpha.1 Pre-release
Pre-release

Changelog

v0.6.0-alpha.0

11 May 16:59
628eb56

Choose a tag to compare

v0.6.0-alpha.0 Pre-release
Pre-release

Changelog

v0.5.7

10 May 22:46
ce75eb8

Choose a tag to compare

Changes

Features

Bug Fixes

Maintenance

Dependencies

90 changes
Read more

v0.5.7-rc.3

10 May 22:20
fd22a44

Choose a tag to compare

v0.5.7-rc.3 Pre-release
Pre-release

Changelog