You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* add cursor rule to use "make ci" for validating source code changes
* replace static USE_SECRETS with dynamic global.secretLoader.disabled configuration
**Core Changes:**
- **New architecture**: Replaced hardcoded `USE_SECRETS` modifications with dynamic configuration reading from `values-global.yaml`
- **Single source of truth**: Added `global.secretLoader.disabled` field that controls secrets behavior (true = disabled, false = enabled)
- **Makefile restructure**: Now generates simple include-based `Makefile` + always copies `Makefile-pattern` with dynamic logic
- **Runtime configuration**: `Makefile-pattern` uses `yq` to read `global.secretLoader.disabled` and set `USE_SECRETS` accordingly
**Implementation Details:**
- Updated `ProcessGlobalValues()` to accept `withSecrets` parameter and set `global.secretLoader.disabled` field
- Modified Makefile generation to create include-based structure instead of copying/modifying single file
- Removed static file modifications from `pattern.sh` and `HandleSecretsSetup()`
- Updated all unit and integration tests to validate new `global.secretLoader.disabled` behavior
- Added Cursor acknowledgment to README and updated documentation
**Benefits:**
- Cleaner architecture with configuration-driven behavior
- Users can customize Makefiles while retaining common functionality
- Eliminates need for static file modifications
- Single configuration field controls all secrets-related behavior
The change maintains full backward compatibility while providing a more robust and maintainable architecture.
* remove unused functions and update USE_SECRETS to LOAD_SECRETS in Makefile
* fix load secrets logic
> **Note:** This tool was developed with assistance from [Cursor](https://cursor.sh), an AI-powered code editor.
7
+
6
8
**Patternizer** is a CLI tool and container utility designed to bootstrap Validated Pattern repositories. It automatically generates the necessary `values-global.yaml` and `values-<cluster_group>.yaml` files by inspecting Git repositories, discovering Helm charts, and applying sensible defaults.
7
9
8
10
The tool provides both a standalone CLI and containerized execution for maximum flexibility and consistency across environments.
@@ -61,17 +63,18 @@ patternizer init help
61
63
62
64
The `patternizer init` command generates:
63
65
64
-
-`values-global.yaml` - Global pattern configuration
66
+
-`values-global.yaml` - Global pattern configuration with `global.secretLoader.disabled: true`
-`pattern.sh` - Utility script for pattern operations
67
-
-`Makefile` - Self-contained Makefile with inlined scripts for pattern management
69
+
-`Makefile` - Simple include-based Makefile that includes `Makefile-pattern`
70
+
-`Makefile-pattern` - Contains all pattern targets and dynamically reads secrets config from `values-global.yaml`
68
71
69
72
When using `--with-secrets`:
70
73
-`values-secret.yaml.template` - Template for secrets configuration
71
-
-Modified `pattern.sh` with `USE_SECRETS=true` as default
72
-
-Modified `Makefile` with `USE_SECRETS=true` as default
74
+
-`values-global.yaml` with `global.secretLoader.disabled: false` (enables secrets)
75
+
-Additional applications (vault, golang-external-secrets) in cluster group values
73
76
74
-
Both `pattern.sh` and `Makefile` provide equivalent functionality for pattern installation and management, with the Makefile offering a more traditional build tool approach.
77
+
The secrets loading behavior is controlled entirely by the `global.secretLoader.disabled` field in `values-global.yaml`.
0 commit comments