- Stack Controller: watch for delete events. #756
- Improved support for using custom program sources. #741
- Improved Status logging. #742
- Support for ReconcileRequest annotation. #745
- Show stack processing state in printer columns. #747
- Some stack outputs cannot be saved to Secret. #746
- Major update to new horizontally-scalable architecture. #725
- Respect
serviceAccount.name
in Helm chart values. #530
- Clean up stale workspace directories and don't treat them as a crude lock. #552
- Fixed
nodeSelector
,affinity
, andtolerations
Helm chart values that were previously effectively ignored. #548 - Update pulumi/pulumi to v3.92.0 #559
- Changed indentation in deploy/helm/pulumi-operator/templates/deployment.yaml for volumes and volumeMounts.
- Use a separate PULUMI_HOME for each stack. #490
- Use Go v1.21 for builds. #504
- Update pulumi/pulumi to v3.109.0 #517
- Use digest field for Flux source artifact if present #459
- Add Helm chart support for installing the Pulumi Operator. #379
- Update to Pulumi SDK v3.68.0 and the base image of the same version.
- Enable refreshing dynamic credentials in provider state using targeted stack refresh #443
- Update to Pulumi SDK v3.66.0 and the base image of the same version.
- Added lastUpdate state update to ensure that synchronized commits display a succeeded status. #429
- Update to Pulumi SDK v3.65.1 and the base image of the same version, fixing issue #437
- Update to Pulumi SDK v3.65.0 and the base image of the same version, fixing issue #435
- Update to Pulumi SDK v3.64.0 and the base image of the same version, fixing issue #432
- Update to Pulumi SDK v3.57.1 and the base image of the same version, fixing issue #411 #422
- Work in sympathy with the Go build cache, by using stable build paths #407
- Update to Pulumi SDK v3.55.0 and the base image of the same version #412
- Expand the installation programs in deploy/ so they can deploy the operator to several namespaces in one go, as well as upgrade the operator version. #328
- Avoid some needless and misleading log messages #363
- Bump Pulumi SDK to v3.46.0 #365
- Rewrite test case to confirm to Pulumi YAML 1.0 (breaking) changes #369
- Use an init process so processes spawned by
pulumi
are reaped #367 - When a Stack uses a Flux source, but the source has no artifact to download, park the Stack until the source has been updated, rather than retrying #359
- Correct the stacks_failing metric in the case of a stack being deleted after failing #402
- Give an example of using this operator with a Flux GitRepository and webhooks, in
examples/flux-source
. #339 - De-escalate a log message about a harmless error from ERROR to DEBUG #352
- Watch source kinds and Programs to react to changes #348
- Make .ContinueResyncOnCommitMatch apply to all sources (git, Flux sources, or Program objects) #346
- Make
.spec.projectRepo
optional in the Stack CRD. This is technically a breaking change according to the advice in Kubernetes API guidelines, but is not expected to affect any deployment. In particular, all Stack objects which are valid now will continue to work as before. #332 - Add support for referring to a Flux source object as the source of the Pulumi program to run for a Stack. #324
- Add functionality for using Pulumi YAML in-line to create Pulumi programs. #336
- [internal] Port testing to Ginkgo v2 and address test flakes #337, #342
BREAKING CHANGES
- Deprecate watching multiple namespaces, and cross-namespace references. See the PR for how to adapt your configuration if you use either of these. #329
Updates and bug fixes
- Exit processing early when a stack is ready to be garbage collected #322
- Fix a goroutine leak #319
- Use status conditions to indicate ready/in-progress/stalled status #316
- Use go 1.18 for builds
- CI update to go 1.18
- Bump to v3.39.1 of Pulumi, to support short branch names in .spec.branch after pulumi/pulumi#10118
- Fix
stacks_failing
prometheus metric forStack
s with apiVersionv1
(#308) - Bump image and pulumi/pulumi dependencies to v3.39.0 (#315)
- Use the first namespace from the env entry WATCH_NAMESPACE for leadership election, when the value is a list; and bail if the value is malformed #278
- Bump to Pulumi v3.34.0
- Add
State
toadditionalPrinterColumns
- Bump to v3.3.30 of Pulumi which should simplify recovering from pending operations (see pulumi/pulumi#4265)
- Use configured namespace for envRef Secrets, instead of defaulting to 'default'
- Bump pulumi/pulumi dependencies
- Use go 1.17 for builds
BREAKING CHANGES
- Default namespace for resources that don't provide one is now the service accounts namespace (where the operator is likely running) instead of "default"
To revert to the previous behavior unset
PULUMI_INFER_NAMESPACE
in the operator pod spec environment variables
Updates and Bug Fixes
- Bump dependencies and Pulumi binary to v3.23.2 (#250)
- Simplified pulumi program installation instructions #238
- Default timestamps are now iso8601 in logs. Remove
"--zap-time-encoding=iso8601"
line from deployment spec to revert to old timestamps #234 - Add some basic event publishing #235
- Upgrade to v3.17.0 of Pulumi #236
First GA release Follow installation instructions here.
- Upgrade to v3.14.0 of Pulumi #227
- Promote v1alpha1 CRD to v1 but maintain backward compatibility #220
- Make max reconciles configurable. Users can now set
MAX_CONCURRENT_RECONCILES
to limit concurrent reconciles (defaults to 10). #213 - Nested secret outputs are now masked by default. #216
- Add metrics support #217
- Fix clean up logic on reconcile #203
- Fix stack refresh for BYO backend #200
- Bump to pulumi v3.13.2 #207
- Add docs for Stack CR #205
- Fix pip cache directory to be on emptyDir mount #181
- Add
useLocalStackOnly
option to prevent stack creation by the operator #186 - Fix config loading #187
- Bump controller-runtime to support graceful shutdown/upgrades #178
- Update to v3.10.2 #177
- Cloak outputs with secrets in stack CR #177
- Ensure either 'branch' or 'commit' is set in stack CR & bump pulumi/pulumi to 3.9.0 #168
- Automatically track git branches without a specified commit. If a branch is specified, the operator will poll the repo every minute and automatically deploy new commits to the branch. #162
- Update deployment manifests & code for pulumi v3.6.0 #159
- Bump pulumi/pulumi to v3.3.1 and add user-agent string for automation-api #156
-
Bump to v3.1.0 and GA automation api #137
-
Bug fix for secret manager switching to pulumi-console on updates #137
-
INFO logging level by default #138
-
Allow Go applications to build #141
-
Update docs for pulumi v3 providers & misc #136
-
Bump to 2.23.2 and add SecretRefs to allow secrets to be specified through references #130
-
Bump base image to 2.24.1 and added resource ref variant for GitAuthSecret #132
-
Fix integration tests. Bumps embedded pulumi to 2.17.0. #115
-
Make environment variable population more generic and bump base image to 2.23.1 #125
-
Regenerate CRD for apiextensions/v1 (v1beta1 deprecated)
BREAKING Your Kubernetes cluster must now be v1.16 or higher #127
-
Use ephemeral storage for disk mutations. #109
-
Fix handling of
state
message, and add newlastAttemptedCommit
andlastSuccessfulCommit
status fields. #107. -
Support configuring alternative
backend
s. #106 -
Support streaming logs from
pulumi up/destroy/refresh
. #101
- Add SSH keyagent, add keys to known_hosts for SSH git. #92
- Refactor controller to use Automation API. #86
- Initial Release!