From 710ed878e3d20f8170544894c4db5c1176e2d149 Mon Sep 17 00:00:00 2001 From: Ben Rometsch Date: Tue, 18 Jun 2024 17:14:04 +0100 Subject: [PATCH 01/45] fix: scarf image formatting (#4178) --- docs/docusaurus.config.js | 10 ---------- docs/src/theme/Footer/Copyright/index.js | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 docs/src/theme/Footer/Copyright/index.js diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 875be0155e4f..6f2a0b48ea5b 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -202,16 +202,6 @@ const config = { swaggerURL: '/api-static/edge-api.yaml', }, - headTags: [ - { - tagName: 'img', - attributes: { - src: 'https://static.scarf.sh/a.png?x-pxid=3bd13eaa-d37d-454b-b503-322643e72574', - referrerpolicy: 'no-referrer-when-downgrade', - }, - }, - ], - presets: [ [ 'classic', diff --git a/docs/src/theme/Footer/Copyright/index.js b/docs/src/theme/Footer/Copyright/index.js new file mode 100644 index 000000000000..29d5da47b1ca --- /dev/null +++ b/docs/src/theme/Footer/Copyright/index.js @@ -0,0 +1,17 @@ +import React from 'react'; +export default function FooterCopyright({ copyright }) { + return ( +
+
+ +
+ ); +} From 17782bdc39ba010e3e823bf2b7f89f20b61d3234 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 18 Jun 2024 21:26:58 +0100 Subject: [PATCH 02/45] fix: Stale connections after task processor errors (#4179) --- api/task_processor/threads.py | 6 +++--- .../unit/task_processor/test_unit_task_processor_threads.py | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/api/task_processor/threads.py b/api/task_processor/threads.py index a3838a3310ca..b9a3a2d7241a 100644 --- a/api/task_processor/threads.py +++ b/api/task_processor/threads.py @@ -1,8 +1,8 @@ import logging import time -import traceback from threading import Thread +from django.db import close_old_connections from django.utils import timezone from task_processor.processor import run_recurring_tasks, run_tasks @@ -42,8 +42,8 @@ def run_iteration(self) -> None: # TODO: is this also what is causing tasks to get stuck as locked? Can we unlock # tasks here? - logger.error("Received error retrieving tasks: %s.", e) - logger.debug(traceback.format_exc()) + logger.error("Received error retrieving tasks: %s.", e, exc_info=e) + close_old_connections() def stop(self): self._stopped = True diff --git a/api/tests/unit/task_processor/test_unit_task_processor_threads.py b/api/tests/unit/task_processor/test_unit_task_processor_threads.py index 2957489c8448..09bc1f63ceef 100644 --- a/api/tests/unit/task_processor/test_unit_task_processor_threads.py +++ b/api/tests/unit/task_processor/test_unit_task_processor_threads.py @@ -33,13 +33,10 @@ def test_task_runner_is_resilient_to_errors( task_runner.run_iteration() # Then - assert len(caplog.records) == 2 + assert len(caplog.records) == 1 assert caplog.records[0].levelno == logging.ERROR assert ( caplog.records[0].message == f"Received error retrieving tasks: {exception_message}." ) - - assert caplog.records[1].levelno == logging.DEBUG - assert caplog.records[1].message.startswith("Traceback") From bcd4621f5e540c12d82330df0a48fa0c6cd05d85 Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Wed, 19 Jun 2024 08:35:09 +0100 Subject: [PATCH 03/45] chore(task-processor): add better logging for failed tasks (#4186) --- api/task_processor/processor.py | 10 +++++- .../test_unit_task_processor_processor.py | 32 ++++++++++++++++--- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/api/task_processor/processor.py b/api/task_processor/processor.py index a920be53cb06..c150e68ccb3c 100644 --- a/api/task_processor/processor.py +++ b/api/task_processor/processor.py @@ -99,7 +99,15 @@ def _run_task(task: typing.Union[Task, RecurringTask]) -> typing.Tuple[Task, Tas task_run.finished_at = timezone.now() task.mark_success() except Exception as e: - logger.warning(e) + logger.warning( + "Failed to execute task '%s'. Exception was: %s", + task.task_identifier, + str(e), + exc_info=True, + ) + logger.debug("args: %s", str(task.args)) + logger.debug("kwargs: %s", str(task.kwargs)) + task.mark_failure() task_run.result = TaskResult.FAILURE diff --git a/api/tests/unit/task_processor/test_unit_task_processor_processor.py b/api/tests/unit/task_processor/test_unit_task_processor_processor.py index 749c63b1a90a..a6c8dee30301 100644 --- a/api/tests/unit/task_processor/test_unit_task_processor_processor.py +++ b/api/tests/unit/task_processor/test_unit_task_processor_processor.py @@ -208,9 +208,18 @@ def _a_task(): ) -def test_run_task_runs_task_and_creates_task_run_object_when_failure(db): +def test_run_task_runs_task_and_creates_task_run_object_when_failure( + db: None, caplog: pytest.LogCaptureFixture +) -> None: # Given - task = Task.create(_raise_exception.task_identifier, scheduled_for=timezone.now()) + task_processor_logger = logging.getLogger("task_processor") + task_processor_logger.propagate = True + task_processor_logger.level = logging.DEBUG + + msg = "Error!" + task = Task.create( + _raise_exception.task_identifier, args=(msg,), scheduled_for=timezone.now() + ) task.save() # When @@ -227,6 +236,21 @@ def test_run_task_runs_task_and_creates_task_run_object_when_failure(db): task.refresh_from_db() assert not task.completed + assert len(caplog.records) == 3 + + warning_log = caplog.records[0] + assert warning_log.levelname == "WARNING" + assert warning_log.message == ( + f"Failed to execute task '{task.task_identifier}'. Exception was: {msg}" + ) + + debug_log_args, debug_log_kwargs = caplog.records[1:] + assert debug_log_args.levelname == "DEBUG" + assert debug_log_args.message == f"args: ['{msg}']" + + assert debug_log_kwargs.levelname == "DEBUG" + assert debug_log_kwargs.message == "kwargs: {}" + def test_run_task_runs_failed_task_again(db): # Given @@ -438,8 +462,8 @@ def _create_organisation(name: str): @register_task_handler() -def _raise_exception(): - raise Exception() +def _raise_exception(msg: str): + raise Exception(msg) @register_task_handler() From 319708c1f2ac8ae5f4e8c1208e9cceab0f939552 Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Wed, 19 Jun 2024 09:25:52 +0100 Subject: [PATCH 04/45] fix: not serializable arguments when calling environment feature version webhooks (#4187) --- api/features/versioning/tasks.py | 2 +- .../unit/features/versioning/test_unit_versioning_tasks.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/features/versioning/tasks.py b/api/features/versioning/tasks.py index a16224b49955..c4e8ba147d12 100644 --- a/api/features/versioning/tasks.py +++ b/api/features/versioning/tasks.py @@ -132,7 +132,7 @@ def trigger_update_version_webhooks(environment_feature_version_uuid: str) -> No call_environment_webhooks( environment=environment_feature_version.environment_id, data=data, - event_type=WebhookEventType.NEW_VERSION_PUBLISHED, + event_type=WebhookEventType.NEW_VERSION_PUBLISHED.value, ) diff --git a/api/tests/unit/features/versioning/test_unit_versioning_tasks.py b/api/tests/unit/features/versioning/test_unit_versioning_tasks.py index ee6f56f82f5f..23178455551c 100644 --- a/api/tests/unit/features/versioning/test_unit_versioning_tasks.py +++ b/api/tests/unit/features/versioning/test_unit_versioning_tasks.py @@ -170,7 +170,7 @@ def test_trigger_update_version_webhooks( } ], }, - event_type=WebhookEventType.NEW_VERSION_PUBLISHED, + event_type=WebhookEventType.NEW_VERSION_PUBLISHED.value, ) From c69ac3942e6f436d0fc8a133b1e41f08e516a754 Mon Sep 17 00:00:00 2001 From: Ben Rometsch Date: Wed, 19 Jun 2024 15:12:15 +0100 Subject: [PATCH 05/45] chore(main): release 2.123.1 (#4183) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 9 +++++++++ version.txt | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 51a24a588c10..b0435106bae7 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.123.0" + ".": "2.123.1" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index aa0eb3c77e45..0e3d4f220fee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [2.123.1](https://github.com/Flagsmith/flagsmith/compare/v2.123.0...v2.123.1) (2024-06-19) + + +### Bug Fixes + +* not serializable arguments when calling environment feature version webhooks ([#4187](https://github.com/Flagsmith/flagsmith/issues/4187)) ([319708c](https://github.com/Flagsmith/flagsmith/commit/319708c1f2ac8ae5f4e8c1208e9cceab0f939552)) +* scarf image formatting ([#4178](https://github.com/Flagsmith/flagsmith/issues/4178)) ([710ed87](https://github.com/Flagsmith/flagsmith/commit/710ed878e3d20f8170544894c4db5c1176e2d149)) +* Stale connections after task processor errors ([#4179](https://github.com/Flagsmith/flagsmith/issues/4179)) ([17782bd](https://github.com/Flagsmith/flagsmith/commit/17782bdc39ba010e3e823bf2b7f89f20b61d3234)) + ## [2.123.0](https://github.com/Flagsmith/flagsmith/compare/v2.122.0...v2.123.0) (2024-06-18) diff --git a/version.txt b/version.txt index bef06dbf6dcc..d8ad65df5b83 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.123.0 +2.123.1 From 3b4e1ee8131f7a95c1231bf6ec824c765aae28f7 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Wed, 19 Jun 2024 16:14:12 +0100 Subject: [PATCH 06/45] deps: Bump Poetry version (#4191) --- api/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/Makefile b/api/Makefile index 9bcc5ec18588..b7ef54c76b2c 100644 --- a/api/Makefile +++ b/api/Makefile @@ -7,7 +7,7 @@ COMPOSE_PROJECT_NAME ?= flagsmith DOTENV_OVERRIDE_FILE ?= .env -POETRY_VERSION ?= 1.8.2 +POETRY_VERSION ?= 1.8.3 GUNICORN_LOGGER_CLASS ?= util.logging.GunicornJsonCapableLogger From 8d46e06a3c34b2b38f21ed6d3901f7229bdc0cdc Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Wed, 19 Jun 2024 17:51:11 +0100 Subject: [PATCH 07/45] docs: Add new Edge Proxy logging settings (#4194) --- .../deployment/hosting/locally-edge-proxy.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/docs/docs/deployment/hosting/locally-edge-proxy.md b/docs/docs/deployment/hosting/locally-edge-proxy.md index 135c7fdf2ab0..38035b4d17ba 100644 --- a/docs/docs/deployment/hosting/locally-edge-proxy.md +++ b/docs/docs/deployment/hosting/locally-edge-proxy.md @@ -151,6 +151,84 @@ Set a name used for human-readable log entry field when logging events in JSON. "logging": {"log_event_field_name": "event"} ``` +### `logging.colour` + +:::note + +- Added in [2.13.0](https://github.com/Flagsmith/edge-proxy/releases/tag/v2.13.0). +- This setting is optional. + +::: + +Set to `false` to disable coloured output. Useful when outputting the log to a file. + +### `logging.override` + +:::note + +- Added in [2.13.0](https://github.com/Flagsmith/edge-proxy/releases/tag/v2.13.0). +- This setting is optional. + +::: + +Accepts +[Python-compatible logging settings](https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema) +in JSON format. You're able to define custom formatters, handlers and logger configurations. For example, to log +everything a file, one can set up own file handler and assign it to the root logger: + +```json +"logging": { + "override": { + "handlers": { + "file": { + "level": "INFO", + "class": "logging.FileHandler", + "filename": "edge-proxy.log", + "formatter": "json" + } + }, + "loggers": { + "": { + "handlers": ["file"], + "level": "INFO", + "propagate": true + } + } + } +} +``` + +Or, log access logs to file in generic format while logging everything else to stdout in json: + +```json +"logging": { + "override": { + "handlers": { + "file": { + "level": "INFO", + "class": "logging.FileHandler", + "filename": "edge-proxy.log", + "formatter": "generic" + } + }, + "loggers": { + "": { + "handlers": ["default"], + "level": "INFO" + }, + "uvicorn.access": { + "handlers": ["file"], + "level": "INFO", + "propagate": false + } + } + } +} +``` + +When adding logger configurations, you can use the `"default"` handler which writes to stdout and uses formatter +specified by the [`"logging.log_format"`](#logginglog_format) setting. + ### `config.json` example Here's an example of a minimal working Edge Proxy configuration: From 6bf9858ce23400445a3ace960acf78123141cdf0 Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Thu, 20 Jun 2024 07:58:14 +0100 Subject: [PATCH 08/45] fix: Preserve selected environment (#4190) --- frontend/web/components/App.js | 22 ++++++++------ frontend/web/components/pages/HomeAside.tsx | 32 +++++++++------------ 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/frontend/web/components/App.js b/frontend/web/components/App.js index 6df452e5e766..d9e9ee6da288 100644 --- a/frontend/web/components/App.js +++ b/frontend/web/components/App.js @@ -103,15 +103,19 @@ const App = class extends Component { this.listenTo(AccountStore, 'change', this.getOrganisationUsage) this.getOrganisationUsage() window.addEventListener('scroll', this.handleScroll) - AsyncStorage.getItem('lastEnv').then((res) => { - if (res) { - const lastEnv = JSON.parse(res) - this.setState({ - lastEnvironmentId: lastEnv.environmentId, - lastProjectId: lastEnv.projectId, - }) - } - }) + const updateLastViewed = () => { + AsyncStorage.getItem('lastEnv').then((res) => { + if (res) { + const lastEnv = JSON.parse(res) + this.setState({ + lastEnvironmentId: lastEnv.environmentId, + lastProjectId: lastEnv.projectId, + }) + } + }) + } + this.props.history.listen(updateLastViewed) + updateLastViewed() } getOrganisationUsage = () => { diff --git a/frontend/web/components/pages/HomeAside.tsx b/frontend/web/components/pages/HomeAside.tsx index 2f777f06123e..f870d15fecae 100644 --- a/frontend/web/components/pages/HomeAside.tsx +++ b/frontend/web/components/pages/HomeAside.tsx @@ -113,11 +113,20 @@ const HomeAside: FC = ({ }} onChange={(newEnvironmentId) => { if (newEnvironmentId !== environmentId) { - history.push( - `${document.location.pathname}${ - document.location.search || '' - }`.replace(environmentId, newEnvironmentId), - ) + AsyncStorage.setItem( + 'lastEnv', + JSON.stringify({ + environmentId: newEnvironmentId, + orgId: AccountStore.getOrganisation().id, + projectId: projectId, + }), + ).finally(() => { + history.push( + `${document.location.pathname}${ + document.location.search || '' + }`.replace(environmentId, newEnvironmentId), + ) + }) } }} /> @@ -262,19 +271,6 @@ const HomeAside: FC = ({ projectId={projectId} environmentId={environmentId} clearableValue={false} - onChange={(environment: string) => { - history.push( - `/project/${projectId}/environment/${environment}/features`, - ) - AsyncStorage.setItem( - 'lastEnv', - JSON.stringify({ - environmentId: environment, - orgId: AccountStore.getOrganisation().id, - projectId: projectId, - }), - ) - }} />
) From 842494e76c037d7f74fcf146bd790e12a1c7d7dc Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Thu, 20 Jun 2024 08:50:59 +0100 Subject: [PATCH 09/45] docs: fix Edge Proxy docker compose ports definition (#4193) --- docs/docs/deployment/hosting/locally-edge-proxy.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/docs/deployment/hosting/locally-edge-proxy.md b/docs/docs/deployment/hosting/locally-edge-proxy.md index 38035b4d17ba..a46fb099193b 100644 --- a/docs/docs/deployment/hosting/locally-edge-proxy.md +++ b/docs/docs/deployment/hosting/locally-edge-proxy.md @@ -274,7 +274,6 @@ docker run \ ### With docker compose ```yml -version: '3.9' services: edge_proxy: image: flagsmith/edge-proxy:latest @@ -283,8 +282,7 @@ services: source: ./config.json target: /app/config.json ports: - - target: 8000 - - published: 8000 + - "8000:8000" ``` The Proxy is now running and available on port 8000. From 3013d5779ed9196114b6371e28c06f9bda0c5683 Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Thu, 20 Jun 2024 09:21:56 +0100 Subject: [PATCH 10/45] docs: prettier fix (#4202) --- docs/docs/deployment/hosting/locally-edge-proxy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/deployment/hosting/locally-edge-proxy.md b/docs/docs/deployment/hosting/locally-edge-proxy.md index a46fb099193b..d0a4995cfb03 100644 --- a/docs/docs/deployment/hosting/locally-edge-proxy.md +++ b/docs/docs/deployment/hosting/locally-edge-proxy.md @@ -282,7 +282,7 @@ services: source: ./config.json target: /app/config.json ports: - - "8000:8000" + - '8000:8000' ``` The Proxy is now running and available on port 8000. From e7fd8bd21303dcd8747b0ce581bfa3bce1d56de9 Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Thu, 20 Jun 2024 09:39:29 +0100 Subject: [PATCH 11/45] deps: bump SAML revision (#4201) --- .github/workflows/api-deploy-production-ecs.yml | 2 +- .github/workflows/api-deploy-staging-ecs.yml | 2 +- .../workflows/platform-docker-publish-all-features-image.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/api-deploy-production-ecs.yml b/.github/workflows/api-deploy-production-ecs.yml index a5644a09729e..9624c6a12ecc 100644 --- a/.github/workflows/api-deploy-production-ecs.yml +++ b/.github/workflows/api-deploy-production-ecs.yml @@ -36,7 +36,7 @@ jobs: aws_identity_migration_event_bus_rule_id: identity_migration-b03c433 aws_identity_migration_task_role_arn: arn:aws:iam::084060095745:role/task-exec-role-741a7e3 aws_task_definitions_directory_path: infrastructure/aws/production - flagsmith_saml_revision: v1.6.0 + flagsmith_saml_revision: v1.6.2 flagsmith_rbac_revision: v0.7.0 sse_pgp_private_key: ${{ secrets.SSE_PGP_PRIVATE_KEY }} diff --git a/.github/workflows/api-deploy-staging-ecs.yml b/.github/workflows/api-deploy-staging-ecs.yml index 1de7bae41ce9..f843dce5e483 100644 --- a/.github/workflows/api-deploy-staging-ecs.yml +++ b/.github/workflows/api-deploy-staging-ecs.yml @@ -37,7 +37,7 @@ jobs: aws_identity_migration_event_bus_rule_id: identity_migration-08330ed aws_identity_migration_task_role_arn: arn:aws:iam::302456015006:role/task-exec-role-6fb76f6 aws_task_definitions_directory_path: infrastructure/aws/staging - flagsmith_saml_revision: v1.6.0 + flagsmith_saml_revision: v1.6.2 flagsmith_rbac_revision: v0.7.0 sse_pgp_private_key: ${{ secrets.SSE_PGP_PRIVATE_KEY }} diff --git a/.github/workflows/platform-docker-publish-all-features-image.yml b/.github/workflows/platform-docker-publish-all-features-image.yml index 4096de1f47f1..f93f5d9883ff 100644 --- a/.github/workflows/platform-docker-publish-all-features-image.yml +++ b/.github/workflows/platform-docker-publish-all-features-image.yml @@ -6,7 +6,7 @@ on: - '*' env: - FLAGSMITH_SAML_REVISION: v1.6.0 + FLAGSMITH_SAML_REVISION: v1.6.2 FLAGSMITH_RBAC_REVISION: v0.7.0 jobs: From b0bc87acbe8c0187eaaa6e01880c64712eea1dba Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Thu, 20 Jun 2024 12:06:23 +0100 Subject: [PATCH 12/45] fix: login redirect (#4192) --- frontend/web/components/App.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/web/components/App.js b/frontend/web/components/App.js index d9e9ee6da288..cc4bd77e9bcd 100644 --- a/frontend/web/components/App.js +++ b/frontend/web/components/App.js @@ -101,6 +101,9 @@ const App = class extends Component { this.listenTo(OrganisationStore, 'change', () => this.forceUpdate()) this.listenTo(ProjectStore, 'change', () => this.forceUpdate()) this.listenTo(AccountStore, 'change', this.getOrganisationUsage) + if (AccountStore.model) { + this.onLogin() + } this.getOrganisationUsage() window.addEventListener('scroll', this.handleScroll) const updateLastViewed = () => { From 36c8bb3c401ed153dcc0e866e0edab49746a4ff9 Mon Sep 17 00:00:00 2001 From: Novak Zaballa <41410593+novakzaballa@users.noreply.github.com> Date: Thu, 20 Jun 2024 10:17:32 -0400 Subject: [PATCH 13/45] fix: Metadata UI issues (#4069) Co-authored-by: Matthew Elwell --- frontend/common/constants.ts | 3 +- frontend/common/dispatcher/app-actions.js | 3 +- frontend/common/providers/ProjectProvider.js | 4 +- frontend/common/services/useFeatureVersion.ts | 2 +- frontend/common/stores/feature-list-store.ts | 2 +- frontend/common/stores/project-store.js | 5 +- frontend/web/components/AuditLog.tsx | 16 +-- frontend/web/components/ErrorMessage.js | 9 +- frontend/web/components/FeatureVersion.tsx | 4 +- frontend/web/components/IntegrationList.js | 2 +- .../metadata/AddMetadataToEntity.tsx | 49 +++++-- .../ContentTypesMetadataFieldTable.tsx | 2 +- .../web/components/metadata/MetadataPage.tsx | 20 +-- .../web/components/metadata/MetadataTitle.tsx | 32 +++++ frontend/web/components/modals/CreateFlag.js | 59 ++++---- .../components/modals/CreateMetadataField.tsx | 135 ++++++++++-------- .../web/components/modals/CreateSegment.tsx | 78 +++++++--- .../web/components/pages/AuditLogItemPage.tsx | 6 +- .../components/pages/CreateEnvironmentPage.js | 60 +++++++- .../pages/EnvironmentSettingsPage.js | 5 +- .../pages/FeatureHistoryDetailPage.tsx | 2 +- frontend/web/components/pages/HomePage.js | 2 +- .../web/components/pages/SegmentsPage.tsx | 1 - 23 files changed, 335 insertions(+), 166 deletions(-) create mode 100644 frontend/web/components/metadata/MetadataTitle.tsx diff --git a/frontend/common/constants.ts b/frontend/common/constants.ts index b4e75f6bda8b..12a7c62c0222 100644 --- a/frontend/common/constants.ts +++ b/frontend/common/constants.ts @@ -518,7 +518,8 @@ export default { 'Set different values for your feature based on what segments users are in. Identity overrides will take priority over any segment override.', TAGS_DESCRIPTION: 'Organise your flags with tags, tagging your features as "protected" will prevent them from accidentally being deleted.', - TOOLTIP_METADATA_DESCRIPTION: 'Add metadata in your', + TOOLTIP_METADATA_DESCRIPTION: (entity: string) => + `Add Metadata in your ${entity}, you can create the Metadata Fields in the project settings.`, USER_PROPERTY_DESCRIPTION: 'The name of the user trait or custom property belonging to the user, e.g. firstName', WEBHOOKS_DESCRIPTION: diff --git a/frontend/common/dispatcher/app-actions.js b/frontend/common/dispatcher/app-actions.js index 1012667780b0..90adb94f4f96 100644 --- a/frontend/common/dispatcher/app-actions.js +++ b/frontend/common/dispatcher/app-actions.js @@ -29,11 +29,12 @@ const AppActions = Object.assign({}, require('./base/_app-actions'), { pin, }) }, - createEnv(name, projectId, cloneId, description) { + createEnv(name, projectId, cloneId, description, metadata) { Dispatcher.handleViewAction({ actionType: Actions.CREATE_ENV, cloneId, description, + metadata, name, projectId, }) diff --git a/frontend/common/providers/ProjectProvider.js b/frontend/common/providers/ProjectProvider.js index 2f29fd73b75c..cf91d54a0c1a 100644 --- a/frontend/common/providers/ProjectProvider.js +++ b/frontend/common/providers/ProjectProvider.js @@ -40,8 +40,8 @@ const ProjectProvider = class extends React.Component { }) } - createEnv = (env, projectId, cloneId, description) => { - AppActions.createEnv(env, projectId, cloneId, description) + createEnv = (env, projectId, cloneId, description, metadata) => { + AppActions.createEnv(env, projectId, cloneId, description, metadata) } editEnv = (env) => { diff --git a/frontend/common/services/useFeatureVersion.ts b/frontend/common/services/useFeatureVersion.ts index f389d6ce09ab..91fa9449d740 100644 --- a/frontend/common/services/useFeatureVersion.ts +++ b/frontend/common/services/useFeatureVersion.ts @@ -136,11 +136,11 @@ export const featureVersionService = service } const ret = { + error: res.find((v) => !!v.error)?.error, feature_states: res.map((item) => ({ ...item, version_sha: versionRes.data.uuid, })), - error: res.find((v) => !!v.error)?.error, version_sha: versionRes.data.uuid, } diff --git a/frontend/common/stores/feature-list-store.ts b/frontend/common/stores/feature-list-store.ts index b7248ceb4ead..22325753c37d 100644 --- a/frontend/common/stores/feature-list-store.ts +++ b/frontend/common/stores/feature-list-store.ts @@ -481,8 +481,8 @@ const controller = { environmentId: env.id, featureId: projectFlag.id, featureStates, - skipPublish: true, liveFrom: changeRequest.live_from, + skipPublish: true, }) environment_feature_versions = [version.version_sha] } diff --git a/frontend/common/stores/project-store.js b/frontend/common/stores/project-store.js index 13f597615fdf..a174fd7a77eb 100644 --- a/frontend/common/stores/project-store.js +++ b/frontend/common/stores/project-store.js @@ -13,7 +13,7 @@ const BaseStore = require('./base/_store') const data = require('../data/base/_data') const controller = { - createEnv: (name, projectId, cloneId, description) => { + createEnv: (name, projectId, cloneId, description, metadata) => { API.trackEvent(Constants.events.CREATE_ENVIRONMENT) store.saving() const req = cloneId @@ -26,12 +26,12 @@ const controller = { name, project: projectId, }) - req .then((res) => data .put(`${Project.api}environments/${res.api_key}/`, { description, + metadata: metadata || [], name, project: projectId, }) @@ -247,6 +247,7 @@ store.dispatcherIndex = Dispatcher.register(store, (payload) => { action.projectId, action.cloneId, action.description, + action.metadata, ) break case Actions.EDIT_ENVIRONMENT: diff --git a/frontend/web/components/AuditLog.tsx b/frontend/web/components/AuditLog.tsx index 8a77f28f5a3f..8242acff616b 100644 --- a/frontend/web/components/AuditLog.tsx +++ b/frontend/web/components/AuditLog.tsx @@ -65,7 +65,7 @@ const AuditLog: FC = (props) => { search, }, { - refetchOnMountOrArgChange: true + refetchOnMountOrArgChange: true, }, ) @@ -128,13 +128,13 @@ const AuditLog: FC = (props) => { style={{ width: widths[2] }} to={`/project/${props.projectId}/environment/${environment?.api_key}/features/`} > - + ) : (
diff --git a/frontend/web/components/ErrorMessage.js b/frontend/web/components/ErrorMessage.js index 50c6e0f9e11b..cbf1832f6c7e 100644 --- a/frontend/web/components/ErrorMessage.js +++ b/frontend/web/components/ErrorMessage.js @@ -12,7 +12,14 @@ export default class ErrorMessage extends PureComponent { const errorMessageClassName = `alert alert-danger ${ this.props.errorMessageClass || 'flex-1 align-items-center' }` - const error = this.props.error?.data || this.props.error?.message || this.props.error + const error = + this.props.error?.data?.metadata?.find((item) => + // eslint-disable-next-line no-prototype-builtins + item.hasOwnProperty('non_field_errors'), + )?.non_field_errors[0] || + this.props.error?.data || + this.props.error?.message || + this.props.error return this.props.error ? (
, 'side-modal', ) diff --git a/frontend/web/components/metadata/AddMetadataToEntity.tsx b/frontend/web/components/metadata/AddMetadataToEntity.tsx index 9b451daa7f36..ca3191d06543 100644 --- a/frontend/web/components/metadata/AddMetadataToEntity.tsx +++ b/frontend/web/components/metadata/AddMetadataToEntity.tsx @@ -27,11 +27,12 @@ export type CustomMetadataField = MetadataField & { type CustomMetadata = (Metadata & CustomMetadataField) | null type AddMetadataToEntityType = { + isCloningEnvironment?: boolean organisationId: string projectId: string | number entityContentType: number entityId: string - entity: number | string + entity: string envName?: string onChange?: (m: CustomMetadataField[]) => void setHasMetadataRequired?: (b: boolean) => void @@ -42,6 +43,7 @@ const AddMetadataToEntity: FC = ({ entityContentType, entityId, envName, + isCloningEnvironment, onChange, organisationId, projectId, @@ -102,9 +104,6 @@ const AddMetadataToEntity: FC = ({ }, [metadataFieldsAssociatedtoEntity]) const [metadataChanged, setMetadataChanged] = useState(false) - useEffect(() => { - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [metadataFieldsAssociatedtoEntity]) const mergeMetadataEntityWithMetadataField = ( metadata: Metadata[], // Metadata array @@ -160,9 +159,7 @@ const AddMetadataToEntity: FC = ({ }) // Determine if isRequiredFor should be true or false based on is_required_for array const isRequiredFor = !!matchingItem?.is_required_for.length - if (isRequiredFor) { - setHasMetadataRequired?.() - } + setHasMetadataRequired?.(isRequiredFor) // Return the metadata field with additional metadata model field information including isRequiredFor return { ...meta, @@ -215,7 +212,7 @@ const AddMetadataToEntity: FC = ({ ]) return ( <> - + = ({ return ( { setMetadataFieldsAssociatedtoEntity((prevState) => prevState?.map((metadata) => { @@ -247,8 +245,22 @@ const AddMetadataToEntity: FC = ({ /> ) }} + renderNoResults={ + + No metadata configured for {entity} entity. Add metadata field in + your{' '} + + Project Settings + + . + + } /> - {entity === 'environment' && ( + {entity === 'environment' && !isCloningEnvironment && (
@@ -126,7 +118,7 @@ const MetadataPage: FC = ({ organisationId, projectId }) => {
+ {metadataEnable && segmentContentType?.id && ( + + Metadata + {metadataValueChanged && ( +
{'*'}
+ )} + + } + > +
{MetadataTab}
+
+ )} + + ) : metadataEnable && segmentContentType?.id ? ( + setTab(tab)}> + +
{Tab1}
+
+ Metadata} + > +
{MetadataTab}
+
) : (
{Tab1}
diff --git a/frontend/web/components/pages/AuditLogItemPage.tsx b/frontend/web/components/pages/AuditLogItemPage.tsx index 701dd4e02302..9d9334eb3cf8 100644 --- a/frontend/web/components/pages/AuditLogItemPage.tsx +++ b/frontend/web/components/pages/AuditLogItemPage.tsx @@ -12,8 +12,8 @@ import DiffString from 'components/diff/DiffString' import DiffEnabled from 'components/diff/DiffEnabled' import Format from 'common/utils/format' import { Environment } from 'common/types/responses' -import { Link } from 'react-router-dom'; -import Button from 'components/base/forms/Button'; +import { Link } from 'react-router-dom' +import Button from 'components/base/forms/Button' type AuditLogItemPageType = { match: { params: { @@ -122,7 +122,7 @@ const AuditLogItemPage: FC = ({ match }) => { > - )} + )} )}
diff --git a/frontend/web/components/pages/CreateEnvironmentPage.js b/frontend/web/components/pages/CreateEnvironmentPage.js index 9ed8d36e0a85..f61a6c657cab 100644 --- a/frontend/web/components/pages/CreateEnvironmentPage.js +++ b/frontend/web/components/pages/CreateEnvironmentPage.js @@ -5,13 +5,19 @@ import Constants from 'common/constants' import ErrorMessage from 'components/ErrorMessage' import PageTitle from 'components/PageTitle' import CondensedRow from 'components/CondensedRow' +import AddMetadataToEntity from 'components/metadata/AddMetadataToEntity' +import { getSupportedContentType } from 'common/services/useSupportedContentType' +import { getStore } from 'common/store' const CreateEnvironmentPage = class extends Component { static displayName = 'CreateEnvironmentPage' constructor(props, context) { super(props, context) - this.state = {} + this.state = { + envContentType: {}, + metadata: [], + } } static contextTypes = { @@ -27,6 +33,19 @@ const CreateEnvironmentPage = class extends Component { componentDidMount = () => { API.trackPage(Constants.pages.CREATE_ENVIRONMENT) + if (Utils.getFlagsmithHasFeature('enable_metadata')) { + getSupportedContentType(getStore(), { + organisation_id: AccountStore.getOrganisation().id, + }).then((res) => { + const envContentType = Utils.getContentType( + res.data, + 'model', + 'environment', + ) + this.setState({ envContentType: envContentType }) + }) + } + this.focusTimeout = setTimeout(() => { this.input.focus() this.focusTimeout = null @@ -40,7 +59,7 @@ const CreateEnvironmentPage = class extends Component { } render() { - const { name } = this.state + const { envContentType, metadata, name } = this.state return (
@@ -84,6 +103,7 @@ const CreateEnvironmentPage = class extends Component { this.state.selectedEnv && this.state.selectedEnv.api_key, this.state.description, + metadata, ) }} > @@ -176,6 +196,42 @@ const CreateEnvironmentPage = class extends Component { )}
+ {Utils.getFlagsmithHasFeature('enable_metadata') && + envContentType?.id && ( + + + { + this.setState({ + metadata: m, + }) + }} + /> + } + /> + + + )}
diff --git a/frontend/web/components/pages/EnvironmentSettingsPage.js b/frontend/web/components/pages/EnvironmentSettingsPage.js index a22edd351e27..b7b009444bf9 100644 --- a/frontend/web/components/pages/EnvironmentSettingsPage.js +++ b/frontend/web/components/pages/EnvironmentSettingsPage.js @@ -7,7 +7,6 @@ import CreateWebhookModal from 'components/modals/CreateWebhook' import ConfirmRemoveWebhook from 'components/modals/ConfirmRemoveWebhook' import ConfirmToggleEnvFeature from 'components/modals/ConfirmToggleEnvFeature' import EditPermissions from 'components/EditPermissions' -import ServerSideSDKKeys from 'components/ServerSideSDKKeys' import Tabs from 'components/base/forms/Tabs' import TabItem from 'components/base/forms/TabItem' import JSONReference from 'components/JSONReference' @@ -897,7 +896,9 @@ const EnvironmentSettingsPage = class extends Component { = ({ match, router }) => { isLoading: versionsLoading, } = useGetFeatureVersionsQuery( { - is_live: true, environmentId, featureId: featureId as any, + is_live: true, }, { skip: !featureId, diff --git a/frontend/web/components/pages/HomePage.js b/frontend/web/components/pages/HomePage.js index 7a3f96f3ce2d..bb32be331c91 100644 --- a/frontend/web/components/pages/HomePage.js +++ b/frontend/web/components/pages/HomePage.js @@ -366,8 +366,8 @@ const HomePage = class extends React.Component { Date: Thu, 20 Jun 2024 14:55:21 -0400 Subject: [PATCH 14/45] fix: Include free plans for api use notifications (#4204) --- api/conftest.py | 18 +++ api/organisations/tasks.py | 71 +++++---- .../organisations/api_usage_notification.html | 2 +- .../organisations/api_usage_notification.txt | 2 +- .../api_usage_notification_limit.html | 2 +- .../api_usage_notification_limit.txt | 2 +- .../test_unit_organisations_tasks.py | 147 +++++++++++++++++- api/tests/unit/util/test_logging.py | 15 +- 8 files changed, 211 insertions(+), 48 deletions(-) diff --git a/api/conftest.py b/api/conftest.py index a799dfbf43d0..7a6f1726564a 100644 --- a/api/conftest.py +++ b/api/conftest.py @@ -1,3 +1,4 @@ +import logging import os import typing from unittest.mock import MagicMock @@ -1072,3 +1073,20 @@ def superuser(): def superuser_client(superuser: FFAdminUser, client: APIClient): client.force_login(superuser, backend="django.contrib.auth.backends.ModelBackend") return client + + +@pytest.fixture +def inspecting_handler() -> logging.Handler: + """ + Fixture used to test the output of logger related output. + """ + + class InspectingHandler(logging.Handler): + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) + self.messages = [] + + def handle(self, record: logging.LogRecord) -> None: + self.messages.append(self.format(record)) + + return InspectingHandler() diff --git a/api/organisations/tasks.py b/api/organisations/tasks.py index 3199311383b7..f6e4b7bc579f 100644 --- a/api/organisations/tasks.py +++ b/api/organisations/tasks.py @@ -52,7 +52,7 @@ @register_task_handler() -def send_org_over_limit_alert(organisation_id) -> None: +def send_org_over_limit_alert(organisation_id: int) -> None: organisation = Organisation.objects.get(id=organisation_id) subscription_metadata = get_subscription_metadata(organisation) @@ -150,18 +150,34 @@ def send_admin_api_usage_notification( def _handle_api_usage_notifications(organisation: Organisation) -> None: - subscription_cache = organisation.subscription_information_cache - billing_starts_at = subscription_cache.current_billing_term_starts_at now = timezone.now() - # Truncate to the closest active month to get start of current period. - month_delta = relativedelta(now, billing_starts_at).months - period_starts_at = relativedelta(months=month_delta) + billing_starts_at + if organisation.subscription.is_free_plan: + allowed_api_calls = organisation.subscription.max_api_calls + # Default to a rolling month for free accounts + days = 30 + period_starts_at = now - timedelta(days) + elif not organisation.has_subscription_information_cache(): + # Since the calling code is a list of many organisations + # log the error and return without raising an exception. + logger.error( + f"Paid organisation {organisation.id} is missing subscription information cache" + ) + return + else: + subscription_cache = organisation.subscription_information_cache + billing_starts_at = subscription_cache.current_billing_term_starts_at + + # Truncate to the closest active month to get start of current period. + month_delta = relativedelta(now, billing_starts_at).months + period_starts_at = relativedelta(months=month_delta) + billing_starts_at + + days = relativedelta(now, period_starts_at).days + allowed_api_calls = subscription_cache.allowed_30d_api_calls - days = relativedelta(now, period_starts_at).days api_usage = get_current_api_usage(organisation.id, f"-{days}d") - api_usage_percent = int(100 * api_usage / subscription_cache.allowed_30d_api_calls) + api_usage_percent = int(100 * api_usage / allowed_api_calls) matched_threshold = None for threshold in API_USAGE_ALERT_THRESHOLDS: @@ -176,7 +192,7 @@ def _handle_api_usage_notifications(organisation: Organisation) -> None: if OrganisationAPIUsageNotification.objects.filter( notified_at__gt=period_starts_at, - percent_usage=matched_threshold, + percent_usage__gte=matched_threshold, ).exists(): # Already sent the max notification level so don't resend. return @@ -187,10 +203,7 @@ def _handle_api_usage_notifications(organisation: Organisation) -> None: def handle_api_usage_notifications() -> None: flagsmith_client = get_client("local", local_eval=True) - for organisation in Organisation.objects.filter( - subscription_information_cache__current_billing_term_starts_at__isnull=False, - subscription_information_cache__current_billing_term_ends_at__isnull=False, - ).select_related( + for organisation in Organisation.objects.all().select_related( "subscription_information_cache", ): feature_enabled = flagsmith_client.get_identity_flags( @@ -234,21 +247,27 @@ def charge_for_api_call_count_overages(): ).values_list("organisation_id", flat=True) ) - for organisation in Organisation.objects.filter( - id__in=organisation_ids, - subscription_information_cache__current_billing_term_ends_at__lte=closing_billing_term, - subscription_information_cache__current_billing_term_ends_at__gte=now, - subscription_information_cache__current_billing_term_starts_at__lte=F( - "subscription_information_cache__current_billing_term_ends_at" + for organisation in ( + Organisation.objects.filter( + id__in=organisation_ids, + subscription_information_cache__current_billing_term_ends_at__lte=closing_billing_term, + subscription_information_cache__current_billing_term_ends_at__gte=now, + subscription_information_cache__current_billing_term_starts_at__lte=F( + "subscription_information_cache__current_billing_term_ends_at" + ) + - month_window_start, + subscription_information_cache__current_billing_term_starts_at__gte=F( + "subscription_information_cache__current_billing_term_ends_at" + ) + - month_window_end, ) - - month_window_start, - subscription_information_cache__current_billing_term_starts_at__gte=F( - "subscription_information_cache__current_billing_term_ends_at" + .exclude( + subscription__plan=FREE_PLAN_ID, + ) + .select_related( + "subscription_information_cache", + "subscription", ) - - month_window_end, - ).select_related( - "subscription_information_cache", - "subscription", ): subscription_cache = organisation.subscription_information_cache api_usage = get_current_api_usage(organisation.id, "30d") diff --git a/api/organisations/templates/organisations/api_usage_notification.html b/api/organisations/templates/organisations/api_usage_notification.html index e23d4d5f037e..d82eaaea38c9 100644 --- a/api/organisations/templates/organisations/api_usage_notification.html +++ b/api/organisations/templates/organisations/api_usage_notification.html @@ -11,7 +11,7 @@ The API usage for {{ organisation.name }} has reached {{ matched_threshold }}% within the current subscription period. - Please consider upgrading your organisations account limits. + Please consider upgrading your organisation's account limits. diff --git a/api/organisations/templates/organisations/api_usage_notification.txt b/api/organisations/templates/organisations/api_usage_notification.txt index b13042132ea6..cce88fcce54e 100644 --- a/api/organisations/templates/organisations/api_usage_notification.txt +++ b/api/organisations/templates/organisations/api_usage_notification.txt @@ -1,6 +1,6 @@ Hi there, -The API usage for {{ organisation.name }} has reached {{ matched_threshold }}% within the current subscription period. Please consider upgrading your organisations account limits. +The API usage for {{ organisation.name }} has reached {{ matched_threshold }}% within the current subscription period. Please consider upgrading your organisation's account limits. Thank you! diff --git a/api/organisations/templates/organisations/api_usage_notification_limit.html b/api/organisations/templates/organisations/api_usage_notification_limit.html index 3e9c1ae577cf..b5f25ebb1f94 100644 --- a/api/organisations/templates/organisations/api_usage_notification_limit.html +++ b/api/organisations/templates/organisations/api_usage_notification_limit.html @@ -11,7 +11,7 @@ The API usage for {{ organisation.name }} has breached {{ matched_threshold }}% within the current subscription period. - Please upgrade your organisations account to ensure continued service. + Please upgrade your organisation's account to ensure continued service. diff --git a/api/organisations/templates/organisations/api_usage_notification_limit.txt b/api/organisations/templates/organisations/api_usage_notification_limit.txt index 4e39e7adc54a..11a0816bca4c 100644 --- a/api/organisations/templates/organisations/api_usage_notification_limit.txt +++ b/api/organisations/templates/organisations/api_usage_notification_limit.txt @@ -1,6 +1,6 @@ Hi there, -The API usage for {{ organisation.name }} has breached {{ matched_threshold }}% within the current subscription period. Please upgrade your organisations account to ensure continued service. +The API usage for {{ organisation.name }} has breached {{ matched_threshold }}% within the current subscription period. Please upgrade your organisation's account to ensure continued service. Thank you! diff --git a/api/tests/unit/organisations/test_unit_organisations_tasks.py b/api/tests/unit/organisations/test_unit_organisations_tasks.py index 7d729684ead5..f50009037126 100644 --- a/api/tests/unit/organisations/test_unit_organisations_tasks.py +++ b/api/tests/unit/organisations/test_unit_organisations_tasks.py @@ -1,3 +1,4 @@ +import logging import uuid from datetime import timedelta from unittest.mock import MagicMock, call @@ -25,6 +26,7 @@ FREE_PLAN_ID, MAX_API_CALLS_IN_FREE_PLAN, MAX_SEATS_IN_FREE_PLAN, + SCALE_UP, ) from organisations.subscriptions.xero.metadata import XeroSubscriptionMetadata from organisations.tasks import ( @@ -290,6 +292,8 @@ def test_handle_api_usage_notifications_below_100( ) -> None: # Given now = timezone.now() + organisation.subscription.plan = SCALE_UP + organisation.subscription.save() OrganisationSubscriptionInformationCache.objects.create( organisation=organisation, allowed_seats=10, @@ -324,7 +328,7 @@ def test_handle_api_usage_notifications_below_100( assert email.body == ( "Hi there,\n\nThe API usage for Test Org has reached " "90% within the current subscription period. Please " - "consider upgrading your organisations account limits.\n\n" + "consider upgrading your organisation's account limits.\n\n" "Thank you!\n\nThe Flagsmith Team\n" ) @@ -338,7 +342,7 @@ def test_handle_api_usage_notifications_below_100( "\n\n \n " "The API usage for Test Org has reached\n " "90% within the current subscription period.\n " - "Please consider upgrading your organisations account limits.\n" + "Please consider upgrading your organisation's account limits.\n" " \n\n\n \n\n " "\n\n Thank you!\n\n " " \n\n \n\n " @@ -382,6 +386,8 @@ def test_handle_api_usage_notifications_above_100( ) -> None: # Given now = timezone.now() + organisation.subscription.plan = SCALE_UP + organisation.subscription.save() OrganisationSubscriptionInformationCache.objects.create( organisation=organisation, allowed_seats=10, @@ -417,7 +423,95 @@ def test_handle_api_usage_notifications_above_100( assert email.body == ( "Hi there,\n\nThe API usage for Test Org has breached " "100% within the current subscription period. Please " - "upgrade your organisations account to ensure " + "upgrade your organisation's account to ensure " + "continued service.\n\nThank you!\n\n" + "The Flagsmith Team\n" + ) + + assert len(email.alternatives) == 1 + assert len(email.alternatives[0]) == 2 + assert email.alternatives[0][1] == "text/html" + + assert email.alternatives[0][0] == ( + "\n\n \n\n \n\n \n\n \n\n " + " \n\n\n " + " \n\n \n\n \n\n \n\n \n\n" + " \n\n " + "\n\n
Hi " + "there,
\n The API usage for Test Org " + "has breached\n 100% within the " + "current subscription period.\n " + "Please upgrade your organisation's account to ensure " + "continued service.\n
" + "Thank you!
The Flagsmith Team
\n" + ) + + assert email.from_email == "noreply@flagsmith.com" + # Extra staff included because threshold is over 100. + assert email.to == ["admin@example.com", "staff@example.com"] + + assert ( + OrganisationAPIUsageNotification.objects.filter( + organisation=organisation, + ).count() + == 1 + ) + api_usage_notification = OrganisationAPIUsageNotification.objects.filter( + organisation=organisation, + ).first() + + assert api_usage_notification.percent_usage == 100 + + # Now re-run the usage to make sure the notification isn't resent. + handle_api_usage_notifications() + + assert ( + OrganisationAPIUsageNotification.objects.filter( + organisation=organisation, + ).count() + == 1 + ) + + assert OrganisationAPIUsageNotification.objects.first() == api_usage_notification + + +@pytest.mark.freeze_time("2023-01-19T09:09:47.325132+00:00") +def test_handle_api_usage_notifications_for_free_accounts( + mocker: MockerFixture, + organisation: Organisation, + mailoutbox: list[EmailMultiAlternatives], +) -> None: + # Given + assert organisation.subscription.is_free_plan + assert organisation.subscription.max_api_calls == MAX_API_CALLS_IN_FREE_PLAN + + mock_api_usage = mocker.patch( + "organisations.tasks.get_current_api_usage", + ) + mock_api_usage.return_value = MAX_API_CALLS_IN_FREE_PLAN + 5_000 + + get_client_mock = mocker.patch("organisations.tasks.get_client") + client_mock = MagicMock() + get_client_mock.return_value = client_mock + client_mock.get_identity_flags.return_value.is_feature_enabled.return_value = True + + assert not OrganisationAPIUsageNotification.objects.filter( + organisation=organisation, + ).exists() + + # When + handle_api_usage_notifications() + + # Then + mock_api_usage.assert_called_once_with(organisation.id, "-30d") + + assert len(mailoutbox) == 1 + email = mailoutbox[0] + assert email.subject == "Flagsmith API use has reached 100%" + assert email.body == ( + "Hi there,\n\nThe API usage for Test Org has breached " + "100% within the current subscription period. Please " + "upgrade your organisation's account to ensure " "continued service.\n\nThank you!\n\n" "The Flagsmith Team\n" ) @@ -432,7 +526,7 @@ def test_handle_api_usage_notifications_above_100( " \n The API usage for Test Org " "has breached\n 100% within the " "current subscription period.\n " - "Please upgrade your organisations account to ensure " + "Please upgrade your organisation's account to ensure " "continued service.\n \n\n\n " " \n\n \n\n " "Thank you!\n\n \n\n \n\n" @@ -469,6 +563,51 @@ def test_handle_api_usage_notifications_above_100( assert OrganisationAPIUsageNotification.objects.first() == api_usage_notification +def test_handle_api_usage_notifications_missing_info_cache( + mocker: MockerFixture, + organisation: Organisation, + mailoutbox: list[EmailMultiAlternatives], + inspecting_handler: logging.Handler, +) -> None: + # Given + organisation.subscription.plan = SCALE_UP + organisation.subscription.save() + + from organisations.tasks import logger + + logger.addHandler(inspecting_handler) + + assert organisation.has_subscription_information_cache() is False + + mock_api_usage = mocker.patch( + "organisations.tasks.get_current_api_usage", + ) + + get_client_mock = mocker.patch("organisations.tasks.get_client") + client_mock = MagicMock() + get_client_mock.return_value = client_mock + client_mock.get_identity_flags.return_value.is_feature_enabled.return_value = True + + assert not OrganisationAPIUsageNotification.objects.filter( + organisation=organisation, + ).exists() + + # When + handle_api_usage_notifications() + + # Then + mock_api_usage.assert_not_called() + + assert len(mailoutbox) == 0 + assert not OrganisationAPIUsageNotification.objects.filter( + organisation=organisation, + ).exists() + + assert inspecting_handler.messages == [ + f"Paid organisation {organisation.id} is missing subscription information cache" + ] + + @pytest.mark.freeze_time("2023-01-19T09:09:47.325132+00:00") def test_charge_for_api_call_count_overages_scale_up( organisation: Organisation, diff --git a/api/tests/unit/util/test_logging.py b/api/tests/unit/util/test_logging.py index d8c31a19f9f3..33f34b277a23 100644 --- a/api/tests/unit/util/test_logging.py +++ b/api/tests/unit/util/test_logging.py @@ -7,19 +7,6 @@ from util.logging import JsonFormatter -@pytest.fixture -def inspecting_handler() -> logging.Handler: - class InspectingHandler(logging.Handler): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.messages = [] - - def handle(self, record): - self.messages.append(self.format(record)) - - return InspectingHandler() - - @pytest.mark.freeze_time("2023-12-08T06:05:47.320000+00:00") def test_json_formatter__outputs_expected( inspecting_handler: logging.Handler, @@ -38,7 +25,7 @@ def test_json_formatter__outputs_expected( expected_tb_string = ( "Traceback (most recent call last):\n" f' File "{expected_module_path}",' - " line 47, in _log_traceback\n" + " line 34, in _log_traceback\n" " raise Exception()\nException" ) From 6afa63d7e2e5e452854944c5034cd2195cf7cffa Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Fri, 21 Jun 2024 08:30:03 -0400 Subject: [PATCH 15/45] feat: Add logic to API usage notification templates (#4206) --- .../organisations/api_usage_notification.html | 6 ++ .../organisations/api_usage_notification.txt | 5 + .../api_usage_notification_limit.html | 6 +- .../api_usage_notification_limit.txt | 8 +- .../test_unit_organisations_tasks.py | 94 ++++++++++--------- 5 files changed, 74 insertions(+), 45 deletions(-) diff --git a/api/organisations/templates/organisations/api_usage_notification.html b/api/organisations/templates/organisations/api_usage_notification.html index d82eaaea38c9..ebbd06837f37 100644 --- a/api/organisations/templates/organisations/api_usage_notification.html +++ b/api/organisations/templates/organisations/api_usage_notification.html @@ -12,6 +12,12 @@ The API usage for {{ organisation.name }} has reached {{ matched_threshold }}% within the current subscription period. Please consider upgrading your organisation's account limits. + {% if organisation.is_paid %} + Please note that once the 100% use has been breached automated charges for your account may apply. + {% else %} + Please note that once the 100% use has been breached the serving of feature flags and admin access may be disabled after a grace period. + {% endif %} + diff --git a/api/organisations/templates/organisations/api_usage_notification.txt b/api/organisations/templates/organisations/api_usage_notification.txt index cce88fcce54e..3cdd6e2c80cf 100644 --- a/api/organisations/templates/organisations/api_usage_notification.txt +++ b/api/organisations/templates/organisations/api_usage_notification.txt @@ -2,6 +2,11 @@ Hi there, The API usage for {{ organisation.name }} has reached {{ matched_threshold }}% within the current subscription period. Please consider upgrading your organisation's account limits. +{% if organisation.is_paid %} +Please note that once the 100% use has been breached automated charges for your account may apply. +{% else %} +Please note that once the 100% use has been breached the serving of feature flags and admin access may be disabled after a grace period. +{% endif %} Thank you! The Flagsmith Team diff --git a/api/organisations/templates/organisations/api_usage_notification_limit.html b/api/organisations/templates/organisations/api_usage_notification_limit.html index b5f25ebb1f94..b5083d0f71b8 100644 --- a/api/organisations/templates/organisations/api_usage_notification_limit.html +++ b/api/organisations/templates/organisations/api_usage_notification_limit.html @@ -11,7 +11,11 @@ The API usage for {{ organisation.name }} has breached {{ matched_threshold }}% within the current subscription period. - Please upgrade your organisation's account to ensure continued service. + {% if organisation.is_paid %} + Please note that automated charges for your account may apply. + {% else %} + Please note that the serving of feature flags and admin access may be disabled after a grace period, so please upgrade your organisation's account to ensure continued service. + {% endif %} diff --git a/api/organisations/templates/organisations/api_usage_notification_limit.txt b/api/organisations/templates/organisations/api_usage_notification_limit.txt index 11a0816bca4c..116914d1a620 100644 --- a/api/organisations/templates/organisations/api_usage_notification_limit.txt +++ b/api/organisations/templates/organisations/api_usage_notification_limit.txt @@ -1,6 +1,12 @@ Hi there, -The API usage for {{ organisation.name }} has breached {{ matched_threshold }}% within the current subscription period. Please upgrade your organisation's account to ensure continued service. +The API usage for {{ organisation.name }} has breached {{ matched_threshold }}% within the current subscription period. + +{% if organisation.is_paid %} +Please note that automated charges for your account may apply. +{% else %} +Please note that the serving of feature flags and admin access may be disabled after a grace period, so please upgrade your organisation's account to ensure continued service. +{% endif %} Thank you! diff --git a/api/tests/unit/organisations/test_unit_organisations_tasks.py b/api/tests/unit/organisations/test_unit_organisations_tasks.py index f50009037126..375b55b773c8 100644 --- a/api/tests/unit/organisations/test_unit_organisations_tasks.py +++ b/api/tests/unit/organisations/test_unit_organisations_tasks.py @@ -293,6 +293,7 @@ def test_handle_api_usage_notifications_below_100( # Given now = timezone.now() organisation.subscription.plan = SCALE_UP + organisation.subscription.subscription_id = "fancy_id" organisation.subscription.save() OrganisationSubscriptionInformationCache.objects.create( organisation=organisation, @@ -328,7 +329,9 @@ def test_handle_api_usage_notifications_below_100( assert email.body == ( "Hi there,\n\nThe API usage for Test Org has reached " "90% within the current subscription period. Please " - "consider upgrading your organisation's account limits.\n\n" + "consider upgrading your organisation's account limits.\n\n\n" + "Please note that once the 100% use has been breached " + "automated charges for your account may apply.\n\n" "Thank you!\n\nThe Flagsmith Team\n" ) @@ -337,16 +340,18 @@ def test_handle_api_usage_notifications_below_100( assert email.alternatives[0][1] == "text/html" assert email.alternatives[0][0] == ( - "\n\n \n\n " - "\n\n \n\n " - "\n\n \n\n\n \n\n " - "\n\n \n\n " - " \n\n \n\n " - "\n\n " + "
Hi there,
\n " - "The API usage for Test Org has reached\n " - "90% within the current subscription period.\n " - "Please consider upgrading your organisation's account limits.\n" - "
Thank you!
The Flagsmith Team
\n\n \n\n \n\n \n\n \n\n " + " \n\n" + "\n \n\n \n\n \n\n \n\n \n\n " + " \n\n " "\n\n
Hi " + "there,
\n The API usage for Test " + "Org has reached\n 90% within the current " + "subscription period.\n Please consider " + "upgrading your organisation's account limits.\n " + " \n Please note that once the 100%" + " use has been breached automated charges for your account " + "may apply.\n \n\n
" + "Thank you!
The Flagsmith Team
\n" ) @@ -387,6 +392,7 @@ def test_handle_api_usage_notifications_above_100( # Given now = timezone.now() organisation.subscription.plan = SCALE_UP + organisation.subscription.subscription_id = "fancy_id" organisation.subscription.save() OrganisationSubscriptionInformationCache.objects.create( organisation=organisation, @@ -421,11 +427,10 @@ def test_handle_api_usage_notifications_above_100( email = mailoutbox[0] assert email.subject == "Flagsmith API use has reached 100%" assert email.body == ( - "Hi there,\n\nThe API usage for Test Org has breached " - "100% within the current subscription period. Please " - "upgrade your organisation's account to ensure " - "continued service.\n\nThank you!\n\n" - "The Flagsmith Team\n" + "Hi there,\n\nThe API usage for Test Org has breached 100% " + "within the current subscription period.\n\n\nPlease note " + "that automated charges for your account may apply.\n\n\n" + "Thank you!\n\nThe Flagsmith Team\n" ) assert len(email.alternatives) == 1 @@ -433,17 +438,16 @@ def test_handle_api_usage_notifications_above_100( assert email.alternatives[0][1] == "text/html" assert email.alternatives[0][0] == ( - "\n\n \n\n \n\n \n\n \n\n " - " \n\n\n " - " \n\n \n\n \n\n \n\n \n\n" - " \n\n " - "\n\n
Hi " - "there,
\n The API usage for Test Org " - "has breached\n 100% within the " - "current subscription period.\n " - "Please upgrade your organisation's account to ensure " - "continued service.\n
" - "Thank you!
The Flagsmith Team
\n" + "\n\n \n\n \n\n \n\n \n\n \n\n\n \n\n " + "\n\n \n\n " + "\n\n \n\n \n\n \n\n
Hi there," + "
" + "\n The API usage for Test Org has breached" + "\n 100% within the current subscription period." + "\n \n Please note that " + "automated charges for your account may apply.\n " + "\n
Thank you!
The Flagsmith " + "Team
\n" ) assert email.from_email == "noreply@flagsmith.com" @@ -482,7 +486,8 @@ def test_handle_api_usage_notifications_for_free_accounts( mailoutbox: list[EmailMultiAlternatives], ) -> None: # Given - assert organisation.subscription.is_free_plan + assert organisation.is_paid is False + assert organisation.subscription.is_free_plan is True assert organisation.subscription.max_api_calls == MAX_API_CALLS_IN_FREE_PLAN mock_api_usage = mocker.patch( @@ -510,10 +515,11 @@ def test_handle_api_usage_notifications_for_free_accounts( assert email.subject == "Flagsmith API use has reached 100%" assert email.body == ( "Hi there,\n\nThe API usage for Test Org has breached " - "100% within the current subscription period. Please " - "upgrade your organisation's account to ensure " - "continued service.\n\nThank you!\n\n" - "The Flagsmith Team\n" + "100% within the current subscription period.\n\n\nPlease " + "note that the serving of feature flags and admin access " + "may be disabled after a grace period, so please upgrade " + "your organisation's account to ensure continued service." + "\n\n\nThank you!\n\nThe Flagsmith Team\n" ) assert len(email.alternatives) == 1 @@ -521,17 +527,19 @@ def test_handle_api_usage_notifications_for_free_accounts( assert email.alternatives[0][1] == "text/html" assert email.alternatives[0][0] == ( - "\n\n \n\n \n\n \n\n \n\n " - " \n\n\n " - " \n\n \n\n \n\n \n\n \n\n" - " \n\n " - "\n\n
Hi " - "there,
\n The API usage for Test Org " - "has breached\n 100% within the " - "current subscription period.\n " - "Please upgrade your organisation's account to ensure " - "continued service.\n
" - "Thank you!
The Flagsmith Team
\n" + "\n\n \n\n \n\n \n\n \n\n " + " \n\n\n \n\n \n\n " + " \n\n \n\n " + "\n\n " + "\n\n \n\n
Hi there," + "
\n The API usage for Test Org has" + " breached\n 100% within the current " + "subscription period.\n \n " + " Please note that the serving of feature flags and " + "admin access may be disabled after a grace period, so " + "please upgrade your organisation's account to ensure " + "continued service.\n \n " + "
Thank you!
The Flagsmith Team
\n" ) assert email.from_email == "noreply@flagsmith.com" From 57974f71230e7792e2a4f01ab42bc8019d3cc78b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20L=C3=B3pez=20Dato?= Date: Fri, 21 Jun 2024 10:48:54 -0300 Subject: [PATCH 16/45] docs: Fix bulk-identities API example (#4195) --- docs/docs/clients/rest.md | 50 ++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/docs/docs/clients/rest.md b/docs/docs/clients/rest.md index 4029f8723895..e1942219030c 100644 --- a/docs/docs/clients/rest.md +++ b/docs/docs/clients/rest.md @@ -378,23 +378,41 @@ assert delete_identity_response.status_code == 204 ### Bulk Uploading Identities and Traits -You can achieve this with a `POST` to the `identities` endpoint: +You can achieve this with a `POST` to the `bulk-identities` endpoint: ```bash -curl -X "POST" "https://edge.api.flagsmith.com/api/v1/identities/?identifier=" \ - -H 'X-Environment-Key: ' \ - -H 'Content-Type: application/json; charset=utf-8' \ +curl -i -X POST "https://edge.api.flagsmith.com/api/v1/bulk-identities" \ + -H "X-Environment-Key: ${FLAGSMITH_ENVIRONMENT_KEY}" \ + -H 'Content-Type: application/json' \ -d $'{ - "traits": "traits": [ - { - "trait_key": "this_key", - "trait_value": "this_value" - }, - { - "trait_key": "this_key2", - "trait_value": "this_value2" - } - ], - "identifier": "" -}' + "data": [ + { + "identifier": "my_identifier_1", + "traits": [ + { + "trait_key": "my_key_name", + "trait_value": "set from POST /bulk-identities" + } + ] + }, + { + "identifier": "my_identifier_2", + "traits": [ + { + "trait_key": "some_other_key_name", + "trait_value": "if this identity does not exist, it will be created by this request" + } + ] + }, + { + "identifier": "my_identifier_3", + "traits": [ + { + "trait_key": "this_trait_will_be_deleted", + "trait_value": null + } + ] + } + ] + }' ``` From 51c2cb5bf524b275e0ecdb57f9e4fafeffc4d9c1 Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Fri, 21 Jun 2024 14:49:18 +0100 Subject: [PATCH 17/45] chore: re-add version (#4209) --- frontend/web/components/BuildVersion.tsx | 51 +++ frontend/web/components/pages/HomeAside.tsx | 330 +++++++++--------- .../web/components/pages/SegmentsPage.tsx | 5 +- 3 files changed, 223 insertions(+), 163 deletions(-) create mode 100644 frontend/web/components/BuildVersion.tsx diff --git a/frontend/web/components/BuildVersion.tsx b/frontend/web/components/BuildVersion.tsx new file mode 100644 index 000000000000..29c16827e29c --- /dev/null +++ b/frontend/web/components/BuildVersion.tsx @@ -0,0 +1,51 @@ +import { FC, useEffect, useState } from 'react' +import getBuildVersion from 'project/getBuildVersion' +import { IonIcon } from '@ionic/react' +import { pricetag } from 'ionicons/icons' + +type BuildVersionType = {} +type Version = { + tag: string + backend_sha: string + frontend_sha: string +} +const BuildVersion: FC = ({}) => { + const [version, setVersion] = useState() + + useEffect(() => { + getBuildVersion().then((version: Version) => { + setVersion(version) + }) + }, []) + return ( +
+ {version?.tag !== 'Unknown' && ( + + + + {' '} + {version?.tag} + + } + > + {`${ + version?.frontend_sha !== 'Unknown' + ? `Frontend SHA: ${version?.frontend_sha}` + : '' + }${ + version?.backend_sha !== 'Unknown' + ? `${ + version?.frontend_sha !== 'Unknown' ? '
' : '' + }Backend SHA: ${version?.backend_sha}` + : '' + }`} +
+ )} +
+ ) +} + +export default BuildVersion diff --git a/frontend/web/components/pages/HomeAside.tsx b/frontend/web/components/pages/HomeAside.tsx index f870d15fecae..4c50642d94b2 100644 --- a/frontend/web/components/pages/HomeAside.tsx +++ b/frontend/web/components/pages/HomeAside.tsx @@ -22,6 +22,7 @@ import EnvironmentSelect from 'components/EnvironmentSelect' import { components } from 'react-select' import Button from 'components/base/forms/Button' import SettingsIcon from 'components/svg/SettingsIcon' +import BuildVersion from 'components/BuildVersion' type HomeAsideType = { environmentId: string @@ -80,39 +81,40 @@ const HomeAside: FC = ({ ) return ( -
-
-
-
- {!!environment && ( - - `switch-environment-${label.toLowerCase()}` - } - id='environment-select' - data-test={`switch-environment-${environment.name.toLowerCase()}-active`} - styles={{ - container: (base: any) => ({ - ...base, - border: 'none', - padding: 0, - }), - }} - label={environment.name} - value={environmentId} - projectId={projectId} - components={{ - Menu: ({ ...props }: any) => { - return ( - - {props.children} - {createEnvironmentButton} - - ) - }, - }} - onChange={(newEnvironmentId) => { - if (newEnvironmentId !== environmentId) { +
+
+
+
+
+ {!!environment && ( + + `switch-environment-${label.toLowerCase()}` + } + id='environment-select' + data-test={`switch-environment-${environment.name.toLowerCase()}-active`} + styles={{ + container: (base: any) => ({ + ...base, + border: 'none', + padding: 0, + }), + }} + label={environment.name} + value={environmentId} + projectId={projectId} + components={{ + Menu: ({ ...props }: any) => { + return ( + + {props.children} + {createEnvironmentButton} + + ) + }, + }} + onChange={(newEnvironmentId) => { + if (newEnvironmentId !== environmentId) { AsyncStorage.setItem( 'lastEnv', JSON.stringify({ @@ -127,151 +129,157 @@ const HomeAside: FC = ({ }`.replace(environmentId, newEnvironmentId), ) }) - } - }} - /> - )} - {E2E && createEnvironmentButton} + } + }} + /> + )} + {E2E && createEnvironmentButton} +
-
- - environment?.api_key === environmentId && ( -
- - {({ - isLoading: manageIdentityLoading, - permission: manageIdentityPermission, - }) => ( - - {({ isLoading, permission: environmentAdmin }) => - isLoading || manageIdentityLoading ? ( -
- -
- ) : ( -
- - - - - Features - - - - - - Scheduling - {scheduled ? ( - - {scheduled} - - ) : null} - - - - - - Change Requests{' '} - {changeRequests ? ( - - {changeRequests} - - ) : null} - - {environment.use_v2_feature_versioning && ( + + environment?.api_key === environmentId && ( +
+ + {({ + isLoading: manageIdentityLoading, + permission: manageIdentityPermission, + }) => ( + + {({ + isLoading, + permission: environmentAdmin, + }) => + isLoading || manageIdentityLoading ? ( +
+ +
+ ) : ( +
- + - History + Features - )} - {Utils.renderWithPermission( - manageIdentityPermission, - Constants.environmentPermissions( - 'View Identities', - ), - + - Identities - , - )} - - - SDK Keys - - {environmentAdmin && ( + Scheduling + {scheduled ? ( + + {scheduled} + + ) : null} + - + - Environment Settings + Change Requests{' '} + {changeRequests ? ( + + {changeRequests} + + ) : null} - )} -
- ) - } -
- )} -
-
- ) - } - projectId={projectId} - environmentId={environmentId} - clearableValue={false} - /> + {environment.use_v2_feature_versioning && ( + + + + + History + + )} + {Utils.renderWithPermission( + manageIdentityPermission, + Constants.environmentPermissions( + 'View Identities', + ), + + + + + Identities + , + )} + + + SDK Keys + + {environmentAdmin && ( + + + + + Environment Settings + + )} +
+ ) + } +
+ )} +
+
+ ) + } + projectId={projectId} + environmentId={environmentId} + clearableValue={false} + /> +
+ +
) }} diff --git a/frontend/web/components/pages/SegmentsPage.tsx b/frontend/web/components/pages/SegmentsPage.tsx index ce44546b82d7..6920240b06c3 100644 --- a/frontend/web/components/pages/SegmentsPage.tsx +++ b/frontend/web/components/pages/SegmentsPage.tsx @@ -23,6 +23,7 @@ import Icon from 'components/Icon' import PageTitle from 'components/PageTitle' import Switch from 'components/Switch' import { setModalTitle } from 'components/modals/base/ModalDefault' +import classNames from 'classnames' const CodeHelp = require('../../components/CodeHelp') type SegmentsPageType = { @@ -70,7 +71,7 @@ const SegmentsPage: FC = (props) => { projectId, q: search, }) - const [removeSegment] = useDeleteSegmentMutation() + const [removeSegment, { isLoading: isRemoving }] = useDeleteSegmentMutation() const hasHadResults = useRef(false) const segmentsLimitAlert = Utils.calculateRemainingLimitsPercentage( @@ -224,7 +225,7 @@ const SegmentsPage: FC = (props) => {
{hasNoOperators && } - + From 95589429bfb6a27788cfd67a61041a3108dcf4ca Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Fri, 21 Jun 2024 15:58:12 +0100 Subject: [PATCH 18/45] ci: Add CODEOWNERS (#4212) --- CODEOWNERS | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 CODEOWNERS diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000000..66ff3b9d0183 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,6 @@ +@flagsmith/flagsmith + +/api/ @flagsmith/flagsmith-back-end +/docs/ @flagsmith/flagsmith-docs +/frontend/ @flagsmith/flagsmith-front-end +/infrastructure/ @flagsmith/flagsmith-back-end From 2dadb3964136ed13ada8cccc88fec0aa3bdc340c Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Fri, 21 Jun 2024 16:45:01 +0100 Subject: [PATCH 19/45] ci: add `FLAGSMITH_ON_FLAGSMITH_SERVER_OFFLINE_MODE` to staging (#4213) --- .../aws/staging/ecs-task-definition-task-processor.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/infrastructure/aws/staging/ecs-task-definition-task-processor.json b/infrastructure/aws/staging/ecs-task-definition-task-processor.json index b2e8bfc1c7b3..edb04badef5c 100644 --- a/infrastructure/aws/staging/ecs-task-definition-task-processor.json +++ b/infrastructure/aws/staging/ecs-task-definition-task-processor.json @@ -150,6 +150,10 @@ { "name": "FLAGSMITH_ON_FLAGSMITH_SERVER_API_URL", "value": "https://edge.api.flagsmith.com/api/v1/" + }, + { + "name": "FLAGSMITH_ON_FLAGSMITH_SERVER_OFFLINE_MODE", + "value": "False" } ], "secrets": [ From 5bafb4c6519e66c50c51107d04333250b8a68788 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Fri, 21 Jun 2024 11:57:32 -0400 Subject: [PATCH 20/45] refactor: Update api usage notification sending (#4214) --- api/organisations/tasks.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/api/organisations/tasks.py b/api/organisations/tasks.py index f6e4b7bc579f..63ade5f5cfbc 100644 --- a/api/organisations/tasks.py +++ b/api/organisations/tasks.py @@ -105,11 +105,14 @@ def finish_subscription_cancellation() -> None: subscription.save_as_free_subscription() -def send_admin_api_usage_notification( +def send_api_usage_notification( organisation: Organisation, matched_threshold: int ) -> None: """ - Send notification to admins that the API has breached a threshold. + Send notification to users that the API has breached a threshold. + + Only admins are included if the matched threshold is under + 100% of the API usage limits. """ recipient_list = FFAdminUser.objects.filter( @@ -197,7 +200,7 @@ def _handle_api_usage_notifications(organisation: Organisation) -> None: # Already sent the max notification level so don't resend. return - send_admin_api_usage_notification(organisation, matched_threshold) + send_api_usage_notification(organisation, matched_threshold) def handle_api_usage_notifications() -> None: From 5e87f39d99792769938ea9fe6350561d93c7a262 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Mon, 24 Jun 2024 10:10:40 +0100 Subject: [PATCH 21/45] ci(build): Reusable private cloud build (#4165) --- .github/actions/api-deploy-ecs/action.yml | 106 +------- .github/actions/e2e-tests/action.yml | 1 - .github/workflows/.reusable-deploy-ecs.yml | 123 +++++++++ .github/workflows/.reusable-docker-build.yml | 44 +++- .../workflows/.reusable-docker-e2e-tests.yml | 12 + .../workflows/.reusable-docker-publish.yml | 66 +++++ .../workflows/api-deploy-production-ecs.yml | 63 +---- .github/workflows/api-deploy-staging-ecs.yml | 63 +---- .../workflows/api-docker-publish-image.yml | 55 ---- .../frontend-docker-publish-image.yml | 60 ----- .../frontend-e2e-docker-publish-image.yml | 56 ----- .github/workflows/frontend-test-staging.yml | 25 +- .../platform-docker-build-e2e-image.yml | 2 +- .../platform-docker-build-test-publish.yml | 161 ++++++++++++ ...form-docker-publish-all-features-image.yml | 99 -------- .../platform-docker-publish-image.yml | 96 ------- .github/workflows/platform-pull-request.yml | 24 +- .../workflows/platform-test-merge-to-main.yml | 29 --- Dockerfile | 236 ++++++++++++++---- api/Dockerfile | 61 ----- api/Dockerfile.redhat-ubi | 34 --- api/Makefile | 23 +- api/app/utils.py | 18 +- api/tests/unit/app/test_unit_app_utils.py | 8 + docker-compose.uffizzi.yml | 3 +- .../configuration/task-processor.md | 62 +++-- .../deployment/hosting/locally-frontend.md | 2 - frontend/Dockerfile | 36 --- frontend/Dockerfile.e2e | 3 + frontend/Dockerfile.ubi | 34 --- frontend/docker-compose-e2e-tests.yml | 2 +- 31 files changed, 706 insertions(+), 901 deletions(-) create mode 100644 .github/workflows/.reusable-deploy-ecs.yml create mode 100644 .github/workflows/.reusable-docker-publish.yml delete mode 100644 .github/workflows/api-docker-publish-image.yml delete mode 100644 .github/workflows/frontend-docker-publish-image.yml delete mode 100644 .github/workflows/frontend-e2e-docker-publish-image.yml create mode 100644 .github/workflows/platform-docker-build-test-publish.yml delete mode 100644 .github/workflows/platform-docker-publish-all-features-image.yml delete mode 100644 .github/workflows/platform-docker-publish-image.yml delete mode 100644 .github/workflows/platform-test-merge-to-main.yml delete mode 100644 api/Dockerfile delete mode 100644 api/Dockerfile.redhat-ubi delete mode 100644 frontend/Dockerfile delete mode 100644 frontend/Dockerfile.ubi diff --git a/.github/actions/api-deploy-ecs/action.yml b/.github/actions/api-deploy-ecs/action.yml index 2f9bb529d9a8..d81db5f8f195 100644 --- a/.github/actions/api-deploy-ecs/action.yml +++ b/.github/actions/api-deploy-ecs/action.yml @@ -2,9 +2,6 @@ name: API Deploy to ECS description: Deploy the Flagsmith API to ECS inputs: - github_access_token: - description: The Github access token to use to access external repositories (e.g. flagsmith-saml) - required: true aws_access_key_id: description: The AWS access key ID to use for deploying to ECS. required: true @@ -36,30 +33,11 @@ inputs: aws_identity_migration_task_role_arn: description: The ARN of the role to run the identity migration task. required: true - aws_ecr_repository_arn: - description: The ARN of the ECR repository to deploy docker image to. - required: true aws_task_definitions_directory_path: description: The local path in the repository to the json file containing the task definition template required: true - image_tag: - description: The tag to use when registering the docker image in ECR - required: false - default: ${GITHUB_REF#refs/*/} - flagsmith_saml_revision: - description: The flagsmith-saml repo git revision to use when building deployment package. - required: false - default: main - flagsmith_auth_controller_revision: - description: The flagsmith-auth-controller git revision to use when building deployment package. - required: false - default: main - flagsmith_rbac_revision: - description: The flagsmith-rbac git revision to use when building deployment package. - required: false - default: main - sse_pgp_private_key: - description: Private PGP key used for encrypting/decrypting access logs + api_ecr_image_url: + description: The ECR URL of the latest API image. required: true outputs: @@ -71,57 +49,6 @@ runs: using: composite steps: - - name: Checkout SAML package - uses: actions/checkout@v4 - with: - repository: flagsmith/flagsmith-saml - token: ${{ inputs.github_access_token }} - ref: ${{ inputs.flagsmith_saml_revision }} - path: ./flagsmith-saml - - - name: Integrate SAML module - run: mv ./flagsmith-saml/saml ./api - shell: bash - - - name: Checkout Auth Controller package - uses: actions/checkout@v4 - with: - repository: flagsmith/flagsmith-auth-controller - token: ${{ inputs.github_access_token }} - ref: ${{ inputs.flagsmith_auth_controller_revision }} - path: ./flagsmith-auth-controller - - - name: Integrate Auth Controller module - run: mv ./flagsmith-auth-controller/auth_controller ./api - shell: bash - - - name: Checkout RBAC module - uses: actions/checkout@v4 - with: - repository: flagsmith/flagsmith-rbac - token: ${{ inputs.github_access_token }} - ref: ${{ inputs.flagsmith_rbac_revision }} - path: ./flagsmith-rbac - - - name: Integrate RBAC module - run: mv ./flagsmith-rbac/rbac ./api - shell: bash - - - name: Set ECR tag - id: ecr-tag-variable - run: echo "tag=${{ inputs.image_tag }}" >> $GITHUB_OUTPUT - shell: bash - - - name: Write git info to Docker image - run: | - echo ${{ github.sha }} > api/CI_COMMIT_SHA - shell: bash - - - name: Write file to indicate SaaS - run: | - echo '' > api/SAAS_DEPLOYMENT - shell: bash - - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1-node16 with: @@ -129,38 +56,13 @@ runs: aws-secret-access-key: ${{ inputs.aws_secret_access_key }} aws-region: eu-west-2 - - name: Login to Amazon ECR - id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 - - - name: Write PGP key to a file - run: | - cat << EOF > sse_pgp_pkey - ${{ inputs.sse_pgp_private_key }} - EOF - shell: bash - - - name: Build, tag, and push image to Amazon ECR - id: build-image - env: - IMAGE_TAG: ${{ steps.ecr-tag-variable.outputs.tag }} - ECR_REPOSITORY: ${{ inputs.aws_ecr_repository_arn }} - DOCKER_BUILDKIT: '1' - run: | - echo "Building docker image with URL: " - echo $ECR_REPOSITORY:$IMAGE_TAG - docker build --secret id=sse_pgp_pkey,src=./sse_pgp_pkey -t $ECR_REPOSITORY:$IMAGE_TAG -f api/Dockerfile --build-arg SAML_INSTALLED=1 --build-arg POETRY_OPTS="--with saml,auth-controller,workflows" --build-arg GH_TOKEN=${{ inputs.github_access_token }} . - docker push $ECR_REPOSITORY:$IMAGE_TAG - echo "image=$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_OUTPUT - shell: bash - - name: Fill in the new image ID in the Amazon ECS API task definition id: task-def-api uses: aws-actions/amazon-ecs-render-task-definition@v1 with: task-definition: ${{ inputs.aws_task_definitions_directory_path }}/ecs-task-definition-web.json container-name: flagsmith-api - image: ${{ steps.build-image.outputs.image }} + image: ${{ inputs.api_ecr_image_url }} # This is used in both the SQL migrations and the Dynamo Identity Migrations - name: Fill in the new image ID in the Amazon ECS migration task definition @@ -169,7 +71,7 @@ runs: with: task-definition: ${{ inputs.aws_task_definitions_directory_path }}/ecs-task-definition-migration.json container-name: flagsmith-api-migration - image: ${{ steps.build-image.outputs.image }} + image: ${{ inputs.api_ecr_image_url }} - name: Register and perform SQL schema migration id: register-migrate-task diff --git a/.github/actions/e2e-tests/action.yml b/.github/actions/e2e-tests/action.yml index db9f9744bef1..3b68f8a25fcd 100644 --- a/.github/actions/e2e-tests/action.yml +++ b/.github/actions/e2e-tests/action.yml @@ -47,6 +47,5 @@ runs: env: E2E_TEST_TOKEN: ${{ inputs.e2e_test_token }} SLACK_TOKEN: ${{ inputs.slack_token }} - STATIC_ASSET_CDN_URL: / ENV: ${{ inputs.environment }} GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/.github/workflows/.reusable-deploy-ecs.yml b/.github/workflows/.reusable-deploy-ecs.yml new file mode 100644 index 000000000000..c694eeb7f40b --- /dev/null +++ b/.github/workflows/.reusable-deploy-ecs.yml @@ -0,0 +1,123 @@ +# reusable workflow +name: Deploy to ECS and Test + +on: + workflow_call: + inputs: + environment: + type: string + description: The environment to deploy to + required: true + saas-image-name: + type: string + description: SaaS image name + required: false + default: flagsmith-saas-api + +jobs: + docker-build-saas-api: + environment: ${{ inputs.environment }} + runs-on: ubuntu-latest + outputs: + image-url: ${{ steps.login-ecr.outputs.registry }}/${{ inputs.saas-image-name }}:${{ steps.meta.outputs.version }} + + permissions: + id-token: write + contents: read + + steps: + - name: Cloning repo + uses: actions/checkout@v4 + + - name: Set up Depot CLI + uses: depot/setup-action@v1 + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1-node16 + with: + aws-access-key-id: ${{ vars.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: eu-west-2 + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v1 + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: | + ${{ steps.login-ecr.outputs.registry }}/${{ inputs.saas-image-name }} + tags: | + type=ref,event=branch + type=ref,event=tag + + - name: Build saas-api image + uses: depot/build-push-action@v1 + with: + target: saas-api + context: . + build-args: CI_COMMIT_SHA=${{ github.sha }} + secrets: | + github_private_cloud_token=${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} + sse_pgp_pkey=${{ secrets.SSE_PGP_PRIVATE_KEY }} + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + deploy: + needs: docker-build-saas-api + environment: ${{ inputs.environment }} + runs-on: ubuntu-latest + steps: + - name: Cloning repo + uses: actions/checkout@v4 + + - name: Deploy API to ${{ inputs.environment }} + id: deploy-api + uses: ./.github/actions/api-deploy-ecs + with: + aws_access_key_id: ${{ vars.AWS_ACCESS_KEY_ID }} + aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws_ecs_cluster_name: ${{ vars.AWS_ECS_CLUSTER_NAME }} + aws_ecs_cluster_arn: ${{ vars.AWS_ECS_CLUSTER_ARN }} + aws_ecs_service_name: ${{ vars.AWS_ECS_SERVICE_NAME }} + aws_vpc_subnet_id: ${{ vars.AWS_VPC_SUBNET_ID }} + aws_ecs_security_group_id: ${{ vars.AWS_ECS_SECURITY_GROUP_ID }} + aws_ecr_repository_arn: ${{ vars.AWS_ECR_REPOSITORY_ARN }} + aws_identity_migration_event_bus_name: ${{ vars.AWS_IDENTITY_MIGRATION_EVENT_BUS_NAME }} + aws_identity_migration_event_bus_rule_id: ${{ vars.AWS_IDENTITY_MIGRATION_EVENT_BUS_RULE_ID }} + aws_identity_migration_task_role_arn: ${{ vars.AWS_IDENTITY_MIGRATION_TASK_ROLE_ARN }} + aws_task_definitions_directory_path: infrastructure/aws/${{ inputs.environment }} + api_ecr_image_url: ${{ needs.docker-build-saas-api.outputs.image-url }} + + - name: Deploy Task processor to ${{ inputs.environment }} + uses: ./.github/actions/task-processor-deploy-ecs + with: + aws_access_key_id: ${{ vars.AWS_ACCESS_KEY_ID }} + aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws_ecs_cluster_name: ${{ vars.AWS_ECS_CLUSTER_NAME }} + aws_ecs_service_name: ${{ vars.AWS_ECS_TASK_PROCESSOR_SERVICE_NAME }} + aws_task_definitions_directory_path: infrastructure/aws/${{ inputs.environment }} + api_ecr_image_url: ${{ needs.docker-build-saas-api.outputs.image-url }} + + run-tests: + needs: deploy + runs-on: ubuntu-latest + name: Run E2E Tests + environment: ${{ inputs.environment }} + concurrency: + group: e2e-tests-${{ inputs.environment }} + cancel-in-progress: true + + steps: + - name: Cloning repo + uses: actions/checkout@v4 + + - name: Run E2E tests against ${{ inputs.environment }} + uses: ./.github/actions/e2e-tests + with: + e2e_test_token: ${{ secrets.E2E_TEST_TOKEN }} + slack_token: ${{ secrets.SLACK_TOKEN }} + environment: ${{ inputs.environment }} diff --git a/.github/workflows/.reusable-docker-build.yml b/.github/workflows/.reusable-docker-build.yml index 856180401aef..d22c6b095806 100644 --- a/.github/workflows/.reusable-docker-build.yml +++ b/.github/workflows/.reusable-docker-build.yml @@ -6,16 +6,21 @@ on: inputs: registry-url: type: string - description: Github container registry base URL + description: Github Container Registry base URL required: false default: ghcr.io file: type: string description: Path to the Dockerfile - required: true + required: false + default: Dockerfile + target: + type: string + description: Sets the target stage to build + required: false image-name: type: string - description: Image slug + description: Image name required: true build-args: type: string @@ -23,13 +28,17 @@ on: required: false scan: type: boolean - description: Whether to scan image for vulnerabilities + description: Whether to scan built image for vulnerabilities required: false default: true outputs: image: description: Resulting image specifier value: ${{ inputs.registry-url }}/flagsmith/${{ inputs.image-name }}:${{ jobs.build.outputs.version }} + secrets: + secrets: + description: List of secrets to expose to the build (e.g., `key=string, GIT_AUTH_TOKEN=mytoken`) + required: false jobs: build: @@ -50,7 +59,7 @@ jobs: - name: Set up Depot CLI uses: depot/setup-action@v1 - - name: Login to GitHub Container Registry + - name: Login to Github Container Registry uses: docker/login-action@v3 with: registry: ${{ inputs.registry-url }} @@ -67,18 +76,39 @@ jobs: type=ref,event=branch type=ref,event=tag type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} - name: Build and push image uses: depot/build-push-action@v1 with: + context: . push: true - build-args: ${{ inputs.build-args }} + platforms: linux/amd64,linux/arm64 + secrets: ${{ secrets.secrets }} + target: ${{ inputs.target }} + build-args: | + CI_COMMIT_SHA=${{ github.sha }} + ${{ inputs.build-args }} file: ${{ inputs.file }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + provenance: false - name: Run Trivy vulnerability scanner - if: ${{ inputs.scan }} + id: trivy + if: inputs.scan uses: aquasecurity/trivy-action@master with: image-ref: ${{ inputs.registry-url }}/flagsmith/${{ inputs.image-name }}:${{ steps.meta.outputs.version }} + format: sarif + output: trivy-results.sarif + env: + TRIVY_USERNAME: ${{ github.actor }} + TRIVY_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload Trivy scan results to GitHub Security tab + uses: github/codeql-action/upload-sarif@v2 + if: inputs.scan && (success() || failure()) + with: + sarif_file: trivy-results.sarif diff --git a/.github/workflows/.reusable-docker-e2e-tests.yml b/.github/workflows/.reusable-docker-e2e-tests.yml index d85dbc5cf1da..535e6384941a 100644 --- a/.github/workflows/.reusable-docker-e2e-tests.yml +++ b/.github/workflows/.reusable-docker-e2e-tests.yml @@ -4,6 +4,11 @@ name: Run Docker E2E tests on: workflow_call: inputs: + registry-url: + type: string + description: Github Container Registry base URL + required: false + default: ghcr.io api-image: type: string description: Core API Docker image to use, e.g., `ghcr.io/flagsmith/flagsmith-api:main` @@ -32,6 +37,13 @@ jobs: - name: Cloning repo uses: actions/checkout@v4 + - name: Login to Github Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ inputs.registry-url }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Run tests on dockerised frontend uses: nick-fields/retry@v3 with: diff --git a/.github/workflows/.reusable-docker-publish.yml b/.github/workflows/.reusable-docker-publish.yml new file mode 100644 index 000000000000..32b12aab5701 --- /dev/null +++ b/.github/workflows/.reusable-docker-publish.yml @@ -0,0 +1,66 @@ +# reusable workflow +name: Publish Docker Image + +on: + workflow_call: + inputs: + registry-url: + type: string + description: Github Container Registry base URL + required: false + default: ghcr.io + source-images: + type: string + description: Source image to publish + required: true + target-images: + type: string + description: Target image names + required: true + +jobs: + publish: + name: Publish ${{ inputs.source-images }} to ${{ inputs.target-images }} + runs-on: ubuntu-latest + + permissions: + contents: read + id-token: write + + steps: + - name: Cloning repo + uses: actions/checkout@v4 + with: + sparse-checkout: depot.json + sparse-checkout-cone-mode: false + + - name: Login to Github Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ inputs.registry-url }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ inputs.target-images }} + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + + # Setup Docker buildx with Depot builder so imagetools have access to Depot cache + - uses: depot/use-action@v1 + + - name: Publish Image + uses: kphrx/docker-buildx-imagetools-action@v0.1.2 + with: + sources: ${{ inputs.source-images }} + tags: ${{ steps.meta.outputs.tags }} diff --git a/.github/workflows/api-deploy-production-ecs.yml b/.github/workflows/api-deploy-production-ecs.yml index 9624c6a12ecc..66118043bddf 100644 --- a/.github/workflows/api-deploy-production-ecs.yml +++ b/.github/workflows/api-deploy-production-ecs.yml @@ -10,62 +10,7 @@ on: - infrastructure/aws/production/** jobs: - deploy-production-ecs: - runs-on: ubuntu-latest - name: API Deploy to Production ECS - environment: production - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Deploy API to Production - id: deploy-api - uses: ./.github/actions/api-deploy-ecs - with: - github_access_token: ${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} - aws_access_key_id: AKIARHES7IUAU2LR2B5K - aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws_ecs_cluster_name: flagsmith-api-cluster-eu-west-2-f0b0108 - aws_ecs_cluster_arn: arn:aws:ecs:eu-west-2:084060095745:cluster/flagsmith-api-cluster-eu-west-2-f0b0108 - aws_ecs_service_name: flagsmith-svc-eu-west-2-c3cd356 - aws_vpc_subnet_id: subnet-40fd6629 - aws_ecs_security_group_id: sg-0ef0e8f66f890b80c - aws_ecr_repository_arn: 084060095745.dkr.ecr.eu-west-2.amazonaws.com/flagsmith-ecr-934e8a7 - aws_identity_migration_event_bus_name: identity_migration-d46ed1a - aws_identity_migration_event_bus_rule_id: identity_migration-b03c433 - aws_identity_migration_task_role_arn: arn:aws:iam::084060095745:role/task-exec-role-741a7e3 - aws_task_definitions_directory_path: infrastructure/aws/production - flagsmith_saml_revision: v1.6.2 - flagsmith_rbac_revision: v0.7.0 - sse_pgp_private_key: ${{ secrets.SSE_PGP_PRIVATE_KEY }} - - - name: Deploy task processor to Production - uses: ./.github/actions/task-processor-deploy-ecs - with: - aws_access_key_id: AKIARHES7IUAU2LR2B5K - aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws_ecs_cluster_name: flagsmith-api-cluster-eu-west-2-f0b0108 - aws_ecs_service_name: flagsmith-task-processor-svc-eu-west-2-bf77140 - aws_task_definitions_directory_path: infrastructure/aws/production - api_ecr_image_url: ${{ steps.deploy-api.outputs.api_ecr_image_url }} - - run-tests: - runs-on: ubuntu-latest - name: Run E2E Tests - environment: production - needs: deploy-production-ecs - concurrency: - group: e2e-tests-prod - cancel-in-progress: true - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Run E2E tests against production - uses: ./.github/actions/e2e-tests - with: - e2e_test_token: ${{ secrets.E2E_TEST_TOKEN }} - slack_token: ${{ secrets.SLACK_TOKEN }} - environment: prod + deploy-ecs: + uses: ./.github/workflows/.reusable-deploy-ecs.yml + with: + environment: production diff --git a/.github/workflows/api-deploy-staging-ecs.yml b/.github/workflows/api-deploy-staging-ecs.yml index f843dce5e483..0cc139aeb5e1 100644 --- a/.github/workflows/api-deploy-staging-ecs.yml +++ b/.github/workflows/api-deploy-staging-ecs.yml @@ -11,62 +11,7 @@ on: workflow_dispatch: jobs: - deploy-staging-ecs: - runs-on: ubuntu-latest - name: API Deploy to Staging ECS - environment: staging - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Deploy API to Staging - id: deploy-api - uses: ./.github/actions/api-deploy-ecs - with: - github_access_token: ${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} - aws_access_key_id: AKIAUM26IRCPASKFW2X5 - aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws_ecs_cluster_name: flagsmith-api-cluster-eu-west-2-f241261 - aws_ecs_cluster_arn: arn:aws:ecs:eu-west-2:302456015006:cluster/flagsmith-api-cluster-eu-west-2-f241261 - aws_ecs_service_name: flagsmith-svc-eu-west-2-8bb18de - aws_vpc_subnet_id: subnet-1b0b8861 - aws_ecs_security_group_id: sg-08632d6fb4cb0fdf3 - aws_ecr_repository_arn: 302456015006.dkr.ecr.eu-west-2.amazonaws.com/flagsmith-ecr-d247ba2 - aws_identity_migration_event_bus_name: identity_migration-fb41b5d - aws_identity_migration_event_bus_rule_id: identity_migration-08330ed - aws_identity_migration_task_role_arn: arn:aws:iam::302456015006:role/task-exec-role-6fb76f6 - aws_task_definitions_directory_path: infrastructure/aws/staging - flagsmith_saml_revision: v1.6.2 - flagsmith_rbac_revision: v0.7.0 - sse_pgp_private_key: ${{ secrets.SSE_PGP_PRIVATE_KEY }} - - - name: Deploy task processor to Staging - uses: ./.github/actions/task-processor-deploy-ecs - with: - aws_access_key_id: AKIAUM26IRCPASKFW2X5 - aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws_ecs_cluster_name: flagsmith-api-cluster-eu-west-2-f241261 - aws_ecs_service_name: flagsmith-task-processor-svc-eu-west-2-792c644 - aws_task_definitions_directory_path: infrastructure/aws/staging - api_ecr_image_url: ${{ steps.deploy-api.outputs.api_ecr_image_url }} - - run-tests: - runs-on: ubuntu-latest - name: Run E2E Tests - environment: staging - needs: deploy-staging-ecs - concurrency: - group: e2e-tests-staging - cancel-in-progress: true - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Run E2E tests against staging - uses: ./.github/actions/e2e-tests - with: - e2e_test_token: ${{ secrets.E2E_TEST_TOKEN }} - slack_token: ${{ secrets.SLACK_TOKEN }} - environment: staging + deploy-ecs: + uses: ./.github/workflows/.reusable-deploy-ecs.yml + with: + environment: staging diff --git a/.github/workflows/api-docker-publish-image.yml b/.github/workflows/api-docker-publish-image.yml deleted file mode 100644 index c74e4cd87ef3..000000000000 --- a/.github/workflows/api-docker-publish-image.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: API Publish Docker Images - -on: - push: - tags: - - '*' - paths: - - api/** - - .github/** - -jobs: - build-api-dockerhub: - runs-on: ubuntu-latest - name: API Publish Docker Image - - permissions: - id-token: write - contents: read - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: | - flagsmith/flagsmith-api - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - - name: Set up Depot CLI - uses: depot/setup-action@v1 - - - name: Write git info to Docker image - run: | - echo ${{ github.sha }} > api/CI_COMMIT_SHA - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push images - id: docker_build - uses: depot/build-push-action@v1 - with: - platforms: linux/amd64,linux/arm64 - file: api/Dockerfile - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} diff --git a/.github/workflows/frontend-docker-publish-image.yml b/.github/workflows/frontend-docker-publish-image.yml deleted file mode 100644 index e0066f3b3ea1..000000000000 --- a/.github/workflows/frontend-docker-publish-image.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Frontend Publish Docker Images - -on: - push: - tags: - - '*' - paths: - - frontend/** - - .github/** - -jobs: - build-frontend-dockerhub: - runs-on: ubuntu-latest - name: Frontend Publish Docker Image - - permissions: - id-token: write - contents: read - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: | - flagsmith/flagsmith-frontend - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - - name: Set up Depot CLI - uses: depot/setup-action@v1 - - - name: Write git info to Docker image - run: | - cd frontend - echo ${{ github.sha }} > CI_COMMIT_SHA - - - name: Download features - run: > - curl --location --request GET 'https://api.flagsmith.com/api/v1/flags/' --header 'X-Environment-Key: ${{ - secrets.FLAGSMITH_ENVIRONMENT_KEY }}' > frontend/flags.json - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push images - id: docker_build - uses: depot/build-push-action@v1 - with: - platforms: linux/amd64,linux/arm64 - file: frontend/Dockerfile - push: true - tags: ${{ steps.meta.outputs.tags }} diff --git a/.github/workflows/frontend-e2e-docker-publish-image.yml b/.github/workflows/frontend-e2e-docker-publish-image.yml deleted file mode 100644 index 25911796a35a..000000000000 --- a/.github/workflows/frontend-e2e-docker-publish-image.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Frontend E2E Publish Docker Images - -on: - push: - branches: - - main - tags: - - '*' - paths: - - frontend/** - - .github/** - -jobs: - build-frontend-e2e-dockerhub: - runs-on: ubuntu-latest - name: Frontend E2E Publish Docker Image - - permissions: - id-token: write - contents: read - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Set up Depot CLI - uses: depot/setup-action@v1 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: | - flagsmith/flagsmith-e2e-tests - flavor: | - latest=${{ startsWith(github.ref, 'refs/heads/main') }} - tags: | - type=ref,event=branch - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - - name: Build and push E2E testing docker image - id: docker_build - uses: depot/build-push-action@v1 - with: - file: frontend/Dockerfile.e2e - push: true - tags: ${{ steps.meta.outputs.tags }} - build-args: | - CHROME_URL=${{ secrets.CHROME_URL }} diff --git a/.github/workflows/frontend-test-staging.yml b/.github/workflows/frontend-test-staging.yml index 814c43f0e1d0..4828f38cd794 100644 --- a/.github/workflows/frontend-test-staging.yml +++ b/.github/workflows/frontend-test-staging.yml @@ -4,25 +4,20 @@ on: workflow_dispatch jobs: run-staging-e2e-tests: - if: github.event.pull_request.draft == false runs-on: ubuntu-latest - name: Full Staging E2E tests + name: Run E2E Tests environment: staging + concurrency: + group: e2e-tests-staging + cancel-in-progress: true steps: - name: Cloning repo uses: actions/checkout@v4 - - name: Run Staging E2E Tests - working-directory: frontend - env: - ENV: staging - SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} - STATIC_ASSET_CDN_URL: / - run: |- - wget -q ${{ secrets.CHROME_URL }} - sudo apt install --allow-downgrades -y ./google-chrome*.deb -f - google-chrome --version - node -v - npm ci - npm run test:staging + - name: Run E2E tests against staging + uses: ./.github/actions/e2e-tests + with: + e2e_test_token: ${{ secrets.E2E_TEST_TOKEN }} + slack_token: ${{ secrets.SLACK_TOKEN }} + environment: staging diff --git a/.github/workflows/platform-docker-build-e2e-image.yml b/.github/workflows/platform-docker-build-e2e-image.yml index d0926e388900..54e305d18b03 100644 --- a/.github/workflows/platform-docker-build-e2e-image.yml +++ b/.github/workflows/platform-docker-build-e2e-image.yml @@ -14,7 +14,7 @@ jobs: - name: Cloning repo uses: actions/checkout@v4 - - name: Login to GitHub Container Registry + - name: Login to Github Container Registry uses: docker/login-action@v3 with: registry: ghcr.io diff --git a/.github/workflows/platform-docker-build-test-publish.yml b/.github/workflows/platform-docker-build-test-publish.yml new file mode 100644 index 000000000000..c35e3919dce8 --- /dev/null +++ b/.github/workflows/platform-docker-build-test-publish.yml @@ -0,0 +1,161 @@ +name: Platform Build Docker Images, Test, and Publish + +on: + push: + branches: + - main + release: + types: + - released + +jobs: + docker-build-api: + name: Build API Image + uses: ./.github/workflows/.reusable-docker-build.yml + with: + target: oss-api + image-name: flagsmith-api + + docker-build-frontend: + name: Build Frontend Image + uses: ./.github/workflows/.reusable-docker-build.yml + with: + target: oss-frontend + image-name: flagsmith-frontend + + docker-build-unified: + name: Build Unified Image + uses: ./.github/workflows/.reusable-docker-build.yml + with: + target: oss-unified + image-name: flagsmith + + docker-build-private-cloud-api: + name: Build Private Cloud API Image + uses: ./.github/workflows/.reusable-docker-build.yml + with: + target: private-cloud-api + image-name: flagsmith-private-cloud-api + secrets: + secrets: | + github_private_cloud_token=${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} + + docker-build-private-cloud: + name: Build Private Cloud Image + uses: ./.github/workflows/.reusable-docker-build.yml + with: + target: private-cloud-unified + image-name: flagsmith-private-cloud + secrets: + secrets: | + github_private_cloud_token=${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} + + docker-build-e2e: + name: Build E2E Image + uses: ./.github/workflows/.reusable-docker-build.yml + with: + file: frontend/Dockerfile.e2e + image-name: flagsmith-e2e + scan: false + + run-e2e-tests: + needs: [docker-build-api, docker-build-private-cloud-api, docker-build-e2e] + uses: ./.github/workflows/.reusable-docker-e2e-tests.yml + with: + api-image: ${{ matrix.api-image }} + e2e-image: ${{ needs.docker-build-e2e.outputs.image }} + + strategy: + matrix: + api-image: + - ${{ needs.docker-build-api.outputs.image }} + - ${{ needs.docker-build-private-cloud-api.outputs.image }} + + docker-publish-api: + needs: [docker-build-api, run-e2e-tests] + uses: ./.github/workflows/.reusable-docker-publish.yml + if: github.event_name == 'release' + with: + source-images: ${{ needs.docker-build-api.outputs.image }} + target-images: flagsmith/flagsmith-api + + docker-publish-frontend: + needs: [docker-build-frontend, run-e2e-tests] + uses: ./.github/workflows/.reusable-docker-publish.yml + if: github.event_name == 'release' + with: + source-images: ${{ needs.docker-build-frontend.outputs.image }} + target-images: flagsmith/flagsmith-frontend + + docker-publish-unified: + needs: [docker-build-unified, run-e2e-tests] + uses: ./.github/workflows/.reusable-docker-publish.yml + if: github.event_name == 'release' + with: + source-images: ${{ needs.docker-build-unified.outputs.image }} + target-images: flagsmith/flagsmith + + docker-publish-private-cloud-api: + needs: [docker-build-private-cloud-api, run-e2e-tests] + uses: ./.github/workflows/.reusable-docker-publish.yml + if: github.event_name == 'release' + with: + source-images: ${{ needs.docker-build-private-cloud-api.outputs.image }} + target-images: flagsmith/flagsmith-private-cloud-api + + docker-publish-private-cloud: + needs: [docker-build-private-cloud, run-e2e-tests] + uses: ./.github/workflows/.reusable-docker-publish.yml + if: github.event_name == 'release' + with: + source-images: ${{ needs.docker-build-private-cloud.outputs.image }} + target-images: flagsmith/flagsmith-private-cloud + + update-charts: + needs: [docker-publish-api, docker-publish-frontend, docker-publish-unified] + runs-on: ubuntu-latest + steps: + - name: Checkout Target Charts Repository to update yaml + uses: actions/checkout@v4 + with: + repository: flagsmith/flagsmith-charts + path: chart + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up release tag variables + id: version-trim + run: | + TAG=${{github.ref_name}} + echo "version=${TAG#v}" >> $GITHUB_OUTPUT + + - name: Run YAML to Github Output Action + id: yaml-output + uses: christian-ci/action-yaml-github-output@v2 + with: + file_path: './chart/charts/flagsmith/Chart.yaml' + + - uses: us-ignite/action-bump-semver@main + id: bump-semver + with: + current_version: ${{ steps.yaml-output.outputs.version }} + level: minor + + - name: Update flagsmith-charts values.yaml with latest docker version + uses: fjogeleit/yaml-update-action@main + with: + token: ${{ secrets.FLAGSMITH_CHARTS_GITHUB_TOKEN }} + repository: flagsmith/flagsmith-charts + workDir: chart + masterBranchName: 'main' + targetBranch: 'main' + branch: docker-image-version-bump-${{ steps.version-trim.outputs.version }} + commitChange: true + createPR: true + message: 'Flagsmith docker image version bump' + description: 'Automated PR generated by a release event in https://github.com/Flagsmith/flagsmith' + valueFile: 'charts/flagsmith/Chart.yaml' + changes: | + { + "appVersion": "${{ steps.version-trim.outputs.version }}", + "version": "${{ steps.bump-semver.outputs.new_version }}" + } diff --git a/.github/workflows/platform-docker-publish-all-features-image.yml b/.github/workflows/platform-docker-publish-all-features-image.yml deleted file mode 100644 index f93f5d9883ff..000000000000 --- a/.github/workflows/platform-docker-publish-all-features-image.yml +++ /dev/null @@ -1,99 +0,0 @@ -name: Publish Flagsmith Private Cloud Image - -on: - push: - tags: - - '*' - -env: - FLAGSMITH_SAML_REVISION: v1.6.2 - FLAGSMITH_RBAC_REVISION: v0.7.0 - -jobs: - build-dockerhub: - name: Platform Publish Docker Image - runs-on: ubuntu-latest - - permissions: - id-token: write - contents: read - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Checkout SAML package - uses: actions/checkout@v4 - with: - repository: flagsmith/flagsmith-saml - token: ${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} - ref: ${{ env.flagsmith_saml_revision }} - path: ./flagsmith-saml - - - name: Integrate SAML module - run: | - mv ./flagsmith-saml/saml ./api - - - name: Checkout Auth Controller package - uses: actions/checkout@v4 - with: - repository: flagsmith/flagsmith-auth-controller - token: ${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} - ref: ${{ env.FLAGSMITH_AUTH_CONTROLLER_REVISION }} - path: ./flagsmith-auth-controller - - - name: Integrate Auth Controller module - run: mv ./flagsmith-auth-controller/auth_controller ./api - shell: bash - - - name: Checkout RBAC module - uses: actions/checkout@v4 - with: - repository: flagsmith/flagsmith-rbac - token: ${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} - ref: ${{ env.flagsmith_rbac_revision }} - path: ./flagsmith-rbac - - - name: Integrate RBAC module - run: mv ./flagsmith-rbac/rbac ./api - shell: bash - - - name: Write git info to Docker image - run: | - cd api - echo ${{ github.sha }} > CI_COMMIT_SHA - echo '' > ENTERPRISE_VERSION - - - name: Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: | - flagsmith/flagsmith-private-cloud - tags: | - type=ref,event=branch - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - - name: Set up Depot CLI - uses: depot/setup-action@v1 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push images - id: docker_build - uses: depot/build-push-action@v1 - with: - platforms: linux/amd64,linux/arm64 - file: Dockerfile - push: true - tags: ${{ steps.meta.outputs.tags }} - context: . - build-args: | - SAML_INSTALLED=1 - POETRY_OPTS=--with saml,auth-controller,ldap,workflows - GH_TOKEN=${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} diff --git a/.github/workflows/platform-docker-publish-image.yml b/.github/workflows/platform-docker-publish-image.yml deleted file mode 100644 index fedfa24ca4ef..000000000000 --- a/.github/workflows/platform-docker-publish-image.yml +++ /dev/null @@ -1,96 +0,0 @@ -name: Platform Publish Docker Images - -on: - push: - tags: - - '*' - -jobs: - build-dockerhub: - runs-on: ubuntu-latest - name: Platform Publish Docker Image - - permissions: - id-token: write - contents: read - - steps: - - name: Cloning repo - uses: actions/checkout@v4 - - - name: Checkout Target Charts Repository to update yaml - uses: actions/checkout@v4 - with: - repository: flagsmith/flagsmith-charts - path: chart - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: | - flagsmith/flagsmith - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - - name: Write git info to Docker image - run: | - echo ${{ github.sha }} > api/CI_COMMIT_SHA - - - name: Set up Depot CLI - uses: depot/setup-action@v1 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push images - id: docker_build - uses: depot/build-push-action@v1 - with: - platforms: linux/amd64,linux/arm64 - file: Dockerfile - push: true - tags: ${{ steps.meta.outputs.tags }} - context: . - - - name: Set up release tag variables - run: | - TAG=${{github.ref_name}} - echo "version_trim=${TAG#v}" >> $GITHUB_ENV - - - name: Run YAML to Github Output Action - id: yaml-output - uses: christian-ci/action-yaml-github-output@v2 - with: - file_path: './chart/charts/flagsmith/Chart.yaml' - - - uses: us-ignite/action-bump-semver@main - id: bump-semver - with: - current_version: ${{ steps.yaml-output.outputs.version }} - level: minor - - - name: Update flagsmith-charts values.yaml with latest docker version - uses: fjogeleit/yaml-update-action@main - with: - token: ${{ secrets.FLAGSMITH_CHARTS_GITHUB_TOKEN }} - repository: flagsmith/flagsmith-charts - workDir: chart - masterBranchName: 'main' - targetBranch: 'main' - branch: docker-image-version-bump-${{ env.version_trim }} - commitChange: true - createPR: true - message: 'Flagsmith docker image version bump' - description: 'Automated PR generated by a release event in https://github.com/Flagsmith/flagsmith' - valueFile: 'charts/flagsmith/Chart.yaml' - changes: | - { - "appVersion": "${{ env.version_trim }}", - "version": "${{ steps.bump-semver.outputs.new_version }}" - } diff --git a/.github/workflows/platform-pull-request.yml b/.github/workflows/platform-pull-request.yml index ec57890dfa69..3011ca6d6096 100644 --- a/.github/workflows/platform-pull-request.yml +++ b/.github/workflows/platform-pull-request.yml @@ -60,7 +60,7 @@ jobs: name: Build Unified Image uses: ./.github/workflows/.reusable-docker-build.yml with: - file: Dockerfile + target: oss-unified image-name: flagsmith docker-build-api: @@ -68,7 +68,7 @@ jobs: name: Build API Image uses: ./.github/workflows/.reusable-docker-build.yml with: - file: api/Dockerfile + target: oss-api image-name: flagsmith-api docker-build-frontend: @@ -76,7 +76,7 @@ jobs: name: Build Frontend Image uses: ./.github/workflows/.reusable-docker-build.yml with: - file: frontend/Dockerfile + target: oss-frontend image-name: flagsmith-frontend docker-build-e2e: @@ -88,17 +88,31 @@ jobs: image-name: flagsmith-e2e scan: false + docker-build-private-cloud: + if: github.event.pull_request.draft == false + name: Build Private Cloud Image + uses: ./.github/workflows/.reusable-docker-build.yml + with: + target: private-cloud-unified + image-name: flagsmith-private-cloud + secrets: + secrets: | + github_private_cloud_token=${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} + run-e2e-tests: - needs: [docker-build-api, docker-build-e2e] + needs: [docker-build-api, docker-build-private-cloud, docker-build-e2e] uses: ./.github/workflows/.reusable-docker-e2e-tests.yml with: - api-image: ${{ needs.docker-build-api.outputs.image }} e2e-image: ${{ needs.docker-build-e2e.outputs.image }} + api-image: ${{ matrix.api-image }} concurrency: ${{ matrix.args.concurrency }} tests: ${{ matrix.args.tests }} strategy: matrix: + api-image: + - ${{ needs.docker-build-api.outputs.image }} + - ${{ needs.docker-build-private-cloud.outputs.image }} args: - tests: segment-part-1 environment concurrency: 1 diff --git a/.github/workflows/platform-test-merge-to-main.yml b/.github/workflows/platform-test-merge-to-main.yml deleted file mode 100644 index aefc752e4087..000000000000 --- a/.github/workflows/platform-test-merge-to-main.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Platform Test Merge to Main - -on: - push: - branches: - - main - -jobs: - docker-build-api: - name: Build API Image - uses: ./.github/workflows/.reusable-docker-build.yml - with: - file: api/Dockerfile - image-name: flagsmith-api - - docker-build-e2e: - name: Build E2E Image - uses: ./.github/workflows/.reusable-docker-build.yml - with: - file: frontend/Dockerfile.e2e - image-name: flagsmith-e2e - scan: false - - run-e2e-tests: - needs: [docker-build-api, docker-build-e2e] - uses: ./.github/workflows/.reusable-docker-e2e-tests.yml - with: - api-image: ${{ needs.docker-build-api.outputs.image }} - e2e-image: ${{ needs.docker-build-e2e.outputs.image }} diff --git a/Dockerfile b/Dockerfile index d983ae6e66ac..8afc45d4f8d7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,65 @@ -# Step 1 - Build Front End Application -FROM node:16 AS build-frontend +# Your usual Flagsmith release produces of a number of shippable Docker images: + +# - Private cloud: API, Unified +# - SaaS: API +# - Open Source: API, Frontend, Unified + +# This Dockerfile is meant to build all of the above via composable, interdependent stages. +# The goal is to have as DRY as possible build for all the targets. + +# Usage Examples + +# Build an Open Source API image: +# $ docker build -t flagsmith-api:dev --target oss-api . + +# Build an Open Source Unified image: +# (`oss-unified` stage is the default one, so there's no need to specify a target stage) +# $ docker build -t flagsmith:dev . + +# Build a SaaS API image: +# $ GH_TOKEN=$(gh auth token) docker build -t flagsmith-saas-api:dev --target saas-api \ +# --secret="id=sse_pgp_pkey,src=./sse_pgp_pkey.key"\ +# --secret="id=github_private_cloud_token,env=GH_TOKEN" . + +# Build a Private Cloud Unified image: +# $ GH_TOKEN=$(gh auth token) docker build -t flagsmith-private-cloud:dev --target private-cloud-unified \ +# --secret="id=github_private_cloud_token,env=GH_TOKEN" . + +# Table of Contents +# Stages are described as stage-name [dependencies] + +# - Intermediary stages +# * build-node [node] +# * build-node-django [build-node] +# * build-node-selfhosted [build-node] +# * build-python [python] +# * build-python-private [build-python] +# * api-runtime [python:slim] +# * api-runtime-private [api-runtime] + +# - Target (shippable) stages +# * private-cloud-api [api-runtime-private, build-python-private] +# * private-cloud-unified [api-runtime-private, build-python-private, build-node-django] +# * saas-api [api-runtime-private, build-python-private] +# * oss-api [api-runtime, build-python] +# * oss-frontend [node:slim, build-node-selfhosted] +# * oss-unified [api-runtime, build-python, build-node-django] + +ARG CI_COMMIT_SHA=dev + +# Pin runtimes versions +ARG NODE_VERSION=16 +ARG PYTHON_VERSION=3.11 +ARG PYTHON_SITE_DIR=/usr/local/lib/python${PYTHON_VERSION}/site-packages + +FROM node:${NODE_VERSION} as node +FROM node:${NODE_VERSION}-slim as node-slim +FROM python:${PYTHON_VERSION} as python +FROM python:${PYTHON_VERSION}-slim as python-slim + +# - Intermediary stages +# * build-node +FROM node AS build-node # Copy the files required to install npm packages WORKDIR /app @@ -7,71 +67,155 @@ COPY frontend/package.json frontend/package-lock.json frontend/.npmrc ./frontend COPY frontend/bin/ ./frontend/bin/ COPY frontend/env/ ./frontend/env/ -# since ENV is only used for the purposes of copying the correct -# project_${env}.js file to common/project.js, this is a build arg -# which subsequently gets set as an environment variable. This is -# done to avoid confusion since it is not a required run time var. ARG ENV=selfhosted RUN cd frontend && ENV=${ENV} npm ci --quiet --production -# Copy the entire project - Webpack puts compiled assets into the Django folder -COPY . . -ENV STATIC_ASSET_CDN_URL=/static/ -RUN cd frontend && npm run bundledjango +COPY frontend /app/frontend -# Step 2 - Build Python virtualenv -FROM python:3.11 as build-python -WORKDIR /app +# * build-node-django [build-node] +FROM build-node as build-node-django -COPY api/pyproject.toml api/poetry.lock api/Makefile ./ -ARG POETRY_VIRTUALENVS_CREATE=false -RUN make install-poetry -ENV PATH="$PATH:/root/.local/bin" +RUN mkdir /app/api && cd frontend && npm run bundledjango -ARG GH_TOKEN -RUN if [ -n "${GH_TOKEN}" ]; \ - then echo "https://${GH_TOKEN}:@github.com" > ${HOME}/.git-credentials \ - && git config --global credential.helper store; fi; +# * build-node-selfhosted [build-node] +FROM build-node as build-node-selfhosted -ARG POETRY_OPTS -RUN make install-packages opts="${POETRY_OPTS}" +RUN cd frontend && npm run bundle -# Step 3 - Build Django Application -FROM python:3.11-slim as application +# * build-python +FROM python as build-python WORKDIR /app -# Install SAML dependency if required -ARG SAML_INSTALLED="0" -RUN if [ "${SAML_INSTALLED}" = "1" ]; then apt-get update && apt-get install -y xmlsec1; fi; +COPY api/pyproject.toml api/poetry.lock api/Makefile ./ +ENV POETRY_VIRTUALENVS_CREATE=false POETRY_HOME=/usr/local +RUN make install opts='--without dev' + +# * build-python-private [build-python] +FROM build-python AS build-python-private + +# Authenticate git with token, install SAML binary dependency, +# private Python dependencies, and integrate private modules +ARG SAML_REVISION +ARG RBAC_REVISION +RUN --mount=type=secret,id=github_private_cloud_token \ + echo "https://$(cat /run/secrets/github_private_cloud_token):@github.com" > ${HOME}/.git-credentials && \ + git config --global credential.helper store && \ + make install-packages opts='--without dev --with saml,auth-controller,ldap,workflows' && \ + make install-private-modules + +# * api-runtime +FROM python-slim as api-runtime -# arm architecture platform builds need postgres drivers installing via apt ARG TARGETARCH -RUN if [ "${TARGETARCH}" != "amd64" ]; then apt-get update && apt-get install -y libpq-dev && rm -rf /var/lib/apt/lists/*; fi; +RUN if [ "${TARGETARCH}" != "amd64" ]; then \ + apt-get update && apt-get install -y libpq-dev && rm -rf /var/lib/apt/lists/*; fi; -# Copy the python venv from step 2 -COPY --from=build-python /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages -# Copy the bin folder as well to copy the executables created in package installation -COPY --from=build-python /usr/local/bin /usr/local/bin +WORKDIR /app COPY api /app/ COPY .release-please-manifest.json /app/.versions.json -# Compile static Django assets -RUN python /app/manage.py collectstatic --no-input - -# Copy the compiled front end assets from the previous build step -COPY --from=build-frontend /app/api/static /app/static/ -COPY --from=build-frontend /app/api/app/templates/webpack /app/app/templates/webpack - ARG ACCESS_LOG_LOCATION="/dev/null" -ENV ACCESS_LOG_LOCATION=${ACCESS_LOG_LOCATION} -ENV DJANGO_SETTINGS_MODULE=app.settings.production +ENV ACCESS_LOG_LOCATION=${ACCESS_LOG_LOCATION} DJANGO_SETTINGS_MODULE=app.settings.production + +ARG CI_COMMIT_SHA +RUN echo ${CI_COMMIT_SHA} > /app/CI_COMMIT_SHA EXPOSE 8000 +ENTRYPOINT ["/app/scripts/run-docker.sh"] + +CMD ["migrate-and-serve"] + +# * api-runtime-private [api-runtime] +FROM api-runtime as api-runtime-private + +# Install SAML binary dependency +RUN apt-get update && apt-get install -y xmlsec1 && rm -rf /var/lib/apt/lists/* + +# - Target (shippable) stages +# * private-cloud-api [api-runtime-private, build-python-private] +FROM api-runtime-private as private-cloud-api + +ARG PYTHON_SITE_DIR +COPY --from=build-python-private ${PYTHON_SITE_DIR} ${PYTHON_SITE_DIR} +COPY --from=build-python-private /usr/local/bin /usr/local/bin + +RUN python manage.py collectstatic --no-input +RUN touch ./ENTERPRISE_VERSION + USER nobody -ENTRYPOINT ["./scripts/run-docker.sh"] +# * private-cloud-unified [api-runtime-private, build-python-private, build-node-django] +FROM api-runtime-private as private-cloud-unified -# other options below are `migrate` or `serve` -CMD ["migrate-and-serve"] +ARG PYTHON_SITE_DIR +COPY --from=build-python-private ${PYTHON_SITE_DIR} ${PYTHON_SITE_DIR} +COPY --from=build-python-private /usr/local/bin /usr/local/bin +COPY --from=build-node-django /app/api/static /app/static +COPY --from=build-node-django /app/api/app/templates/webpack /app/app/templates/webpack + +RUN python manage.py collectstatic --no-input +RUN touch ./ENTERPRISE_VERSION + +USER nobody + +# * saas-api [api-runtime-private, build-python-private] +FROM api-runtime-private as saas-api + +# Install GnuPG and import private key +RUN --mount=type=secret,id=sse_pgp_pkey \ + apt-get update && apt-get install -y gnupg && \ + gpg --import /run/secrets/sse_pgp_pkey && \ + mv /root/.gnupg /app/; \ + chown -R nobody /app/.gnupg + +ARG PYTHON_SITE_DIR +COPY --from=build-python-private ${PYTHON_SITE_DIR} ${PYTHON_SITE_DIR} +COPY --from=build-python-private /usr/local/bin /usr/local/bin + +RUN python manage.py collectstatic --no-input +RUN touch ./SAAS_DEPLOYMENT + +USER nobody + +# * oss-api [api-runtime, build-python] +FROM api-runtime as oss-api + +ARG PYTHON_SITE_DIR +COPY --from=build-python ${PYTHON_SITE_DIR} ${PYTHON_SITE_DIR} +COPY --from=build-python /usr/local/bin /usr/local/bin + +RUN python manage.py collectstatic --no-input + +USER nobody + +# * oss-frontend [build-node-selfhosted] +FROM node-slim AS oss-frontend + +USER node +WORKDIR /srv/bt + +COPY --from=build-node-selfhosted --chown=node:node /app/frontend . + +ENV NODE_ENV=production + +ARG CI_COMMIT_SHA +RUN echo ${CI_COMMIT_SHA} > /srv/bt/CI_COMMIT_SHA +COPY .release-please-manifest.json /srv/bt/.versions.json + +EXPOSE 8080 +CMD ["node", "./api/index.js"] + +# * oss-unified [api-runtime, build-python, build-node-django] +FROM api-runtime as oss-unified + +ARG PYTHON_SITE_DIR +COPY --from=build-python ${PYTHON_SITE_DIR} ${PYTHON_SITE_DIR} +COPY --from=build-python /usr/local/bin /usr/local/bin +COPY --from=build-node-django /app/api/static /app/static/ +COPY --from=build-node-django /app/api/app/templates/webpack /app/app/templates/webpack + +RUN python manage.py collectstatic --no-input + +USER nobody diff --git a/api/Dockerfile b/api/Dockerfile deleted file mode 100644 index 0e7382b4bc40..000000000000 --- a/api/Dockerfile +++ /dev/null @@ -1,61 +0,0 @@ - -# Step 1 - Build Python virtualenv -FROM python:3.11 as build-python -WORKDIR /app - -COPY api/pyproject.toml api/poetry.lock api/Makefile ./ - -ARG POETRY_VIRTUALENVS_CREATE=false -RUN make install-poetry -ENV PATH="$PATH:/root/.local/bin" - -ARG GH_TOKEN -RUN if [ -n "${GH_TOKEN}" ]; \ - then echo "https://${GH_TOKEN}:@github.com" > ${HOME}/.git-credentials \ - && git config --global credential.helper store; fi; - -ARG POETRY_OPTS -RUN make install-packages opts="${POETRY_OPTS}" - -# Step 2 - Build Django Application -FROM python:3.11-slim as application -WORKDIR /app - -# Install SAML dependency if required -ARG SAML_INSTALLED="0" -RUN if [ "${SAML_INSTALLED}" = "1" ]; then apt-get update && apt-get install -y xmlsec1; fi; - -# arm architecture platform builds need postgres drivers installing via apt -ARG TARGETARCH -RUN if [ "${TARGETARCH}" != "amd64" ]; then apt-get update && apt-get install -y libpq-dev && rm -rf /var/lib/apt/lists/*; fi; - -# Install GnuPG(and import private key) if secret file exists -RUN --mount=type=secret,id=sse_pgp_pkey if [ -f /run/secrets/sse_pgp_pkey ]; then \ - apt-get update && apt-get install -y gnupg && gpg --import /run/secrets/sse_pgp_pkey; \ - mv /root/.gnupg /app/; \ - chown -R nobody /app/.gnupg ; fi; - - -# Copy the python venv from step 2 -COPY --from=build-python /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages -# Copy the bin folder as well to copy the executables created in package installation -COPY --from=build-python /usr/local/bin /usr/local/bin - -COPY api/ . -COPY .release-please-manifest.json ./.versions.json - -# Compile static Django assets -RUN python manage.py collectstatic --no-input - -ARG ACCESS_LOG_LOCATION="/dev/null" -ENV ACCESS_LOG_LOCATION=${ACCESS_LOG_LOCATION} -ENV DJANGO_SETTINGS_MODULE=app.settings.production - -EXPOSE 8000 - -USER nobody - -ENTRYPOINT ["./scripts/run-docker.sh"] - -# other options below are `migrate` or `serve` -CMD ["migrate-and-serve"] diff --git a/api/Dockerfile.redhat-ubi b/api/Dockerfile.redhat-ubi deleted file mode 100644 index 598c17227fd5..000000000000 --- a/api/Dockerfile.redhat-ubi +++ /dev/null @@ -1,34 +0,0 @@ -FROM registry.redhat.io/ubi8/python-38 as application - -MAINTAINER Ben Rometsch - -LABEL name="flagsmith-api" \ - vendor="Flagsmith" \ - maintainer="support@flagsmith.com" \ - version="0.0.1" \ - summary="Feature Flags and Remote Config API" \ - description="Feature Flags and Remote Config API" -COPY License /licenses/License - -USER root -RUN yum -y update-minimal --security --sec-severity=Important --sec-severity=Critical -USER 1001 - -ARG POETRY_VIRTUALENVS_CREATE=false -ADD --chown=1001:0 pyproject.toml poetry.lock Makefile . -RUN make install-packages -ENV PATH="$PATH:/root/.local/bin" -RUN make install-packages opts="--no-root --only main" - -ADD --chown=1001:0 docker/ bin/ -ADD --chown=1001:0 . src/ - -RUN python src/manage.py collectstatic --no-input - -ARG ACCESS_LOG_LOCATION="/dev/null" -ENV ACCESS_LOG_LOCATION=${ACCESS_LOG_LOCATION} -ENV DJANGO_SETTINGS_MODULE=app.settings.production - -EXPOSE 8000 - -CMD ["./bin/docker"] diff --git a/api/Makefile b/api/Makefile index b7ef54c76b2c..af30eb4fd1d0 100644 --- a/api/Makefile +++ b/api/Makefile @@ -11,6 +11,9 @@ POETRY_VERSION ?= 1.8.3 GUNICORN_LOGGER_CLASS ?= util.logging.GunicornJsonCapableLogger +SAML_REVISION ?= v1.6.2 +RBAC_REVISION ?= v0.7.0 + -include .env-local -include $(DOTENV_OVERRIDE_FILE) @@ -26,6 +29,13 @@ install-poetry: install-packages: poetry install --no-root $(opts) +.PHONY: install-private-modules +install-private-modules: + $(eval SITE_PACKAGES_DIR := $(shell poetry run python -c 'import site; print(site.getsitepackages()[0])')) + git clone https://github.com/flagsmith/flagsmith-saml --depth 1 --branch ${SAML_REVISION} && mv ./flagsmith-saml/saml $(SITE_PACKAGES_DIR) + git clone https://github.com/flagsmith/flagsmith-rbac --depth 1 --branch ${RBAC_REVISION} && mv ./flagsmith-rbac/rbac $(SITE_PACKAGES_DIR) + rm -rf ./flagsmith-saml ./flagsmith-rbac + .PHONY: install install: install-pip install-poetry install-packages @@ -46,23 +56,24 @@ lint: lint-black lint-isort lint-flake8 .PHONY: docker-up docker-up: - docker-compose up --force-recreate --remove-orphans -d - docker-compose ps + docker compose up --force-recreate --remove-orphans -d + docker compose ps .PHONY: docker-down docker-down: - docker-compose stop + docker compose stop .PHONY: docker-logs docker-logs: - docker-compose logs --follow + docker compose logs --follow .PHONY: docker-build docker-build: @docker build \ --tag=$(DOCKER_TAG) \ - --file=Dockerfile \ - . + --file=../Dockerfile \ + --target=oss-api \ + ../ .PHONY: test test: diff --git a/api/app/utils.py b/api/app/utils.py index a843cc6ce946..0b3fa4fa72f2 100644 --- a/api/app/utils.py +++ b/api/app/utils.py @@ -1,5 +1,7 @@ import json import pathlib +from functools import lru_cache +from typing import TypedDict import shortuuid @@ -7,20 +9,28 @@ VERSIONS_INFO_FILE_LOCATION = ".versions.json" -def create_hash(): +class VersionInfo(TypedDict): + ci_commit_sha: str + image_tag: str + is_enterprise: bool + is_saas: bool + + +def create_hash() -> str: """Helper function to create a short hash""" return shortuuid.uuid() -def is_enterprise(): +def is_enterprise() -> bool: return pathlib.Path("./ENTERPRISE_VERSION").exists() -def is_saas(): +def is_saas() -> bool: return pathlib.Path("./SAAS_DEPLOYMENT").exists() -def get_version_info() -> dict: +@lru_cache +def get_version_info() -> VersionInfo: """Reads the version info baked into src folder of the docker container""" version_json = {} image_tag = UNKNOWN diff --git a/api/tests/unit/app/test_unit_app_utils.py b/api/tests/unit/app/test_unit_app_utils.py index 6fd992e91680..2e5ac6556be7 100644 --- a/api/tests/unit/app/test_unit_app_utils.py +++ b/api/tests/unit/app/test_unit_app_utils.py @@ -1,12 +1,20 @@ import json import pathlib +from typing import Generator from unittest import mock +import pytest from pytest_mock import MockerFixture from app.utils import get_version_info +@pytest.fixture(autouse=True) +def clear_get_version_info_cache() -> Generator[None, None, None]: + yield + get_version_info.cache_clear() + + def test_get_version_info(mocker: MockerFixture) -> None: # Given mocked_pathlib = mocker.patch("app.utils.pathlib") diff --git a/docker-compose.uffizzi.yml b/docker-compose.uffizzi.yml index b6c10d845b65..94666293c1bd 100644 --- a/docker-compose.uffizzi.yml +++ b/docker-compose.uffizzi.yml @@ -79,7 +79,8 @@ services: # https://docs.flagsmith.com/advanced-use/task-processor # flagsmith_processor: # build: -# dockerfile: api/Dockerfile +# dockerfile: Dockerfile +# target: oss-api # context: . # environment: # DATABASE_URL: postgresql://postgres:password@postgres:5432/flagsmith diff --git a/docs/docs/deployment/configuration/task-processor.md b/docs/docs/deployment/configuration/task-processor.md index 43b75392daae..9da90587812c 100644 --- a/docs/docs/deployment/configuration/task-processor.md +++ b/docs/docs/deployment/configuration/task-processor.md @@ -12,38 +12,36 @@ set the `TASK_RUN_METHOD` to `TASK_PROCESSOR` in the flagsmith container running A basic docker-compose setup might look like: ```yaml - postgres: - image: postgres:15.5-alpine - environment: - POSTGRES_PASSWORD: password - POSTGRES_DB: flagsmith - container_name: flagsmith_postgres - - flagsmith: - image: flagsmith/flagsmith-api - environment: - DJANGO_ALLOWED_HOSTS: '*' - DATABASE_URL: postgresql://postgres:password@postgres:5432/flagsmith - ENV: prod - TASK_RUN_METHOD: TASK_PROCESSOR - ports: - - '8000:8000' - depends_on: - - postgres - links: - - postgres - - flagsmith_processor: - build: - dockerfile: api/Dockerfile - context: . - environment: - DATABASE_URL: postgresql://postgres:password@postgres:5432/flagsmith - command: - - run-task-processor - depends_on: - - flagsmith - - postgres +postgres: + image: postgres:15.5-alpine + environment: + POSTGRES_PASSWORD: password + POSTGRES_DB: flagsmith + container_name: flagsmith_postgres + +flagsmith: + image: flagsmith/flagsmith-api:latest + environment: + DJANGO_ALLOWED_HOSTS: '*' + DATABASE_URL: postgresql://postgres:password@postgres:5432/flagsmith + ENV: prod + TASK_RUN_METHOD: TASK_PROCESSOR + ports: + - '8000:8000' + depends_on: + - postgres + links: + - postgres + +flagsmith_processor: + image: flagsmith/flagsmith-api:latest + environment: + DATABASE_URL: postgresql://postgres:password@postgres:5432/flagsmith + command: + - run-task-processor + depends_on: + - flagsmith + - postgres ``` ## Configuring the Processor diff --git a/docs/docs/deployment/hosting/locally-frontend.md b/docs/docs/deployment/hosting/locally-frontend.md index 1b0f2099953e..9b023a0e0476 100644 --- a/docs/docs/deployment/hosting/locally-frontend.md +++ b/docs/docs/deployment/hosting/locally-frontend.md @@ -92,8 +92,6 @@ Current variables used between 'frontend/environment.js' and 'frontend/common/pr - `MIXPANEL_API_KEY`: Mixpanel analytics key to use for behaviour tracking. - `SENTRY_API_KEY`: Sentry key for error reporting. - `ALBACROSS_CLIENT_ID`: Albacross client ID key for behaviour tracking. -- `STATIC_ASSET_CDN_URL`: Used for replacing local static paths with a cdn, .e.g https://cdn.flagsmith.com. Defaults to - `/`, i.e. no CDN. - `BASE_URL`: Used for specifying a base url path that's ignored during routing if serving from a subdirectory. - `USE_SECURE_COOKIES`: Enable / disable the use of secure cookies. If deploying the FE in a private network without a domain / SSL cert, disable secure cookies to ensure that session token is persisted. Default: true. diff --git a/frontend/Dockerfile b/frontend/Dockerfile deleted file mode 100644 index 5cce021d51e4..000000000000 --- a/frontend/Dockerfile +++ /dev/null @@ -1,36 +0,0 @@ -# Build Assets -FROM node:16 AS build - -RUN mkdir /srv/bt && chown node:node /srv/bt - -USER node - -WORKDIR /srv/bt - -COPY --chown=node:node frontend/package.json frontend/package-lock.json frontend/.npmrc frontend/.nvmrc ./ -COPY --chown=node:node frontend/bin/ ./bin/ -COPY --chown=node:node frontend/env/ ./env/ - -# since ENV is only used for the purposes of copying the correct -# project_${env}.js file to common/project.js, this is a build arg -# which subsequently gets set as an environment variable. This is -# done to avoid confusion since it is not a required run time var. -ARG ENV=selfhosted -RUN ENV=${ENV} npm ci --quiet --production - -COPY --chown=node:node frontend . -COPY .release-please-manifest.json . -RUN npm run bundle - - -# Set up runtime container -FROM node:16-slim AS production -USER node - -WORKDIR /srv/bt -COPY --from=build --chown=node:node /srv/bt/ . - -ENV NODE_ENV=production - -EXPOSE 8080 -CMD ["node", "./api/index.js"] diff --git a/frontend/Dockerfile.e2e b/frontend/Dockerfile.e2e index b67655ed8232..b0e536225318 100644 --- a/frontend/Dockerfile.e2e +++ b/frontend/Dockerfile.e2e @@ -14,4 +14,7 @@ COPY frontend . COPY .release-please-manifest.json ./.versions.json RUN npm run env +ARG CI_COMMIT_SHA=dev +RUN echo ${CI_COMMIT_SHA} > ./CI_COMMIT_SHA + CMD ["bash", "-l"] \ No newline at end of file diff --git a/frontend/Dockerfile.ubi b/frontend/Dockerfile.ubi deleted file mode 100644 index 9015d857910f..000000000000 --- a/frontend/Dockerfile.ubi +++ /dev/null @@ -1,34 +0,0 @@ -# Build Assets -FROM registry.redhat.io/ubi8/nodejs-12 AS build - -COPY . . -RUN pwd -RUN npm ci --production -ENV ENV=prod -RUN npm run bundle - - -# Set up runtime container -FROM registry.redhat.io/ubi8/nodejs-12 as application - -MAINTAINER Ben Rometsch - -LABEL name="flagsmith-api" \ - vendor="Flagsmith" \ - maintainer="support@flagsmith.com" \ - version="0.0.1" \ - summary="Feature Flags and Remote Config API" \ - description="Feature Flags and Remote Config API" -COPY LICENSE /licenses/LICENSE - -USER root -RUN yum -y update-minimal --security --sec-severity=Important --sec-severity=Critical -USER 1001 - -COPY --from=build /opt/app-root/src . - -ENV ENV=prod -ENV NODE_ENV=production - -EXPOSE 8080 -CMD ["node", "./api/index.js"] diff --git a/frontend/docker-compose-e2e-tests.yml b/frontend/docker-compose-e2e-tests.yml index 4755ea1c8857..0a620713ec6f 100644 --- a/frontend/docker-compose-e2e-tests.yml +++ b/frontend/docker-compose-e2e-tests.yml @@ -16,7 +16,7 @@ services: image: ${API_IMAGE:-ghcr.io/flagsmith/flagsmith-api:dev} build: context: ../ - dockerfile: Dockerfile + target: oss-api environment: E2E_TEST_AUTH_TOKEN: some-token ENABLE_FE_E2E: 'True' From af955bf7ef3b35965b5675d957fe56a8383c7d5b Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Mon, 24 Jun 2024 10:43:55 +0100 Subject: [PATCH 22/45] fix: oauth user case sensitivity (#4207) --- api/custom_auth/oauth/serializers.py | 59 ++++++- .../oauth/test_unit_oauth_views.py | 157 +++++++++++++++++- 2 files changed, 211 insertions(+), 5 deletions(-) diff --git a/api/custom_auth/oauth/serializers.py b/api/custom_auth/oauth/serializers.py index 63e758b127bf..6a1e80ab90af 100644 --- a/api/custom_auth/oauth/serializers.py +++ b/api/custom_auth/oauth/serializers.py @@ -1,11 +1,15 @@ +from abc import abstractmethod + from django.conf import settings from django.contrib.auth import get_user_model from django.contrib.auth.signals import user_logged_in +from django.db.models import F from rest_framework import serializers from rest_framework.authtoken.models import Token from rest_framework.exceptions import PermissionDenied from organisations.invites.models import Invite +from users.auth_type import AuthType from users.models import SignUpType from ..constants import USER_REGISTRATION_WITHOUT_INVITE_ERROR_MESSAGE @@ -30,6 +34,9 @@ class OAuthLoginSerializer(serializers.Serializer): write_only=True, ) + auth_type: AuthType | None = None + user_model_id_attribute: str = "id" + class Meta: abstract = True @@ -53,8 +60,28 @@ def create(self, validated_data): return Token.objects.get_or_create(user=user)[0] def _get_user(self, user_data: dict): - email = user_data.get("email") - existing_user = UserModel.objects.filter(email=email).first() + email: str = user_data.pop("email") + + # There are a number of scenarios that we're catering for in this + # query: + # 1. A new user arriving, and immediately authenticating with + # the given social auth method. + # 2. A user that has previously authenticated with method A is now + # authenticating with method B. Using the `email__iexact` means + # that we'll always retrieve the user that already authenticated + # with A. + # 3. A user that (prior to the case sensitivity fix) authenticated + # with multiple methods and ended up with duplicate user accounts. + # Since it's difficult for us to know which user account they are + # using as their primary, we order by the method they are currently + # authenticating with and grab the first one in the list. + existing_user = ( + UserModel.objects.filter(email__iexact=email) + .order_by( + F(self.user_model_id_attribute).desc(nulls_last=True), + ) + .first() + ) if not existing_user: sign_up_type = self.validated_data.get("sign_up_type") @@ -65,20 +92,46 @@ def _get_user(self, user_data: dict): ): raise PermissionDenied(USER_REGISTRATION_WITHOUT_INVITE_ERROR_MESSAGE) - return UserModel.objects.create(**user_data, sign_up_type=sign_up_type) + return UserModel.objects.create( + **user_data, email=email.lower(), sign_up_type=sign_up_type + ) + elif existing_user.auth_type != self.get_auth_type().value: + # In this scenario, we're seeing a user that had previously + # authenticated with another authentication method and is now + # authenticating with a new OAuth provider. + setattr( + existing_user, + self.user_model_id_attribute, + user_data[self.user_model_id_attribute], + ) + existing_user.save() return existing_user + @abstractmethod def get_user_info(self): raise NotImplementedError("`get_user_info()` must be implemented.") + def get_auth_type(self) -> AuthType: + if not self.auth_type: # pragma: no cover + raise NotImplementedError( + "`auth_type` must be set, or `get_auth_type()` must be implemented." + ) + return self.auth_type + class GoogleLoginSerializer(OAuthLoginSerializer): + auth_type = AuthType.GOOGLE + user_model_id_attribute = "google_user_id" + def get_user_info(self): return get_user_info(self.validated_data["access_token"]) class GithubLoginSerializer(OAuthLoginSerializer): + auth_type = AuthType.GITHUB + user_model_id_attribute = "github_user_id" + def get_user_info(self): github_user = GithubUser(code=self.validated_data["access_token"]) return github_user.get_user_info() diff --git a/api/tests/unit/custom_auth/oauth/test_unit_oauth_views.py b/api/tests/unit/custom_auth/oauth/test_unit_oauth_views.py index 2a8895de490c..0f742267b71b 100644 --- a/api/tests/unit/custom_auth/oauth/test_unit_oauth_views.py +++ b/api/tests/unit/custom_auth/oauth/test_unit_oauth_views.py @@ -1,7 +1,9 @@ from unittest import mock +from django.db.models import Model from django.test import override_settings from django.urls import reverse +from pytest_mock import MockerFixture from rest_framework import status from rest_framework.test import APIClient @@ -103,7 +105,12 @@ def test_can_login_with_google_if_registration_disabled( client = APIClient() email = "test@example.com" - mock_get_user_info.return_value = {"email": email} + mock_get_user_info.return_value = { + "email": email, + "first_name": "John", + "last_name": "Smith", + "google_user_id": "abc123", + } django_user_model.objects.create(email=email) # When @@ -126,7 +133,12 @@ def test_can_login_with_github_if_registration_disabled( email = "test@example.com" mock_github_user = mock.MagicMock() MockGithubUser.return_value = mock_github_user - mock_github_user.get_user_info.return_value = {"email": email} + mock_github_user.get_user_info.return_value = { + "email": email, + "first_name": "John", + "last_name": "Smith", + "github_user_id": "abc123", + } django_user_model.objects.create(email=email) # When @@ -135,3 +147,144 @@ def test_can_login_with_github_if_registration_disabled( # Then assert response.status_code == status.HTTP_200_OK assert "key" in response.json() + + +def test_login_with_google_updates_existing_user_case_insensitive( + db: None, + django_user_model: type[Model], + mocker: MockerFixture, + api_client: APIClient, +) -> None: + # Given + email_lower = "test@example.com" + email_upper = email_lower.upper() + google_user_id = "abc123" + + django_user_model.objects.create(email=email_lower) + + mocker.patch( + "custom_auth.oauth.serializers.get_user_info", + return_value={ + "email": email_upper, + "first_name": "John", + "last_name": "Smith", + "google_user_id": google_user_id, + }, + ) + + url = reverse("api-v1:custom_auth:oauth:google-oauth-login") + + # When + response = api_client.post(url, data={"access_token": "some-token"}) + + # Then + assert response.status_code == status.HTTP_200_OK + + qs = django_user_model.objects.filter(email__iexact=email_lower) + assert qs.count() == 1 + + user = qs.first() + assert user.email == email_lower + assert user.google_user_id == google_user_id + + +def test_login_with_github_updates_existing_user_case_insensitive( + db: None, + django_user_model: type[Model], + mocker: MockerFixture, + api_client: APIClient, +) -> None: + # Given + email_lower = "test@example.com" + email_upper = email_lower.upper() + github_user_id = "abc123" + + django_user_model.objects.create(email=email_lower) + + mock_github_user = mock.MagicMock() + mocker.patch( + "custom_auth.oauth.serializers.GithubUser", return_value=mock_github_user + ) + mock_github_user.get_user_info.return_value = { + "email": email_upper, + "first_name": "John", + "last_name": "Smith", + "github_user_id": github_user_id, + } + + url = reverse("api-v1:custom_auth:oauth:github-oauth-login") + + # When + response = api_client.post(url, data={"access_token": "some-token"}) + + # Then + assert response.status_code == status.HTTP_200_OK + + qs = django_user_model.objects.filter(email__iexact=email_lower) + assert qs.count() == 1 + + user = qs.first() + assert user.email == email_lower + assert user.github_user_id == github_user_id + + +def test_user_with_duplicate_accounts_authenticates_as_the_correct_oauth_user( + db: None, + django_user_model: type[Model], + api_client: APIClient, + mocker: MockerFixture, +) -> None: + """ + Specific test to verify the correct behaviour for users affected by + https://github.com/Flagsmith/flagsmith/issues/4185. + """ + + # Given + email_lower = "test@example.com" + email_upper = email_lower.upper() + + github_user = django_user_model.objects.create( + email=email_lower, github_user_id="abc123" + ) + google_user = django_user_model.objects.create( + email=email_upper, google_user_id="abc123" + ) + + mock_github_user = mock.MagicMock() + mocker.patch( + "custom_auth.oauth.serializers.GithubUser", return_value=mock_github_user + ) + mock_github_user.get_user_info.return_value = { + "email": email_lower, + "first_name": "John", + "last_name": "Smith", + "github_user_id": github_user.github_user_id, + } + + mocker.patch( + "custom_auth.oauth.serializers.get_user_info", + return_value={ + "email": email_upper, + "first_name": "John", + "last_name": "Smith", + "google_user_id": google_user.google_user_id, + }, + ) + + github_auth_url = reverse("api-v1:custom_auth:oauth:github-oauth-login") + google_auth_url = reverse("api-v1:custom_auth:oauth:google-oauth-login") + + # When + auth_with_github_response = api_client.post( + github_auth_url, data={"access_token": "some-token"} + ) + auth_with_google_response = api_client.post( + google_auth_url, data={"access_token": "some-token"} + ) + + # Then + github_auth_key = auth_with_github_response.json().get("key") + assert github_auth_key == github_user.auth_token.key + + google_auth_key = auth_with_google_response.json().get("key") + assert google_auth_key == google_user.auth_token.key From dc21ec539f46b7665ebef275b8cd98b34a611865 Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Mon, 24 Jun 2024 10:44:08 +0100 Subject: [PATCH 23/45] chore: update pre-commit versions (#4208) --- .pre-commit-config.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bce63d905111..79b9d1f732b1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,39 +1,39 @@ repos: - repo: https://github.com/PyCQA/isort - rev: 5.12.0 + rev: 5.13.2 hooks: - id: isort name: isort (python) - repo: https://github.com/psf/black - rev: 24.3.0 + rev: 24.4.2 hooks: - id: black language_version: python3 exclude: migrations - repo: https://github.com/pycqa/flake8 - rev: 7.0.0 + rev: 7.1.0 hooks: - id: flake8 name: flake8 args: [--config, api/.flake8] - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.6.0 hooks: - id: check-yaml - id: check-json - id: check-toml - repo: https://github.com/pre-commit/mirrors-prettier - rev: v3.0.0 + rev: v3.1.0 hooks: - id: prettier exclude: ^(frontend/|CHANGELOG.md) - repo: https://github.com/python-poetry/poetry - rev: 1.8.2 + rev: 1.8.0 hooks: - id: poetry-check args: ['-C', 'api'] From 9961e8f76108be33948dc3e655b8acb17f4a1e79 Mon Sep 17 00:00:00 2001 From: jackforesightmobile <47739475+jackforesightmobile@users.noreply.github.com> Date: Mon, 24 Jun 2024 10:47:37 +0100 Subject: [PATCH 24/45] docs: Get flags and set traits in the same call (#4203) --- docs/docs/clients/client-side/android.md | 32 ++++++++++++++++++++++++ docs/docs/clients/client-side/ios.md | 30 ++++++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/docs/docs/clients/client-side/android.md b/docs/docs/clients/client-side/android.md index 4bd2f114eef0..ebe8aa13e46b 100644 --- a/docs/docs/clients/client-side/android.md +++ b/docs/docs/clients/client-side/android.md @@ -91,6 +91,38 @@ flagsmith.getFeatureFlags { result -> } ``` +### Get Flags for an identity + +To get feature flags for a specific identity: + +```kotlin +flagsmith.getFeatureFlags(identity = "test-user@gmail.com") { result -> + result.fold( + onSuccess = { flagList -> + Log.i("Flagsmith", "Current flags:") + flagList.forEach { Log.i("Flagsmith", "- ${it.feature.name} - enabled: ${it.enabled} value: ${it.featureStateValue ?: "not set"}") } + }, + onFailure = { err -> + Log.e("Flagsmith", "Error getting feature flags", err) + }) +} +``` + +You can also get flags for an identity and set the traits at the same time: + +```kotlin +flagsmith.getFeatureFlags(identity = "test-user@gmail.com", traits = listOf(Trait(key = "set-from-client", value = "12345"))) { result -> + result.fold( + onSuccess = { flagList -> + Log.i("Flagsmith", "Current flags:") + flagList.forEach { Log.i("Flagsmith", "- ${it.feature.name} - enabled: ${it.enabled} value: ${it.featureStateValue ?: "not set"}") } + }, + onFailure = { err -> + Log.e("Flagsmith", "Error getting feature flags", err) + }) +} +``` + ### Get Flag Object by `featureId` To retrieve a feature flag boolean value by its name: diff --git a/docs/docs/clients/client-side/ios.md b/docs/docs/clients/client-side/ios.md index 5a171ec772d0..fb5efc016e0e 100644 --- a/docs/docs/clients/client-side/ios.md +++ b/docs/docs/clients/client-side/ios.md @@ -148,6 +148,36 @@ for flag in flags { } ``` +You can also retrieve flags for a particular identity and set traits at the same time: + +```swift +Flagsmith.shared.getFeatureFlags(forIdentity: "test_user@test.com", traits: [Trait(key: "selected_tint_color", value: "orange")]) {(result) in + switch result { + case .success(let flags): + for flag in flags { + let name = flag.feature.name + let value = flag.value?.stringValue + let enabled = flag.enabled + print(name, "= enabled:", enabled, "value:", value ?? "nil") + } + case .failure(let error): + print(error) + } +} +``` + +If you would prefer to do this using async/await you can do the following: + +```swift +let flags = try await Flagsmith.shared.getFeatureFlags(forIdentity: "test_user@test.com", traits: [Trait(key: "selected_tint_color", value: "orange")]) +for flag in flags { + let name = flag.feature.name + let value = flag.value?.stringValue + let enabled = flag.enabled + print(name, "= enabled:", enabled, "value:", value ?? "nil") +} +``` + ## Override Default Configuration In `AppDelegate.swift`: From 4b96a1af505111c5331a7836fa3fac7d814e975a Mon Sep 17 00:00:00 2001 From: Ben Rometsch Date: Mon, 24 Jun 2024 10:48:01 +0100 Subject: [PATCH 25/45] docs: github integration screenshot (#4182) --- .../integrations/project-management/github.md | 2 ++ .../github/github-integration-1.png | Bin 0 -> 439047 bytes 2 files changed, 2 insertions(+) create mode 100644 docs/static/img/integrations/github/github-integration-1.png diff --git a/docs/docs/integrations/project-management/github.md b/docs/docs/integrations/project-management/github.md index 26e61383dccd..b9992c5e34c6 100644 --- a/docs/docs/integrations/project-management/github.md +++ b/docs/docs/integrations/project-management/github.md @@ -9,6 +9,8 @@ hide_title: true View your Flagsmith Flags inside GitHub Issues and Pull Requests. +![Github Integration](/img/integrations/github/github-integration-1.png) + ## Integration Setup (SaaS) You can either set up the integration from the Flagsmith side or from the Github side. diff --git a/docs/static/img/integrations/github/github-integration-1.png b/docs/static/img/integrations/github/github-integration-1.png new file mode 100644 index 0000000000000000000000000000000000000000..31e8dbd41a1c4008f351f2ef98b4e48f55248ccb GIT binary patch literal 439047 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

0UDN|94wU|}}^UkM@0l9K67R2N)d0S}VrCZ3K9 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

YTJK75igtt-|g) zN^kkmh$)IBzyzDF0R%#ig$(Q7oHo~0h*_%TPK#Uf)29n8feQJY)_2{8rJA36d*+{; z&l+4(CFlO&hYT&DG6gxglW(|TErw^+=OYd!Qu3EyXQKeK(S6NZ&`Z~8@6?}eP-M{B z?9SIvPIzjzmP~WfS^O40y;dDE)CagbubGGvAxpJI7KKmR*Zer}PfZ`p6 z_qvpruv!9S8uF@;aG%Q9gs=#O!uc&~>Jue4j*xE|w8;;?+DKmY}VL{&+KwT-p z0~kj9&wyc)%5RYBea9ZldShSwyt-5eQ8ko)QQJQ%@-#LDh+D93ak;8ycZ!C{9C?V= zKrZ6utj`!27@melfv#5OZ?%V>pFHrL0WsH{ylx-4?WsE@AZoiwwuJQ<18$80uS6 zOha5cRux0$lS;&{HiOsfakYDIhhr^AZh8fmErCbziN22aa?f}7U>i-1smoO8T$;~m zOCwuB9yj6cok&^`h41Okw}=86P3j;qIQ-uUn~9mei!tNr0S*_x=_x;52rY5FY{xek zYdGnx)01t4wPu0o5SD~jy}UJrWN^Cp89Rk=B7 zHfFD%i*vjsSk2f^O;bjQKdlWrbeVS zXjnS^5!=wq?Z_P;TMsN7!mDm6wzJ{`)%*4u%zT)?C-3tXJLDSnNssgKtdiV^(o-xq zSOns~b#Nqoa4RYN7Q5!_GOELyqH3ly*QfW?$@rOZhGB);Fr8mwcWrP~2>K*or+M+^ z*GzXDMr-r48F#H5dd3aw&G4gJ-QF!IAeyvm!ls9tVUx$V`6?I?ZIA_+9yVit)b+e# zfYwTxmv4C=99kGreA@@Xe01sPr{ZA(%BJqij!A{m`+cWy*=^pND=Y<}yKND@NuVS@ zt$}Mtqc#LU=sV`N>{BLBJFETDY~{_@ZyCL>-8^9_)_Y&?1z0qGZOv?8v@zWck7#OO z{p(kKR$VK7`|`@)9rBzhj9L|MB8eM49#c**4~t5;Zcl(YmV+`f+@-f0Ou>vgy&FBTQ)uIYK-N`{v|zC@AMd?%;0U%5rZ;r-s5 z=yT4R2Y=3v(Eefnz;|>R;Q_=%oZl&E~5VC3cxA~cRMiJTm zSZp{WJ?hC!)`ZBQPTcR>0l8c|J|E&UV!czAGF)Bug}%B;FC17%uJOcKFLn5;Z{k8L z$ho?Lj7cPYz>k3NLYQ-BNUQSU&M%9KQ(8YsyLFo>jn)(!T4g4`;$Y-9bllj}3R^7zfG|S-@UGd**IvH0F`mI`*igkJg z$xqG`Gz^*#4;#Bdk~C+=g4jb#ESuZ$E_|ou0PaiMUIiXkmZ-c-(p~2}=j1a+&EWeo3-qWIVyc z#V=U1U8+{%^NNRuI2VlY0Gwbars{BVzvfwx8UWPVUPEiD*+mNrOZ~#i^gdlSqx5|b zJX4k>JyNP4@HOl>oNL%R;L@wT&CA!hvH}mY1XkjACAV39ynZ^Lt^E8pe>CO(X@Q09 z%_@ctZI%r-yo4AJDT}H_>^$SJmxu&u%=sG!{S#a7kZ2;81FVxSqe9P~Pgp>MjYk%5 z^1*r%CH4wP0X{`33}r~ouw9~V9vn4-MdR~ zL(TJBII)n+$VfNn=?9gH>}*y}p~u61qZ{=|Vs_m(f7Z3TU*YZF4Gs2pIBt0U0xDcamQ44aeKJcv_tAq!e1yQoPqhm47YPRD4n>Ht*={ zta@(y^t0J3G*}WbG-zgKM*rl=QBza;{5IFgEF2x9WNbczkviMpasB@K7#E*};COEf z2~dt`W}@rwaP7VR`;ghm3;=?3uNm94rPOrMz9xF_{-vYs)3}e(;?h#Z zPDX|=0}I#XV)7&}svMwM($v5N1=_dlBih*k4-a1vt)Z)nOt=;Y-5I5)C8^Qc-SPW` zxKMu+w3|dEAmGKr!{a@TkB|QZwJR%xg`IE%IV>;c+Ol8`tbj@B`c%CV&wIGNCEQT( zh1iU}}|4;3_z2N+Oeja-Iv%_Q+`Y5+m)n2FBGN35TqaJ6kfD!2= z$wy&g($dmq0`GoOTpwg*t)9ge7&02}vP-x&AD)`_BguAE6`WbS{!}_>V#ndx-PjN? zxf}X1rYP%cN0~V=fR5sYBFN=FiafGnueAS$EN;o~6~bsS@Z$^ql`$}!S!+BVAtBzT znQs4Fm64W%0Oq&uh>oW2yTctUl9r@8))7|mHl-h#DKSmJQC28ZSY<4vnq^1JOo8-h ziI~M=2iH>7EH$`R!`qmrgXYaCx5P$b${H5h10aO$=c4u;ZP}_$BxXfIe{G8hTGQKE z9=ckE6{56M_p1wr9N;3WuIo~yNWED1=X_Y6dXhfBJJ$NB_HDCeTmM&j5^mkK^vY{L4*3Zm+3!D+EfXqaCzj zY~Wiu(%gR6aOY>x0+-`6=8;5ik=;}qIA?mm`wp*GinmFWS z5B-TlA^gh4Wobkn4g6LROh!%~Y=BdT(AvKa_Eebr^e#Q*4teEC_fzb{(c#PYLBW;C zWtB6tsJst8!)R@cVZvWJ-x@Y_*j2u(=o+CYv**D~m1~&G321}_5t07MAo4#U_Xj>- z(-0;mlo!@N!<62NdL}qWF=?H{1M)K71}A1KFE4*nL;lZ8_Yr<6{DrkUD#y+V0aQ=Ks!{O}aBkK1Ljx?;R{(!mN!A>^z=grMVJe=)QvomVy>g^+%nwo|`4U{pH z%N08ox^5^Eu7lWDEaA651{gA z{j>_h3?0mR&zq`49zxCJ0Mi?-KINsQrE&ngzfS@-vilQ;t2+GIIgt9N6Usk|{&f8Q zq~#0(4p|kPdD`6B7QSoLi;u(80{dP59liq_Y4`(FaC9ZsNBZXnrDD%DTJ;9!b~OT@ z2J4>?m@V-nhPm{-&u@DvHC4kq{^EuH<4>XJ7sIhacCsFl1g{Ir$|UvKz3vHk4C7XN z;qmeQCr#vkLhOH7JY<&X{`T#M!x;fzycHmBL82-_P>-@0|PA2*|^tMvG6Y^_}9U)N7U-B>O)^2v*>?$yT31a1O6Wm zn6|H|`s=;^8KCpuzsJ&HNS*m~$!H(?e_DY*Z`D67fxoS|A54h3v=5p8^ilskq5F>! zXES&hx_xKdXyre8{VXkPm}=8{MJVvE-~@l4&{8r?9+o^V=G^}29sm72cK<*N9;$VA zkHq{{7yPT)d~~Dx2sL)25W4zvp6Bn2{*RIWxAgz_E`3{t)@3cOfYpiZ37-DRs@2J= z$;qn4%3w`mvr3sRrfd3~@u-T-1IKI02kf(W4o7@z!m6i>I%0>!HMoMsL zAN~>`{_k)5pMRV-)1C@(!FtNg|L*4JmlT*_oS#>r3`#!>a|=qZyfd^BceD|c6EowH ze*F7q_V*E;SU(-v=WLxSv-ByZKm(5Uey-)8{#pWI_N0~vB#g0^Oe51{U*?hD>C*js znfU*;jDNJ%XJ>?!KZ#Ck3+pV@Cx{*HVNuZKHHX`B~MpvSZd}Q<48fh42UY z1?uU434OP}E}iC0CfM89a1l6ZOn9<)o#TbsoYp~>22XwvPO=XsI=H-N-))ll-}hyA z`oPN|!#UjHJZazX#G)7bL>ck@8{|L-@iIuq9qTl^YsjArv45=}vSLv$yrH=}_Jp(4 z^65d*mJ14P42$jU{Vn|9(nnCC|9^6iaNP2f^+zkS>!uzU885JPWY(I#!b+LkDClPc zom`dD|2`QiI4zvr{%xtUuu^#?LCcAR$^N_A_sT?U2M1Mj|4Iw~MN@usqZ%_Bjy>&h z`krf3DKON&Eo|7dD>nZ!@cDl~LHskMvS3tE4$E&J=^8hJx(f{s8;nNh&Hj_u7DDvQ z@|a-h3EPp|C%!Lb2(0KtbscW0Q2)Dh{(a==?bzf{th_L$ZBF_ETJUrk3tR+M&l%*( zzvORb;lEe}XJr2j(+p=)`2}OMAzZD4Ovf$v(gYl(9WElf+$9Gih@!BOIOfzteW?R~)c^2l zIJ+i((DhlTaR_T&P#MuFtE*J|YU%)uf}k3hCV;$M-QHdvQ`FPYn9t7@hhG*JHp$CVD|O~pd&RMp>MNm$5(FDs=~j71V=sTTWvvoJ6H)!s zh9c6nxRbECoh(K=Omu}?MD>pfD4pw%x@0GtKEv12zjs=G^PELheLsJHQeAMlJPs>@ zPzVm$2*pYl@oJC*ARuFr3L1XsilTr3*A|nxw_MO=GpnfHeQ3(gwuLs7!LW$?#na^7 zhlhuOFiwy+Z%+BeXW}Cki)9zIj4Sr#GwbF?Mve!zs+$FBoh2gxPsAyslH#_b_ zS4`yLyS#&P5r+-+zzhJNpJhtS z0cV#0an;G%%*>uJpYWet~?o6X?Bm)Ww=n7@7n|3@HJP~ge!=Bk9addDy^ z555zXaO5*R(3RK&gMvBOcj8W4gBah%MaA2k-?k?;=3nUPOAk%Y8!i7hKoO7fbm+|C za+%KW@>KQ+jkZ$=m<&8Y5?I=x8-2}_l#upEXIBdEDxu4nkZ1}*T#*-Ub-><)A*Q2B zg-uhFi>RnzP#P04c`z)DmJj;1*gZ^+&dFNf5(i<;>xEI(jI3`_Q0PK*k%EIp^*ooh z%Vwvh=61nvH_r3=3W+Xqi#IL3tQR0&?0OUa&@peZl^t-!85&Km+yqX!n{x_>(=sdv zRiOK2Lf1s900$K#I_;;xW}ZF0y2zU$hNu`+tcUpScE53Wr~uabOk|QT3f&gO?Pwq_qoPc z^7`KF1D9L1PG@`V?;FQU_;`7x&Dh)_E;$)h;21w}YASE?^!V>)8h8Ecs0$g3uQ;5n zI&pUknO|WERwW-J3@8-+911Bb!LUrKa}Q1prRP^uSMfRQ%PzhceE(HK;*y-#84+Em z$(v3#6^>GR;o?Er(h=r`)#bMN1C{_QlFbPY?5;g`BQVW|~;S5DPqxb{_h`~Xx z$k_)b7hXSjUj#AmX(XHEy}YoTRO;?vQqvcN=e9|T{P~wt`X7J#VZtvh3+~~Kot4H0 zXn9%3iXzCyJc=TtOUepi#y!Gs#Mkz3rg1(mo*7!W6pbOP41YJM8zOH~Hpael=`Po5 z6?_u;c{Jb3J^=WjaCOMOz4Y^=7UIOD@&Zo9ji-&AoZ|#vIM^i?#wq`^gIhyOtJz_g zaBIsXBq}j+Elw^CgV!Nt4Up8f`d({U&R3pWxYqio&AeaRkDnn<24}JEcU@sLp`S_Y zaE$Zy0zz4fSKsYT@@yaWZ>-}0|Lw8-v5rT9|Hif4L%BiTwQuw0Zj&A>NbnWFlk6Q( za7(>%JfQM0kw=KS>Pwr=Zn)7i)D;So0F}5=a_=QbEamLXY?yT%P|r?1FjZ7yJTKtf z8%5xr8k@!_5J#I_N9kM#B5bjTcMe){`1FV?8rmUQ)zok(Z2)-+Z>(uI3KSF*ZGI(L zgC9?*&C1aw`tmxAY{d;!5Psd=1TEl*&en;CVD^(p+*V$utO|_@@b}EFtc;Hr6;g?C zK5_`ULsWP6_qQqWHYtfVH#XGO)M65219dLHe?RAD^1QzZ3Xz1h@>W*|;1g_i#&^jQ ziSh7U3$s_)(|7#zg#{LWga-aho?NwOQ(}M2TI}r1sjRHLu^jK-gqruMmNCbNW_;@t z_NUIK$jE@5M|rf}dlrNSLyCKnb<{MlNRpF`jI@1(-dE$y)4pZcnT3ROtInF2Y#1!? z3KbpgC3=qzAtB+`&Njj3wyK(1AKk+Pf?%^xfS6V>o$j(Q(I?awO1`>Lad>D4{1Io7 z5yuCVuTeuYCVQhn&LqQ-g@yaO+Z?;*L(ll^gJ7hOx$({pF5=XOy6cQzv+*Sf6Jy@+ z;^BYzkOW2OanD9$qg;VNATeNZ&GWGci^J7jKPlQ?@~-!^rJ^lVD?^)~blR?=P`B%g zj$J%L0`7Tm_4U}-fDms4_@<_&vnIUltv7fev`;kMNmy6)#Jw<5L$eQy-}3SsAgWk8 zIy!-!Z^rT-(#Tk7+d>y8H9K@jeX_j0VFXI>uQ=a|5XO#u$&A3y4!u$8P?aXeEO?3O z;_S-WH`xAGT~|48Ar9~3{=t5Pq3SSkydxHtf}IHPl!1w%9Vc6az{=g2GMjPBJI1ou zfFD!@a&~m+erMoYyC(?R&u$E*&lsC99I6-G@>}Q5e#Je$c*vYn>c}Xxn~?{de_xW8 zCX1C^)f^~9AtdOh$Xb4o7Mdiw+|qJ&h1uP$zTh1PA#<3fvaAXT6`~qjSU_2k{wfzecD1n!EUOX<;y~@V(@Q=?aecG+=4fx^YoB6 z(A>tx(7H^@8HLmKYMvDyGJ}JSljv?xLj%d=#O?svE6|?V<%b?k#HIlY0+Mmkz)zM!X#Qn3!2{ey$mXC0;G{b<~?B>gq~#Z%O84K6ibVSvTo zF5v~Y*lU1)ZNr<#e!S*U@N~)bz!8pupASBq;v zrFiQm6ym(5;PO>=wr;8vWNrTeD~o{Cm;@^2;FWeza9Z3Qo-Qj5d^hS*fK>T7xvJ$? zD(0>=L1SAZzICRB%|V+zaLM-NID!Ov3yd~+|>xa zBewOR#zo$q>dF;QD34G=>LiKsviRQD_g^ts-rgWZWE%2@R@N8lZ$Q|@seQGU3_dp; zOx9(NO^zwf=6m3bLUzw$e;M90tmVA1u0y##R!%V+%OiFo{KR>T>UD;jKh$R7Ll=(%b;Mjw(!@X8l#yGdawj9j zySfKo!9`-F{1HiB2y;{uo1T+W!4CwuU97^nXLTrZn67Vr6ZSEoJk=(mxGNqzT`p`ixGaF#{gr$_zq(GAxRbqyoAJGalXf2IoO?nD zi6kmXtJw8+Tqn-yz1$;n0QAPq`>p6@TK2V2^sK44%A3_+++OQEGfMq)m9^X-(>RyUZ zBsf{B09d(o4RHGoT(td2nAK23ntU1xGYTtEV7#AHnk3>+TyiI+Qjd$bUAVct@W6;S zYt)sM=l9lU+a85ge<8mlrXw_4gnwwoI<&p?3qRgV^Bs69(Eiea=jdv4ON!OIyUzCN zmP#RoUEnRV^0KeH@zezA%avO9S<6Sl%x~wetQpFDxc}PP)hCBTX>Fs6O>(&`^I*A# z8*wdVA>BPXR1odcH;@)gs)TA^6}ejCPSf{{oL+yh2BLT(p2)CQa?*AYV6{+lyZe2y z`~TSc%CNY$q}_xBm*5aIKyY`L;O>pPySs)22_9S;hsNDqgEa2$?!lep_L-S8GvAzi z=iK}EKJ$lX_ilRcTD7X)s#R617Webac|;Fs*>ifbtCiPJ=$z%b9{aib5mJ8taRf&$ z^5MX^tv#N_1{M}W+A;+pn~H~ryfjwn^p~eEqv;;vfHfNqEIZNZ>Ao%oX>sYFV|%_O zAHdNdGTV$RL;>k-<8pFz8AULNM1(LK}3xzvgz#lmOxBthz;G? zf*XU62})AXy4192JO|CK(Yc+}(dS67%{NXXN}Z{rs&Apg@U*ZkSiFLAoL37hPE2nT z`QBb-3El(j2EwbD8vwP*Bk06wa@;ZL#4E?CD#ZKyA_+LrR#dRV*z90OEj86A6OthI zpK+@cI{bt%A`NZ-aF=L-l7^cajf^oB?&C94j^z=Cp6KK>CGSVSV6m&w_E;s7O(_n& z&dCS~4(sS1L@u^ES(A?HjliJ79BwMm`eBL6! zg1!9=E-XT_mEt7i}ta=e~2Agw|-rm-d5fzqtHYE**JfwL8 z@OY_0Fh55bepx)%pvJxs2jj;uyfZ@qyhv~tqMW8~p5vA}gT63cMpSo0MRt4n&#df5 z73v5#d|vEKF99V13y<1Bk&}dop|gDSZikZej$N5xjz5^Qt}S9feW2) z{9$(*%q*-ZeZTk;X}j`)w&nFpwv8j=aZU!J8xBi^Nk(piGp5#d#kKLHW2tKs=i4(O z`-#`bL4z;qnRYi~T-+?HgoI!OGxSz9NVh+~Lx}v*9_x3oT!e9_8qXf=YD>@NaYxnP z=Z+>%zztV1JBy>evt8Q9i*Wu5mYYfqz9)`o0oHC7BVSgX9{4U;>;>&d0!EEkqb+28 zXN_eBU0F0+4W7(gDnkOaSy=>A{SM@8$C>S{=BrHkY2o7PU zsBh1HsRvdp_rkrdP#=uaOz$h@TH+dEpwJ(u3D{7)Yu_@AU#rn#)+EhulR2`CUh1#L zz{pfo_QA^dqKu2XN8h%()G#vyXbkIxUF&sF8yy-+>?UN7%tn=H$dPfqzV?0WZEAt+ z6oxN(jfVg!01!0z;^Y|2XE)M6hr?Jmz(A7i|3LjHXfU97ekKhN3Q+fFD4C9E#Z2$f{3b?61fs%&*Wy!?Ja|gLpw5|zlPWQPY;id%FylyY1tro~ zCfTrVPm%I5TJUOmwcJdg!>W1(-_qGo`7jL2FV;^w*R`rk^ES#DH0~!s1$5>lvyZ zp!w{w7*xCs;nM6)6bvH4X8546DQUg`r%AHx+SXSnZ<5TMlz;pV3q$|h4Q3M!ovB;K!){y8hEW|jF8HZ2sXQgf#Upru&pNnFNnhuW* zU0CK=gU0O#QAIMV_0E5qX)(odu|-XF3za^ShLI+HM&DKDL! z*Ueu6Mn~mdMgNFT!rwgK-QnQgtS#uN#*bVn@9BB(WpT(^+6}inN45Obm;BjDi{^p& zEfyiRp@a6f-N#0$sdaE(F$14Eq$j~7W4>9Qe(*uF`x-8@UM{6o%zz4W~ znie+WRZ>pQ&uA#m0YUHf2C?8e$D_bVLp!BnLv#N3Raa5HZrnC;Id+D6qdT?XaHosB zG(4^DY@6XXRuL04kiBxpi_P$EN03cDckB-o8G`Ow$zvN8MaAgoc9qWhO=&RI$vuV} zF^;cbjHR>6VzwxJS|pIwG<^rYD0N4^asECYz%O=xf7TKf8jiE-+9MIA)O<=!n<|y7 z%O@xNBBRSeF4z)%w=;mLk%#A{aYtal=7%Xp%Y1H?B!jGUcK<4m_cGGudeTiF=R1>~ zAca*E$bmn5OF!1c7aiIr8i#i7iy*yG*R)*fDi0E_`qnkXO3%K~JA*uG*llmKynTS$ z`QY~QReH+Hq5dqAo?a^sk8ilGVfsC*DJcCBBam1Y^`s6JpMu3n@vAx^#nMmoLf<$%N3?Fmoy8Rw^G@JrS8c zONFT3o%U2iZ;|U^haMA>XIM~EW6YMRS9^s}21ntNyKLGfa3r)ewT$VFU&+08@2m~~ zEw+)pfrjRbbQ_KqfX^RXR6J3E*VnOtm}sP!g}v7FHfeH_5#;IRxsiavtP~PK@JgrH zo&DXi(v${UU_q?4GUYes70W_ZaS+2Xcb+^{P7BA=xWs#xL!_ora8IjL(8SlXgezpNM%oy4MiJ9^LGM zu;g?^ej2U^*fUf&>ZdW$6oi#V5MEYv+=p*Kdf!NG zm@)l#=*VXa(F{H}cFt{k8Jq04HLE_QamnsZLrvi;POM;usj&kzgFQd)gOB54qtIeH9crx~_ zSoLnLT_5#Ach3%A=;>G-u7ZsC`D|GgBzYLV4ayU!AFYkU|q>4+tXf&>z7+$MNo?vaN zxOuv4LQz^wU143wNkfL{EW;wUXmKa1^DtH}D7EyynwZ#+x26zWy18RDKZ+qZseNUn z7h5a0sjOr=(c$)_G{7~_8+piIUi4|x-+$pMuU0PSZe*omAbjG7T=}c&yf*j}aZLhh z%2bZyJt9F;S$D2w>!o1V?&R!~`TPp?ipOIS9|!F8$@M%WFz&d;%gNawm8~ebBQXns zK*b)=55Ni0`Ixr%Shz*+#QN%_d3&Yq>by-1OQSX_zWCuEX(gew1FWUJ8?Fu|qqR zbetS57;|UPqYO@rwqy%i;OF`Y63GBGt|foH|29|#L1nJv5!<+Kgor#$A2+_|1VP)AsQ`SYr+;Y{gV zbud}lo2`GV%o=5#?)_zTjez%0!u|My%)=zMnZzQeZ#oGQop4J`sR?9>t`NpM-q^0?tBa}-Lha7PZ) z#>9`b)W6`!eZ!=o8HlTw%0@r~8h#MPYkYc@nnT*){|(JaZCDmU^N8UHW}=yh^9LAW zi>FR3jrT|^*7b5>=zMpOUA1VIJAYR?(lT~`E7Rflbyw`yQrJ+C;1Ea0q%hJN;v|m$ zQLyWUx2VNOGCG??4Tg0ft+a`vW7gMtDaV65_q9YFdQm(+G!7li!8JmzNWk|I9Z4&% z1|-_#TDdSc)=6ctZo$TbGDL`O9Sdgg&R9-)yoF}QefRMZ%b!EiFc$E;nL#?dwSssqsXhivD+%&+zzI&EFjwBSKD(UI;q{$FZ?HwAOovSC{_g(-fG2FhdwA|+9Y!@jq_=9{! zOhqU$y$7A51-Q6m2id0QBt&nN{FsC;iuJRyl{^l>=y#!1K{0ksCSNqo=WlCOSI0W2 zKUwF}c)!*GaAdb?+6$7A0W&iTmfia@oWxQLGgY4&o0~&L>$^v+@Al6x6H7m0Af@&J zR9|vFQC+jmaNcydx#5xs1;H;Q+qtIHqUKR>rUWFQbJZ!CfW$uN^`dxu@XHtudu@h8 zhfInrk|ilgHkBYF_Z^kWI=f-OC?*DYabYE&&!drp^x|mOipgdRwg*;)3Y}@t>hZHD z15!Xnq`V~R=i7wr)UFHLJXW4u7X)M;|2b1P?V#G-pik_X^2(W<{+u7#`l@etUz$C3Ccp)(GoxjTf-)4DCP6 z?#73NpW*qq;>?G!FC0XJVNHOpBHgLOCy*^$rgoyb1ZZtHm(jC6H`$fPMy425fR`Wc zNn>oF0~Ew~WbdIDHKrkPv2e;n#RXDy&`4KF1vVztP)y<;@=$-*luP2g2S+2V(UZF5?ir~6k7${ie?+$(E1zYD$HpQ*KmuZdCve9#Q<&uI0cC;`QZ zbW5zi7*fo{9s^oFe5qT*BlMvT zpN((MEJureGPd@|xAbtma@vgGwrbjK_1-dcN*rvVb;~qFWyvMp`@q3DbKy^rJ0EK) z+f{uuv5mCs1f5tG81NZ{PlfdUv&1?po>@)nu}#_v^qT02owtmySaCYxs0zVg;kXsw z!R9s{!}=GlvOqRi>F`hS)bw^?O*As1IZT2IX#_ALS!W#1Zgy5iyPtY#3{7^H-h9Y5 zoWy+p4FQinX^|)jE5aG#*Xpj2lZ!OPd$X*p1l`Ydwr> zGr&GGm<-l>D1qRZC$gdt#PF zA1agk8z;8mdvA&U&CkGKrF)}6XpP*M#F=ZEK^h*6j0`!>XvH>h3Az1q=9}h^_Y~rh znSq6sU%P7RG0Im*+81}N!6h`t5p)tc<@MqzVp==T`OU>6hbd!=S|`*o3jH5RdeD$` zK*c)~i11C*OFRCb74@3 zD#+Bux{T8h;uwekIWU5^4J}p3XUahKao!A$3u(Z}L0pWE!_D9@kMU*%4 z3xW56<2FUDHQ`=9kZqy%_IZ03Fmf~KJ4}J=5I25LCDag+mx_&m(qdGzR<=2z&_s3N z#;vhEaveOldrW}TK=;I(utOT@jZ-6|#gZ2>OUl4NQeP=~$Hq$+Mxh8tz8J0gg;m8= z>-`lMQ2P4}$F(R9iA1uBExO_&Nh0!DsuUb-fv3dDkz>)3YeX5@<^O+_~Vvx0C~ z*J-8u$SyEaH1SBmpp;o@YD(FF3#X2W-cX5%-EJ~W+m4vUs8$uEudFtaqR61XNKHZs z}Fw#YlQ#$h6jGYuwI^SSt@mC&@P#aJOk;2m>h$Y1WgENS+Wo`V>T@v$^iJ z_Hs>NkKv&J197szjH$cH2z@q5!K({HbEv70R@YuLrCA3*2dTyr1uiO^Mm3jflgV1| zA;EXmK{-=UiA!jxJ8wMJ&XGid>EU-w5(;&ug56ue_?Z^rMF;>sE@!Z-&>Tecs?eDK zuPbIIBb#xRGDL7EU%_0x(T55gTov7)1_%6}eXgLZ$rDouwjGZ4q$7_IiRcKuvXIf zH>N_5J*U!Ry3>J7MuE1uUB!da8aUqs1k&12c@*kyZE4K5t~4+62+?diqY+4$ON!SM z)u5B4FUuYtVBft+SB5!_aH@1*0X0H8Q$#{`Qw#Xt#CIQbDems?Pmh;;APA>I;Z;3F z+2Sjc!BG*_y~poET4t;!MJ)tfU?Iej-0+X3agnlz2Zonu19Fw5U$+8uXEK9KQ6}z% z1nfHB5fm2j`J+kuJV6=csS<+CRGUV4B4(M<-J;}~NDOqW*xl@gX_>VR8WddtJVV8U zZNRcvu@TD4P>OeM+e>YWzUFMm1^BODjt((jRF=eB*9?Lk?mCIeK7P*4O}6Qc)T@LW zIGDn9oa^sbz|TaT(Opi>xwZo6#-YEC{03XUROsiJZHU(XgNt_x)fQjR^fIYbqvL^< zHA6X{2MI@tfI6h>gm4AtCGLjg?xY6-9UCPQk=gh4k8vlWy3eusi^5Ghqkb0Lus6_`R<>0~J1X9|{A;1SCbeQ?f2tf`7u+9AcG8hpILOgh#L1*le0qQX7>*vu2hg45;YE1qxJ)tGG_u=Q zoNCq3M}ctRB-W^&P<&%D1k?>TC{y6hoX;)|DSSCM$L^-7_?G4R9Z;OI}9IAbgn8j~q1vvuJ(ctS!#o%_+atg9W46Z<%G`l*yb zX3w$v@%5}ks{+Ns2TRB@trjoLtfc9a5?ZLNrGStCi!k65*~=wNrIfmbQ6W^1ow(S|t@C z)7d!A0P*aOPYubyy}@V47RQu?6g7Bfx2nv`Jws`Go^@tHwUk;w;cr$`Vv{qa7_x;C z8{AzTSXcUO!0NFlDaUeF=+duP8z?BF#G&@sTS8-!bL>~zXg#R*-Y9$xVnM@LQ-u?x z)TBZ`TL=m%EJiKJx`)PHCF-P?S^L&{Owk}IC9a9+{VdS#cZXYNLror;Z%9;F$n;t; zaE~~@O$`Q3F?)Hb;NY$Ofvl?jiALuug^~{np(Q0PM9kqP28fQ%?)?%{FsyI;UqgLOJZmJ5mG@_zcuTVhA?$$)L?*KPf6|``W;b4~oG{Sc4)xT2U{t$tUY3 zmKZxNO3j$bziHOwgr%%$DEBF(ki14YSpwDZ0E?EO8NmaY?d^wm+aw#ojXP$3s+VWd z59A~S3;hFgFLfxP&EFDE=b+8Gy;_4C|L7zdsJ1|%RG41kp)N$#MaE;bED91P_W$V^ z2kcYTw7d2KsT%3xIeYK6iV^7rC*+lunoKoUY|n+s2XV2h`QWTuOX9D-SaS)lXt6xF zZs-IPA)GUXDQ;NI?GJ{kV~Dmm#k;!om>E?Y^AzZN^W-DFN90eh^{6ihDgEWnt26%h z<3^PS`JDRd(=oeJLh}xrDgjXEy1ZXQRjtMMfGt0l$4d^}eE6Y=Gk$)`)E>GiiTiv> zxOMs#om!rTs#Ubb~LISQp_{hq6skcjEg~1SKw?`B1PNAa{GCO zT_793%zgetn{wHGWuN!_00);*RkvhqHquFL7i+=L#(h+;@%1cwvf+9(i|q}Rr&J2n zfPDbQL_vki$DY$YNbA1%Sn;XK7m&)1_kQaJ3XI?P=Np^C6T$Dwzm5&sgykpu{77RP zfPNhk1!R-6^S?d85j5Rx{qZ??6GPAejzdqW>ds0@>{2R4k;{65<&A>EM8L<+EKS5D zY0p5JI$97`>z72Du2AJ+aN^{HgOJ?Ua^jDtM@Eks^3>UG3hNKe9#ahT^-r|-q6nv#9= z_P^DtQ^Ug}Yd3C+Q)Sjv9t6Q8`}L-T!(K89ctbND!cA&0$y5bT6YWyjP8He}pk*B7p;_%x0vZv5_Iw z$@7!4pc)>-@PdiP1s%T{X6n`jXntX}4o5(`XsqB4Pb@yQgCx3)q$7ZQa+*UHc=q@P zQfNt01k03^pOrT3l#=J3XoQ}!)V{l|w?$5r*?L^K$&U0y$XIr7ADa+cMZGPaxeLR%N=Vk;MEF*@3%XZo`*Ab!$OU+tTh$J1E@DL$l5xonF)Ch&tu z!H6akBr@M*BklQqu||*jS|cWd$2tQ}KKz!1qvBZ^AE8Aq{R>NarnSe|s|F6=RpC3U zAsVU_9`l#&>y-=%n4E;u=}sh4a1a++?A{0!p8=@eeyJ`(-E0DcY~Ic?^AeI7a#!$g zEN{;*&Yv9VeWgjFxu*CSec~Tq_oL=9L9p}-#%c0rvi?@TBMI(a_2Q%A9v{+l!j-`J znTsc~gAkJh>)1-Wc$L`E-fw;P&@kZwj}Nd>nJiO2Kb=`BIvuF$eGMZag&@I;i&n6( zh)^)yK3q1_Tt2GEUAanLqFwb>_ItBZQ|5>%0?f~6MMXtUE-sk$v`T)|JFR?d){prW zkOBZA-EMM5#>^mEyHAm?Eq9_gWRqFUazPhsCu>{8sIQ3$_eE)0_vrh|?R;$sbzX>> zpW%~pMar7dOMkSw2zt+@7^bz(YBE1CIf?EO3?Ela)sg1)p%`n=V(|EEV(Yv~E4jmR z#R}8SEyT1XDA=M|qBq+Yk`fM$RAA!j;9%=q-Cg6WbNE;|5w{`aG!cf+Qjxbs!`IgR zc!kxjl2v8@h`k`{r#IT9(vJ>su?Z>afP#Z6ZYw(^iid+GYKoUmIE9{b^bsA5dALI@dd(Oo0cu*> zS1_)x!SU@AMI$gs&tc~`A92I0FbcYUV)YgJEQ!#0+Y+LsQFF4>j#ocA1M*W4fLnwFV1=knR?as+4K5kCaHt2b|nK?R7Bl^=hU#o66iPr&4x zMpR#R;AV#oe|0?Nn`7MSqopSn+b#KyjX4oT7Co;@;MQKC30t#uQ&C-ojPi5gOvbge zMdj)39rYBXTvv1@HYbM}Bl4SZ=M1FJP=dadIR0XdE$gf-C62mJ97EfWT_oAZVcLK% zZm1L5X+OhyFKsS0lMAAW;Sr-d)%iTSzox~d#JG|ZR#1puMPaX*S{RMp&?oXZ;+<%i zV`}j{m+rsP<3y{gjHT1@^VPCK$mblb{VhTlMpTXPtJF>BZHiEMQwdPHkg=kIvAp5- zRFYHCg9o98)Q@sEEf!6mUKo;LIdn|N9E6manz_pDq;=7XVw;H(-@fosmD3*(cpgjy z6bq-wf%$Q;#>cu=C%RU_E1=$=FQC4kK0hXu94JF}tc;aDUpo)|+&J9~5*`S-uMcxn z2dMm5epr*bw~p<+Gm0;>_Uhk74p&>Ha!Uc=jb`%FmziFm*CRsKmn;?<;ofn4mKEDp zF$E3L%lk=yc=+U^O&BD##4j$Mmf(OD-uRt);-}NjjEODnC)aqt#IJ!E;I6(`cw+Pf zlufSB>dx4VaW^tE;(YRh%dPFbI<`f8c0NN7?DI$NuD7W4IV7-@pV?KP3{-HLb~H6d zda<8~wZTl010yb1`uRbLr4d7r#90#F20y%rmZU}=-3Q@|h7S-W-RE8g`^T@_d z(onxIeC<4Wr$uImAuiw(pM-L}%5XxS^RzwDbJiI2nIaVq38hzp`i*^F zI*^k}hEC2NQhNBwbgm}?7SYth1XDm78It~Ol+c7CyKS24$ACc=fw$R!|BMWOuA=NT zQ=Z*5wPesYdl{D)i{!7l@q~kl`Dv_oI}fV&+idQ)c%%7hb8mOfNHhNm z!)@ESo95oMt^A%`Gye2_W>k)e$|QA6{Pq+X^P@|>Pl189ADuQO?Olv$sAm$ek(=_E z;bSl9t5*h0+^(a(9U1P57A|8*UQkTQT@BpFW#wK+Weoy=mHl%6=QVZ9aO)P%WYj2_ zceQ=*rb&YUrQ@TjWHub>KgXWVVBb8?7hK6t?|U6_*iB^CsbYL@zqeZOXa>oQTm{oF z$*?jGjf#}C8Z{45@ukR8K+ZgHO;@+-hB&woe7jRfCTaJv}gLFR>Me* z`xpi6@4XWv%+}4Ehhtj0(iQDzrLl@-+`Dn~sKsbS4`z%f8M>ycp3kPPlXh6`NR+!S z4RYo*~=8{E;@)d>H7BGtQ(kkg8Fz)<0DXS8YhZGQ3@ ztFy9eq(p`NOaXPAcdBDqq!n$;Ub5SP5;%*Bi>1%Rq5dw_9bDGVDXJF< zdzq))e$%Nc1DU)*H{U%K)Jw2VY7(tBr$ciEy`CQNP6vmFmk?%^b*by~1($DsELF7S z1@LSMZ#^I}lDr&f$r5A(Ff{VASykX+WNnWFSPP12}9P`D_`JtTp zo=RxEaaC3cO4eB0emnQho?mB4T=jqA{h3#CqXr&y25aTzn&!(WSdJ*EV6~O=HCE4n^IzvWv&+h#tUTAF^OPBz zC*Bb7U*$@4sB_fV^j0TX-8d^e3E2l!$4U2=V#~Mi&QhC{Szy(usgg@udp}Hkr?RlZ zqMg;DvKWmfdOYoV_8wYPxvzE-vATTI@jPM~B}UJopkyLskOW* z`E1VM%;mi^F|dZ+Dfse!JcM{ZF8f%e`F8sp(v76F6tKHPx0j7T1@S!JT2(!)GBt_>SwEIYIikCaHK~aYNmO{ zhOhzt51POlEo)nKj9FQ05wjvYTW-H?gN2SVt=h9UW0Pg9k^ed({P(M2k)5$Nb_9t(DWjWc;@amUu*YiZ z8mn-mt9{K%4KD^=7rqe(rBnNHFf*5**Gl66*&F;>Ev9higtb(^r&YUE3DQ^6H)=AHfuESU0er2e%QU zBa?Km%S(L{xfjd(w*WzEHuj0#m)dz(QwDN!bm&py*e4M)`|hrhy&0Z$)+te`M}AaE)Vd_Y{DhZxU?WC`5Vgr`=8DPic0kEI3Ba>H;*_C{^~PDNRl9V zEy}=yEZ3WNAT`hJVg>CFayxPY^|!#wBmCJ#yK9Vu4e;Syn~hAd`P?}rdXnv>1um2+ z6y$C-RIBKVm#>S_6bDZFe|ww31#5B@t1zf1l* zhkH2LHP-o^sdgIeSb>;p-IJnfhlE~CHPy}B1QAOf>y`QX=YdW?WXU3F*<~dXDLGo2 zB6C`%BFkQi8R!xU4?0mH2{)3G8iv1Hwjm`UO}l;+|3*idDx45}yEf;Z-7=9^&x5<_ ziD%8oz^5NZ=I~wwyiNnMXA%FT;x|M15Ar%$&^1Ulz~3fH?L(G!YZ-akgd;%dbu=%E zIzns(*&l;DMz85*10J!H4=LMwn(Eml=J_uTF_&bcO~j=`!B7 zes%N-a-);ornQp&suFH**^~20zYduq25l-9rMTcBLmp~C0+k~B04DY^zpN+JcGo#M zzi0O$qR6HCARY2`>%**C_vW)d@n=ATd@z7&@)zMK(!8-_cO2~#RgL%GI5q?S`ZG!NT*=qG2j4O~ zWNDIrW92_z;*f$+ns%1=@fpbXLl=iU;DUwUi?&%a)SWf7XFIcO-*|ZRm%sb_vmj2< zx`q@a9;)W{G5%A6gQP1#s9bsAE3m*XCF*wq_7F=8&+^>p&x!8c_J}uj?!&ek`J(a5 zemN1p&kMu5%E|7ylu(^bThe$OuEV5zBf<}a{X?xWY;S%sf4~0>G6zIZwDf$`pT1Se zJ}9~oVV62_!|l%>!0DmTXCwbETmNLp?==4Hi*SZYsGc~Mu=b?EtFL|y`{qMpkR8`@ z{iiwh!N`9)L^!&b&Osyv1l9|27UxvB9rSdy%f-^Dq^QMKHB<6Girc@)eG#xjQfbr^ zw;A1<`aZo3$=79dP8ElF7sw9vT9Y80i6a|r@gEH=)Mk+zI^i`A?OX-u2DcP@U{+t}OtWK;LeoMlJ zZyPQbqJ14RCriiG+$Xa>6b$J?5aSzc2xrt@eE|Br$E2X`4T0%&RZs9nT* zH@&A2qVG8y`Hpm=w3@x!L<@`r(iAcWD5A{ZW%WoMIX?edg#ONX9X}{_9gj(ZPexxa zgv9+bunP)?cC6e{3tA;93vyx?e)u$V0*Qcp)o6{vJ#n+=O2fl}BLpu) zTEH8n?p)RcqhEV=Yq*y=cs|x;6{ikhUAzU-TMmg`Hc1L_W{gE_U!MB_j+Ej4On!vc z5l|Z^ArB`}!=wiZEmB*^zYVx@04k!jaUe@IgT)JTZ_G z=WYDqe@w+6J{nNG?2cmvGZFvkm>{!@t@-h6oAk3X;Xf_O|3d5Vdm#@einqID{{sa6 zNN^`9B5H{GJ&!z!+#1Lzp+~k`yF4?e}(ba==xt_{4<^Te-Oq_ z_Nh-hEdI~=WkaB%T8uweuz(@8_4$ogNm;fg3VKi`907ku#BVq$7GRpm?`fISm`3+k zU{LAsvYHadPVz6j7`S(e2@p*yPNoX{tCu6FAQr4NEL8YEZvWvUWLmo85IOT;{)#z;(jU)E0J4~W>Vo`+YeB!+n?@4$ zKX*CbeG~#fptr;*2lcPGO{W7v)NbUWm;aj5UtbkNtb-;NM$lhz+h7Co=KqS~ui5lp zQT!8m{I4kf33L97ivNM?|Mu~}sQ4#V`o9MH4`%sa_Wl1a1ML6+97@w~PxhR+wdlyp zap^{ZLwqktV!OA=1n&oSuR3ffN`B&Gma8(|;Q!jl|8BJc79d_-;t^N6e8t?}wHLo$ z^wb8OzRtzsH)^cvX};(m?l&<*dy_>j#dngsPE9p6_l$pnUB5Xi>dg@MuZUGhN!d%rWmnv(39ig3mVR?BGs4jQN zFcWWul_ZaNSWR@{1lHEoCo!H zmoYJ<6N@lIHOGWXb?fqexa#ox5h1=nTvYTPt7cLUDLg0Tw(e&B)hT{+^ePj&6q;GfhPi1@_Bz*kSCo^5F}qgT!8WnblXr$U8E3UphB@f9wAmyUmu3>gN4O28+E zGHybmj+Gr1bKO&eB@+2dl_KHUV{?8Z zCV&-1d(m=i>7xE7vDp^L;qF@R&3{^zZ3z7i3#h7IPQmv!vNvZUx#vI`&y)fvwO8$x z$NCn_p~ZJ0jTKu)oDA(6x+HJVh_aFcICNxfccfF}7ble;LAgnjRY!rNm#?rI9J!i5 zVx_}?uYi0!vZw4;aLZy#JMt?>TO$K1NM~^4>VC1@sWFU<93+kc>WiWq)6JgwhpZ@; zeXPk|SWZ_xL7>e_W1+yu2QD90&X^r>yRF}Cw8d0y2vb-OVWn|sYa6dG5-wG&HkI}5 z5fKwP@Y;N+C@H5H*HFhmdRXp#VZ3_eWHKeCO_H0T-6kJm)_lT2uEP`lS*bZ*tVk$d zC3{r(+&@gw%z5GL+kA=&e~L?Uc99qm1x7^6VIf}$`;tPt9xTCG3WB*^AULc^G?Z5F zY#L+u#j+qN>0{G=dDUu?;X&DfWUBy?^p5Z}?UXe<3?e5(@)>Rxtvsc}`M zMJ;JOho6xJWd})q`0r^019CW>4-0VtLX|~DQe>jyWE+r#JR$KZKvL--7D1t&-J@c) zeIpUSqT@0V*gWULDwZ})UBFg zWna}DJ9t5=BRs4uh^xRg{gFRO|7Cyvd8H%zvSlhg{7sXvZS#$pyH|D9kMKt3;(z2p z0?4r%mAm60?Jw)<>T(2JFZMT{zZWROyS5hxP+;-tOey)#+>~YdY#Yz%*3{Hhx%rq_ z82P;4KM#Cbm8D_lV?mFkHfA}x_VN|z5RMwmPJ@$p`XR)SIkt=7Rv_c6Sg4?$w6t|` zcL8nwA=+nk!^MMNtG@&qLD?!<+Ey1xD{x%zLc=}ozi8GlH^cehBM{P)?NOlFSUV=2 ze$}7{0#3*Jw%CpurBc87^d|0buCG%m!RHfe9w`a;PClc z_IuHfc2?@q}2dD*~5Bx0@td<2%@7w%LWoZIfQf2!#i$r;Hhb5s&FsLKdQmU5- z58K&+LyPerG!>J|-C9P<+jVsrAgNiCp{Hpb)=khz;+KALahM}~?I(eb#UeP66JyfZ z(Twp@yN7B=rJF?TEK2Xo=9rO_?KE>{U1`2Z6Nn9^X&r8jhC%>e>}B z)<VK7Obs$GfMpTIchpVbrzj}=N+gx`dU~5!uNKF-#7{zTF z=fd8ca7=t4l#Jv`8QQ_ZJGQai*K3eZFP4vp-cdfE2#9atdT%0J6c=XgR;INwyNC`q z8xbkdjWHn%N!3o{BF*I2EVwkQ8%mmrET+jLa~G`}kJ?Rf#dBygnAhAt`2~@Nzv+EP zdHIgeOy zBR7nzkx24LZ5*jQMwdB%aNqzJopve#8f z8WHY)?*;I)+)l#VTE<(uWa)qakAQ&il=$uOTB~21S#b!UY<_Zb(}4#zI2fH7nyz2B z-Y0U+y2cdZHpS}~5g8mUY0nf`^QA;l#)U#$JZVZ5>g!d!vwIel>*eCwfwbnY>BFCD zX)Tp|lxd8LUBKXPBcC3;=^1$NGp6&P3at+7t?d+1KzJ1d(jz)y5>){~KK1jo^#2RU zlnI@8tDbk&70Dcp&i(^f0-<_^76-kjXJ+nw1R^<$1a!+OSaq z9$k2^=q0Uyg!0;1cWOq3M|UbM-wpbR>t~0NDbNTM@yW>XLNxIBq%P~dOoCdPGTN}T z7drr1t!BpKq+6K?$0$ywXsrH^sg?j*jgN>b>StZ%bAS7?95nzdng1;u#4Y_Al^KgR zV|iE$JNf;ZgM*EWFlr-vBlO%cbFRgAFUp`3CrUI#qTi^>qujvy)(amG&&Lf}HD%0% zWkMro_PgfN0+HG>O9CDNp>$qNDw0HkLCUbjHh9w`cJvefcbCTH{P5|`uW_2L&&8{{ z>GI~xTHM@)dHGlwbQJ1llr8@BmN|H(X5X7P+)jkW7gElR^s)JVtc*7MHxkU zN1FPtpzh!9(WwU{U}uz;(DqR%q;v7`@F{xA#;+wSeJ^%fT0|}(0}q^?r3Cjq_zYx9 zgQ5up78SJ%O!_2w@{c8=`}Z#TUcJ<3BZ{Ql3_~-kUN~$293%N{>%4exMv@QYIT)hq z2I6s%166lrRb+EuUNp~STayB%tc=67&1}FCa?bI(Z_i+r>t*>;oaV!~JUrjY{yTL-n;>v!a4sN>wgsz(1?PfrQv&vFyq0OVe#JQ;@if-n_%7l z!`4@aHQl~%KL(;GV1P<1N|$tlA|)`oVSuDC8b*hJg0x7HJ;k z^Pu&iNoL0uyI11Pt^G-_MjRJcgwin%Cz=SE9ueW=b6xAzXjx1iu)c2~C+={grUA-4 zF*Y_fGe+Soe*esvFP$#7TVB2+X0*J#kTHd*U?6Uo9Z@lbf{kljX66e%wc?c(oqyjj zGBWYFNTaoqnL1iU?~C{Uv-kh6_4>!{a`FcyKFQGDgA<inPzCz$`z-o=OF|puS?R zhh=A1H@-5zdP0EWPiSbASsnwt*WagQrbgJq2c%@U z%&kL;1DIhdP_>{tQQJ>r7I$$)io@;f>>vTr;CC$tFITs=dw-wy@n4aZ){ICCJPoh& zZ>}N{N8KpClkYA{JLD&o49Fd-F1~EB3-?%qV4X%)nJ7OXtp}9$A zuI=$z5bEVjF>i^-^r=^@UxKsD-cY3ed`?HD+_RG6HMrw!SyAW32mP5>Z?97Wr{>e# ze_Nn+OGgY?Ekm$kb@ObcHiI8w4^|!BNtE;O$Jlv}g2*HU-%2%;u zHteZ1&*=}(FTH)st@9Lp{IX=3SMT4RK-lZL9T3$7CvH_~vf9|eJ!BgyeE>Bc4u0D= z#RavP{x`WbNvU-i=5~%rUoZ?4H}mv%AluYLteHCqXL49-ovBD9lWhK2JzMMSnt6!( z7w~c@ntlDkf+~Q?drY{9x*beyD-=xC6wN0_G4;rIKi>b+v#eM!Mi#5Es%TyLL9*g& zBXSkI?q+MnxiMzq`zwpN@VkY?Q&OL_Sz&nQ^UU82zxQ_SPA+azf2n{%HRkJugoQbf zqXoPi^O#yx;@}2Fu6C~0D?s;3pF8vBpYyqy@3W~jv+_O6uF!Vl|c$gl{X)dgME_;o(-}6F7ZM!*?WG0Q9K$cq3_dcNbz-SY6Frs4{3a zvU$k%#h`aH1cO95PCieTs)1!y=fmr4z3k07X@_QLBRtRjG8)HuACb*&dlzVd1{d^G zJru+d0pmhDgn=%-L`s#<|Non*uSp0)R-vYwMOZ#KYwl`Y=O=E_xZ%!&=>)Epl{=*_ zwY1!&9dz#OY7>iv>Uj+T(fEodO+bGG(g;Dnk1=8GK&U-faI%j_!`xRtG<2EOtxiR1hn+%#fTJTRHr?we z*Q0tYgp##F)a@$C!tP{M!H|{0`pO8czY7b(kWTf71X8ctce_V59F5ur3oz??N{d>zF zh{(WysnUw4al}0H4pI<`_q>zd@1@eU3jHKPAIV`dt!|ph6(g3yO<~{vxr&mcPKDW^ zH|+iy0tq*1kW5sGiBe^iuXX4_!NkNUqb9z`&y*}~jvps*Ko_il+{s*-E*oPh!H#zZ zpSg;L&2Q*Rj6p4xA*ucFZr5lTsO{-WlMnG}DI%t(ThsR8WP zM#icm;Qz8~$*HXs!B&K{cVgWAz1LHCg6v7M;l)7fxTkI&l}LYR=f=S zFjb?4`iT0|nt z%q|gxZ1~AB;p#Xq$iX<+DY{3XREW`4#p#Z4ynS9+BT&S ztAR}cA4{P;ys-lRmTVdG8Y#+gq0t{%wDOALF1tYCJ|jY|bQ0?>Lhv#hulf5_#Nf-! zl&s*HwAE#26`g66OEFyJPF~JWeW;X~LdTuDjSO{5O=~>BoGgP>Q~K8*_a)$0sK4^1lHU%-i0hUsfnQ*q*_aJzea3Xl@?g6#oqGxK%YChK zq-y8X!s(HKr=DZ^^4zGL=H?-LF$2HcjmfA!{R#yv=8r6M`yuQL;%}F#{Pz0x?+_;H zXhXN3e`k4OxJ^uHG@;&jtWYf1f9q+S_is-WfOwrW%lm>(N(RY*Hsv~Hx}5lGklbrl zAMf<82)X~9Iw6|p-20Qu{e(l9*R)qHDpuQjYR)lC%oAy;Db=EBk+tE-w(yt zD#y88nMb0DFR6xS)B5ZemOXrFtIb|aO-&U4$rTGksmBWj{R&N2;RxZ&`)q|E-}&XC zB@Tnb*ia=x$*vIqA8KI((3GI7HLnQNg+KX)tT#$WT>83ekuQ2{OY|&}#~)=kmBx(U zVF+j<416j+__}z$^85Exnr^`xLN(EYpoYDsobvJyf`OYxi?HSZ|3QN1L{!(*(Z&P? zwPj^3M;?6?QI3Z|sQ2nORS|20Db16n{uW6;IAvNNpLP~Vl>|0)Ecf!ONrS8%=j**M zhISwUdrgu(F|?IRCXn#%?oh%C%ClktN43<>wnF{7{{cQ`ME7e!VuN1sU5$Mlu4R4q z>5a?p_AGj*|2o)GWFGTu(_#IW5-au!TBpl6^6?jwx#i!a^sW%E4z=fe>Ts86y!@Lc zv#`VO<0(EQDVV5>tCA{@kHCL7o@+@?$4ANfV%4gvYCNlIh#T>ZG6^ZNLRt@|nO6FO z@Xa|2v6-UdsRPy^J39fP-0`>*ikz^N;Eoi}+6r%9_SDFNc<%-z_E6z5iNRB2RkdpM zZ$0hxtvjwW6{xS&h>#g%%n)j3-OF$P!jmf+!0fZgZmtTkQ-g&82Y@ zumWMXRV5gIkC1bIbknhBvXKF2j4Y^;5%-(}H<+`d8@xL5N$si`6G|J8Fig+mCK<;( z05k%ME{V}KXseY7%8`4;m2$$*4Q_7SMh^f|g^bVtElKT8 zjSvj`2>+0R1Y?AH z8lxic0o)RLP5i>WC?`w&SZz=>NiJF{* z?dftwsD23x4SQ1lv+28|V=+oSA?xkitLFUizL}Y~ob+@lcNN-4-4`-+evPf~ZX2$< z*SVg_FdBTbol2-RiRAvkG_aJ&*j z9nXNA$d1W5brBPl+BZW&-ox}t$I!%ghAwWpE#5joPka%$zF71>(#$YZUT^jIkC8Pa zy6c6RoTeQzcGnN#EcrZNSJ?1^v7n`o%I+yOu+c=@j{QGLia}N{%NhyY@SS*{y`)Yl zTo6m;A%p%Lq8O`F5lZc|AuvHR4g-_u34w_(5DfM*Ak)=lW#3DLHiqf(mY>O0S!hq_ zdnr$lMY{NsvRudLAN|0+58zv~WBQwi=k7RTm@H$QCHLX+uBYbo;BPN4OFzb>L1zBC z;PKT`Xe5ikj1})w=fCKA8rOk>b<)X$`LJhVab>~-2W_@E*mSTRI{!uFHG*6iu zJb>A2efNb@Zz^;A5_l2+KHr*EqNOVOBQ}z0DPz0Q5aI2YJj(0;r|rV;MvGyd8rI*J z5DSueN$d{k0B5TmMhDedy#~01n~%m|kze2VN*1VPsCGY5N|yFMnAm1|<_V4Y#8;Y{WU%7yPzY{;)!`1pW5)c=WFzTLWWjjA_DT>LJLYtW#Tbl z4J+IX3X%1_`Afa zx!RT~+AyXl7W_ap6x!$&c=+($-bAAoj0se^VpC%b>2VJ=hQIGA(6d@Ry-!;VqG)Tc zRM4^OCi*@gb8=Zx?$xxuyS=lsxmRz>uxMm?_qME9nqq!-_?I8H=KK1a7{MU37nwW{ zVxs8wL=l@Iw^&p&d#7nrEN35&wG6X++AMf5Dp7&0UBpvhVA~hS*xJ zqbn-eo0Q8`cR7Y`R>1rORNC|?Qg+}eJSsW(adKt#d-tu;91e?usr&y>`DOt(2Sg>d zxMNZTc!k80CG}$S$iilGj*>S*lVm^s(H`D+!e1@U`}V-$NF2s?M|K#BA04$Z@v`mM zaDdte0QB^77UN^&fYa>_VKId^lcDGJQ}8^)g6gQ^UK)od z_FY)4sz+K45cH0-%b@D~Zcw#@sK@CP+9CBl7}s#J9o^+tV%(j9T+@V>#2nXEHR|h% zWA}c$*3Cyg&fts$KpOk{@Wzp^ydh<4OwWBay}dAORlYlhS5l%2$Y zF0(N^1pH>dxBZ-kO494k$U>8^;KO+$J>we3ooL~O5rmJ91hsg;Wheizg!n)!7$bIo zzt|gRp77r5otg@_=*bK?Pciu8FSU1zT(Z_0i3tt8Gk*XLcoBFsF}}K5X?3y?u(=~% z?J!dSPJ&HAPTZ(?(HxYK^04N_W5R3K%FAW{)NoOC ziJw$cc-7VzuuRASP-wWLUB;a7tqTE6-$ZBIF^dfasM1R>SeVD74VA=|3&!m#sTW7o z1K*YNMSC+KD|{w0R+{)!3;32N=*J~+w@pk8W#oh6^)n0PPGevM?=$&V*4s z^KmM<RR> z=w0LYNG`1|sRV&7E#DN;T#9PN_=vNXhti(_)0ARAGZd;VFCJ zdG}Q{{6x#?W*{E@MB1+%;sm%nQoEi|kUEcB!L3)u0vk&F*WzOBJn?I4`BV@M@e5eX z`M?GV!oZ@z;X?9cKIa8C`Fe@ND(*R@der8C=~YF>u&z_3!+iGAqK(u=%k^l>1-U|O z23C2qq+$2+lts!hqUjt1s#hurH2?v9cLXy}Cs>-V=l23n8WwA;?PR#F5vCU?;N)I~ zb-xl0n-?5I4II0DC*ar=zg^Ta7yIM>G>myqIPnX*|h{-eIzfMhw z0DFxWWPqciGz?bK?J9cGfLIys^Ecv;rJqd0I!>WbI*nFS5)`~M7x;x7h2covz{@8L zPfD}-hNZ7pfG2YXVo@u7Pgp$n0tkH%7n{KY)m-Sa96+IIj_`sP*1l^K-|+GMNes** z0snInW2Z9xDK2kE+B;jp*P-1oKiiV;Y=)!M=w;KaV?$jY95o~FYjg1`odKl`cDw2% z&#c%O*r}%}(W>fzhWx)H>3my3-U94Rum%YQ&P~CqDB-6KHJ2xpbZ5E@7g2%y%}&cUf{Yj zJY(Le1q9bwH~83(q9*jhJ)>g+vG>iY8O~L{oFOniim!~1o_jNRl zW33|!qLard_GBU8kgkc2vwjQ!%QdX^*zsnGCHei{WK+$`xVnleQiNb_npzy|cI4e; zAVP(03S@NCHBNz6@j_1X#Wjr^Er&x5l0Cleo?QwIq9<(dGlq-P4r{J-Yq9CUD*ckC z-IDY9Y#2|IvsnW7LfH5}V>0%OS zV0qChI?7c#pZj0pjEE?W6xkJ-JFx%g?j0}~r{bi>_o%e~s%!fLkhkjDK{^*86%D7t zNaD6KPc6kBsmWPDwd?asJ|1qsL1?&XgJTC|7nh25D%|&`#@L0lE#V31qS;|~gUg7d z`f}HEL5DN98EU|G4;KvplLGK&>Y^Uv)%FJSGqgwExA1Q(xiy7^$&XIN>0i)ZjcxO6)8vg+!u3AG^#SwDl;gW=tdd|rEdL_c18*6CBpMO9OtWXQ==CB zlT}Zz_A~JTV4o0=sT?zI9f$PnW27`7r-rZLviYVbkY zX@z^^7tTITjLAWCYZcqF##&RY?T8b7bLYe5Ec&@BbmLGV40VfN-WR7pMr_qpI0o01 z4rReF&?QDWc@YDSGmYg(X3&7IzZge<1B8p=qxg6wls6NMLC6bI#YtPa;n z@KpHXb^d3Q{>_QL@eO2!^*ptIzX8_piIR)Bt5;Fa%Q}FjZ*iVA<8u-Z4+Mj>N49;l zdHno5NZC_~D4~}_Cw*4zt&jIoM~D?Dv1uENmG)Ztj?X78{0)FpyoFbI?h#M_keH}Y zI;!{|YqHmgqp8=)iotJb6(B=}?6-w%e#Io4qpTX{My7sAYZ$=|n>?cL?bD0;aJmUC zj~R-AtJhq^$mvE^=o%_I9F#(PI{Jr&#!;D+?14Ch9uSNh8vEOJSkIrA5%!_nq6h4* zg5Z~Qns3I1(vSC!d3*O^@CAWUb{EzpyGO_!7V&;I-zw{}Yqd zq~2@%THIa{e7hrnYGSIig>z}k|%1Y4}A#?`cX*Xky;Ak^{L>0URUpb5 z6Qdj_&n@>Ni0`VqLy^duY+F8q`nayX(D<^heTA-t8n?NZ=Hl31{RP<-WTfV7ImI{0 zaL(N70`Z$i5&_e;u{&xM4}a#*q5bVY5u`GcdSh9G3PVZX(C(3yi|USNo#eE;(z~or zB0f6`3=#);@p_5P@^xyE-R!J5P%3a?_knj44j|a4BK0V?CiEtTOek@vx(ZQhGP$GQ zkpIzAmaYavQ`9U;40I$_O&PXMVA^tYJZP9@yw!AL(+7LJ0-A5Fu74&TwH0>Xgu?BE!JRJ9;t2eD>&JKZf8u;io(3^ z1b>l0{RwUk&<7hD@kS;zoDrK6BD+i6FsM1@aN6{IyV{|v@#&$upE6Z+gqVIR{;TOF zQM!=tu!p73AyU}?+(yd3x)vZ^;^XUUl$wgtC`y6eT+Ok#{zJYfz(ZN1OJ9K4JJ-m4 z6Vgr(ak3T?5(+qjnVygB1x_bS60Mi|uY&3!P9~V-)X-+FZ-$TfI`TG4{dNXguD&k9 zw`+$V3>4^41nOKUzamj;xV&@<7@hF$Ae~Hwp?sk241Q&%K_vvPtSHBD{52g9uKN7) zkcZVqnQI>;pzFk2_$zG2sU+j%NTut+Mtw*={h__!dmhwd(pAIyDtkkudh1}7`ilZp z92q$ofeS6cY-?{uKuQO*+S*=@i)WiG_+A6^r^V1sP5%AaTIlqcV%I3`O3lZpbz6fa zgF~cdo#j;dh=Ky2;ZF+g=2$h~ z0t7STqdbiyhsi3_P3Jx6xR@q@3u#yIE`Hc;Sfcb`ucblZhQz4DTn=x-wLD;>U?(W8FCUw&wLVG`SVR4c*o^xEyUSr{YKh*4)wE&cg{x}O zOqJ^gK<{*w0k2%ccozMtPApDsn3HRQCAOZ2ANNyji@U$$xQ@ zF;UvW3i-mEu_lX70CGAt^up)jD7wl%=bX|1Pe;hPN731Nd+8qkxn{1Z%K4o_(Q~rg z7^7kxsk2q-{8C9DXn;boDff9jjOIY#@b_{Krb|}XyoiOoX@Z;ySUBp*j#VgcPHsNv z2cd;oVKW2{r{4E{%~@A&3RJeDru4dLe$RkNV81ukf8w&xdnLSJulYjtutV0=)6@^2 zH)hTcxR2DSQTnVy#BWoSXW85gP8|{z7*_eo;Lao$5g%z(TffYN);xrg*PpLwgEQ_gnN zpf|VLad8Vr&!t`8z3PqYF4N1CNfS1cVbp4J zAkGcrjZ(qZbXF~Y;G+ADyU;Ek;DJb2i!;W|ofI}jfm=xDOwHastV zopOy-f#LW3_lTLHzl8%`x^dmv za(WNADugRs+q+(1`1xA&>hVP&{xmi!F@V~CgJ1gECh#~@rF?92oJGwa2U{H3DzXm5 zN4Df`t5sGBjBYMm>>+f|2+hhi;?-1fo8FU>o>0R|MSnxgo2&J}3*{!iQwwq!zY+iS zNLI%+{u=)Z1O^O(iIpc&RgiOOe9z)`fNxFhU@5ZVCVF6Yw-!k;(sjkc5ZG^w)N4); zb|4Q}yFq7_I9Cs@+`_qUqQoiX#%U=pMzw}n4XrVwYUWHo9cQWtrYHm^(`EPBz*2H= zvF5rp=>0}s@Hg_n?U#o}+AhJHnf~uy4N^WMeZbC~MNf?*LunqqpDAiniHdsA@@H;h zE4MaAvs2}{yfW%u8H%Y`Xn&;RBz4!05+DE+$NYgdLKUJl;s=kQ8CqyH$MnmHXsC{L z9IjX&dj6f@b_ym6vm*pCd6W-y&5XzkX06QiNUT%c28-VLbEL%UF6%rQonSPelkz(X z3ftA1rQmdOaL{<8e~3G%$Ce0Ui%w>078e}y5d-}JTJp&xKSd7%bS)eky)j&+G$otb z!vwR~AC1{L8yp`t^d6j9^xbRek!2NJ*tu+vXBNwQQ+7{{y{+bGMA4OC2HU&yr+Z@3 zrz&kSQ=}fo{8oynpVD-wKjQcG8teb2!>=L>NG#MTP)$b*Qu`MXhjgjDb9;>0u>~@X zTIG{VosQURyi+1Nr1$!b?++Y0GAM|Amp?@a-fgYEVI(GT(AhoC01;SR{j+zOoB2~j znJ9XPUcW(;vNDoE9UX^inKGwleA4ldy_}Q$S6^I7KF0wEWuEE!_t zU@xY32YUvmltwy6M6oMEg%S2_$lT_-Ko@SN(@IIO8AX zIq2(MRw8xSCVx4GV>Df}zSF$F1sp*BUYF^7tnlLU=nAmtd_?GP&X0RC%qb{ronotF zb!BLbC>lTK&GY33+~}eZ%u*UuzB)J{E@-xah+ckO4c}x$A>>|&^WF_zlgid^ zikD0yt}rWbL!Sq@lbyxG-KDpg-rk}T9B-?Q88#}cOBla9XI*KODDJQLOFVXR+MBAd z!uDlooi~e%@#WWAj6Bn39xI9&LcnxOfhbgy2hhkUY+xsvc?{Eu+Q3blhifxWj?HX% z`0{N<&F&W8yOTy3JL{+K(Vac z?oz*XPz1m(-?dkOJ~u_kN+^9te{Yo`u+xyxvU8!@JRSnoDPA~C2sM`p#k7sBLr4xe zRIIv~bxhhCn{4^`yP|K8G| zE_win$+p>OIlYX$#ypcgDGl68#+?u}ZRB9ul{dY(zF`(M^c2g%(_}tGe7~S7Dn-|^ z!W;-ev-3!t$ZX~LA^mXcdX$wD?>|K6UqS@6wo99i^C?pWA_WXBMT`gK;y+lK#65sd z<@OhTK&v~G-~e6BEF5EW4f*s<>`dv#`hGsEh#I&pfY4@B>@9lOR%>Z+3mV8GP?4XK zL(6%1Xk=7n9&a5d^LeBAr$qiHmZJp_z zRuVh*GCQ=U*O&^cWeG$O{_ES{f5+YFAmij1vgIueJ0QsA1ICl;uMzG`sQc);Zwi&J zMq+BkQ@IB9fqeIL#=$nj9sP)>d^ROEUj-k0T)xaGrpTCRO6h`)dTI#Mm3OCr=$Sr-tN?K%pFJJ+V53%@5~b%#c!lL?aa zMM1#Illn?L!OsVb{TAJc!uql}v#$$FrTO1Iym{pUnQrf+=) ztCsaS?Vh60&zy|Wo?chA<6mwDF}>{L27%|dKmZsIBLJ&lK3&6%+bSw8?n>zQJkgh4 zIRd-%#5kbqNg^Rrxw?}8UxIXA)I6NJn7fm{gK_L(w*?e_pyqjhGPZ?v#7V0>fZV7m zGQasxj+?%5kT3n^Pr@!BxpwG0rH=^t>d!nm?n52eiz~jfC)okr&cri$^3!#$N5CGy zB-B*AYBE2?1EA+s^i>aerpUtTmdT|0;xCH(HfcyhYfcy;Hr9Sp=^OYet5&N<tpV?Qe< zaCA@t)G{zPEV`ww+w2aEPp-Ba*cekPkqQ(Bau*5h#ROaG(RQ;Cb5m}Z;xiDitJ(t+`b2*yxOihpeq2>Yi6g`#aAJk;GCL; ze(zxP{EuQ(uMCCue~#seNduJ3*S%T&zA6v%NazfA%APTIGc)t^IS5Tow;8~12{>GQ zwSLS?DabQ0ruC-TJ;z$?apcxXUB2L3paG2izEPbnNpn($YQE*QrD+aCNb(*i8*0Ta zkWKH-0n)l|o!qW>mNHn6K-1zZY#GPx298F zJ@oY@8+wi=##V zp>y9NZpQSPmYz}NL?z-_KaLKj9V#% z7)MrYaLaT2Ws8EA$`4ClWH*c0#;kmcP=atN&MNWCqx23khrNr?vYunEO~LjN@^*ccWC8mY(Un##ajY z9?JcLPnNhO>zeueZl)7MWfp0JS`eINPK^Gsdw z?cxf6wXC1+jku8qZw&cM(eq2S*ox%Y5)P^Sq_%N6)CtcIBu(&aR zONAywyIh_1h$j%gDde<{~!{jUc57>A8EKKRSm1A1%=E)t1jK8_l4 zl4u_9tB8e0@L}DLcrEmY>>)G3GKa0P-Y*?>Vsdy_{2m_eU=mZdylqZJm}Fh501og zHPBsJ>|cO}l}4K(T=B?eNXhM#sYIXe=**Jb%j@kXVl&!F@NP?!#i)3={9m_ypQVz> zMdT_{!e-*EHbq^w18K!~17aHJ>cmykR@TlWdvqckrd{Khipsuavqm&|e*f#nL)pEl z1^nVR5qDT6YotuXIt@I@b2rU*b767Y+-4)yjcj-R?fqgHND*J6q^rw3W4&o@0PnxG z{d4~NlY|Jc&BfcBa!8fs*IX^V=JB>~rt}z9o-6KIuB}eE3$7JC*kP)c$?E*1kiMZ0 z?N`Hpw~$|(ec26JoWlZg9wAYl#ljnpp2e9r8;2g3eTKRWH`zulf4an|UK_hNl=@Omh)Q}j8;#U#Q_ zqSL3VE_*ON?$nD`HRP)hn}?y19?#kbZ?T9!5-YDst_m4ax z0wMQ_@qy)h(Qq7N0!*DX>smj;7KV(%V2^kb0%`k6E zC;LR=>)SljqrjS>H}?b$_)gfXV9UF8qII?D5&Xcyd-CxmO$bWi+ZJ)G z#;wlx>1|4!XJy*VYjDT7i(5el{YvR=pWdX*_=~|bHb1BfGh0C*suN>j*>Yx5-c%z{Pn3%!7)f%_q{Y%X7PAGQk`z2e2SP1-j$l8mlE3Cv~Sbw`1q zyHrW5(e?$5QraaBxw+67QL^xG_~kb-R(`c&xQft!nnzDvhEj zl=sgApLH2>w0*s*?z$f@Jyia64A=fGs_S|d>X2 zgObV`;>WU{YHIo8^kY<9x|Q>mt}{Dcj$|2e^6{uo)4(sDw>`TYJ~G9C(w6S7my>F2 zJ5_n!rl1T{ql%@9b42WNcI7d>Kh7Fu-ha577n%H>{BfJmUY!l@JHXOPPOgrblU_!b zB)2Ti#dKMVV-K+B4N{YS{I%$*anjPQ%~;=zodw*}>cYK48BS4wpJ8f3GOA-4wMSrl z;}1bNa9!=rT|$aqa#Hq-jB{CoqvA(q)r6rpBECmS&wJD?B-+_40s_|dq)3!bB%Mud zZSOfcD~o(eOiaYJTrcyRUiUafjf6}Ipzp=ZEIZ$6YvV8?P)9@Z=z-I`v1m=l$3)4# zzv3-l>jP#%mF&dm5oecPar}z!YX*UgPK^)G-kNm^2AU6>PmU#1FaRGdKh;QnlEa== zhqMN4TTVbK4l0ULblM-B9Z#qU#LgUB3qJ2DxOqVTdwCWpf_SK*Qdz@AuBy8E%qOvL-WJg#oBx2q zW1kQPOM0+KH3q*k=YYJ<;cMUa+adb0^P{2l8F3)XI>z~Hxn|c~n{zF1Bx`@i4o9C) z5K;GO_=mJ$4eunT&=;h14iU*kN4$vv!;q#WJ$WsDv<}Ygqyy2l7-8x7opdtozt(+H zI!IsSSB=O6W{|+oVu`I2G6^oRx$uae2yurc%%HTFWQ^8}<@VpMY&LukU+u>XJV^_G z`H+mh`hBrpTEMq>wb!igD#%ISBFCM=H?^T#wiV$MudJe3S&QseDZ$}a#^v5WDc^QH z{fpLG9Om@qrfw=1lOX9Z$tv67agufEq#J@oo!8>{$iS^Ud3Mj_B+T^sCN#g~n0{LN zKW|6nZEn0h$g%syqo4G9g>i8}Ia2mVBRaAkUCg<8U+lvH`_Idia>WFalk}T}21t3- zWCWvRyZ`XpzoB-pcI(~iLN=nStFs#oG+J1mlD&(SO(Sa@WR6_03?;XEO+j`i_^N5X zcIOkK?ja}O8A;e>o8s$Gnu6X>f9*WpH-lHBonQZ0QGM5{CldS%{mSEJl*$ri_2Q^r=FKbl*b@txO*$kMPU5P4t~gP`@V)r z`Fe#6)t+iOrLg^~4LYQbWmP93iPT9*AYSh% z%4i3KF7aM!jy`xp`HZ98Vg36uR=b#vQa@D8AjHK{dioXkcq zoyi3}sEuvO!Yyl~9YOo~!7q}izHRDJ&PN~by;2!agq1ptJfK`O=Y;fY=#4I4p4~E? zYVth+Wf;&S&cIfm6=*xXwsm3MZ4?W$5T1$NR}3cwHv_kM(59XDuik5=i3f7;ZvBcH zOn5aAPejyzMv`>vf(#8zq1O~46bP*}<-vhp2HDdLKR3u>0IcsB0BQDbo>$B!nu2!cL%e!b;�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

B&fU`^J8^=6r<*1d_Q&Ws^R5e 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 Date: Mon, 24 Jun 2024 10:48:24 +0100 Subject: [PATCH 26/45] docs: improve import export details (#4177) Co-authored-by: Matthew Elwell --- .../authentication/02-Okta.md | 7 +++-- .../importing-and-exporting/features.md | 19 +++++++++++++- .../{data-migration.md => organisations.md} | 26 +++++++++++++------ docs/docs/version-comparison.md | 2 +- docs/vercel.json | 4 +++ 5 files changed, 44 insertions(+), 14 deletions(-) rename docs/docs/system-administration/importing-and-exporting/{data-migration.md => organisations.md} (85%) diff --git a/docs/docs/system-administration/authentication/02-Okta.md b/docs/docs/system-administration/authentication/02-Okta.md index f282d8d9c2fc..165edb074206 100644 --- a/docs/docs/system-administration/authentication/02-Okta.md +++ b/docs/docs/system-administration/authentication/02-Okta.md @@ -12,9 +12,8 @@ application. ## Prerequisites (self-hosted) -Create a SAML configuration by following the -[instructions to set up SAML](/system-administration/authentication/01-SAML/index.md#setup-self-hosted). Leave the -identity provider metadata blank for now. +Create a SAML configuration by following the [instructions to set up SAML](/system-administration/authentication/SAML). +Leave the identity provider metadata blank for now. ## Procedure @@ -25,7 +24,7 @@ open it in the Okta dashboard and: - Scroll down to "Advanced Sign-on Settings", fill out the two fields and then click Save: - **API Base URL** should be `https://api.flagsmith.com` on SaaS, or your API root URL otherwise - **SAML Organisation** will be provided by Flagsmith support on SaaS. Otherwise, this refers to the "Organisation - name" field [when creating a SAML Configuration](/system-administration/authentication/SAML/#setup-self-hosted) + name" field [when creating a SAML Configuration](/system-administration/authentication/SAML) - Staying on the "Sign On" tab, find the "Metadata URL" in the "Sign on methods" section. Save this metadata to a file and send it to [Flagsmith support](mailto:support@flagsmith.com), or add it to the "IdP Metadata XML" field of your Flagsmith SAML Configuration if self-hosting diff --git a/docs/docs/system-administration/importing-and-exporting/features.md b/docs/docs/system-administration/importing-and-exporting/features.md index 174ca7834f87..86d00b70ce2f 100644 --- a/docs/docs/system-administration/importing-and-exporting/features.md +++ b/docs/docs/system-administration/importing-and-exporting/features.md @@ -5,9 +5,26 @@ sidebar_position: 110 The import and export of feature data associated with a given environment is possible on Flagsmith. The feature data that's exported includes multivariate features, but does not include other data that's associated with tags, owners, -group owners, etc. It's useful for transfering features between any running instances of Flagsmith, even when only a +group owners, etc. It's useful for transferring features between any running instances of Flagsmith, even when only a subset of features (e.g., importing features of a given tag) are needed. +## What is exported? + +We **will** export the following data: + +- Flags +- Flag States (both boolean and text values) +- Multivariate values and weights + +We **will not** export the following data: + +- Feature-based Segments +- Segment overrides +- Flag [Metadata](/system-administration/metadata/) +- Flag Schedules +- Tags associated with Flags +- Individual and group owners associated with Flags + ## Exporting On the Export tab of the project settings page it is possible to export the project's features using the environment's diff --git a/docs/docs/system-administration/importing-and-exporting/data-migration.md b/docs/docs/system-administration/importing-and-exporting/organisations.md similarity index 85% rename from docs/docs/system-administration/importing-and-exporting/data-migration.md rename to docs/docs/system-administration/importing-and-exporting/organisations.md index 7b0cdf20d9c1..461002711813 100644 --- a/docs/docs/system-administration/importing-and-exporting/data-migration.md +++ b/docs/docs/system-administration/importing-and-exporting/organisations.md @@ -1,10 +1,10 @@ --- -title: Data Migration +title: Organisations sidebar_position: 110 --- -The data migration option is useful when you want to migrate your Flagsmith application from one location to another. -It's not a useful tool to merge Flagsmith data into another Flagsmith instance, for that use-case consider +The Organisations data migration option is useful when you want to migrate your Flagsmith Organisation from one location +to another. It's not a useful tool to merge Flagsmith data into another Flagsmith instance, for that use-case consider [feature flag importing](/system-administration/importing-and-exporting/features). If, for example, you wanted to move from self hosting Flagsmith to our SaaS version, the process looks something like @@ -17,10 +17,18 @@ this: - **Step 5.** Register and re-add your users and passwords (Flagsmith support will need to assign at least one organisation administrator to the newly imported organisation) +:::tip + +You can import and export from any combination of self-hosted/SaaS to and from self-hosted/SaaS. If you need to go to or +from our SaaS platform, you will need to get in touch with us to operate that part of the process for you. + +::: + ## What is exported? We **will** export the following entities: +- Projects - Flags - Segments - Identities @@ -33,13 +41,15 @@ We **will not** export the following entities: - Change requests - Scheduled flag changes -## Exporting +## Dealing with existing data -:::info +The data migration process is designed to import data into a completely new Organisation within the target Flagsmith +instance. This target instance could be a completely new installation, or it could have existing data in it, in separate +Organisations. -Please contact us if you need to be sent an export of your Organisation from our SaaS platform. +This process does **not** support importing data into an existing Organisation. -::: +## Exporting The export process involves running a command from a terminal window. This must either be run from a running container in your self hosted deployment or, alternatively, you can run a separate container that can connect to the same database @@ -48,7 +58,7 @@ You can do this through the django admin interface. Information about accessing [here](/deployment/configuration/django-admin.md). Once you've obtained access to the admin interface, if you browse to the 'Organisations' menu item on the left, you should see something along the lines of the following: -![](/img/organisations-admin.png) +![Image](/img/organisations-admin.png) The ID you need is the one in brackets after the organisation name, so here it would be 1. diff --git a/docs/docs/version-comparison.md b/docs/docs/version-comparison.md index 85db8fa72360..e5212933805e 100644 --- a/docs/docs/version-comparison.md +++ b/docs/docs/version-comparison.md @@ -24,7 +24,7 @@ Open Source, SaaS hosted and Enterprise versions: :::tip You can switch between SaaS and Self Hosted Flagsmith using our -[Import and Export tools](system-administration/importing-and-exporting/data-migration). +[Import and Export tools](system-administration/importing-and-exporting/organisations). ::: diff --git a/docs/vercel.json b/docs/vercel.json index b6bd14935396..c54d6ccf1ccd 100644 --- a/docs/vercel.json +++ b/docs/vercel.json @@ -303,6 +303,10 @@ { "source": "/advanced-use/openfeature", "destination": "/clients/openfeature" + }, + { + "source": "/system-administration/importing-and-exporting/data-migration", + "destination": "/system-administration/importing-and-exporting/organisations" } ] } From d6f14f86d1ae0964cd6ff9524ece9d286ccb365a Mon Sep 17 00:00:00 2001 From: "imgbot[bot]" <31301654+imgbot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 11:33:48 +0100 Subject: [PATCH 27/45] [ImgBot] Optimize images (#4216) Signed-off-by: ImgBotApp Co-authored-by: ImgBotApp --- .../github/github-integration-1.png | Bin 439047 -> 288005 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/static/img/integrations/github/github-integration-1.png b/docs/static/img/integrations/github/github-integration-1.png index 31e8dbd41a1c4008f351f2ef98b4e48f55248ccb..c2fe34efe0b46975640656dff0c2c752df4816c7 100644 GIT binary patch literal 288005 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

5qMz$@}?(q($a{2f*~ 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%0AUJ>7 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 literal 439047 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

    0UDN|94wU|}}^UkM@0l9K67R2N)d0S}VrCZ3K9 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

    YTJK75igtt-|g) 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�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

    B&fU`^J8^=6r<*1d_Q&Ws^R5e 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 Date: Mon, 24 Jun 2024 13:46:35 +0100 Subject: [PATCH 28/45] fix(ci): Secrets unavailable for deploy jobs (#4215) --- .github/actions/api-deploy-ecs/action.yml | 2 +- .github/actions/task-processor-deploy-ecs/action.yml | 2 +- .github/workflows/.reusable-deploy-ecs.yml | 6 +++--- .github/workflows/api-deploy-production-ecs.yml | 1 + .github/workflows/api-deploy-staging-ecs.yml | 1 + Dockerfile | 4 ++-- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/actions/api-deploy-ecs/action.yml b/.github/actions/api-deploy-ecs/action.yml index d81db5f8f195..e6a367a830a3 100644 --- a/.github/actions/api-deploy-ecs/action.yml +++ b/.github/actions/api-deploy-ecs/action.yml @@ -50,7 +50,7 @@ runs: steps: - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ inputs.aws_access_key_id }} aws-secret-access-key: ${{ inputs.aws_secret_access_key }} diff --git a/.github/actions/task-processor-deploy-ecs/action.yml b/.github/actions/task-processor-deploy-ecs/action.yml index 48d1b6cb9428..d622636f1ba9 100644 --- a/.github/actions/task-processor-deploy-ecs/action.yml +++ b/.github/actions/task-processor-deploy-ecs/action.yml @@ -26,7 +26,7 @@ runs: steps: - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ inputs.aws_access_key_id }} aws-secret-access-key: ${{ inputs.aws_secret_access_key }} diff --git a/.github/workflows/.reusable-deploy-ecs.yml b/.github/workflows/.reusable-deploy-ecs.yml index c694eeb7f40b..72e58be119bd 100644 --- a/.github/workflows/.reusable-deploy-ecs.yml +++ b/.github/workflows/.reusable-deploy-ecs.yml @@ -33,11 +33,12 @@ jobs: uses: depot/setup-action@v1 - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ vars.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: eu-west-2 + mask-aws-account-id: 'no' - name: Login to Amazon ECR id: login-ecr @@ -61,7 +62,7 @@ jobs: build-args: CI_COMMIT_SHA=${{ github.sha }} secrets: | github_private_cloud_token=${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} - sse_pgp_pkey=${{ secrets.SSE_PGP_PRIVATE_KEY }} + "sse_pgp_pkey=${{ secrets.SSE_PGP_PRIVATE_KEY }}" push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} @@ -85,7 +86,6 @@ jobs: aws_ecs_service_name: ${{ vars.AWS_ECS_SERVICE_NAME }} aws_vpc_subnet_id: ${{ vars.AWS_VPC_SUBNET_ID }} aws_ecs_security_group_id: ${{ vars.AWS_ECS_SECURITY_GROUP_ID }} - aws_ecr_repository_arn: ${{ vars.AWS_ECR_REPOSITORY_ARN }} aws_identity_migration_event_bus_name: ${{ vars.AWS_IDENTITY_MIGRATION_EVENT_BUS_NAME }} aws_identity_migration_event_bus_rule_id: ${{ vars.AWS_IDENTITY_MIGRATION_EVENT_BUS_RULE_ID }} aws_identity_migration_task_role_arn: ${{ vars.AWS_IDENTITY_MIGRATION_TASK_ROLE_ARN }} diff --git a/.github/workflows/api-deploy-production-ecs.yml b/.github/workflows/api-deploy-production-ecs.yml index 66118043bddf..d06d5d7ab1b6 100644 --- a/.github/workflows/api-deploy-production-ecs.yml +++ b/.github/workflows/api-deploy-production-ecs.yml @@ -14,3 +14,4 @@ jobs: uses: ./.github/workflows/.reusable-deploy-ecs.yml with: environment: production + secrets: inherit diff --git a/.github/workflows/api-deploy-staging-ecs.yml b/.github/workflows/api-deploy-staging-ecs.yml index 0cc139aeb5e1..b02ff61bebe9 100644 --- a/.github/workflows/api-deploy-staging-ecs.yml +++ b/.github/workflows/api-deploy-staging-ecs.yml @@ -15,3 +15,4 @@ jobs: uses: ./.github/workflows/.reusable-deploy-ecs.yml with: environment: staging + secrets: inherit diff --git a/Dockerfile b/Dockerfile index 8afc45d4f8d7..914ba471d6f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -167,8 +167,8 @@ FROM api-runtime-private as saas-api RUN --mount=type=secret,id=sse_pgp_pkey \ apt-get update && apt-get install -y gnupg && \ gpg --import /run/secrets/sse_pgp_pkey && \ - mv /root/.gnupg /app/; \ - chown -R nobody /app/.gnupg + mv /root/.gnupg/ /app/ && \ + chown -R nobody /app/.gnupg/ ARG PYTHON_SITE_DIR COPY --from=build-python-private ${PYTHON_SITE_DIR} ${PYTHON_SITE_DIR} From 7554d159aa46338381d392237e662d43286d9cdd Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Mon, 24 Jun 2024 13:55:18 +0100 Subject: [PATCH 29/45] fix(ci): Docker build CodeQL permission (#4217) --- .github/workflows/.reusable-docker-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/.reusable-docker-build.yml b/.github/workflows/.reusable-docker-build.yml index d22c6b095806..982bac55da50 100644 --- a/.github/workflows/.reusable-docker-build.yml +++ b/.github/workflows/.reusable-docker-build.yml @@ -50,6 +50,7 @@ jobs: permissions: packages: write id-token: write + security-events: write contents: read steps: From 57f8d68449577228a6f32cd317c4693cf5282824 Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Mon, 24 Jun 2024 14:36:34 +0100 Subject: [PATCH 30/45] feat(versioning): add logic to create version in single endpoint (#3991) --- api/conftest.py | 7 + api/features/feature_segments/serializers.py | 18 +- api/features/versioning/serializers.py | 173 ++++++++ api/features/versioning/views.py | 3 + .../versioning/test_unit_versioning_views.py | 374 +++++++++++++++++- 5 files changed, 566 insertions(+), 9 deletions(-) diff --git a/api/conftest.py b/api/conftest.py index 7a6f1726564a..c468b9c2cd04 100644 --- a/api/conftest.py +++ b/api/conftest.py @@ -468,6 +468,13 @@ def multivariate_feature(project): return feature +@pytest.fixture() +def multivariate_options( + multivariate_feature: Feature, +) -> list[MultivariateFeatureOption]: + return list(multivariate_feature.multivariate_options.all()) + + @pytest.fixture() def identity_matching_segment(project, trait): segment = Segment.objects.create(name="Matching segment", project=project) diff --git a/api/features/feature_segments/serializers.py b/api/features/feature_segments/serializers.py index 519fe62a8c68..ff0b58ced4a8 100644 --- a/api/features/feature_segments/serializers.py +++ b/api/features/feature_segments/serializers.py @@ -1,3 +1,5 @@ +import typing + from rest_framework import serializers from rest_framework.exceptions import PermissionDenied @@ -37,10 +39,24 @@ def validate(self, data): class CreateSegmentOverrideFeatureSegmentSerializer(serializers.ModelSerializer): + # Since the `priority` field on the FeatureSegment model is set to editable=False + # (to adhere to the django-ordered-model functionality), we redefine the priority + # field here, and use it manually in the save method. + priority = serializers.IntegerField(min_value=0, required=False) + class Meta: model = FeatureSegment fields = ("id", "segment", "priority", "uuid") - read_only_fields = ("priority",) + + def save(self, **kwargs: typing.Any) -> FeatureSegment: + priority: int | None = self.initial_data.pop("priority", None) + + feature_segment: FeatureSegment = super().save(**kwargs) + + if priority: + feature_segment.to(priority) + + return feature_segment class FeatureSegmentQuerySerializer(serializers.Serializer): diff --git a/api/features/versioning/serializers.py b/api/features/versioning/serializers.py index 1e5666005f32..9774961b4274 100644 --- a/api/features/versioning/serializers.py +++ b/api/features/versioning/serializers.py @@ -1,3 +1,5 @@ +import typing + from rest_framework import serializers from api_keys.user import APIKeyUser @@ -88,6 +90,177 @@ def get_previous_version_uuid( return str(previous_version.uuid) +class EnvironmentFeatureVersionCreateSerializer(EnvironmentFeatureVersionSerializer): + feature_states_to_create = EnvironmentFeatureVersionFeatureStateSerializer( + many=True, + allow_null=True, + required=False, + help_text=( + "Array of feature states that will be created in the new version. " + "Note: these can only include segment overrides." + ), + write_only=True, + ) + feature_states_to_update = EnvironmentFeatureVersionFeatureStateSerializer( + many=True, + allow_null=True, + required=False, + help_text="Array of feature states to update in the new version.", + write_only=True, + ) + segment_ids_to_delete_overrides = serializers.ListSerializer( + child=serializers.IntegerField(), + required=False, + allow_null=True, + help_text="List of segment ids for which the segment overrides will be removed in the new version.", + write_only=True, + ) + publish_immediately = serializers.BooleanField( + required=False, + default=False, + help_text="Boolean to confirm whether the new version should be publish immediately or not.", + write_only=True, + ) + + class Meta(EnvironmentFeatureVersionSerializer.Meta): + fields = EnvironmentFeatureVersionSerializer.Meta.fields + ( + "feature_states_to_create", + "feature_states_to_update", + "segment_ids_to_delete_overrides", + "publish_immediately", + ) + non_model_fields = ( + "feature_states_to_create", + "feature_states_to_update", + "segment_ids_to_delete_overrides", + "publish_immediately", + ) + + def create( + self, validated_data: dict[str, typing.Any] + ) -> EnvironmentFeatureVersion: + # Note that we use self.initial_data below for handling the feature states + # since we want the raw data (rather than the serialized ORM objects) to pass + # into the serializers in the separate private methods used for modifying the + # FeatureState objects. As such, we just want to blindly remove the non-model + # attribute keys from the validated before calling super to create the version. + for field_name in self.Meta.non_model_fields: + validated_data.pop(field_name, None) + + version = super().create(validated_data) + + for feature_state_to_create in self.initial_data.get( + "feature_states_to_create", [] + ): + self._create_feature_state( + {**feature_state_to_create, "environment": version.environment_id}, + version, + ) + + for feature_state_to_update in self.initial_data.get( + "feature_states_to_update", [] + ): + self._update_feature_state(feature_state_to_update, version) + + self._delete_feature_states( + self.initial_data.get("segment_ids_to_delete_overrides", []), version + ) + + if self.validated_data.get("publish_immediately", False): + request = self.context["request"] + version.publish( + published_by=( + request.user if isinstance(request.user, FFAdminUser) else None + ) + ) + + return version + + def _create_feature_state( + self, feature_state: dict, version: EnvironmentFeatureVersion + ) -> None: + if not self._is_segment_override(feature_state): + raise serializers.ValidationError( + { + "feature_states_to_create": "Cannot create FeatureState objects that are not segment overrides." + } + ) + + segment_id = feature_state["feature_segment"]["segment"] + if version.feature_states.filter( + feature_segment__segment_id=segment_id + ).exists(): + raise serializers.ValidationError( + { + "feature_states_to_create": "Segment override already exists for Segment %d" + % segment_id + } + ) + + save_kwargs = { + "feature": version.feature, + "environment": version.environment, + "environment_feature_version": version, + } + fs_serializer = EnvironmentFeatureVersionFeatureStateSerializer( + data=feature_state, + context=save_kwargs, + ) + fs_serializer.is_valid(raise_exception=True) + fs_serializer.save(**save_kwargs) + + def _update_feature_state( + self, feature_state: dict[str, typing.Any], version: EnvironmentFeatureVersion + ) -> None: + if self._is_segment_override(feature_state): + instance = version.feature_states.get( + feature_segment__segment_id=feature_state["feature_segment"]["segment"] + ) + # Patch the id of the feature segment onto the feature state data so that + # the serializer knows to update rather than try and create a new one. + feature_state["feature_segment"]["id"] = instance.feature_segment_id + else: + instance = version.feature_states.get(feature_segment__isnull=True) + + # TODO: can this be simplified at all? + for existing_mvfsv in instance.multivariate_feature_state_values.all(): + updated_mvfsv_dicts = feature_state.get( + "multivariate_feature_state_values", [] + ) + updated_mvfsv_dict = next( + filter( + lambda d: d["multivariate_feature_option"] + == existing_mvfsv.multivariate_feature_option_id, + updated_mvfsv_dicts, + ), + None, + ) + if updated_mvfsv_dict: + updated_mvfsv_dict["id"] = existing_mvfsv.id + + fs_serializer = EnvironmentFeatureVersionFeatureStateSerializer( + instance=instance, + data=feature_state, + context={ + "feature": version.feature, + "environment": version.environment, + "environment_feature_version": version, + }, + ) + fs_serializer.is_valid(raise_exception=True) + fs_serializer.save( + environment_feature_version=version, environment=version.environment + ) + + def _delete_feature_states( + self, segment_ids: list[int], version: EnvironmentFeatureVersion + ) -> None: + version.feature_segments.filter(segment_id__in=segment_ids).delete() + + def _is_segment_override(self, feature_state: dict) -> bool: + return feature_state.get("feature_segment") is not None + + class EnvironmentFeatureVersionPublishSerializer(serializers.Serializer): live_from = serializers.DateTimeField(required=False) diff --git a/api/features/versioning/views.py b/api/features/versioning/views.py index 14fa4929bbcc..f4d1417e466f 100644 --- a/api/features/versioning/views.py +++ b/api/features/versioning/views.py @@ -29,6 +29,7 @@ EnvironmentFeatureVersionRetrievePermissions, ) from features.versioning.serializers import ( + EnvironmentFeatureVersionCreateSerializer, EnvironmentFeatureVersionFeatureStateSerializer, EnvironmentFeatureVersionPublishSerializer, EnvironmentFeatureVersionQuerySerializer, @@ -66,6 +67,8 @@ def get_serializer_class(self): return EnvironmentFeatureVersionPublishSerializer case "retrieve": return EnvironmentFeatureVersionRetrieveSerializer + case "create": + return EnvironmentFeatureVersionCreateSerializer case _: return EnvironmentFeatureVersionSerializer diff --git a/api/tests/unit/features/versioning/test_unit_versioning_views.py b/api/tests/unit/features/versioning/test_unit_versioning_views.py index 3a68ea9fd5a3..09e42cfc2552 100644 --- a/api/tests/unit/features/versioning/test_unit_versioning_views.py +++ b/api/tests/unit/features/versioning/test_unit_versioning_views.py @@ -3,6 +3,7 @@ from datetime import datetime, timedelta import pytest +from core.constants import STRING from django.urls import reverse from django.utils import timezone from freezegun import freeze_time @@ -14,8 +15,12 @@ from audit.models import AuditLog from audit.related_object_type import RelatedObjectType from environments.models import Environment -from environments.permissions.constants import VIEW_ENVIRONMENT +from environments.permissions.constants import ( + UPDATE_FEATURE_STATE, + VIEW_ENVIRONMENT, +) from features.models import Feature, FeatureSegment, FeatureState +from features.multivariate.models import MultivariateFeatureOption from features.versioning.models import EnvironmentFeatureVersion from projects.permissions import VIEW_PROJECT from segments.models import Segment @@ -74,25 +79,30 @@ def test_get_versions_for_a_feature_and_environment( def test_create_new_feature_version( - admin_user: FFAdminUser, - admin_client: APIClient, + staff_user: FFAdminUser, + staff_client: APIClient, environment_v2_versioning: Environment, feature: Feature, + with_environment_permissions: WithEnvironmentPermissionsCallable, + with_project_permissions: WithProjectPermissionsCallable, ) -> None: # Given + with_environment_permissions([VIEW_ENVIRONMENT, UPDATE_FEATURE_STATE]) + with_project_permissions([VIEW_PROJECT]) + url = reverse( "api-v1:versioning:environment-feature-versions-list", args=[environment_v2_versioning.id, feature.id], ) # When - response = admin_client.post(url) + response = staff_client.post(url) # Then assert response.status_code == status.HTTP_201_CREATED response_json = response.json() - assert response_json["created_by"] == admin_user.id + assert response_json["created_by"] == staff_user.id assert response_json["uuid"] @@ -511,7 +521,6 @@ def test_update_environment_feature_version_feature_state( def test_cannot_update_feature_state_in_published_environment_feature_version( admin_client: APIClient, - admin_user: FFAdminUser, environment_v2_versioning: Environment, feature: Feature, ) -> None: @@ -556,7 +565,6 @@ def test_cannot_update_feature_state_in_published_environment_feature_version( def test_delete_environment_feature_version_feature_state( admin_client: APIClient, - admin_user: FFAdminUser, environment_v2_versioning: Environment, segment: Segment, feature: Feature, @@ -647,7 +655,6 @@ def test_cannot_delete_feature_state_in_published_environment_feature_version( def test_cannot_delete_environment_default_feature_state_for_unpublished_environment_feature_version( admin_client: APIClient, - admin_user: FFAdminUser, environment_v2_versioning: Environment, feature: Feature, ) -> None: @@ -766,3 +773,354 @@ def test_disable_v2_versioning_returns_bad_request_if_not_using_v2_versioning( # Then assert response.status_code == status.HTTP_400_BAD_REQUEST + + +def test_create_new_version_with_changes_in_single_request( + feature: Feature, + segment: Segment, + segment_featurestate: FeatureState, + admin_client_new: APIClient, + environment_v2_versioning: Environment, +) -> None: + # Given + additional_segment_1 = Segment.objects.create( + name="additional-segment-1", project=feature.project + ) + additional_segment_2 = Segment.objects.create( + name="additional-segment-2", project=feature.project + ) + + url = reverse( + "api-v1:versioning:environment-feature-versions-list", + args=[environment_v2_versioning.id, feature.id], + ) + + data = { + "publish_immediately": True, + "feature_states_to_update": [ + { + "feature_segment": None, + "enabled": True, + "feature_state_value": {"type": "unicode", "string_value": "updated!"}, + } + ], + "feature_states_to_create": [ + { + "feature_segment": { + "segment": additional_segment_1.id, + "priority": 2, + }, + "enabled": True, + "feature_state_value": { + "type": "unicode", + "string_value": "segment-override-1", + }, + }, + { + "feature_segment": { + "segment": additional_segment_2.id, + "priority": 1, + }, + "enabled": True, + "feature_state_value": { + "type": "unicode", + "string_value": "segment-override-2", + }, + }, + ], + "segment_ids_to_delete_overrides": [segment.id], + } + + # When + response = admin_client_new.post( + url, data=json.dumps(data), content_type="application/json" + ) + + # Then + assert response.status_code == status.HTTP_201_CREATED + + new_version_uuid = response.json()["uuid"] + new_version = EnvironmentFeatureVersion.objects.get(uuid=new_version_uuid) + + assert new_version.feature_states.count() == 3 + + new_version_environment_fs = new_version.feature_states.filter( + feature_segment__isnull=True + ).get() + assert new_version_environment_fs.get_feature_state_value() == "updated!" + assert new_version_environment_fs.enabled is True + + new_version_segment_fs_1 = new_version.feature_states.filter( + feature_segment__segment=additional_segment_1 + ).get() + assert new_version_segment_fs_1.get_feature_state_value() == "segment-override-1" + assert new_version_segment_fs_1.enabled is True + assert new_version_segment_fs_1.feature_segment.priority == 2 + + new_version_segment_fs_2 = new_version.feature_states.filter( + feature_segment__segment=additional_segment_2 + ).get() + assert new_version_segment_fs_2.get_feature_state_value() == "segment-override-2" + assert new_version_segment_fs_2.enabled is True + assert new_version_segment_fs_2.feature_segment.priority == 1 + + assert not new_version.feature_states.filter( + feature_segment__segment=segment + ).exists() + + assert new_version.published is True + assert new_version.is_live is True + + +def test_update_and_create_segment_override_in_single_request( + feature: Feature, + segment: Segment, + segment_featurestate: FeatureState, + admin_client_new: APIClient, + environment_v2_versioning: Environment, +) -> None: + # Given + additional_segment = Segment.objects.create( + name="additional-segment", project=feature.project + ) + + url = reverse( + "api-v1:versioning:environment-feature-versions-list", + args=[environment_v2_versioning.id, feature.id], + ) + + data = { + "publish_immediately": True, + "feature_states_to_update": [ + { + "feature_segment": {"segment": segment.id, "priority": 2}, + "enabled": True, + "feature_state_value": { + "type": "unicode", + "string_value": "updated-segment-override", + }, + } + ], + "feature_states_to_create": [ + { + "feature_segment": { + "segment": additional_segment.id, + "priority": 1, + }, + "enabled": True, + "feature_state_value": { + "type": "unicode", + "string_value": "additional-segment-override", + }, + }, + ], + } + + # When + response = admin_client_new.post( + url, data=json.dumps(data), content_type="application/json" + ) + + # Then + assert response.status_code == status.HTTP_201_CREATED + + new_version_uuid = response.json()["uuid"] + new_version = EnvironmentFeatureVersion.objects.get(uuid=new_version_uuid) + + assert new_version.feature_states.count() == 3 + + updated_segment_override = new_version.feature_states.filter( + feature_segment__segment=segment + ).get() + assert ( + updated_segment_override.get_feature_state_value() == "updated-segment-override" + ) + assert updated_segment_override.enabled is True + assert updated_segment_override.feature_segment.priority == 2 + + new_segment_override = new_version.feature_states.filter( + feature_segment__segment=additional_segment + ).get() + assert ( + new_segment_override.get_feature_state_value() == "additional-segment-override" + ) + assert new_segment_override.enabled is True + assert new_segment_override.feature_segment.priority == 1 + + assert new_version.published is True + assert new_version.is_live is True + + +def test_create_environment_default_when_creating_new_version_fails( + environment_v2_versioning: Environment, + feature: Feature, + admin_client_new: APIClient, +) -> None: + # Given + data = { + "feature_states_to_create": [ + { + "feature_segment": None, + "enabled": True, + "feature_state_value": { + "type": "unicode", + "string_value": "some new value", + }, + } + ] + } + + url = reverse( + "api-v1:versioning:environment-feature-versions-list", + args=[environment_v2_versioning.id, feature.id], + ) + + # When + response = admin_client_new.post( + url, data=json.dumps(data), content_type="application/json" + ) + + # Then + assert response.status_code == status.HTTP_400_BAD_REQUEST + + assert response.json() == { + "feature_states_to_create": "Cannot create FeatureState objects that are not segment overrides." + } + + +def test_create_segment_override_for_existing_override_when_creating_new_version_fails( + feature: Feature, + admin_client_new: APIClient, + segment: Segment, + segment_featurestate: FeatureState, + environment_v2_versioning: Environment, +) -> None: + # Given + data = { + "feature_states_to_create": [ + { + "feature_segment": {"segment": segment.id}, + "enabled": True, + "feature_state_value": { + "type": "unicode", + "string_value": "some new value", + }, + } + ] + } + + url = reverse( + "api-v1:versioning:environment-feature-versions-list", + args=[environment_v2_versioning.id, feature.id], + ) + + # When + response = admin_client_new.post( + url, data=json.dumps(data), content_type="application/json" + ) + + # Then + assert response.status_code == status.HTTP_400_BAD_REQUEST + assert response.json() == { + "feature_states_to_create": "Segment override already exists for Segment %d" + % segment.id + } + + +def test_create_new_version_for_multivariate_feature( + multivariate_feature: Feature, + multivariate_options: list[MultivariateFeatureOption], + environment_v2_versioning: Environment, + staff_client: APIClient, + with_environment_permissions: WithEnvironmentPermissionsCallable, + with_project_permissions: WithProjectPermissionsCallable, +) -> None: + # Given + with_environment_permissions( + [VIEW_ENVIRONMENT, UPDATE_FEATURE_STATE], environment_v2_versioning.id + ) + with_project_permissions([VIEW_PROJECT]) + + create_version_url = reverse( + "api-v1:versioning:environment-feature-versions-list", + args=[environment_v2_versioning.id, multivariate_feature.id], + ) + + data = { + "feature_states_to_update": [ + { + "feature_segment": None, + "enabled": True, + "feature_state_value": { + "type": STRING, + "string_value": multivariate_feature.initial_value, + }, + "multivariate_feature_state_values": [ + { + "multivariate_feature_option": mvfo.id, + "percentage_allocation": 10, + } + for mvfo in multivariate_options + ], + } + ] + } + + # When + response = staff_client.post( + create_version_url, data=json.dumps(data), content_type="application/json" + ) + + # Then + assert response.status_code == status.HTTP_201_CREATED + + version_uuid = response.json()["uuid"] + new_version = EnvironmentFeatureVersion.objects.get(uuid=version_uuid) + + assert all( + [ + mvfsv.percentage_allocation == 10 + for mvfsv in new_version.feature_states.get( + feature=multivariate_feature + ).multivariate_feature_state_values.all() + ] + ) + + +def test_create_new_version_delete_segment_override_updates_overrides_immediately( + feature: Feature, + segment: Segment, + feature_segment: FeatureSegment, + segment_featurestate: FeatureState, + environment_v2_versioning: Environment, + admin_client: APIClient, +) -> None: + # Given + create_version_url = reverse( + "api-v1:versioning:environment-feature-versions-list", + args=[environment_v2_versioning.id, feature.id], + ) + + data = { + "segment_ids_to_delete_overrides": [segment.id], + "publish_immediately": True, + } + + # When + response = admin_client.post( + create_version_url, + data=json.dumps(data), + content_type="application/json", + ) + + # Then + assert response.status_code == status.HTTP_201_CREATED + + get_feature_segments_url = "%s?environment=%d&feature=%d" % ( + reverse("api-v1:features:feature-segment-list"), + environment_v2_versioning.id, + feature.id, + ) + get_feature_segments_response = admin_client.get(get_feature_segments_url) + assert get_feature_segments_response.status_code == status.HTTP_200_OK + assert get_feature_segments_response.json()["count"] == 0 From 5c25c41e01ba68b18887759f2a5650caa6a9f39d Mon Sep 17 00:00:00 2001 From: Ben Rometsch Date: Mon, 24 Jun 2024 14:37:00 +0100 Subject: [PATCH 31/45] feat: Grafana integration (#4144) Co-authored-by: Kim Gustyr --- api/app/settings/common.py | 1 + api/audit/models.py | 4 + api/audit/services.py | 63 +++++ api/audit/signals.py | 15 ++ api/core/models.py | 6 +- api/core/signals.py | 4 +- api/environments/urls.py | 6 + api/integrations/grafana/__init__.py | 1 + api/integrations/grafana/apps.py | 6 + api/integrations/grafana/grafana.py | 43 ++++ api/integrations/grafana/mappers.py | 72 ++++++ .../grafana/migrations/0001_initial.py | 33 +++ .../grafana/migrations/__init__.py | 0 api/integrations/grafana/models.py | 44 ++++ api/integrations/grafana/serializers.py | 11 + api/integrations/grafana/types.py | 8 + api/integrations/grafana/views.py | 9 + api/projects/urls.py | 6 + .../unit/audit/test_unit_audit_services.py | 116 +++++++++ .../unit/audit/test_unit_audit_signals.py | 34 ++- .../unit/integrations/grafana/__init__.py | 0 .../unit/integrations/grafana/test_grafana.py | 55 ++++ .../unit/integrations/grafana/test_mappers.py | 239 ++++++++++++++++++ docs/docs/deployment/overview.md | 20 ++ docs/docs/integrations/apm/grafana.md | 35 +++ docs/docs/integrations/overview.md | 7 + .../img/integrations/grafana/grafana-logo.svg | 21 ++ .../static/images/integrations/grafana.svg | 21 ++ 28 files changed, 874 insertions(+), 6 deletions(-) create mode 100644 api/audit/services.py create mode 100644 api/integrations/grafana/__init__.py create mode 100644 api/integrations/grafana/apps.py create mode 100644 api/integrations/grafana/grafana.py create mode 100644 api/integrations/grafana/mappers.py create mode 100644 api/integrations/grafana/migrations/0001_initial.py create mode 100644 api/integrations/grafana/migrations/__init__.py create mode 100644 api/integrations/grafana/models.py create mode 100644 api/integrations/grafana/serializers.py create mode 100644 api/integrations/grafana/types.py create mode 100644 api/integrations/grafana/views.py create mode 100644 api/tests/unit/audit/test_unit_audit_services.py create mode 100644 api/tests/unit/integrations/grafana/__init__.py create mode 100644 api/tests/unit/integrations/grafana/test_grafana.py create mode 100644 api/tests/unit/integrations/grafana/test_mappers.py create mode 100644 docs/docs/integrations/apm/grafana.md create mode 100644 docs/static/img/integrations/grafana/grafana-logo.svg create mode 100644 frontend/web/static/images/integrations/grafana.svg diff --git a/api/app/settings/common.py b/api/app/settings/common.py index 38bc38ebb1f8..4ad7ba16141e 100644 --- a/api/app/settings/common.py +++ b/api/app/settings/common.py @@ -149,6 +149,7 @@ "integrations.flagsmith", "integrations.launch_darkly", "integrations.github", + "integrations.grafana", # Rate limiting admin endpoints "axes", "telemetry", diff --git a/api/audit/models.py b/api/audit/models.py index 700fc8085f36..e027f5f5f9ec 100644 --- a/api/audit/models.py +++ b/api/audit/models.py @@ -90,6 +90,10 @@ def history_record(self) -> typing.Optional[Model]: klass = self.get_history_record_model_class(self.history_record_class_path) return klass.objects.filter(history_id=self.history_record_id).first() + @property + def project_name(self) -> str: + return getattr(self.project, "name", "unknown") + @property def environment_name(self) -> str: return getattr(self.environment, "name", "unknown") diff --git a/api/audit/services.py b/api/audit/services.py new file mode 100644 index 000000000000..2663c7ecf431 --- /dev/null +++ b/api/audit/services.py @@ -0,0 +1,63 @@ +from core.models import AbstractBaseAuditableModel + +from audit.models import AuditLog +from audit.related_object_type import RelatedObjectType +from features.models import Feature, FeatureState +from features.versioning.models import EnvironmentFeatureVersion + + +def get_audited_instance_from_audit_log_record( + audit_log_record: AuditLog, +) -> AbstractBaseAuditableModel | None: + """ + Given an `AuditLog` model instance, return a model instance that produced the log. + """ + # There's currently four (sigh) ways an audit log record is created: + # 1. Historical record + # 2. Segment priorities changed + # 3. Change request + # 4. Environment feature version published + + # Try getting the historical record first. + if history_record := audit_log_record.history_record: + return history_record.instance + + # Try to infer the model class from `AuditLog.related_object_type`. + match audit_log_record.related_object_type: + # Assume segment priorities change. + case RelatedObjectType.FEATURE.name: + return ( + Feature.objects.all_with_deleted() + .filter( + pk=audit_log_record.related_object_id, + project=audit_log_record.project, + ) + .first() + ) + + # Assume change request. + case RelatedObjectType.FEATURE_STATE.name: + return ( + FeatureState.objects.all_with_deleted() + .filter( + pk=audit_log_record.related_object_id, + environment=audit_log_record.environment, + ) + .first() + ) + + # Assume environment feature version. + case RelatedObjectType.EF_VERSION.name: + return ( + EnvironmentFeatureVersion.objects.all_with_deleted() + .filter( + uuid=audit_log_record.related_object_uuid, + environment=audit_log_record.environment, + ) + .first() + ) + + # All known audit log sources exhausted by now. + # Since `RelatedObjectType` is not a 1:1 mapping to a model class, + # generalised heuristics might be dangerous. + return None diff --git a/api/audit/signals.py b/api/audit/signals.py index 19591bea7be4..6e6bb0289da0 100644 --- a/api/audit/signals.py +++ b/api/audit/signals.py @@ -8,6 +8,7 @@ from audit.serializers import AuditLogListSerializer from integrations.datadog.datadog import DataDogWrapper from integrations.dynatrace.dynatrace import DynatraceWrapper +from integrations.grafana.grafana import GrafanaWrapper from integrations.new_relic.new_relic import NewRelicWrapper from integrations.slack.slack import SlackWrapper from organisations.models import OrganisationWebhook @@ -113,6 +114,20 @@ def send_audit_log_event_to_dynatrace(sender, instance, **kwargs): _track_event_async(instance, dynatrace) +@receiver(post_save, sender=AuditLog) +@track_only_feature_related_events +def send_audit_log_event_to_grafana(sender, instance, **kwargs): + grafana_config = _get_integration_config(instance, "grafana_config") + if not grafana_config: + return + + grafana = GrafanaWrapper( + base_url=grafana_config.base_url, + api_key=grafana_config.api_key, + ) + _track_event_async(instance, grafana) + + @receiver(post_save, sender=AuditLog) @track_only_feature_related_events def send_audit_log_event_to_slack(sender, instance, **kwargs): diff --git a/api/core/models.py b/api/core/models.py index e1082e49a3cc..b561833b5e51 100644 --- a/api/core/models.py +++ b/api/core/models.py @@ -98,7 +98,7 @@ class Meta: return BaseHistoricalModel -class _AbstractBaseAuditableModel(models.Model): +class AbstractBaseAuditableModel(models.Model): """ A base Model class that all models we want to be included in the audit log should inherit from. @@ -196,8 +196,8 @@ def abstract_base_auditable_model_factory( historical_records_excluded_fields: typing.List[str] = None, change_details_excluded_fields: typing.Sequence[str] = None, show_change_details_for_create: bool = False, -) -> typing.Type[_AbstractBaseAuditableModel]: - class Base(_AbstractBaseAuditableModel): +) -> typing.Type[AbstractBaseAuditableModel]: + class Base(AbstractBaseAuditableModel): history = HistoricalRecords( bases=[ base_historical_model_factory( diff --git a/api/core/signals.py b/api/core/signals.py index a77a6c7d1da3..0b12a2afaa52 100644 --- a/api/core/signals.py +++ b/api/core/signals.py @@ -1,4 +1,4 @@ -from core.models import _AbstractBaseAuditableModel +from core.models import AbstractBaseAuditableModel from django.conf import settings from django.utils import timezone from simple_history.models import HistoricalRecords @@ -9,7 +9,7 @@ def create_audit_log_from_historical_record( - instance: _AbstractBaseAuditableModel, + instance: AbstractBaseAuditableModel, history_user: FFAdminUser, history_instance, **kwargs, diff --git a/api/environments/urls.py b/api/environments/urls.py index 1858d7895099..5489d426c5cd 100644 --- a/api/environments/urls.py +++ b/api/environments/urls.py @@ -14,6 +14,7 @@ ) from integrations.amplitude.views import AmplitudeConfigurationViewSet from integrations.dynatrace.views import DynatraceConfigurationViewSet +from integrations.grafana.views import GrafanaConfigurationViewSet from integrations.heap.views import HeapConfigurationViewSet from integrations.mixpanel.views import MixpanelConfigurationViewSet from integrations.rudderstack.views import RudderstackConfigurationViewSet @@ -80,6 +81,11 @@ DynatraceConfigurationViewSet, basename="integrations-dynatrace", ) +environments_router.register( + r"integrations/grafana", + GrafanaConfigurationViewSet, + basename="integrations-grafana", +) environments_router.register( r"integrations/mixpanel", MixpanelConfigurationViewSet, diff --git a/api/integrations/grafana/__init__.py b/api/integrations/grafana/__init__.py new file mode 100644 index 000000000000..55afdc499649 --- /dev/null +++ b/api/integrations/grafana/__init__.py @@ -0,0 +1 @@ +default_app_config = "integrations.grafana.apps.GrafanaConfigurationConfig" diff --git a/api/integrations/grafana/apps.py b/api/integrations/grafana/apps.py new file mode 100644 index 000000000000..f41451ce0dd4 --- /dev/null +++ b/api/integrations/grafana/apps.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +from django.apps import AppConfig + + +class GrafanaConfigurationConfig(AppConfig): + name = "integrations.grafana" diff --git a/api/integrations/grafana/grafana.py b/api/integrations/grafana/grafana.py new file mode 100644 index 000000000000..1cbc61098286 --- /dev/null +++ b/api/integrations/grafana/grafana.py @@ -0,0 +1,43 @@ +import json +import logging +from typing import Any + +import requests + +from audit.models import AuditLog +from integrations.common.wrapper import AbstractBaseEventIntegrationWrapper +from integrations.grafana.mappers import ( + map_audit_log_record_to_grafana_annotation, +) + +logger = logging.getLogger(__name__) + +ROUTE_API_ANNOTATIONS = "/api/annotations" + + +class GrafanaWrapper(AbstractBaseEventIntegrationWrapper): + def __init__(self, base_url: str, api_key: str) -> None: + base_url = base_url[:-1] if base_url.endswith("/") else base_url + self.url = f"{base_url}{ROUTE_API_ANNOTATIONS}" + self.api_key = api_key + + @staticmethod + def generate_event_data(audit_log_record: AuditLog) -> dict[str, Any]: + return map_audit_log_record_to_grafana_annotation(audit_log_record) + + def _headers(self) -> dict[str, str]: + return { + "Content-Type": "application/json", + "Authorization": f"Bearer {self.api_key}", + } + + def _track_event(self, event: dict[str, Any]) -> None: + response = requests.post( + url=self.url, + headers=self._headers(), + data=json.dumps(event), + ) + + logger.debug( + "Sent event to Grafana. Response code was %s" % response.status_code + ) diff --git a/api/integrations/grafana/mappers.py b/api/integrations/grafana/mappers.py new file mode 100644 index 000000000000..8f6648d87787 --- /dev/null +++ b/api/integrations/grafana/mappers.py @@ -0,0 +1,72 @@ +from audit.models import AuditLog +from audit.services import get_audited_instance_from_audit_log_record +from features.models import ( + Feature, + FeatureSegment, + FeatureState, + FeatureStateValue, +) +from integrations.grafana.types import GrafanaAnnotation +from segments.models import Segment + + +def _get_feature_tags( + feature: Feature, +) -> list[str]: + return list(feature.tags.values_list("label", flat=True)) + + +def _get_instance_tags_from_audit_log_record( + audit_log_record: AuditLog, +) -> list[str]: + if instance := get_audited_instance_from_audit_log_record(audit_log_record): + if isinstance(instance, Feature): + return [ + f"feature:{instance.name}", + *_get_feature_tags(instance), + ] + + if isinstance(instance, FeatureState): + return [ + f"feature:{(feature := instance.feature).name}", + f'flag:{"enabled" if instance.enabled else "disabled"}', + *_get_feature_tags(feature), + ] + + if isinstance(instance, FeatureStateValue): + return [ + f"feature:{(feature := instance.feature_state.feature).name}", + *_get_feature_tags(feature), + ] + + if isinstance(instance, Segment): + return [f"segment:{instance.name}"] + + if isinstance(instance, FeatureSegment): + return [ + f"feature:{(feature := instance.feature).name}", + f"segment:{instance.segment.name}", + *_get_feature_tags(feature), + ] + + return [] + + +def map_audit_log_record_to_grafana_annotation( + audit_log_record: AuditLog, +) -> GrafanaAnnotation: + tags = [ + "flagsmith", + f"project:{audit_log_record.project_name}", + f"environment:{audit_log_record.environment_name}", + f"by:{audit_log_record.author_identifier}", + *_get_instance_tags_from_audit_log_record(audit_log_record), + ] + time = int(audit_log_record.created_date.timestamp() * 1000) # ms since epoch + + return { + "tags": tags, + "text": audit_log_record.log, + "time": time, + "timeEnd": time, + } diff --git a/api/integrations/grafana/migrations/0001_initial.py b/api/integrations/grafana/migrations/0001_initial.py new file mode 100644 index 000000000000..c4c4bd170455 --- /dev/null +++ b/api/integrations/grafana/migrations/0001_initial.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.25 on 2024-06-21 20:31 + +from django.db import migrations, models +import django.db.models.deletion +import django_lifecycle.mixins +import uuid + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('environments', '0034_alter_environment_project'), + ] + + operations = [ + migrations.CreateModel( + name='GrafanaConfiguration', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('deleted_at', models.DateTimeField(blank=True, db_index=True, default=None, editable=False, null=True)), + ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)), + ('api_key', models.CharField(max_length=100)), + ('base_url', models.URLField(null=True)), + ('project', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='grafana_config', to='projects.Project')), + ], + options={ + 'abstract': False, + }, + bases=(django_lifecycle.mixins.LifecycleModelMixin, models.Model), + ), + ] diff --git a/api/integrations/grafana/migrations/__init__.py b/api/integrations/grafana/migrations/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/api/integrations/grafana/models.py b/api/integrations/grafana/models.py new file mode 100644 index 000000000000..ba9e01af9535 --- /dev/null +++ b/api/integrations/grafana/models.py @@ -0,0 +1,44 @@ +import logging + +from django.db import models + +from integrations.common.models import IntegrationsModel +from projects.models import Project + +logger = logging.getLogger(__name__) + + +class GrafanaConfiguration(IntegrationsModel): + """ + Example `integration_data` entry: + + ``` + "grafana": { + "perEnvironment": false, + "image": "/static/images/integrations/grafana.svg", + "docs": "https://docs.flagsmith.com/integrations/apm/grafana", + "fields": [ + { + "key": "base_url", + "label": "Base URL", + "default": "https://grafana.com" + }, + { + "key": "api_key", + "label": "Service account token", + "hidden": true + } + ], + "tags": [ + "logging" + ], + "title": "Grafana", + "description": "Receive Flagsmith annotations to your Grafana instance on feature flag and segment changes." + }, + ``` + """ + + base_url = models.URLField(blank=False, null=True) + project = models.OneToOneField( + Project, on_delete=models.CASCADE, related_name="grafana_config" + ) diff --git a/api/integrations/grafana/serializers.py b/api/integrations/grafana/serializers.py new file mode 100644 index 000000000000..47ee252c30cf --- /dev/null +++ b/api/integrations/grafana/serializers.py @@ -0,0 +1,11 @@ +from integrations.common.serializers import ( + BaseProjectIntegrationModelSerializer, +) + +from .models import GrafanaConfiguration + + +class GrafanaConfigurationSerializer(BaseProjectIntegrationModelSerializer): + class Meta: + model = GrafanaConfiguration + fields = ("id", "base_url", "api_key") diff --git a/api/integrations/grafana/types.py b/api/integrations/grafana/types.py new file mode 100644 index 000000000000..431d0054c6cd --- /dev/null +++ b/api/integrations/grafana/types.py @@ -0,0 +1,8 @@ +from typing import TypedDict + + +class GrafanaAnnotation(TypedDict): + tags: list[str] + text: str + time: int + timeEnd: int diff --git a/api/integrations/grafana/views.py b/api/integrations/grafana/views.py new file mode 100644 index 000000000000..cd36b2c0e9e1 --- /dev/null +++ b/api/integrations/grafana/views.py @@ -0,0 +1,9 @@ +from integrations.common.views import ProjectIntegrationBaseViewSet +from integrations.grafana.models import GrafanaConfiguration +from integrations.grafana.serializers import GrafanaConfigurationSerializer + + +class GrafanaConfigurationViewSet(ProjectIntegrationBaseViewSet): + serializer_class = GrafanaConfigurationSerializer + pagination_class = None # set here to ensure documentation is correct + model_class = GrafanaConfiguration diff --git a/api/projects/urls.py b/api/projects/urls.py index 79bfabc62afc..d68750b97d86 100644 --- a/api/projects/urls.py +++ b/api/projects/urls.py @@ -12,6 +12,7 @@ from features.multivariate.views import MultivariateFeatureOptionViewSet from features.views import FeatureViewSet from integrations.datadog.views import DataDogConfigurationViewSet +from integrations.grafana.views import GrafanaConfigurationViewSet from integrations.launch_darkly.views import LaunchDarklyImportRequestViewSet from integrations.new_relic.views import NewRelicConfigurationViewSet from projects.tags.views import TagViewSet @@ -56,6 +57,11 @@ LaunchDarklyImportRequestViewSet, basename="imports-launch-darkly", ) +projects_router.register( + r"integrations/grafana", + GrafanaConfigurationViewSet, + basename="integrations-grafana", +) projects_router.register( "audit", ProjectAuditLogViewSet, diff --git a/api/tests/unit/audit/test_unit_audit_services.py b/api/tests/unit/audit/test_unit_audit_services.py new file mode 100644 index 000000000000..48308bc97dd1 --- /dev/null +++ b/api/tests/unit/audit/test_unit_audit_services.py @@ -0,0 +1,116 @@ +from audit.models import AuditLog +from audit.related_object_type import RelatedObjectType +from audit.services import get_audited_instance_from_audit_log_record +from audit.tasks import ( + create_feature_state_updated_by_change_request_audit_log, + create_segment_priorities_changed_audit_log, +) +from environments.models import Environment +from features.models import Feature, FeatureSegment, FeatureState +from features.versioning.models import EnvironmentFeatureVersion +from features.versioning.tasks import ( + create_environment_feature_version_published_audit_log_task, +) +from features.workflows.core.models import ChangeRequest + + +def test_get_audited_instance_from_audit_log_record__change_request__return_expected( + change_request_feature_state: FeatureState, +) -> None: + # Given + create_feature_state_updated_by_change_request_audit_log( + change_request_feature_state.id + ) + audit_log_record = AuditLog.objects.get( + related_object_type=RelatedObjectType.FEATURE_STATE.name, + related_object_id=change_request_feature_state.id, + ) + change_request_feature_state.delete() + + # When + instance = get_audited_instance_from_audit_log_record(audit_log_record) + + # Then + assert instance == change_request_feature_state + + +def test_get_audited_instance_from_audit_log_record__segment_priorities__return_expected( + feature: Feature, + feature_segment: FeatureSegment, +) -> None: + # Given + create_segment_priorities_changed_audit_log( + previous_id_priority_pairs=[ + (feature_segment.id, 0), + ], + feature_segment_ids=[feature_segment.id], + ) + audit_log_record = AuditLog.objects.get( + related_object_type=RelatedObjectType.FEATURE.name, + related_object_id=feature.id, + ) + feature.delete() + + # When + instance = get_audited_instance_from_audit_log_record(audit_log_record) + + # Then + assert instance == feature + + +def test_get_audited_instance_from_audit_log_record__feature_versioning__return_expected( + environment_v2_versioning: Environment, + feature: Feature, +) -> None: + # Given + version = EnvironmentFeatureVersion.objects.create( + feature=feature, + environment=environment_v2_versioning, + ) + create_environment_feature_version_published_audit_log_task(version.uuid) + audit_log_record = AuditLog.objects.get( + related_object_type=RelatedObjectType.EF_VERSION.name, + related_object_uuid=version.uuid, + ) + version.delete() + + # When + instance = get_audited_instance_from_audit_log_record(audit_log_record) + + # Then + assert instance == version + + +def test_get_audited_instance_from_audit_log_record__historical_record__return_expected( + change_request: ChangeRequest, +) -> None: + # Given + audit_log_record = AuditLog.objects.get( + related_object_type=RelatedObjectType.CHANGE_REQUEST.name, + related_object_id=change_request.id, + ) + change_request.delete() + + # When + instance = get_audited_instance_from_audit_log_record(audit_log_record) + + # Then + assert instance == change_request + + +def test_get_audited_instance_from_audit_log_record__unexpected_audit_log__return_none( + change_request: ChangeRequest, +) -> None: + # Given + # A change request log was created not via history + audit_log_record = AuditLog.objects.create( + history_record_id=None, + related_object_id=change_request.id, + related_object_type=RelatedObjectType.CHANGE_REQUEST.name, + ) + + # When + instance = get_audited_instance_from_audit_log_record(audit_log_record) + + # Then + assert instance is None diff --git a/api/tests/unit/audit/test_unit_audit_signals.py b/api/tests/unit/audit/test_unit_audit_signals.py index 3fd924141635..6265276f2ff0 100644 --- a/api/tests/unit/audit/test_unit_audit_signals.py +++ b/api/tests/unit/audit/test_unit_audit_signals.py @@ -2,7 +2,9 @@ from pytest_mock import MockerFixture from audit.models import AuditLog -from audit.signals import call_webhooks +from audit.related_object_type import RelatedObjectType +from audit.signals import call_webhooks, send_audit_log_event_to_grafana +from integrations.grafana.models import GrafanaConfiguration from organisations.models import Organisation, OrganisationWebhook from projects.models import Project from webhooks.webhooks import WebhookEventType @@ -81,3 +83,33 @@ def test_call_webhooks_creates_task_if_organisation_has_webhooks( assert mock_call["args"][0] == organisation.id assert mock_call["args"][1]["id"] == audit_log.id assert mock_call["args"][2] == WebhookEventType.AUDIT_LOG_CREATED.name + + +def test_send_audit_log_event_to_grafana__project_grafana_config__calls_expected( + mocker: MockerFixture, + project: Project, +) -> None: + # Given + grafana_config = GrafanaConfiguration(base_url="test.com", api_key="test") + project.grafana_config = grafana_config + audit_log_record = AuditLog.objects.create( + project=project, + related_object_type=RelatedObjectType.FEATURE.name, + ) + grafana_wrapper_mock = mocker.patch("audit.signals.GrafanaWrapper", autospec=True) + grafana_wrapper_instance_mock = grafana_wrapper_mock.return_value + + # When + send_audit_log_event_to_grafana(AuditLog, audit_log_record) + + # Then + grafana_wrapper_mock.assert_called_once_with( + base_url=grafana_config.base_url, + api_key=grafana_config.api_key, + ) + grafana_wrapper_instance_mock.generate_event_data.assert_called_once_with( + audit_log_record + ) + grafana_wrapper_instance_mock.track_event_async.assert_called_once_with( + event=grafana_wrapper_instance_mock.generate_event_data.return_value + ) diff --git a/api/tests/unit/integrations/grafana/__init__.py b/api/tests/unit/integrations/grafana/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/api/tests/unit/integrations/grafana/test_grafana.py b/api/tests/unit/integrations/grafana/test_grafana.py new file mode 100644 index 000000000000..10ed17d31ec3 --- /dev/null +++ b/api/tests/unit/integrations/grafana/test_grafana.py @@ -0,0 +1,55 @@ +import json + +import pytest +import responses +from pytest_mock import MockerFixture + +from audit.models import AuditLog +from integrations.grafana.grafana import GrafanaWrapper + + +@pytest.mark.parametrize("base_url", ["test.com", "test.com/"]) +def test_grafana_wrapper__base_url__expected_url(base_url: str) -> None: + # When + wrapper = GrafanaWrapper(base_url=base_url, api_key="any") + + # Then + assert wrapper.url == "test.com/api/annotations" + + +@responses.activate() +def test_grafana_wrapper__track_event__expected_api_call() -> None: + # Given + wrapper = GrafanaWrapper(base_url="https://test.com", api_key="any") + event = {"sample": "event"} + + responses.add(url="https://test.com/api/annotations", method="POST", status=200) + + # When + wrapper._track_event(event) + + # Then + assert len(responses.calls) == 1 + assert responses.calls[0].request.headers["Authorization"] == "Bearer any" + assert responses.calls[0].request.headers["Content-Type"] == "application/json" + assert json.loads(responses.calls[0].request.body) == event + + +def test_grafana_wrapper__generate_event_data__return_expected( + mocker: MockerFixture, +) -> None: + # Given + map_audit_log_record_to_grafana_annotation_mock = mocker.patch( + "integrations.grafana.grafana.map_audit_log_record_to_grafana_annotation", + autospec=True, + ) + audit_log_record_mock = mocker.MagicMock(spec=AuditLog) + + # When + event_data = GrafanaWrapper.generate_event_data(audit_log_record_mock) + + # Then + map_audit_log_record_to_grafana_annotation_mock.assert_called_once_with( + audit_log_record_mock + ) + assert event_data == map_audit_log_record_to_grafana_annotation_mock.return_value diff --git a/api/tests/unit/integrations/grafana/test_mappers.py b/api/tests/unit/integrations/grafana/test_mappers.py new file mode 100644 index 000000000000..ed4b61244dd2 --- /dev/null +++ b/api/tests/unit/integrations/grafana/test_mappers.py @@ -0,0 +1,239 @@ +from datetime import datetime, timezone + +import pytest +from pytest_mock import MockerFixture + +from audit.models import AuditLog +from environments.models import Environment +from features.models import Feature, FeatureSegment, FeatureState +from integrations.grafana.mappers import ( + map_audit_log_record_to_grafana_annotation, +) +from projects.models import Project +from projects.tags.models import Tag +from segments.models import Segment +from users.models import FFAdminUser + + +@pytest.fixture +def audit_log_record( + superuser: FFAdminUser, + project: Project, +) -> AuditLog: + return AuditLog.objects.create( + created_date=datetime(2024, 6, 24, 9, 9, 47, 325132, tzinfo=timezone.utc), + log="Test event", + author=superuser, + project=project, + ) + + +@pytest.fixture +def tagged_feature( + feature: Feature, + tag_one: Tag, + tag_two: Tag, +) -> Feature: + feature.tags.add(tag_one, tag_two) + feature.save() + return feature + + +def test_map_audit_log_record_to_grafana_annotation__feature__return_expected( + mocker: MockerFixture, + tagged_feature: Feature, + audit_log_record: AuditLog, +) -> None: + # Given + mocker.patch( + "integrations.grafana.mappers.get_audited_instance_from_audit_log_record", + return_value=tagged_feature, + ) + + # When + annotation = map_audit_log_record_to_grafana_annotation(audit_log_record) + + # Then + assert annotation == { + "tags": [ + "flagsmith", + "project:Test Project", + "environment:unknown", + "by:superuser@example.com", + "feature:Test Feature1", + "Test Tag", + "Test Tag2", + ], + "text": "Test event", + "time": 1719220187325, + "timeEnd": 1719220187325, + } + + +def test_map_audit_log_record_to_grafana_annotation__feature_state__return_expected( + mocker: MockerFixture, + tagged_feature: Feature, + environment: Environment, + audit_log_record: AuditLog, +) -> None: + # Given + feature_state = FeatureState.objects.filter( + environment=environment, + feature=tagged_feature, + ).first() + mocker.patch( + "integrations.grafana.mappers.get_audited_instance_from_audit_log_record", + return_value=feature_state, + ) + audit_log_record.environment = environment + + # When + annotation = map_audit_log_record_to_grafana_annotation(audit_log_record) + + # Then + assert annotation == { + "tags": [ + "flagsmith", + "project:Test Project", + "environment:Test Environment", + "by:superuser@example.com", + "feature:Test Feature1", + "flag:disabled", + "Test Tag", + "Test Tag2", + ], + "text": "Test event", + "time": 1719220187325, + "timeEnd": 1719220187325, + } + + +def test_map_audit_log_record_to_grafana_annotation__feature_state_value__return_expected( + mocker: MockerFixture, + tagged_feature: Feature, + environment: Environment, + audit_log_record: AuditLog, +) -> None: + # Given + feature_state_value = ( + FeatureState.objects.filter( + environment=environment, + feature=tagged_feature, + ) + .first() + .feature_state_value + ) + mocker.patch( + "integrations.grafana.mappers.get_audited_instance_from_audit_log_record", + return_value=feature_state_value, + ) + audit_log_record.environment = environment + + # When + annotation = map_audit_log_record_to_grafana_annotation(audit_log_record) + + # Then + assert annotation == { + "tags": [ + "flagsmith", + "project:Test Project", + "environment:Test Environment", + "by:superuser@example.com", + "feature:Test Feature1", + "Test Tag", + "Test Tag2", + ], + "text": "Test event", + "time": 1719220187325, + "timeEnd": 1719220187325, + } + + +def test_map_audit_log_record_to_grafana_annotation__segment__return_expected( + mocker: MockerFixture, + segment: Segment, + audit_log_record: AuditLog, +) -> None: + # Given + mocker.patch( + "integrations.grafana.mappers.get_audited_instance_from_audit_log_record", + return_value=segment, + ) + + # When + annotation = map_audit_log_record_to_grafana_annotation(audit_log_record) + + # Then + assert annotation == { + "tags": [ + "flagsmith", + "project:Test Project", + "environment:unknown", + "by:superuser@example.com", + "segment:segment", + ], + "text": "Test event", + "time": 1719220187325, + "timeEnd": 1719220187325, + } + + +def test_map_audit_log_record_to_grafana_annotation__feature_segment__return_expected( + mocker: MockerFixture, + tagged_feature: Feature, + feature_segment: FeatureSegment, + audit_log_record: AuditLog, +) -> None: + # Given + mocker.patch( + "integrations.grafana.mappers.get_audited_instance_from_audit_log_record", + return_value=feature_segment, + ) + + # When + annotation = map_audit_log_record_to_grafana_annotation(audit_log_record) + + # Then + assert annotation == { + "tags": [ + "flagsmith", + "project:Test Project", + "environment:unknown", + "by:superuser@example.com", + "feature:Test Feature1", + "segment:segment", + "Test Tag", + "Test Tag2", + ], + "text": "Test event", + "time": 1719220187325, + "timeEnd": 1719220187325, + } + + +@pytest.mark.django_db +def test_map_audit_log_record_to_grafana_annotation__generic__return_expected( + mocker: MockerFixture, + audit_log_record: AuditLog, +) -> None: + # Given + mocker.patch( + "integrations.grafana.mappers.get_audited_instance_from_audit_log_record", + return_value=None, + ) + + # When + annotation = map_audit_log_record_to_grafana_annotation(audit_log_record) + + # Then + assert annotation == { + "tags": [ + "flagsmith", + "project:Test Project", + "environment:unknown", + "by:superuser@example.com", + ], + "text": "Test event", + "time": 1719220187325, + "timeEnd": 1719220187325, + } diff --git a/docs/docs/deployment/overview.md b/docs/docs/deployment/overview.md index db88edc2840f..851528f5ae66 100644 --- a/docs/docs/deployment/overview.md +++ b/docs/docs/deployment/overview.md @@ -257,6 +257,26 @@ The list of the flags and remote config we're currently using in production is b "title": "Dynatrace", "description": "Sends events to Dynatrace for when flags are created, updated and removed. Logs are tagged with the environment they came from e.g. production." }, + "grafana": { + "perEnvironment": false, + "image": "/static/images/integrations/grafana.svg", + "docs": "https://docs.flagsmith.com/integrations/apm/grafana", + "fields": [ + { + "key": "base_url", + "label": "Base URL", + "default": "https://grafana.com" + }, + { + "key": "api_key", + "label": "Service account token", + "hidden": true + } + ], + "tags": ["logging"], + "title": "Grafana", + "description": "Receive Flagsmith annotations to your Grafana instance on feature flag and segment changes." + }, "jira": { "perEnvironment": false, "image": "https://docs.flagsmith.com/img/integrations/jira/jira-logo.svg", diff --git a/docs/docs/integrations/apm/grafana.md b/docs/docs/integrations/apm/grafana.md new file mode 100644 index 000000000000..1b9b083f7741 --- /dev/null +++ b/docs/docs/integrations/apm/grafana.md @@ -0,0 +1,35 @@ +--- +title: Grafana Integration +description: Integrate Flagsmith with Grafana +sidebar_label: Grafana +hide_title: true +--- + +![Image](/img/integrations/grafana/grafana-logo.svg) + +You can integrate Flagsmith with Grafana. Send flag change events from Flagsmith into Grafana as annotations. + +## Integration Setup + +Log into Grafana and generate a Service Account Key: + +1. Navigate to Administration > Users and access > Service accounts +2. Add Service Account +3. Change the Role selection to "Annotation Writer" or "Editor". +4. Click on Add service account token and make a note of the generated token. + +In Flagsmith: + +1. Navigate to Integrations, then add the Grafana integration. +2. Enter the URL for your web interface of your Grafana installation. For example, `https://grafana.flagsmith.com`. +3. Paste the service account token you created in Grafana to `Service account token` field. +4. Click Save. + +Flag change events will now be sent to Grafana as _Organisation Level_ +[Annotations](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/annotate-visualizations/). + +You can view the annotations in your Grafana dashboards but going to Dashboard Settings > Annotations, selecting the +`Grafana` data source and then filtering on annotations that are tagged with the `flagsmith` tag. + +Annotations reporting feature-specific events include the project tag and Flagsmith user-defined tags, and flag change +events include the environment tag as well. diff --git a/docs/docs/integrations/overview.md b/docs/docs/integrations/overview.md index 5992999eea60..eb6eb4285c2e 100644 --- a/docs/docs/integrations/overview.md +++ b/docs/docs/integrations/overview.md @@ -87,6 +87,13 @@ You can integrate Flagsmith with Dynatrace. Send flag change events from Flagsmi --- + + +You can integrate Flagsmith with Grafana. Send flag change events from Flagsmith into Grafana as annotations. +[Learn more](/integrations/apm/grafana). + +--- + You can integrate Flagsmith with New Relic. Send flag change events from Flagsmith into your Datadog event stream. diff --git a/docs/static/img/integrations/grafana/grafana-logo.svg b/docs/static/img/integrations/grafana/grafana-logo.svg new file mode 100644 index 000000000000..92ced7b6e505 --- /dev/null +++ b/docs/static/img/integrations/grafana/grafana-logo.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/web/static/images/integrations/grafana.svg b/frontend/web/static/images/integrations/grafana.svg new file mode 100644 index 000000000000..92ced7b6e505 --- /dev/null +++ b/frontend/web/static/images/integrations/grafana.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + From 318fb85e471a96b10274c4f502cfac7971169acf Mon Sep 17 00:00:00 2001 From: Novak Zaballa <41410593+novakzaballa@users.noreply.github.com> Date: Mon, 24 Jun 2024 11:20:42 -0400 Subject: [PATCH 32/45] feat: Add UI for SAML attribute mapping (#4184) Co-authored-by: Matthew Elwell --- .../services/useSamlAttributeMapping.ts | 124 ++++++++++++ frontend/common/types/requests.ts | 18 ++ frontend/common/types/responses.ts | 11 ++ .../components/SAMLAttributeMappingTable.tsx | 135 +++++++++++++ frontend/web/components/SamlTab.tsx | 4 +- frontend/web/components/Tooltip.tsx | 5 +- frontend/web/components/modals/CreateSAML.tsx | 185 +++++++++++++++--- 7 files changed, 448 insertions(+), 34 deletions(-) create mode 100644 frontend/common/services/useSamlAttributeMapping.ts create mode 100644 frontend/web/components/SAMLAttributeMappingTable.tsx diff --git a/frontend/common/services/useSamlAttributeMapping.ts b/frontend/common/services/useSamlAttributeMapping.ts new file mode 100644 index 000000000000..f271b12140c0 --- /dev/null +++ b/frontend/common/services/useSamlAttributeMapping.ts @@ -0,0 +1,124 @@ +import { Res } from 'common/types/responses' +import { Req } from 'common/types/requests' +import { service } from 'common/service' + +export const samlAttributeMappingService = service + .enhanceEndpoints({ addTagTypes: ['SamlAttributeMapping'] }) + .injectEndpoints({ + endpoints: (builder) => ({ + createSamlAttributeMapping: builder.mutation< + Res['samlAttributeMapping'], + Req['createSamlAttributeMapping'] + >({ + invalidatesTags: [{ id: 'LIST', type: 'SamlAttributeMapping' }], + query: (query: Req['createSamlAttributeMapping']) => ({ + body: query.body, + method: 'POST', + url: `auth/saml/attribute-mapping/`, + }), + }), + deleteSamlAttributeMapping: builder.mutation< + Res['samlAttributeMapping'], + Req['deleteSamlAttributeMapping'] + >({ + invalidatesTags: [{ id: 'LIST', type: 'SamlAttributeMapping' }], + query: (query: Req['deleteSamlAttributeMapping']) => ({ + method: 'DELETE', + url: `auth/saml/attribute-mapping/${query.attribute_id}`, + }), + }), + getSamlAttributeMapping: builder.query< + Res['samlAttributeMapping'], + Req['getSamlAttributeMapping'] + >({ + providesTags: () => [{ id: 'LIST', type: 'SamlAttributeMapping' }], + query: (query: Req['getSamlAttributeMapping']) => ({ + url: `auth/saml/attribute-mapping/?saml_configuration=${query.saml_configuration_id}`, + }), + }), + updateSamlAttributeMapping: builder.mutation< + Res['samlAttributeMapping'], + Req['updateSamlAttributeMapping'] + >({ + invalidatesTags: () => [{ id: 'LIST', type: 'SamlAttributeMapping' }], + query: (query: Req['updateSamlAttributeMapping']) => ({ + body: query.body, + method: 'PUT', + url: `auth/saml/attribute-mapping/${query.attribute_id}`, + }), + }), + // END OF ENDPOINTS + }), + }) + +export async function createSamlAttributeMapping( + store: any, + data: Req['createSamlAttributeMapping'], + options?: Parameters< + typeof samlAttributeMappingService.endpoints.createSamlAttributeMapping.initiate + >[1], +) { + return store.dispatch( + samlAttributeMappingService.endpoints.createSamlAttributeMapping.initiate( + data, + options, + ), + ) +} +export async function deleteSamlAttributeMapping( + store: any, + data: Req['deleteSamlAttributeMapping'], + options?: Parameters< + typeof samlAttributeMappingService.endpoints.deleteSamlAttributeMapping.initiate + >[1], +) { + return store.dispatch( + samlAttributeMappingService.endpoints.deleteSamlAttributeMapping.initiate( + data, + options, + ), + ) +} +export async function getSamlAttributeMapping( + store: any, + data: Req['getSamlAttributeMapping'], + options?: Parameters< + typeof samlAttributeMappingService.endpoints.getSamlAttributeMapping.initiate + >[1], +) { + return store.dispatch( + samlAttributeMappingService.endpoints.getSamlAttributeMapping.initiate( + data, + options, + ), + ) +} +export async function updateSamlAttributeMapping( + store: any, + data: Req['updateSamlAttributeMapping'], + options?: Parameters< + typeof samlAttributeMappingService.endpoints.updateSamlAttributeMapping.initiate + >[1], +) { + return store.dispatch( + samlAttributeMappingService.endpoints.updateSamlAttributeMapping.initiate( + data, + options, + ), + ) +} +// END OF FUNCTION_EXPORTS + +export const { + useCreateSamlAttributeMappingMutation, + useDeleteSamlAttributeMappingMutation, + useGetSamlAttributeMappingQuery, + useUpdateSamlAttributeMappingMutation, + // END OF EXPORTS +} = samlAttributeMappingService + +/* Usage examples: +const { data, isLoading } = useGetSamlAttributeMappingQuery({ id: 2 }, {}) //get hook +const [createSamlAttributeMapping, { isLoading, data, isSuccess }] = useCreateSamlAttributeMappingMutation() //create hook +samlAttributeMappingService.endpoints.getSamlAttributeMapping.select({id: 2})(store.getState()) //access data from any function +*/ diff --git a/frontend/common/types/requests.ts b/frontend/common/types/requests.ts index f5ac0efa5828..7fd0aab64f99 100644 --- a/frontend/common/types/requests.ts +++ b/frontend/common/types/requests.ts @@ -12,6 +12,7 @@ import { ProjectFlag, Environment, UserGroup, + AttributeName, } from './responses' export type PagedRequest = T & { @@ -486,5 +487,22 @@ export type Req = { updateSamlConfiguration: { name: string; body: SAMLConfiguration } deleteSamlConfiguration: { name: string } createSamlConfiguration: SAMLConfiguration + getSamlAttributeMapping: { saml_configuration_id: number } + updateSamlAttributeMapping: { + attribute_id: number + body: { + saml_configuration: number + django_attribute_name: AttributeName + idp_attribute_name: string + } + } + deleteSamlAttributeMapping: { attribute_id: number } + createSamlAttributeMapping: { + body: { + saml_configuration: number + django_attribute_name: AttributeName + idp_attribute_name: string + } + } // END OF TYPES } diff --git a/frontend/common/types/responses.ts b/frontend/common/types/responses.ts index 9093d36c526f..95e13fd623a5 100644 --- a/frontend/common/types/responses.ts +++ b/frontend/common/types/responses.ts @@ -429,6 +429,8 @@ export type AuthType = 'EMAIL' | 'GITHUB' | 'GOOGLE' export type SignupType = 'NO_INVITE' | 'INVITE_EMAIL' | 'INVITE_LINK' +export type AttributeName = 'email' | 'first_name' | 'last_name' | 'groups' + export type Invite = { id: number email: string @@ -554,6 +556,7 @@ export type MetadataModelField = { } export type SAMLConfiguration = { + id: number organisation: number name: string frontend_url: string @@ -561,6 +564,13 @@ export type SAMLConfiguration = { allow_idp_initiated?: boolean } +export type SAMLAttributeMapping = { + id: number + saml_configuration: number + django_attribute_name: AttributeName + idp_attribute_name: string +} + export type Res = { segments: PagedResponse segment: Segment @@ -679,5 +689,6 @@ export type Res = { response_url: string metadata_xml: string } + samlAttributeMapping: PagedResponse // END OF TYPES } diff --git a/frontend/web/components/SAMLAttributeMappingTable.tsx b/frontend/web/components/SAMLAttributeMappingTable.tsx new file mode 100644 index 000000000000..14151eb89caf --- /dev/null +++ b/frontend/web/components/SAMLAttributeMappingTable.tsx @@ -0,0 +1,135 @@ +import React, { FC } from 'react' + +import { + useDeleteSamlAttributeMappingMutation, + useGetSamlAttributeMappingQuery, +} from 'common/services/useSamlAttributeMapping' +import PanelSearch from './PanelSearch' +import Button from './base/forms/Button' +import Icon from './Icon' +import { SAMLAttributeMapping } from 'common/types/responses' +import Format from 'common/utils/format' +import Tooltip from './Tooltip' + +type SAMLAttributeMappingTableType = { + samlConfigurationId: number +} +const SAMLAttributeMappingTable: FC = ({ + samlConfigurationId, +}) => { + const { data } = useGetSamlAttributeMappingQuery( + { + saml_configuration_id: samlConfigurationId, + }, + { skip: !samlConfigurationId }, + ) + + const [deleteSamlAttribute] = useDeleteSamlAttributeMappingMutation() + + return ( +

    + + +
    SAML Attribute Name
    +
    + +
    + IDP Attribute Name +
    +
    + + } + items={data?.results || []} + renderRow={(attribute: SAMLAttributeMapping) => ( + + +
    + {Format.camelCase( + attribute.django_attribute_name.replace(/_/g, ' '), + )} +
    +
    + + + {attribute.idp_attribute_name} +
    + } + > + {attribute.idp_attribute_name} + + +
    + + +
    +

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 z%0D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

, + ) + e.stopPropagation() + e.preventDefault() + }} + className='btn btn-with-icon' + > + + +
+ + )} + /> +
+ ) +} +export default SAMLAttributeMappingTable diff --git a/frontend/web/components/SamlTab.tsx b/frontend/web/components/SamlTab.tsx index 39354aa829f2..bb8f47bcbbe0 100644 --- a/frontend/web/components/SamlTab.tsx +++ b/frontend/web/components/SamlTab.tsx @@ -95,7 +95,7 @@ const SamlTab: FC = ({ organisationId }) => { type='button' onClick={(e) => { openModal( - 'Delete Github Integration', + 'Delete SAML configuration',
Are you sure you want to delete the SAML @@ -105,7 +105,7 @@ const SamlTab: FC = ({ organisationId }) => { + {isEdit && ( + + )}
- {!!createError || - (!!updateError && ( +
+ ) + + const Tab2: FC = () => { + const [ipdAttributeName, setIdpAttributeName] = useState('') + const [djangoAttributeName, setDjangoAttributeName] = + useState(samlAttributes[0]) + const [CreateSamlAttributeMapping, { error: errorAttributeCreation }] = + useCreateSamlAttributeMappingMutation() + return ( +
+ { + setDjangoAttributeName(m) + }} + className='mb-4 react-select' + /> + } + /> + ) => { + setIdpAttributeName(Utils.safeParseEventValue(event)) + }} + inputProps={{ + className: 'full-width', + }} + type='text' + name='Name*' + /> +
+ +
+ {errorAttributeCreation && (
- +
- ))} -
+ )} + +
+ ) + } + + return ( + <> + {!isEdit ? ( + Tab1 + ) : ( + + Basic Configuration + } + > + {Tab1} + + Attribute Mapping + } + > +
+ +
+
+
+ )} + ) } export default CreateSAML From cdc3410ccb6941e22ab1c3529ebc7d0330e4eb22 Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Mon, 24 Jun 2024 16:27:34 +0100 Subject: [PATCH 33/45] feat: Add confirmations when removing features, segments and environments (#4210) --- .../common/providers/FeatureListProvider.js | 3 +++ frontend/common/providers/ProjectProvider.js | 4 ++-- frontend/common/stores/feature-list-store.ts | 1 + frontend/common/stores/project-store.js | 2 +- frontend/global.d.ts | 2 +- .../pages/EnvironmentSettingsPage.js | 7 ++++++- frontend/web/components/pages/FeaturesPage.js | 20 +++++++++++++++++-- .../web/components/pages/SegmentsPage.tsx | 11 +++++++++- 8 files changed, 42 insertions(+), 8 deletions(-) diff --git a/frontend/common/providers/FeatureListProvider.js b/frontend/common/providers/FeatureListProvider.js index 038c8f47d990..9d0edcce9782 100644 --- a/frontend/common/providers/FeatureListProvider.js +++ b/frontend/common/providers/FeatureListProvider.js @@ -30,6 +30,9 @@ const FeatureListProvider = class extends React.Component { usageData: FeatureListStore.getFeatureUsage(), }) }) + this.listenTo(FeatureListStore, 'removed', (data) => { + this.props.onRemove?.(data) + }) this.listenTo(FeatureListStore, 'saved', (data) => { this.props.onSave && this.props.onSave(data) diff --git a/frontend/common/providers/ProjectProvider.js b/frontend/common/providers/ProjectProvider.js index cf91d54a0c1a..48effb2c160a 100644 --- a/frontend/common/providers/ProjectProvider.js +++ b/frontend/common/providers/ProjectProvider.js @@ -32,8 +32,8 @@ const ProjectProvider = class extends React.Component { ), ) }) - this.listenTo(ProjectStore, 'removed', () => { - this.props.onRemoveEnvironment && this.props.onRemoveEnvironment() + this.listenTo(ProjectStore, 'removed', (data) => { + this.props.onRemoveEnvironment && this.props.onRemoveEnvironment(data) }) this.listenTo(OrganisationStore, 'removed', () => { this.props.onRemove && this.props.onRemove() diff --git a/frontend/common/stores/feature-list-store.ts b/frontend/common/stores/feature-list-store.ts index 22325753c37d..4e24d2a0322c 100644 --- a/frontend/common/stores/feature-list-store.ts +++ b/frontend/common/stores/feature-list-store.ts @@ -851,6 +851,7 @@ const controller = { ) store.model.lastSaved = new Date().valueOf() store.saved({}) + store.trigger('removed', flag) }) }, searchFeatures: _.throttle( diff --git a/frontend/common/stores/project-store.js b/frontend/common/stores/project-store.js index a174fd7a77eb..1747bc10de6c 100644 --- a/frontend/common/stores/project-store.js +++ b/frontend/common/stores/project-store.js @@ -76,7 +76,7 @@ const controller = { getStore().dispatch( environmentService.util.invalidateTags(['Environment']), ) - store.trigger('removed') + store.trigger('removed', env) store.saved() AppActions.refreshOrganisation() }) diff --git a/frontend/global.d.ts b/frontend/global.d.ts index fcbd2ee93343..9ca8cbfeb70d 100644 --- a/frontend/global.d.ts +++ b/frontend/global.d.ts @@ -27,7 +27,7 @@ declare global { ) => void const openConfirm: (data: OpenConfirm) => void const Row: typeof Component - const toast: (value: string, theme?: string, expiry?: number) => void + const toast: (value: ReactNode, theme?: string, expiry?: number) => void const Flex: typeof Component const isMobile: boolean const FormGroup: typeof Component diff --git a/frontend/web/components/pages/EnvironmentSettingsPage.js b/frontend/web/components/pages/EnvironmentSettingsPage.js index b7b009444bf9..582b586125aa 100644 --- a/frontend/web/components/pages/EnvironmentSettingsPage.js +++ b/frontend/web/components/pages/EnvironmentSettingsPage.js @@ -127,7 +127,7 @@ const EnvironmentSettingsPage = class extends Component { ) } - onRemoveEnvironment = () => { + onRemoveEnvironment = (environment) => { const envs = ProjectStore.getEnvs() if (envs && envs.length) { this.context.router.history.replace( @@ -139,6 +139,11 @@ const EnvironmentSettingsPage = class extends Component { `/project/${this.props.match.params.projectId}/environment/create`, ) } + toast( +
+ Removed Environment: {environment.name} +
, + ) } saveEnv = (e) => { diff --git a/frontend/web/components/pages/FeaturesPage.js b/frontend/web/components/pages/FeaturesPage.js index cd61e877d7fb..fb20e7820ddb 100644 --- a/frontend/web/components/pages/FeaturesPage.js +++ b/frontend/web/components/pages/FeaturesPage.js @@ -23,6 +23,7 @@ import EnvironmentDocumentCodeHelp from 'components/EnvironmentDocumentCodeHelp' import TableOwnerFilter from 'components/tables/TableOwnerFilter' import TableGroupsFilter from 'components/tables/TableGroupsFilter' import TableValueFilter from 'components/tables/TableValueFilter' +import classNames from 'classnames' const FeaturesPage = class extends Component { static displayName = 'FeaturesPage' @@ -226,7 +227,17 @@ const FeaturesPage = class extends Component { id='features-page' className='app-container container' > - + + toast( +
+ Removed feature: {feature.name} +
, + ) + } + onSave={this.onSave} + onError={this.onError} + > {( { environmentFlags, @@ -237,6 +248,7 @@ const FeaturesPage = class extends Component { { removeFlag, toggleFlag }, ) => { const isLoading = !FeatureListStore.hasLoaded + const isSaving = FeatureListStore.isSaving const featureLimitAlert = Utils.calculateRemainingLimitsPercentage( totalFeatures, maxFeaturesAllowed, @@ -327,7 +339,11 @@ const FeaturesPage = class extends Component { id={this.props.match.params.environmentId} > {({ permission }) => ( - + = (props) => { const segment = find(segments, { id }) if (segment) { confirmRemove(segment, () => { - removeSegment({ id, projectId }) + removeSegment({ id, projectId }).then( + (res) => { + toast( +
+ Removed Segment:{' '} + {segment.name} +
, + ) + }, + ) }) } }} From 128a12a30ccba34cea7a22dd469f073804cf71eb Mon Sep 17 00:00:00 2001 From: Ben Rometsch Date: Tue, 25 Jun 2024 10:17:15 +0100 Subject: [PATCH 34/45] chore(main): release 2.124.0 (#4200) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 22 ++++++++++++++++++++++ version.txt | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b0435106bae7..5cb1dfbf3fa4 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.123.1" + ".": "2.124.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e3d4f220fee..a2f3da281f2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # Changelog +## [2.124.0](https://github.com/Flagsmith/flagsmith/compare/v2.123.1...v2.124.0) (2024-06-24) + + +### Features + +* Add confirmations when removing features, segments and environments ([#4210](https://github.com/Flagsmith/flagsmith/issues/4210)) ([cdc3410](https://github.com/Flagsmith/flagsmith/commit/cdc3410ccb6941e22ab1c3529ebc7d0330e4eb22)) +* Add logic to API usage notification templates ([#4206](https://github.com/Flagsmith/flagsmith/issues/4206)) ([6afa63d](https://github.com/Flagsmith/flagsmith/commit/6afa63d7e2e5e452854944c5034cd2195cf7cffa)) +* Add UI for SAML attribute mapping ([#4184](https://github.com/Flagsmith/flagsmith/issues/4184)) ([318fb85](https://github.com/Flagsmith/flagsmith/commit/318fb85e471a96b10274c4f502cfac7971169acf)) +* Grafana integration ([#4144](https://github.com/Flagsmith/flagsmith/issues/4144)) ([5c25c41](https://github.com/Flagsmith/flagsmith/commit/5c25c41e01ba68b18887759f2a5650caa6a9f39d)) +* **versioning:** add logic to create version in single endpoint ([#3991](https://github.com/Flagsmith/flagsmith/issues/3991)) ([57f8d68](https://github.com/Flagsmith/flagsmith/commit/57f8d68449577228a6f32cd317c4693cf5282824)) + + +### Bug Fixes + +* **ci:** Docker build CodeQL permission ([#4217](https://github.com/Flagsmith/flagsmith/issues/4217)) ([7554d15](https://github.com/Flagsmith/flagsmith/commit/7554d159aa46338381d392237e662d43286d9cdd)) +* **ci:** Secrets unavailable for deploy jobs ([#4215](https://github.com/Flagsmith/flagsmith/issues/4215)) ([d56ad08](https://github.com/Flagsmith/flagsmith/commit/d56ad08d332d10ee440170afec64bd1efecc5282)) +* Include free plans for api use notifications ([#4204](https://github.com/Flagsmith/flagsmith/issues/4204)) ([e1f3a7b](https://github.com/Flagsmith/flagsmith/commit/e1f3a7b92344b909f3547024589086685e7c04fa)) +* login redirect ([#4192](https://github.com/Flagsmith/flagsmith/issues/4192)) ([b0bc87a](https://github.com/Flagsmith/flagsmith/commit/b0bc87acbe8c0187eaaa6e01880c64712eea1dba)) +* Metadata UI issues ([#4069](https://github.com/Flagsmith/flagsmith/issues/4069)) ([36c8bb3](https://github.com/Flagsmith/flagsmith/commit/36c8bb3c401ed153dcc0e866e0edab49746a4ff9)) +* oauth user case sensitivity ([#4207](https://github.com/Flagsmith/flagsmith/issues/4207)) ([af955bf](https://github.com/Flagsmith/flagsmith/commit/af955bf7ef3b35965b5675d957fe56a8383c7d5b)) +* Preserve selected environment ([#4190](https://github.com/Flagsmith/flagsmith/issues/4190)) ([6bf9858](https://github.com/Flagsmith/flagsmith/commit/6bf9858ce23400445a3ace960acf78123141cdf0)) + ## [2.123.1](https://github.com/Flagsmith/flagsmith/compare/v2.123.0...v2.123.1) (2024-06-19) diff --git a/version.txt b/version.txt index d8ad65df5b83..67d5c2730e18 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.123.1 +2.124.0 From 30ba49dea45f1f54f3f805a7dc14b36ed49c9acf Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 25 Jun 2024 11:31:33 +0100 Subject: [PATCH 35/45] fix(ci): Secrets unavailable to Docker publish jobs (#4220) --- .../platform-docker-build-test-publish.yml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/platform-docker-build-test-publish.yml b/.github/workflows/platform-docker-build-test-publish.yml index c35e3919dce8..8225da8ef30f 100644 --- a/.github/workflows/platform-docker-build-test-publish.yml +++ b/.github/workflows/platform-docker-build-test-publish.yml @@ -62,14 +62,25 @@ jobs: needs: [docker-build-api, docker-build-private-cloud-api, docker-build-e2e] uses: ./.github/workflows/.reusable-docker-e2e-tests.yml with: - api-image: ${{ matrix.api-image }} e2e-image: ${{ needs.docker-build-e2e.outputs.image }} + api-image: ${{ matrix.api-image }} + concurrency: ${{ matrix.args.concurrency }} + tests: ${{ matrix.args.tests }} strategy: matrix: api-image: - ${{ needs.docker-build-api.outputs.image }} - ${{ needs.docker-build-private-cloud-api.outputs.image }} + args: + - tests: segment-part-1 environment + concurrency: 1 + - tests: segment-part-2 + concurrency: 1 + - tests: segment-part-3 signup flag invite project + concurrency: 2 + - tests: versioning + concurrency: 1 docker-publish-api: needs: [docker-build-api, run-e2e-tests] @@ -78,6 +89,7 @@ jobs: with: source-images: ${{ needs.docker-build-api.outputs.image }} target-images: flagsmith/flagsmith-api + secrets: inherit docker-publish-frontend: needs: [docker-build-frontend, run-e2e-tests] @@ -86,6 +98,7 @@ jobs: with: source-images: ${{ needs.docker-build-frontend.outputs.image }} target-images: flagsmith/flagsmith-frontend + secrets: inherit docker-publish-unified: needs: [docker-build-unified, run-e2e-tests] @@ -94,6 +107,7 @@ jobs: with: source-images: ${{ needs.docker-build-unified.outputs.image }} target-images: flagsmith/flagsmith + secrets: inherit docker-publish-private-cloud-api: needs: [docker-build-private-cloud-api, run-e2e-tests] @@ -102,6 +116,7 @@ jobs: with: source-images: ${{ needs.docker-build-private-cloud-api.outputs.image }} target-images: flagsmith/flagsmith-private-cloud-api + secrets: inherit docker-publish-private-cloud: needs: [docker-build-private-cloud, run-e2e-tests] @@ -110,6 +125,7 @@ jobs: with: source-images: ${{ needs.docker-build-private-cloud.outputs.image }} target-images: flagsmith/flagsmith-private-cloud + secrets: inherit update-charts: needs: [docker-publish-api, docker-publish-frontend, docker-publish-unified] From 47eb149ffa6840a2f36f2378737b8aa0ce4b2199 Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Tue, 25 Jun 2024 11:33:58 +0100 Subject: [PATCH 36/45] fix: versioning webhooks and update test to correctly test end to end (#4221) --- api/features/versioning/tasks.py | 2 +- .../versioning/test_unit_versioning_tasks.py | 23 +++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/api/features/versioning/tasks.py b/api/features/versioning/tasks.py index c4e8ba147d12..97032ccdffd7 100644 --- a/api/features/versioning/tasks.py +++ b/api/features/versioning/tasks.py @@ -130,7 +130,7 @@ def trigger_update_version_webhooks(environment_feature_version_uuid: str) -> No data = environment_feature_version_webhook_schema.dump(environment_feature_version) call_environment_webhooks( - environment=environment_feature_version.environment_id, + environment_id=environment_feature_version.environment_id, data=data, event_type=WebhookEventType.NEW_VERSION_PUBLISHED.value, ) diff --git a/api/tests/unit/features/versioning/test_unit_versioning_tasks.py b/api/tests/unit/features/versioning/test_unit_versioning_tasks.py index 23178455551c..d15867ae3ad1 100644 --- a/api/tests/unit/features/versioning/test_unit_versioning_tasks.py +++ b/api/tests/unit/features/versioning/test_unit_versioning_tasks.py @@ -1,11 +1,13 @@ +import json from datetime import timedelta import freezegun +import responses from django.utils import timezone from pytest_mock import MockerFixture from environments.identities.models import Identity -from environments.models import Environment +from environments.models import Environment, Webhook from features.models import Feature, FeatureSegment, FeatureState from features.versioning.models import EnvironmentFeatureVersion from features.versioning.tasks import ( @@ -140,6 +142,7 @@ def test_disable_v2_versioning( assert unaffected_environment.feature_segments.count() == 1 +@responses.activate def test_trigger_update_version_webhooks( environment_v2_versioning: Environment, feature: Feature, mocker: MockerFixture ) -> None: @@ -149,17 +152,19 @@ def test_trigger_update_version_webhooks( ) feature_state = version.feature_states.first() - mock_call_environment_webhooks = mocker.patch( - "features.versioning.tasks.call_environment_webhooks" - ) + webhook_url = "https://example.com/webhook/" + Webhook.objects.create(environment=environment_v2_versioning, url=webhook_url) + + responses.post(url=webhook_url, status=200) # When trigger_update_version_webhooks(str(version.uuid)) # Then - mock_call_environment_webhooks.assert_called_once_with( - environment=environment_v2_versioning.id, - data={ + assert len(responses.calls) == 1 + assert responses.calls[0].request.url == webhook_url + assert json.loads(responses.calls[0].request.body) == { + "data": { "uuid": str(version.uuid), "feature": {"id": feature.id, "name": feature.name}, "published_by": None, @@ -170,8 +175,8 @@ def test_trigger_update_version_webhooks( } ], }, - event_type=WebhookEventType.NEW_VERSION_PUBLISHED.value, - ) + "event_type": WebhookEventType.NEW_VERSION_PUBLISHED.name, + } def test_enable_v2_versioning_for_scheduled_changes( From 8b500db9cf89522d85559b2b1212aa415942972d Mon Sep 17 00:00:00 2001 From: Ben Rometsch Date: Tue, 25 Jun 2024 11:55:09 +0100 Subject: [PATCH 37/45] chore(main): release 2.124.1 (#4222) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ version.txt | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 5cb1dfbf3fa4..051c9365004f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.124.0" + ".": "2.124.1" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index a2f3da281f2c..e8e701c014ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [2.124.1](https://github.com/Flagsmith/flagsmith/compare/v2.124.0...v2.124.1) (2024-06-25) + + +### Bug Fixes + +* **ci:** Secrets unavailable to Docker publish jobs ([#4220](https://github.com/Flagsmith/flagsmith/issues/4220)) ([30ba49d](https://github.com/Flagsmith/flagsmith/commit/30ba49dea45f1f54f3f805a7dc14b36ed49c9acf)) +* versioning webhooks and update test to correctly test end to end ([#4221](https://github.com/Flagsmith/flagsmith/issues/4221)) ([47eb149](https://github.com/Flagsmith/flagsmith/commit/47eb149ffa6840a2f36f2378737b8aa0ce4b2199)) + ## [2.124.0](https://github.com/Flagsmith/flagsmith/compare/v2.123.1...v2.124.0) (2024-06-24) diff --git a/version.txt b/version.txt index 67d5c2730e18..f58495cf6238 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.124.0 +2.124.1 From a037f9faaea5dd9b610ca61b5ed43d170f93b0fb Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 25 Jun 2024 12:59:19 +0100 Subject: [PATCH 38/45] fix(ci): `packages:read` permission lacking for Docker publish jobs (#4223) --- .github/workflows/.reusable-docker-publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/.reusable-docker-publish.yml b/.github/workflows/.reusable-docker-publish.yml index 32b12aab5701..c75297cba01e 100644 --- a/.github/workflows/.reusable-docker-publish.yml +++ b/.github/workflows/.reusable-docker-publish.yml @@ -25,6 +25,7 @@ jobs: permissions: contents: read + packages: read id-token: write steps: From a4ced071251cbefba31a3a8418bbcf7288e31bea Mon Sep 17 00:00:00 2001 From: Ben Rometsch Date: Tue, 25 Jun 2024 13:18:51 +0100 Subject: [PATCH 39/45] chore(main): release 2.124.2 (#4225) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ version.txt | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 051c9365004f..4ab57c5ff2a1 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.124.1" + ".": "2.124.2" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e8e701c014ce..34ee2acfdad8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [2.124.2](https://github.com/Flagsmith/flagsmith/compare/v2.124.1...v2.124.2) (2024-06-25) + + +### Bug Fixes + +* **ci:** `packages:read` permission lacking for Docker publish jobs ([#4223](https://github.com/Flagsmith/flagsmith/issues/4223)) ([a037f9f](https://github.com/Flagsmith/flagsmith/commit/a037f9faaea5dd9b610ca61b5ed43d170f93b0fb)) + ## [2.124.1](https://github.com/Flagsmith/flagsmith/compare/v2.124.0...v2.124.1) (2024-06-25) diff --git a/version.txt b/version.txt index f58495cf6238..6df114bf4fa4 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.124.1 +2.124.2 From fe7cc53b5b4242db6af5ee818dd1e7c42a8d44ab Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 25 Jun 2024 13:56:32 +0100 Subject: [PATCH 40/45] fix(ci): Enable Docker builds and E2E for external PRs (#4224) --- .github/workflows/.reusable-docker-build.yml | 27 ++++++++++++++++--- .../workflows/.reusable-docker-e2e-tests.yml | 24 ++++++++--------- .../platform-docker-build-test-publish.yml | 1 + .github/workflows/platform-pull-request.yml | 14 +++++----- frontend/Makefile | 8 ++++-- 5 files changed, 49 insertions(+), 25 deletions(-) diff --git a/.github/workflows/.reusable-docker-build.yml b/.github/workflows/.reusable-docker-build.yml index 982bac55da50..92088474c87d 100644 --- a/.github/workflows/.reusable-docker-build.yml +++ b/.github/workflows/.reusable-docker-build.yml @@ -31,10 +31,15 @@ on: description: Whether to scan built image for vulnerabilities required: false default: true + ephemeral: + type: boolean + description: Whether to skip push and use Depot's ephemeral registry + required: false + default: false outputs: image: description: Resulting image specifier - value: ${{ inputs.registry-url }}/flagsmith/${{ inputs.image-name }}:${{ jobs.build.outputs.version }} + value: ${{ jobs.build.outputs.image }} secrets: secrets: description: List of secrets to expose to the build (e.g., `key=string, GIT_AUTH_TOKEN=mytoken`) @@ -45,7 +50,7 @@ jobs: name: Build ${{ inputs.scan && 'and verify ' || '' }}${{ inputs.image-name }} image runs-on: ubuntu-latest outputs: - version: ${{ steps.meta.outputs.version }} + image: ${{ steps.image-tag.outputs.image-tag }} permissions: packages: write @@ -61,6 +66,7 @@ jobs: uses: depot/setup-action@v1 - name: Login to Github Container Registry + if: ${{ !inputs.ephemeral }} uses: docker/login-action@v3 with: registry: ${{ inputs.registry-url }} @@ -81,10 +87,12 @@ jobs: type=semver,pattern={{major}}.{{minor}} - name: Build and push image + id: build uses: depot/build-push-action@v1 with: context: . - push: true + save: ${{ inputs.ephemeral }} + push: ${{ !inputs.ephemeral }} platforms: linux/amd64,linux/arm64 secrets: ${{ secrets.secrets }} target: ${{ inputs.target }} @@ -96,12 +104,23 @@ jobs: labels: ${{ steps.meta.outputs.labels }} provenance: false + - name: Render image tag + id: image-tag + run: > + echo image-tag=${{ inputs.ephemeral && format('registry.depot.dev/{0}:{1}', steps.build.outputs.project-id, + steps.build.outputs.build-id) || format('{0}/flagsmith/{1}:{2}', inputs.registry-url, inputs.image-name, + steps.meta.outputs.version) }} >> $GITHUB_OUTPUT + + - name: Login to Depot Registry + if: inputs.scan && inputs.ephemeral + run: depot pull-token | docker login -u x-token --password-stdin registry.depot.dev + - name: Run Trivy vulnerability scanner id: trivy if: inputs.scan uses: aquasecurity/trivy-action@master with: - image-ref: ${{ inputs.registry-url }}/flagsmith/${{ inputs.image-name }}:${{ steps.meta.outputs.version }} + image-ref: ${{ steps.image-tag.outputs.image-tag }} format: sarif output: trivy-results.sarif env: diff --git a/.github/workflows/.reusable-docker-e2e-tests.yml b/.github/workflows/.reusable-docker-e2e-tests.yml index 535e6384941a..9f0495e1fd28 100644 --- a/.github/workflows/.reusable-docker-e2e-tests.yml +++ b/.github/workflows/.reusable-docker-e2e-tests.yml @@ -4,11 +4,6 @@ name: Run Docker E2E tests on: workflow_call: inputs: - registry-url: - type: string - description: Github Container Registry base URL - required: false - default: ghcr.io api-image: type: string description: Core API Docker image to use, e.g., `ghcr.io/flagsmith/flagsmith-api:main` @@ -33,17 +28,27 @@ jobs: name: "E2E${{ inputs.tests && format(': {0}', inputs.tests) || '' }}" runs-on: ubuntu-latest + permissions: + contents: read + packages: read + id-token: write + steps: - name: Cloning repo uses: actions/checkout@v4 - name: Login to Github Container Registry + if: ${{ startsWith(inputs.api-image, 'ghcr.io') || startsWith(inputs.e2e-image, 'ghcr.io') }} uses: docker/login-action@v3 with: - registry: ${{ inputs.registry-url }} + registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Login to Depot Registry + if: startsWith(inputs.api-image, 'registry.depot.dev') || startsWith(inputs.e2e-image, 'registry.depot.dev') + run: depot pull-token | docker login -u x-token --password-stdin registry.depot.dev + - name: Run tests on dockerised frontend uses: nick-fields/retry@v3 with: @@ -61,10 +66,3 @@ jobs: E2E_CONCURRENCY: ${{ inputs.concurrency }} SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - - - name: Output Core API container status and logs - if: failure() - working-directory: frontend - run: | - docker compose -f docker-compose-e2e-tests.yml logs flagsmith-api - shell: bash diff --git a/.github/workflows/platform-docker-build-test-publish.yml b/.github/workflows/platform-docker-build-test-publish.yml index 8225da8ef30f..24c3bcc74073 100644 --- a/.github/workflows/platform-docker-build-test-publish.yml +++ b/.github/workflows/platform-docker-build-test-publish.yml @@ -66,6 +66,7 @@ jobs: api-image: ${{ matrix.api-image }} concurrency: ${{ matrix.args.concurrency }} tests: ${{ matrix.args.tests }} + secrets: inherit strategy: matrix: diff --git a/.github/workflows/platform-pull-request.yml b/.github/workflows/platform-pull-request.yml index 3011ca6d6096..82bf8a0504d1 100644 --- a/.github/workflows/platform-pull-request.yml +++ b/.github/workflows/platform-pull-request.yml @@ -62,6 +62,7 @@ jobs: with: target: oss-unified image-name: flagsmith + ephemeral: ${{ github.event.pull_request.author_association != 'MEMBER' }} docker-build-api: if: github.event.pull_request.draft == false @@ -70,6 +71,7 @@ jobs: with: target: oss-api image-name: flagsmith-api + ephemeral: ${{ github.event.pull_request.author_association != 'MEMBER' }} docker-build-frontend: if: github.event.pull_request.draft == false @@ -78,6 +80,7 @@ jobs: with: target: oss-frontend image-name: flagsmith-frontend + ephemeral: ${{ github.event.pull_request.author_association != 'MEMBER' }} docker-build-e2e: if: github.event.pull_request.draft == false @@ -86,10 +89,11 @@ jobs: with: file: frontend/Dockerfile.e2e image-name: flagsmith-e2e + ephemeral: ${{ github.event.pull_request.author_association != 'MEMBER' }} scan: false docker-build-private-cloud: - if: github.event.pull_request.draft == false + if: github.event.pull_request.draft == false && github.event.pull_request.author_association == 'MEMBER' name: Build Private Cloud Image uses: ./.github/workflows/.reusable-docker-build.yml with: @@ -100,19 +104,17 @@ jobs: github_private_cloud_token=${{ secrets.GH_PRIVATE_ACCESS_TOKEN }} run-e2e-tests: - needs: [docker-build-api, docker-build-private-cloud, docker-build-e2e] + needs: [docker-build-api, docker-build-e2e] uses: ./.github/workflows/.reusable-docker-e2e-tests.yml with: e2e-image: ${{ needs.docker-build-e2e.outputs.image }} - api-image: ${{ matrix.api-image }} + api-image: ${{ needs.docker-build-api.outputs.image }} concurrency: ${{ matrix.args.concurrency }} tests: ${{ matrix.args.tests }} + secrets: inherit strategy: matrix: - api-image: - - ${{ needs.docker-build-api.outputs.image }} - - ${{ needs.docker-build-private-cloud.outputs.image }} args: - tests: segment-part-1 environment concurrency: 1 diff --git a/frontend/Makefile b/frontend/Makefile index 446029723865..e285ccd7b63c 100644 --- a/frontend/Makefile +++ b/frontend/Makefile @@ -1,5 +1,8 @@ .EXPORT_ALL_VARIABLES: +COMPOSE_FILE ?= docker-compose-e2e-tests.yml +COMPOSE_PROJECT_NAME ?= flagsmith-e2e + DOTENV_OVERRIDE_FILE ?= .env E2E_CONCURRENCY ?= 3 @@ -25,5 +28,6 @@ serve: .PHONY: test test: - docker compose -f docker-compose-e2e-tests.yml run frontend \ - npx cross-env E2E_CONCURRENCY=${E2E_CONCURRENCY} npm run test -- $(opts) + docker compose run frontend \ + npx cross-env E2E_CONCURRENCY=${E2E_CONCURRENCY} npm run test -- $(opts) \ + || docker compose logs flagsmith-api From b9a6f92ec099cac58f16c989d44b86bead443a81 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 25 Jun 2024 14:50:31 +0100 Subject: [PATCH 41/45] fix(ci): Authenticate Trivy correctly for ephemeral build (#4227) --- .github/workflows/.reusable-docker-build.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/.reusable-docker-build.yml b/.github/workflows/.reusable-docker-build.yml index 92088474c87d..f48448334e94 100644 --- a/.github/workflows/.reusable-docker-build.yml +++ b/.github/workflows/.reusable-docker-build.yml @@ -111,9 +111,13 @@ jobs: steps.build.outputs.build-id) || format('{0}/flagsmith/{1}:{2}', inputs.registry-url, inputs.image-name, steps.meta.outputs.version) }} >> $GITHUB_OUTPUT - - name: Login to Depot Registry + - name: Render Depot token + id: depot-token if: inputs.scan && inputs.ephemeral - run: depot pull-token | docker login -u x-token --password-stdin registry.depot.dev + run: | + export DEPOT_TOKEN=$(depot pull-token) + echo ::add-mask::$DEPOT_TOKEN + echo depot-token=$DEPOT_TOKEN >> $GITHUB_OUTPUT - name: Run Trivy vulnerability scanner id: trivy @@ -124,8 +128,8 @@ jobs: format: sarif output: trivy-results.sarif env: - TRIVY_USERNAME: ${{ github.actor }} - TRIVY_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + TRIVY_USERNAME: ${{ inputs.ephemeral && 'x-token' || github.actor }} + TRIVY_PASSWORD: ${{ inputs.ephemeral && steps.depot-token.outputs.depot-token || secrets.GITHUB_TOKEN }} - name: Upload Trivy scan results to GitHub Security tab uses: github/codeql-action/upload-sarif@v2 From 19d0193bd32ba8db0d55b31875be7366f3142e61 Mon Sep 17 00:00:00 2001 From: Ben Rometsch Date: Tue, 25 Jun 2024 14:54:34 +0100 Subject: [PATCH 42/45] ci: docker images thru scarf (#4228) --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 02d5a8b2a6d6..6f378edd98df 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,7 +23,7 @@ services: start_period: 20s flagsmith: - image: flagsmith/flagsmith:latest + image: flagsmith.docker.scarf.sh/flagsmith/flagsmith:latest environment: # All environments variables are available here: # API: https://docs.flagsmith.com/deployment/locally-api#environment-variables @@ -68,7 +68,7 @@ services: # The flagsmith_processor service is only needed if TASK_RUN_METHOD set to TASK_PROCESSOR # in the application environment flagsmith_processor: - image: flagsmith/flagsmith:latest + image: flagsmith.docker.scarf.sh/flagsmith/flagsmith:latest environment: DATABASE_URL: postgresql://postgres:password@postgres:5432/flagsmith USE_POSTGRES_FOR_ANALYTICS: 'true' From 23ada114ff23c9be32c2779ecd75d51c5f56ada4 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 25 Jun 2024 17:23:19 +0100 Subject: [PATCH 43/45] chore(ci): Set up Depot CLI for E2E if required (#4229) --- .github/workflows/.reusable-docker-e2e-tests.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/.reusable-docker-e2e-tests.yml b/.github/workflows/.reusable-docker-e2e-tests.yml index 9f0495e1fd28..38ee54f35f6c 100644 --- a/.github/workflows/.reusable-docker-e2e-tests.yml +++ b/.github/workflows/.reusable-docker-e2e-tests.yml @@ -22,6 +22,12 @@ on: description: The concurrent number of browsers to be used on testing required: false default: 3 + use-depot: + type: boolean + required: false + default: > + ${{ startsWith(inputs.api-image, 'registry.depot.dev') || + startsWith(inputs.e2e-image, 'registry.depot.dev') }} jobs: run-e2e: @@ -45,8 +51,12 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Set up Depot CLI + if: inputs.use-depot + uses: depot/setup-action@v1 + - name: Login to Depot Registry - if: startsWith(inputs.api-image, 'registry.depot.dev') || startsWith(inputs.e2e-image, 'registry.depot.dev') + if: inputs.use-depot run: depot pull-token | docker login -u x-token --password-stdin registry.depot.dev - name: Run tests on dockerised frontend From 51f82df081e66c11c43d10613781060a7a6faed8 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 25 Jun 2024 18:03:13 +0100 Subject: [PATCH 44/45] chore(ci): Login to both registries for E2E (#4233) --- .github/workflows/.reusable-docker-e2e-tests.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/.reusable-docker-e2e-tests.yml b/.github/workflows/.reusable-docker-e2e-tests.yml index 38ee54f35f6c..5cb12d0042a5 100644 --- a/.github/workflows/.reusable-docker-e2e-tests.yml +++ b/.github/workflows/.reusable-docker-e2e-tests.yml @@ -22,12 +22,6 @@ on: description: The concurrent number of browsers to be used on testing required: false default: 3 - use-depot: - type: boolean - required: false - default: > - ${{ startsWith(inputs.api-image, 'registry.depot.dev') || - startsWith(inputs.e2e-image, 'registry.depot.dev') }} jobs: run-e2e: @@ -44,7 +38,6 @@ jobs: uses: actions/checkout@v4 - name: Login to Github Container Registry - if: ${{ startsWith(inputs.api-image, 'ghcr.io') || startsWith(inputs.e2e-image, 'ghcr.io') }} uses: docker/login-action@v3 with: registry: ghcr.io @@ -52,11 +45,9 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Set up Depot CLI - if: inputs.use-depot uses: depot/setup-action@v1 - name: Login to Depot Registry - if: inputs.use-depot run: depot pull-token | docker login -u x-token --password-stdin registry.depot.dev - name: Run tests on dockerised frontend From a3bae58ded58801132455f2d77c5394fb55e6b71 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 25 Jun 2024 18:10:06 +0100 Subject: [PATCH 45/45] chore(ci): Permission-based ephemeral Docker build (#4232) --- .github/workflows/platform-pull-request.yml | 26 +++++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/platform-pull-request.yml b/.github/workflows/platform-pull-request.yml index 82bf8a0504d1..4d819ceddf30 100644 --- a/.github/workflows/platform-pull-request.yml +++ b/.github/workflows/platform-pull-request.yml @@ -55,45 +55,61 @@ jobs: } ignored_types: '[]' + check-permissions: + name: Check actor permissions + runs-on: ubuntu-latest + outputs: + can-write: ${{ steps.check.outputs.require-result }} + steps: + - uses: actions-cool/check-user-permission@main + id: check + with: + require: write + docker-build-unified: if: github.event.pull_request.draft == false + needs: check-permissions name: Build Unified Image uses: ./.github/workflows/.reusable-docker-build.yml with: + ephemeral: ${{ !needs.check-permissions.outputs.can-write }} target: oss-unified image-name: flagsmith - ephemeral: ${{ github.event.pull_request.author_association != 'MEMBER' }} docker-build-api: if: github.event.pull_request.draft == false + needs: check-permissions name: Build API Image uses: ./.github/workflows/.reusable-docker-build.yml with: + ephemeral: ${{ !needs.check-permissions.outputs.can-write }} target: oss-api image-name: flagsmith-api - ephemeral: ${{ github.event.pull_request.author_association != 'MEMBER' }} docker-build-frontend: if: github.event.pull_request.draft == false + needs: check-permissions name: Build Frontend Image uses: ./.github/workflows/.reusable-docker-build.yml with: + ephemeral: ${{ !needs.check-permissions.outputs.can-write }} target: oss-frontend image-name: flagsmith-frontend - ephemeral: ${{ github.event.pull_request.author_association != 'MEMBER' }} docker-build-e2e: if: github.event.pull_request.draft == false + needs: check-permissions name: Build E2E Image uses: ./.github/workflows/.reusable-docker-build.yml with: + ephemeral: ${{ !needs.check-permissions.outputs.can-write }} file: frontend/Dockerfile.e2e image-name: flagsmith-e2e - ephemeral: ${{ github.event.pull_request.author_association != 'MEMBER' }} scan: false docker-build-private-cloud: - if: github.event.pull_request.draft == false && github.event.pull_request.author_association == 'MEMBER' + if: github.event.pull_request.draft == false && needs.check-permissions.outputs.can-write + needs: check-permissions name: Build Private Cloud Image uses: ./.github/workflows/.reusable-docker-build.yml with: