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.
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.
Changes since the last non-beta release.
Please add entries here for your pull requests that have not yet been released.
4.1.0 - 2024-12-17
- Fixed issue where
run
command 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
resolv
may be not properly required PR 250 by Sergey Tarasov.
- Added
--docker-context
option tobuild-image
command. PR 250 by Sergey Tarasov.
4.0.0 - 2024-08-21
- 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
generate
command fails if no project config exists. PR 219 by Zakir Dzhamaliddinov. - Bumped min
cpln
version to3.1.0
and fixedcpln workload exec
calls. PR 226 by Rafael Gomes.
3.0.1 - 2024-06-26
- 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 issue where latest image may be incorrect. PR 201 by Rafael Gomes.
- Fixed issue where
build-image
command hangs forever waiting for image to be available. PR 201 by Rafael Gomes.
2.2.0 - 2024-06-07
- Fixed issue where
ps:wait
command hangs forever if workloads are suspended. PR 198 by Rafael Gomes.
- Added a timeout for
run
jobs (6 hours by default, but configurable throughrunner_job_timeout
incontrolplane.yml
). PR 194 by Rafael Gomes.
run
command now overrides the--image
,--cpu
, and--memory
for each job separately, which completely removes any race conditions when running simultaneous jobs with different overrides. PR 182 by Rafael Gomes.run
jobs now use a CPU size of 1 (1 core) and a memory size of 2Gi (2 gibibytes) by default (configurable throughrunner_job_default_cpu
andrunner_job_default_memory
incontrolplane.yml
). PR 182 by Rafael Gomes.run
command now keeps ENV values synced between original and runner workloads. PR 196 by Rafael Gomes.
2.1.0 - 2024-05-27
- 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 post-creation hook to
setup-app
command (configurable throughhooks.post_creation
incontrolplane.yml
). PR 183 by Rafael Gomes. - Added pre-deletion hook to
delete
command (configurable throughhooks.pre_deletion
incontrolplane.yml
). PR 183 by Rafael Gomes. - Added
doctor
command to run validations. PR 185 by Rafael Gomes.
cpflow
now setsCPLN_SKIP_UPDATE_CHECK
totrue
for all internalcpln
calls, which disables the version check and prevents cluttering the logs. PR 180 by Rafael Gomes.setup-app
command now automatically creates a secret, policy, and identity for the app if they do not exist. The--skip-secrets-setup
option 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_VALIDATIONS
env var totrue
. PR 185 by Rafael Gomes. - Deprecated the
--skip-secret-access-binding
option in favor of--skip-secrets-setup
. This can also now be configured throughskip_secrets_setup
incontrolplane.yml
PR 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 issue where
cleanup-stale-apps
command fails to delete apps with volumesets. PR 175 by Rafael Gomes.
2.0.0 - 2024-05-15
- Commands that finished with a failure now exit with code
64
instead of1
. PR 132 by Rafael Gomes. - Bumped minimum
cpln
version to2.0.1
(cpln workload cron get
is required). PR 171 by Rafael Gomes. run:cleanup
command has been removed. PR 151 by Rafael Gomes.deploy-image
command now runs the release script in the context of therun
command. PR 151 by Rafael Gomes.
- Fixed race conditions when using latest image in
run
command. PR 163 by Rafael Gomes.
- Added options to
run
command to override the workload container's--cpu
,--memory
, and--entrypoint
. PR 151 by Rafael Gomes. - Added
--workload
option todelete
command to delete a specific workload. PR 151 by Rafael Gomes. - Added
--replica
option tologs
command to see logs from a specific replica. PR 151 by Rafael Gomes. - Added
--replica
option tops:stop
command to stop a specific replica. PR 151 by Rafael Gomes. - Added option to set custom names for secrets and secrets policy, using
secrets_name
andsecrets_policy_name
incontrolplane.yml
. PR 159 by Rafael Gomes.
- 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.
run
command now uses a single reusable cron workload and works for both interactive and non-interactive jobs. PR 151 by Rafael Gomes.run:detached
command has been deprecated in favor ofrun
. PR 151 by Rafael Gomes.deploy-image
command now raises an error if image does not exist. PR 153 by Rafael Gomes.delete
command now unbinds identity from policy (if bound) when deleting app. PR 170 by Rafael Gomes.
1.4.0 - 2024-03-21
- Added new template substitution variables (used by
apply-template
andsetup-app
commands):{{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-phase
option todeploy-image
command to run release script before deploying (same step as inpromote-app-from-upstream
command). PR 146 by Rafael Gomes.
- Template substitution (used by
apply-template
andsetup-app
commands) 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_GVC
to{{APP_NAME}}
(used byapply-template
andsetup-app
commands). This change is backwards compatible. PR 146 by Rafael Gomes. setup-app
command now automatically binds the app to the secrets policy, as long as both the identity and the policy exist. Added--skip-secret-access-binding
option 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-template
command now exits with non-zero code if failed to apply any templates. PR 146 by Rafael Gomes.
1.3.0 - 2024-03-19
- Fixed issue where cpln profile was not switched back to
default
if an error happened while runningcopy-image-from-upstream
command. PR 135 by Rafael Gomes. - Fixed issue that didn't allow using upstream with
match_if_app_name_starts_with
set totrue
incopy-image-from-upstream
command. PR 136 by Rafael Gomes.
- Added
--no-clean-on-failure
option torun:detached
command to skip deletion of failed workload run. PR 133 by Justin Gordon and Rafael Gomes. - Added
--domain
option tomaintenance
,maintenance:on
andmaintenance:off
commands. PR 131 by Rafael Gomes. - Added
default_domain
config to specify domain formaintenance
,maintenance:on
andmaintenance:off
commands. PR 131 by Rafael Gomes. - Added option to specify upstream for
copy-image-from-upstream
command throughCPLN_UPSTREAM
env var. PR 138 by Rafael Gomes.
build-image
command now accepts extra options and passes them todocker build
. PR 126 by Rafael Gomes.CPLN_ORG_UPSTREAM
env var now takes precedence over config fromcontrolplane.yml
incopy-image-from-upstream
command. PR 137 by Rafael Gomes.info
command now works properly for apps withmatch_if_app_name_starts_with
set totrue
.PR 139 by Rafael Gomes.info
command now lists workloads in the same order ascontrolplane.yml
. PR 139 by Rafael Gomes.- Improved domain workload matching for
maintenance
,maintenance:on
andmaintenance:off
commands (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 issue where
info
command does not respectCPLN_ORG
env var. PR 88 by Rafael Gomes. - Fixed issues with running
cpflow --version
andcpflow --help
where no configuration file exists. PR 109 by Mostafa Ahangarha. - Fixed issue where
delete
command fails to delete apps with volumesets. PR 123 by Rafael Gomes.
- Added
--org
option to all commands. PR 88 by Rafael Gomes. - Added option to set the app with a
CPLN_APP
env var. PR 88 by Rafael Gomes. - Show
org
andapp
on every command excludinginfo
,version
,maintenance
,env
,ps
, andlatest_image
. PR 94 by Mostafa Ahangarha. - Added option to only use
CPLN_ORG
andCPLN_APP
env vars ifallow_org_override_by_env
andallow_app_override_by_env
configs are set totrue
incontrolplane.yml
. PR 109 by Rafael Gomes. - Added
CPLN_LOCATION
env variable and--location
option forapply-template
,ps
,run
,run:detached
. PR 105 by Mostafa Ahangarha. - Added
generate
command for creating basic Control Plane configuration directory. PR 116 by Mostafa Ahangarhga. - Added
--trace
option 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.
--org
option now takes precedence overCPLN_ORG
env var, which takes precedence overcpln_org
fromcontrolplane.yml
. PR 88 by Rafael Gomes.- Renamed
setup
config intosetup_app_templates
. PR 112 by Mostafa Ahangarha.
1.1.2 - 2023-10-25
- Fixed failed build on MacOS by adding platform flag and fixed multiple files in yaml document for template. PR 81 by Justin Gordon.
- Added
open-console
command 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_UPSTREAM
env var. PR 83 by Rafael Gomes. - Added
--verbose
option to all commands for more detailed logs. PR 83 by Rafael Gomes.
- Calling
cpflow
with no command now shows the help menu. PR 83 by Rafael Gomes.
1.1.1 - 2023-09-21
- Fixed issue where API token is not reset when switching profile. PR 77 by Rafael Gomes.
1.1.0 - 2023-09-20
- Fixed issue where
copy-image-from-upstream
command 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_ENDPOINT
is not used if available. PR 75 by Rafael Gomes.
- Added
image_retention_max_qty
config to clean up images based on max quantity withcleanup-images
command. PR 72 by Rafael Gomes.
- Updated docs for
run
commands regarding passing arguments at the end. PR 71 by Rafael Gomes. - Renamed
cleanup-old-images
command tocleanup-images
. PR 72 by Rafael Gomes. - Renamed
old_image_retention_days
config toimage_retention_days
. PR 72 by Rafael Gomes.
1.0.4 - 2023-07-24
- Fixed issue where
run
commands fail when not providing image. PR 68 by Rafael Gomes.
1.0.3 - 2023-07-07
- Fixed
run
commands when specifying image. PR 62 by Rafael Gomes. - Fixed
run:cleanup
command for non-interactive workloads. PR 63 by Rafael Gomes. - Fixed
run:cleanup
command for all apps that start with name. PR 64 by Rafael Gomes. - Fixed
cleanup-old-images
command for all apps that start with name. PR 65 by Rafael Gomes. - Fixed
--help
option. PR 66 by Rafael Gomes.
- Added
--use-local-token
option torun:detached
command. PR 61 by Rafael Gomes.
1.0.2 - 2023-07-02
- Added steps to migrate to docs. PR 57 by Rafael Gomes.
- Added
ps:wait
command. PR 58 by Rafael Gomes.
1.0.1 - 2023-06-28
- Fixed
cleanup-stale-apps
command when app does not have image. PR 55 by Rafael Gomes.
- Improved docs. PR 50 by Rafael Gomes.
1.0.0 - 2023-05-29
First release.