Changelog
All notable changes to this project's source code will be documented in this file. Items under Unreleased are upcoming features that will be out in the next version.
Contributors
Please follow the recommendations outlined at keepachangelog.com. Please use the existing headings and styling as a guide, and add a link for the version diff at the bottom of the file. Also, please update the Unreleased link to compare it to the latest release version.
In addition to the standard keepachangelog.com categories, this project uses a local ### Breaking Changes heading at the top of each version section to surface backwards-incompatible changes. The release tooling treats that heading as a signal to require a major version bump (see expected_bump_type_from_changelog_section in rakelib/create_release.rake).
Versions
Unreleased
5.1.1 - 2026-06-03
Changed
- Changed
cpflow maintenance:onandcpflow maintenance:offto confirm the domain route has switched by polling the Control Plane API (bounded retry, 30 attempts, 1 second apart) instead of sleeping a fixed 30 seconds. PR 337 by Justin Gordon. Fixes issue 157. If the route never updates within the poll window, the command aborts before stopping workloads so traffic stays on the current workload, and transient API errors during polling are retried rather than aborting the switch. Because the route switch and the workload stop run as separate steps, re-running the command also finishes a switch whose poll timed out after the route had already updated. - Reworked generated production-promotion image copy to authenticate directly to the staging and production Docker registries and copy via
docker buildx imagetools create, handling digest-pinned, plain numeric, commit-suffixed, and multi-arch image refs. PR 356 by Justin Gordon. Promotion now normalizes Control Plane org variables before each step, preflights environment-variable parity between staging and production at the GVC and app-workload container level (failing before the copy when production is missing names that exist in staging), and requires bothstatus.readyandstatus.readyLatestbefore endpoint health checks and rollback polling so a stale ready replica cannot mask a failed latest revision. - Generated production promotion now emits a workflow warning when a staging image tag lacks a
_<commit>suffix, so production tags without commit traceability are visible in logs, and documents thecpflow-promote-staging-to-productionconcurrency group in the copy step. PR 360 by Justin Gordon. - Restored review-app security guidance in generated
.github/cpflow-help.md(public-repo staging-token scoping, fork-PR deploy limits, secret exposure viacpln://secret/..., and read-only deploy keys forDOCKER_BUILD_SSH_KEY), and simplified the promotion workflow's staging image assignment while preserving digest refs. PR 359 by Justin Gordon.
Fixed
- Fixed
cpflow runso short non-interactive runner jobs no longer hang when the Control Plane cron job finishes before a runner replica is visible. PR 361 by Justin Gordon. This prevents generated deploy workflows with release-phase commands from waiting until the GitHub Actions job timeout even though the release job already completed successfully.
5.1.0 - 2026-06-02
Added
- Added
shared_secret_grantsconfiguration so apps can reference org-level Control Plane secrets by name instead of hardcoding them in templates. PR 354 by Justin Gordon. Each grant validates a unique placeholder, a safe Control Plane resource name, and a secret policy that targets exactly that secret; templates gain{{SHARED_SECRET_<NAME>}}substitution, and the shared-policy lifecycle is wired throughsetup-app,deploy-image,delete, andcleanup-stale-apps. Enables the shared staging-database pattern for cheaper review apps.
Fixed
- Fixed
cpflow generate-github-actionsso the generated.github/cpflow-help.mdversion-locking example derives aCPFLOW_VERSION=<major>.<minor>.xplaceholder from the installed gem version instead of a hardcoded release that goes stale against the@v<version>wrapper refs in the same file. PR 343 by Justin Gordon. Fixes issue 341. - Fixed generated production promotion so
cpflow-promote-staging-to-production.ymlruns as a caller-owned job withenvironment: production, letting GitHub inject theCPLN_TOKEN_PRODUCTIONenvironment secret after the protected gate instead of failing because a cross-repo reusable workflow cannot receive caller environment secrets. PR 353 by Justin Gordon. The job checks out the pinnedcontrol-plane-flowref into.cpflow, and generated help plusdocs/ci-automation.mdnow explain why a same-named repository or organization secret can mask a missing environment secret. - Hardened generated production promotion image copy to preflight the staging image, retry the copy via configurable
COPY_IMAGE_RETRIESandCOPY_IMAGE_RETRY_INTERVALrepo vars, and roll back failed deploys usingspec.containers.<name>.imagepaths instead of unsupported array-index paths. PR 355 by Justin Gordon.
5.0.4 - 2026-05-27
Fixed
- Fixed
cpflowCLI boot order so packaged gems loadcpflow/versionbefore command modules, preventing a load-timeNameErroronCpflow::VERSIONfrom constants likeCommand::UpdateGithubActions::LONG_DESCRIPTION. PR 338 by Justin Gordon. Fixes issue 335.
5.0.3 - 2026-05-26
Changed
- Changed
cpflow update-github-actions,cpflow generate-github-actions --force, RubyGems install guidance, and release-task follow-up output so downstream repositories remember to update checked-in generated GitHub Actions wrappers when thecpflowgem version changes. PR 328 by Justin Gordon.
Fixed
- Fixed
cpflow update-github-actionsso reordered default staging branches remain defaults, empty or non-hash staging workflow YAML no longer crashes, and fresh repos fail with a cleargenerate-github-actionsinstruction instead of silently creating wrappers. PR 331 by Justin Gordon. Clarified the RubyGems post-install message so first-time installers see thegenerate-github-actionspath.
5.0.2 - 2026-05-25
Fixed
- Fixed generated Dockerfiles so Node package-manager shims (
npm,npx, andcorepack) remain working symlinks in the final Ruby image instead of broken dereferenced files. PR 322 by Justin Gordon. Generated Dockerfiles now fail fast if the Node shim paths are no longer valid. - Fixed generated Control Plane templates so app workloads receive app identity links, templated YAML scalars are parseable, and generated Postgres resources/secrets are app-scoped. PR 322 by Justin Gordon. This lets review apps resolve
cpln://secret/...values reliably from Rails, worker, renderer, and release jobs. - Fixed
cpflow runso existing runner workloads stay in sync with the source workloadidentityLink. PR 322 by Justin Gordon. Existing runner jobs now gain or drop the app identity as the source workload changes.
5.0.1 - 2026-05-24
Breaking Changes
- BREAKING CHANGE: Generated GitHub Actions wrappers now pin Control Plane Flow only through the
uses: shakacode/control-plane-flow/...@<ref>line and no longer accept downstreamcontrol_plane_flow_refinputs. Repositories with older generated wrappers must regenerate or removecontrol_plane_flow_reffromwith:blocks to avoid validation failures. PR 321 by Justin Gordon.
Changed
- Simplified generated review-app help docs to a compact command/setup reference and moved extended guidance to upstream CI automation docs. PR 319 by Justin Gordon.
- Clarified generated PR-open help opt-out guidance for forks and clones, including a sample job
if:guard in generated wrappers. PR 323 by Justin Gordon. - Improved generated GitHub Actions ref/gem alignment checks so
CPFLOW_VERSIONmust match the ref pinned viauses: shakacode/control-plane-flow/...@<ref>, and setup validates the checked-out action code against the remote tag/commit for that ref. PR 318 by Justin Gordon. - Improved review-app workflow config inference so generated deploy/delete/cleanup workflows can derive the review-app prefix and staging Control Plane org from
.controlplane/controlplane.yml; testing review apps normally requires only theCPLN_TOKEN_STAGINGsecret. PR 318 by Justin Gordon. - Improved production promotion safety docs and generated workflow validation for using a protected
productionGitHub Environment with required reviewers and a production-onlyCPLN_TOKEN_PRODUCTIONenvironment secret. PR 318 by Justin Gordon.
Fixed
- Fixed generated Control Plane entrypoints so database preparation runs through
./bin/rails, fails fast, and runs only for generated Rails server commands instead of every workload sharing the image. PR 318 by Justin Gordon. Generated Dockerfiles run fromWORKDIR /app; apps with custom Dockerfiles that run the entrypoint from another directory should adjust the./bin/rails db:preparepath after regenerating. Apps with hand-edited.controlplane/entrypoint.shfiles should audit custom commands when regenerating, especially Thruster invocations with custom flags and startup paths that relied on continuing after a failed database connection. - Fixed generated Dockerfiles so copied Control Plane entrypoints are marked executable inside the image even if the source file mode is lost. PR 318 by Justin Gordon.
- Fixed generated review-app deploy/delete/cleanup workflows so they use one shared
cpflow-resolve-review-configcomposite action instead of duplicated YAML parsing logic. PR 318 by Justin Gordon. - Fixed generated production-promotion caller wrappers so they pass only
CPLN_TOKEN_STAGING;CPLN_TOKEN_PRODUCTIONremains on the protected GitHub Environment where GitHub exposes it after approval. PR 318 by Justin Gordon.
5.0.0 - 2026-05-23
Breaking Changes
- Promotes the 5.x release-candidate line to stable. The breaking changes introduced during the 5.0.0 prerelease cycle are documented in
5.0.0.rc.1, including the Ruby 3.0 minimum,cpflow existsnot-found exit code change, and generated Dockerfile production-group behavior.
Changed
- Promoted the 5.0.0 release-candidate line to stable. This release includes the generated GitHub Actions flow, upstream reusable workflow model, Node 24 action updates, richer review-app command feedback, generated downstream pin/validation helpers, and cleanup/run/deploy fixes documented in
5.0.0.rc.3.
Fixed
- Fixed packaged
cpflowgems failing to boot without the development-onlydebuggem installed. PR 314 by Justin Gordon. The hiddencpflow testcommand no longer requiresdebugwhile loading the CLI, and coverage now exercises loadingcpflowwithrequire "debug"blocked.
5.0.0.rc.3 - 2026-05-23
Added
- Added
--mode=stoptocleanup-stale-appsfor reversible idle-app handling. PR 302 by Justin Gordon. Suspends all workloads viacpflow ps:stopinstead of deleting; restore withcpflow ps:start. Default--mode=deletepreserves existing behavior. Fixes issue 295. - Added generated local helpers for downstream GitHub Actions ref pinning and validation. PR 308 by Justin Gordon.
cpflow generate-github-actionsnow writesbin/pin-cpflow-github-refandbin/test-cpflow-github-flowso downstream repos can safely pin wrappers to release tags or full upstream commit SHAs, validate wrapper ref consistency, and test unreleased upstream workflow changes without using moving branch refs. - Added richer generated review-app command feedback. PR 304 by Justin Gordon. Generated review-app deploy/delete/help workflows now react promptly to commands, publish structured progress/success/failure comments, and support
REVIEW_APP_DEPLOYING_ICON_URLornonefor the deploying indicator.
Changed
- Changed generated GitHub Actions output to thin downstream wrappers backed by upstream reusable workflows and shared composite actions. PR 305 by Justin Gordon. Deployment, deletion, staging, promotion, cleanup, comment formatting, Control Plane setup, and Docker image build logic now live upstream in this repository;
CPFLOW_GITHUB_ACTIONS_REFcontrols which upstream ref generated wrappers use. - Documented the downstream testing and release model for reusable GitHub Actions. PR 308 by Justin Gordon. The CI automation docs now spell out what is tied to the upstream GitHub ref, what is tied to the RubyGems version, how
CPFLOW_VERSIONchanges runtime installation, and how to test an unmerged upstream PR from a downstream app. - Updated generated GitHub Actions workflow templates to Node 24-compatible action versions. PR 303 by Justin Gordon. Uses
actions/checkout@v6andactions/github-script@v8. - Shortened the generated review-app command quick reference. PR 290 by Justin Gordon. Keeps the three
+review-app-*commands and the setup-help pointer while reducing repeated wording in the PR-open comment.
Fixed
- Relaxed the
thorruntime dependency from~> 1.4to~> 1.3. PR 291 by Justin Gordon. Allows cpflow to be bundled into Rails 8 apps that pull insolid_queue1.1.0, which pinsthor ~> 1.3.1. Fixes issue 264. - Fixed
deploy-imageshowing container names instead of workload names in deploy progress and endpoint summaries. PR 294 by Justin Gordon. Also guards against duplicate work per workload by deploying only the first container whose image matches the app-image pattern. Fixes issue 255. - Fixed
cpflow runinteractive sessions printing a confusing non-zero exit error on command failure or session close. PR 301 by Justin Gordon. cpflow now prints an actionablecpflow ps:stophint instead; exit code 64 is returned for non-zero exits and 130 for signal termination so scripted callers can still detect failure. Fixes issue 199. - Fixed
cpflow generateand generated GitHub Actions edge cases. PR 288 by Justin Gordon. Detects nested production SQLite configs, normalizes folded Shakapacker precompile hooks, gates delete-review-app steps on config readiness, routesgithub-scriptvalues through environment variables, and honors HTTPS proxy settings during registry readiness checks. - Fixed generated
cpflow-setup-environmentRuby setup when downstream apps do not provide a Ruby version file. PR 306 by Justin Gordon. The shared action now auto-detects.ruby-version,.tool-versions,mise.toml,.mise.toml, or aGemfileRuby directive and falls back to Ruby 3.2 when none is present. - Fixed
cpflow-detect-release-phasefailing with a raw Ruby traceback when.controlplane/controlplane.ymlis missing. PR 299 by Justin Gordon. The generated composite action now exits with a clear missing-config message. - Fixed generated review-app delete workflows running
cpflow deletefrom the wrong checkout. PR 307 by Justin Gordon. The generated workflow checks out the downstream repository intoapp/and runs setup/delete from that working directory so.controlplane/controlplane.ymlis available. - Fixed
cleanup-stale-appsskipping image-less GVCs indefinitely. PR 310 by Justin Gordon. Image-less GVCs now fall back to the GVCcreatedtimestamp for stale-app detection, while GVCs missingcreatedare skipped instead of raising.
5.0.0.rc.1 - 2026-05-11
Breaking Changes
- BREAKING CHANGE: Bumped minimum Ruby version from 2.7.0 to 3.0.0. Users still on Ruby 2.7 must upgrade to Ruby 3.0 or newer before installing cpflow 5.x. PR 258 by Justin Gordon.
- BREAKING CHANGE:
cpflow existsnow returns exit code 3 when the app is not found, preserving 64 for real errors so scripts can distinguish not-found from API/auth failures. Affected callers: only scripts that branched specifically on[ $? -eq 64 ]as a "not found" signal — those will now misroute "not found" into the error branch and must switch to checking for exit 3. Scripts that treat any non-zero exit as "not found" are unaffected. The change is isolated tolib/command/exists.rbandlib/constants/exit_code.rb(NOT_FOUND = 3), so users hitting a regression can bisect by file. PR 278 by Justin Gordon. - BREAKING CHANGE:
cpflow generatenow writesbundle config set with 'production'in the generated Dockerfile, dropping the previous'staging production'group set. Apps that placed gems specifically under astaging:group in theirGemfile(e.g. APM agents, observability libraries that should ship to staging) must move those gems into theproduction:group before regenerating, or the regenerated Dockerfile will exclude them at install time. New scaffolds are unaffected. PR 278 by Justin Gordon.
Added
- Added the GitHub Actions flow generator and readiness checks for staging, review-app, and production-promotion workflows. PR 278 by Justin Gordon.
- Added
use-digest-image-ref(also configurable throughuse_digest_image_refincontrolplane.yml) option todeploy-imageandpromote-app-from-upstreamcommands. PR 249 by Zakir Dzhamaliddinov.
Changed
- Renamed the generated review-app PR comment commands to a namespaced
+review-app-*family. PR 285 by Justin Gordon./deploy-review-app→+review-app-deploy,/delete-review-app→+review-app-delete, and/help→+review-app-help. The+prefix avoids collision with GitHub's reserved slash-command surface and makes the three commands obviously part of one namespaced family. Repos that rancpflow generate-github-actionsagainst 5.0.0.rc.0 must regenerate the generated.github/workflows/cpflow-*.ymlfiles and.github/cpflow-help.md, then update saved instructions or runbooks. - Updated runtime dependencies:
dotenv(~> 2.8.1 →> 3.1),> 2.8.1 →jwt(> 3.1),> 5.1.0 →psych(> 5.2), and> 1.2.1 → ~> 1.4). PR 258 by Justin Gordon.thor(
4.2.0 - 2026-02-19
Added
- Suppress Node.js deprecation warnings from internal
cplncalls by settingNODE_NO_WARNINGS=1, producing cleaner cpflow output. PR 256 by Judah Meek.
Fixed
- Fixed issue where
runcommand could hang indefinitely when updating runner workload. PR 260 by Sergey Tarasov.
Security
- Redact sensitive data (Authorization headers, tokens) from
--traceoutput. PR 261 by Sergey Tarasov.
4.1.1 - 2025-03-14
Fixed
- Fixed issue where
ps,ps:start,ps:stop,ps:wait, andruncommands fail when trying to fetch replicas with CPLN CLI. PR 254 by Rafael Gomes.
4.1.0 - 2024-12-17
Fixed
- Fixed issue where
runcommand fails when runner workload has ENV but original workload does not. PR 227 by Rafael Gomes. - Fixed potential infinite loop that could occur for a command if one of the execution steps fails and gets stuck. PR 217 by Zakir Dzhamaliddinov.
- Fixed issue where app cannot be deleted because one of the workloads has a volumeset in-use. PR 245 by Zakir Dzhamaliddinov.
- Fixed
resolvmay be not properly required PR 250 by Sergey Tarasov.
Added
- Added
--docker-contextoption tobuild-imagecommand. PR 250 by Sergey Tarasov.
4.0.0 - 2024-08-21
Fixed
- Fixed issue where common options are not forwarded to other commands. PR 207 by Rafael Gomes.
- Fixed BYOK endpoint. PR 209 by Sergey Tarasov.
- Fixed issue where
generatecommand fails if no project config exists. PR 219 by Zakir Dzhamaliddinov. - Bumped min
cplnversion to3.1.0and fixedcpln workload execcalls. PR 226 by Rafael Gomes.
3.0.1 - 2024-06-26
Fixed
- Moved development dependencies to Gemfile and updated many of them. PR 208 by Justin Gordon.
3.0.0 - 2024-06-21
First release of cpflow.
2.2.4 - 2024-06-21
Deprecated cpl gem. New gem is cpflow.
2.2.1 - 2024-06-17
Fixed
- Fixed issue where latest image may be incorrect. PR 201 by Rafael Gomes.
- Fixed issue where
build-imagecommand hangs forever waiting for image to be available. PR 201 by Rafael Gomes.
2.2.0 - 2024-06-07
Fixed
- Fixed issue where
ps:waitcommand hangs forever if workloads are suspended. PR 198 by Rafael Gomes.
Added
- Added a timeout for
runjobs (6 hours by default, but configurable throughrunner_job_timeoutincontrolplane.yml). PR 194 by Rafael Gomes.
Changed
runcommand now overrides the--image,--cpu, and--memoryfor each job separately, which completely removes any race conditions when running simultaneous jobs with different overrides. PR 182 by Rafael Gomes.runjobs now use a CPU size of 1 (1 core) and a memory size of 2Gi (2 gibibytes) by default (configurable throughrunner_job_default_cpuandrunner_job_default_memoryincontrolplane.yml). PR 182 by Rafael Gomes.runcommand now keeps ENV values synced between original and runner workloads. PR 196 by Rafael Gomes.
2.1.0 - 2024-05-27
Fixed
- Fixed issue where release script was not running from the app image. PR 183 by Rafael Gomes.
- Fixed issue where deprecated options were not being warned. PR 183 by Rafael Gomes.
Added
- Added post-creation hook to
setup-appcommand (configurable throughhooks.post_creationincontrolplane.yml). PR 183 by Rafael Gomes. - Added pre-deletion hook to
deletecommand (configurable throughhooks.pre_deletionincontrolplane.yml). PR 183 by Rafael Gomes. - Added
doctorcommand to run validations. PR 185 by Rafael Gomes.
Changed
cpflownow setsCPLN_SKIP_UPDATE_CHECKtotruefor all internalcplncalls, which disables the version check and prevents cluttering the logs. PR 180 by Rafael Gomes.setup-appcommand now automatically creates a secret, policy, and identity for the app if they do not exist. The--skip-secrets-setupoption prevents this behavior. PR 181 by Rafael Gomes. PR 190 by Rafael Gomes.- Specific validations are now run before commands, and the command will exit with a non-zero code if any validation fails. Can be disabled by setting
DISABLE_VALIDATIONSenv var totrue. PR 185 by Rafael Gomes. - Deprecated the
--skip-secret-access-bindingoption in favor of--skip-secrets-setup. This can also now be configured throughskip_secrets_setupincontrolplane.ymlPR 190 by Rafael Gomes.
2.0.2 - 2024-05-18
- Fixed issue with improper handling of job statuses. Fixed issue with interactive magic string showing and exit code. PR 177 by Sergey Tarasov.
2.0.1 - 2024-05-16
Fixed
- Fixed issue where
cleanup-stale-appscommand fails to delete apps with volumesets. PR 175 by Rafael Gomes.
2.0.0 - 2024-05-15
BREAKING CHANGES
- Commands that finished with a failure now exit with code
64instead of1. PR 132 by Rafael Gomes. - Bumped minimum
cplnversion to2.0.1(cpln workload cron getis required). PR 171 by Rafael Gomes. run:cleanupcommand has been removed. PR 151 by Rafael Gomes.deploy-imagecommand now runs the release script in the context of theruncommand. PR 151 by Rafael Gomes.
Fixed
- Fixed race conditions when using latest image in
runcommand. PR 163 by Rafael Gomes.
Added
- Added options to
runcommand to override the workload container's--cpu,--memory, and--entrypoint. PR 151 by Rafael Gomes. - Added
--workloadoption todeletecommand to delete a specific workload. PR 151 by Rafael Gomes. - Added
--replicaoption tologscommand to see logs from a specific replica. PR 151 by Rafael Gomes. - Added
--replicaoption tops:stopcommand to stop a specific replica. PR 151 by Rafael Gomes. - Added option to set custom names for secrets and secrets policy, using
secrets_nameandsecrets_policy_nameincontrolplane.yml. PR 159 by Rafael Gomes.
Changed
- An error is now raised if the org does not exist. PR 167 by Rafael Gomes.
- Common options are now shown in help. PR 169 by Rafael Gomes.
runcommand now uses a single reusable cron workload and works for both interactive and non-interactive jobs. PR 151 by Rafael Gomes.run:detachedcommand has been deprecated in favor ofrun. PR 151 by Rafael Gomes.deploy-imagecommand now raises an error if image does not exist. PR 153 by Rafael Gomes.deletecommand now unbinds identity from policy (if bound) when deleting app. PR 170 by Rafael Gomes.
1.4.0 - 2024-03-21
Added
- Added new template substitution variables (used by
apply-templateandsetup-appcommands):{{APP_LOCATION_LINK}},{{APP_IMAGE_LINK}},{{APP_IDENTITY}},{{APP_IDENTITY_LINK}},{{APP_SECRETS}}and{{APP_SECRETS_POLICY}}. PR 146 by Rafael Gomes. - Added
--run-release-phaseoption todeploy-imagecommand to run release script before deploying (same step as inpromote-app-from-upstreamcommand). PR 146 by Rafael Gomes.
Changed
- Template substitution (used by
apply-templateandsetup-appcommands) now uses double braces (e.g.,APP_ORG->{{APP_ORG}}). This change is backwards compatible. PR 146 by Rafael Gomes. - Renamed template substitution variable
APP_GVCto{{APP_NAME}}(used byapply-templateandsetup-appcommands). This change is backwards compatible. PR 146 by Rafael Gomes. setup-appcommand now automatically binds the app to the secrets policy, as long as both the identity and the policy exist. Added--skip-secret-access-bindingoption to prevent this behavior. PR 146 by Rafael Gomes.- Local API token is now refreshed when it is about to expire. PR 146 by Rafael Gomes.
apply-templatecommand now exits with non-zero code if failed to apply any templates. PR 146 by Rafael Gomes.
1.3.0 - 2024-03-19
Fixed
- Fixed issue where cpln profile was not switched back to
defaultif an error happened while runningcopy-image-from-upstreamcommand. PR 135 by Rafael Gomes. - Fixed issue that didn't allow using upstream with
match_if_app_name_starts_withset totrueincopy-image-from-upstreamcommand. PR 136 by Rafael Gomes.
Added
- Added
--no-clean-on-failureoption torun:detachedcommand to skip deletion of failed workload run. PR 133 by Justin Gordon and Rafael Gomes. - Added
--domainoption tomaintenance,maintenance:onandmaintenance:offcommands. PR 131 by Rafael Gomes. - Added
default_domainconfig to specify domain formaintenance,maintenance:onandmaintenance:offcommands. PR 131 by Rafael Gomes. - Added option to specify upstream for
copy-image-from-upstreamcommand throughCPLN_UPSTREAMenv var. PR 138 by Rafael Gomes.
Changed
build-imagecommand now accepts extra options and passes them todocker build. PR 126 by Rafael Gomes.CPLN_ORG_UPSTREAMenv var now takes precedence over config fromcontrolplane.ymlincopy-image-from-upstreamcommand. PR 137 by Rafael Gomes.infocommand now works properly for apps withmatch_if_app_name_starts_withset totrue.PR 139 by Rafael Gomes.infocommand now lists workloads in the same order ascontrolplane.yml. PR 139 by Rafael Gomes.- Improved domain workload matching for
maintenance,maintenance:onandmaintenance:offcommands (instead of matching only by workload, it now matches by org + app + workload, which is more accurate). PR 140 by Rafael Gomes.
1.2.0 - 2024-01-04
Fixed
- Fixed issue where
infocommand does not respectCPLN_ORGenv var. PR 88 by Rafael Gomes. - Fixed issues with running
cpflow --versionandcpflow --helpwhere no configuration file exists. PR 109 by Mostafa Ahangarha. - Fixed issue where
deletecommand fails to delete apps with volumesets. PR 123 by Rafael Gomes.
Added
- Added
--orgoption to all commands. PR 88 by Rafael Gomes. - Added option to set the app with a
CPLN_APPenv var. PR 88 by Rafael Gomes. - Show
organdappon every command excludinginfo,version,maintenance,env,ps, andlatest_image. PR 94 by Mostafa Ahangarha. - Added option to only use
CPLN_ORGandCPLN_APPenv vars ifallow_org_override_by_envandallow_app_override_by_envconfigs are set totrueincontrolplane.yml. PR 109 by Rafael Gomes. - Added
CPLN_LOCATIONenv variable and--locationoption forapply-template,ps,run,run:detached. PR 105 by Mostafa Ahangarha. - Added
generatecommand for creating basic Control Plane configuration directory. PR 116 by Mostafa Ahangarhga. - Added
--traceoption to all commands for more detailed logs. PR 124 by Justin Gordon. - Added better error message to check the org name in case of a 403 error. PR 124 by Justin Gordon.
Changed
--orgoption now takes precedence overCPLN_ORGenv var, which takes precedence overcpln_orgfromcontrolplane.yml. PR 88 by Rafael Gomes.- Renamed
setupconfig intosetup_app_templates. PR 112 by Mostafa Ahangarha.
1.1.2 - 2023-10-25
Fixed
- Fixed failed build on MacOS by adding platform flag and fixed multiple files in yaml document for template. PR 81 by Justin Gordon.
Added
- Added
open-consolecommand to open the app console on Control Plane. PR 83 by Rafael Gomes. - Added option to set the org with a
CPLN_ORG/CPLN_ORG_UPSTREAMenv var. PR 83 by Rafael Gomes. - Added
--verboseoption to all commands for more detailed logs. PR 83 by Rafael Gomes.
Changed
- Calling
cpflowwith no command now shows the help menu. PR 83 by Rafael Gomes.
1.1.1 - 2023-09-21
Fixed
- Fixed issue where API token is not reset when switching profile. PR 77 by Rafael Gomes.
1.1.0 - 2023-09-20
Fixed
- Fixed issue where
copy-image-from-upstreamcommand does not copy commit. PR 70 by Rafael Gomes. - Fixed issue where an error is not raised if the app is not defined. PR 73 by Rafael Gomes.
- Fixed issue where
CPLN_ENDPOINTis not used if available. PR 75 by Rafael Gomes.
Added
- Added
image_retention_max_qtyconfig to clean up images based on max quantity withcleanup-imagescommand. PR 72 by Rafael Gomes.
Changed
- Updated docs for
runcommands regarding passing arguments at the end. PR 71 by Rafael Gomes. - Renamed
cleanup-old-imagescommand tocleanup-images. PR 72 by Rafael Gomes. - Renamed
old_image_retention_daysconfig toimage_retention_days. PR 72 by Rafael Gomes.
1.0.4 - 2023-07-24
Fixed
- Fixed issue where
runcommands fail when not providing image. PR 68 by Rafael Gomes.
1.0.3 - 2023-07-07
Fixed
- Fixed
runcommands when specifying image. PR 62 by Rafael Gomes. - Fixed
run:cleanupcommand for non-interactive workloads. PR 63 by Rafael Gomes. - Fixed
run:cleanupcommand for all apps that start with name. PR 64 by Rafael Gomes. - Fixed
cleanup-old-imagescommand for all apps that start with name. PR 65 by Rafael Gomes. - Fixed
--helpoption. PR 66 by Rafael Gomes.
Added
- Added
--use-local-tokenoption torun:detachedcommand. PR 61 by Rafael Gomes.
1.0.2 - 2023-07-02
Added
- Added steps to migrate to docs. PR 57 by Rafael Gomes.
- Added
ps:waitcommand. PR 58 by Rafael Gomes.
1.0.1 - 2023-06-28
Fixed
- Fixed
cleanup-stale-appscommand when app does not have image. PR 55 by Rafael Gomes.
Changed
- Improved docs. PR 50 by Rafael Gomes.
1.0.0 - 2023-05-29
First release.