uuid: - value: 12b405e6-2827-4279-b85a-7f06475a69a4 langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:44+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: | Introducing feature flags to "build-configs" created: - value: '2023-04-17T00:00:00+00:00' changed: - value: '2025-05-11T09:00:44+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2023/04/17/introducing-feature-flags-to-build-configs langcode: en body: - value: |
Yesterday, I wanted to make a breaking change to my build-configs project - changing the default database credentials that are used by Docker Compose.
As I have several projects based on generated files by the tool, changing the values could cause issues in those projects in the future and this is something that I wanted to avoid.
To avoid this issue and needing to update all of my projects at once, I added a feature flag to the build.yaml
file so I can opt-in to this feature on a per-project basis.
If a project, like my Drupal and LocalGov Drupal Docker examples, are opted in, its files will get the new credentials. If not, it will continue to use the original ones.
In this commit, you'll see where I enabled the feature flag and committed the resulting change.
I can continue to work on existing projects without them breaking, and migrate projects one at a time by using the feature flag instead of needing to do them all once.
Once all active projects have been migrated or completed, the feature flag can be removed and I can refactor and simplify the code - removing the feature flag and the legacy values.
format: full_html processed: |Yesterday, I wanted to make a breaking change to my build-configs project - changing the default database credentials that are used by Docker Compose.
As I have several projects based on generated files by the tool, changing the values could cause issues in those projects in the future and this is something that I wanted to avoid.
To avoid this issue and needing to update all of my projects at once, I added a feature flag to the build.yaml
file so I can opt-in to this feature on a per-project basis.
If a project, like my Drupal and LocalGov Drupal Docker examples, are opted in, its files will get the new credentials. If not, it will continue to use the original ones.
In this commit, you'll see where I enabled the feature flag and committed the resulting change.
I can continue to work on existing projects without them breaking, and migrate projects one at a time by using the feature flag instead of needing to do them all once.
Once all active projects have been migrated or completed, the feature flag can be removed and I can refactor and simplify the code - removing the feature flag and the legacy values.
summary: null field_daily_email_cta: { }