- Change minimum supported version of python: 3.11 (drop 3.7, 3.8, 3.9, 3.10)
- chore(ci): upgrade requirements, test for python 3.12
- tests: e2e: apply expecteddeploymentscales CRD from wiremind helm chart repository
- Make log clearer when PG is not ready for migrations.
## v4.3.3 (2023-07-13)
- sql-alchemy: update deprecated functions
## v4.3.2 (2023-05-11)
- Do not log almbic migrations log in clear
- setup.py: do not pin major versions of alembic/psycopg2 dependencies.
- Upgrade recommended requirements.txt (actually only used for unit/e2e testing).
- Support Kube
HPAScaleToZero
feature gate, see here for more details.
- Added an environment variable
CHARTREUSE_ALEMBIC_CONFIG_FILE_PATH
to customise alembic configuration file path
- Correctly add mypy support
- Added a basic .gitignore file for python projects
- Added an environment variable
CHARTREUSE_ALEMBIC_DIRECTORY_PATH
to customise alembic directory path
- Test python 3.10 in CI.
- fix: upgrade wiremind-kubernetes to ignore failed (like Evicted) Pods when stop-pods.
- setup.py: require wiremind-kubernetes>=6.3.2 that itself requires kubernetes>=18.
- Drop eslembic support
- drop wiremind.fr CRD
- Avoid logging the PG password when
sed
ing alembic.ini.
- Open source
- Add support for PG clusters managed by postgres-operator (Patroni PG):
- Wait for the PG cluster to be configured before running the migrations.
- When Alembic run migrations against a Patroni PG, the owner Role should be set.
- ensure_safe_run: Support more sem versions.
- Upgrade dependencies
- Check the compatibility between Chartreuse's python package version and Chartreuse's Helm Chart version. Raise if the versions are not compatible.
- helm-chart: Deprecate
.Values.runMigrationInPreDeployment
, use.Values.upgradeBeforeDeployment
instead.
- Make it possible to control the upgradeJobs execution order (via
.Values.upgradeJobWeight
) in the case of multiple Chartreuses running. The upgradeJobs will be executed in weighted order.
- Uses logger instead of print in eslembic_migration_helper and alembic_migration_helper.
- helm-chart: Add
.Chart.Name
to the Job name to be able to use Chartreuse chart multiple times on a umbrella chart alembic.additionalParameters
will also be passed toalembic current
- ensure_safe_run now allows running Chartreuse inside a Chart with a different patch version
- Be less agressive even if this allows users to upgrade the package without upgrading the Chart.
- Add the possibility to specify a priorityClassName for the pods chartreuse launches
- Check the compatibility between Chartreuse's package version and Chartreuse's Helm Chart version.
- Chartreuse now runs on Python >=3.7.0
- attribute error when ES upgrade/migration is not wanted.
- unify
.Values.runMigrationInPreDeployment
and.Values.upgradeBeforeDeployment
with backward compatibility..Values.runMigrationInPreDeployment
will be deprecated in the next major version.
- Add the appropriate roles to support interacting with wiremind.fr's EDSs. See wiremind-kubernetes==5.1.0's ChangeLog.
- helm: move most alembic/eslembic parameters to eslembic and alembic prefix.
- Rename most environment variables used by chartreuse.
- Remove pre-deployment job that stop-pods before deployment, since helm 3 will re-start them anyway.
- Chartreuse: add a upgradeBeforeDeployment value allowing to move chartreuse migration to pre-deployment instead of post-deployment, false by default. Note that in such case, a deployment failure may cause new database schema version but old code to be on the environment (you may want to disable helmDefaults.atomic parameter in helmfile.yaml of your project)
- Chartreuse: Allow to keep pods started and not do stop-pods.
- alembic: allow to give additional parameters to alembic.
- eslembic: Split eslembic upgrade to eslembic upgrade and eslembic migrate as a post job
- eslembic: allow to enable eslembic upgrade through
eslembic.upgrade.enabled
value - helm: Add
additionalEnvironmentVariables
parameter to inject envvars into Chartreuse Pods. - helm: Add support for built-in secret.
- helm: delete all roles, serviceaccounts, secrets, configmap after success
- helm: delete post-rollback job that is useless with helm 3
- Upgrade to eslembic v6.x.x
- Set terminationGracePeriodSeconds: 0 in all jobs.
Please note that python code and helm chart versions are now synchronized.
- Drop python 3.5.
- Add CHARTREUSE_ESLEMBIC_ENABLE_CLEAN environment variable to clean index (wiremind.chartreuse.eslembic.cleanIndex variable in helm).
- Upgrade eslembic to v5.0.1
- Factor run_command helper, allowing to have live output printing.
- Helm chart: enable RBACs