78 Commits
Author SHA1 Message Date
Luke Heath 2f09a68085 Bump Fleet version to v4.90.0 (#273) 2026-08-05 21:09:57 -05:00
George Karr 2837d1621f bumping version (#270) 2026-07-16 12:02:40 -07:00
Luke Heath 5c22e0388a Bump Fleet version to v4.89.0 (#269) 2026-07-15 12:07:17 -07:00
George Karr c09d3aa68c bumping version (#265) 2026-07-10 18:33:56 -05:00
George Karr f4a67ec750 bumping version (#259) 2026-07-07 13:09:32 -05:00
George Karr 60436c5569 bumping version (#258) 2026-07-01 10:05:51 -05:00
Robert Fairburn b099b04e08 tf-mod-addon-migrations-v2.3.0 examples (#257) 2026-06-22 07:56:28 -05:00
Luke Heath 4e16c99b1c Bump Fleet version to 4.87.0 (#256) 2026-06-19 18:21:04 -07:00
Jorge Falcon 40751d25c3 Updating documentation and examples (#251) 2026-06-09 10:08:51 -04:00
Jorge Falcon a276eb6a98 Updating Fleet terraform examples (#249) 2026-06-05 15:02:17 -04:00
George Karr 802881fcf2 bumping version (#247) 2026-06-03 11:55:14 -05:00
Luke Heath 3b21e8d9fa Bump Fleet version references to v4.86.0 (#246) 2026-05-29 18:37:50 -05:00
George Karr 716d24be0e bumping version (#237) 2026-05-27 10:42:39 -05:00
Robert Fairburn 70e1e1b800 Examples db fix (#241) 2026-05-26 14:56:16 -05:00
Robert Fairburn 1bfc9a14be update tagged module versions to latest (#239) 2026-05-26 10:35:09 -05:00
Luke Heath 4763e68d85 Bump Fleet version references to v4.85.0 (#233) 2026-05-14 10:40:08 -05:00
George Karr 653ad24c5c bumping version (#232) 2026-05-07 14:01:00 -05:00
Jorge Falcon 10aebc2b8a Example and README updates (#224)
Example Updates:
- `../example/main.tf`

README Updates:
- `byo-cloudwatch-log-sharing/target-account-firehose/.header.md`
- `byo-cloudwatch-log-sharing/target-account-firehose/README.md`
- `byo-file-carving/target-account/README.md`
- `byo-firehose-logging-destination/target-account/README.md`
- `logging-destination-datadog/.header.md`
- `logging-destination-datadog/README.md`
- `logging-destination-firehose/README.md`
- `logging-destination-snowflake/.header.md`
- `logging-destination-snowflake/README.md`
- `logging-destination-splunk/.header.md`
- `logging-destination-splunk/README.md`
- `okta-conditional-access/.header.md`
- `okta-conditional-access/README.md`
- `osquery-carve/README.md`
- `../byo-vpc/example/README.md`
- `../byo-vpc/example/main.tf`
- `../example/README.md`
2026-05-05 13:01:21 -04:00
George Karr 44bd43b643 bumping version (#230) 2026-04-30 23:43:43 -05:00
Luke Heath e92fccffcb Bump Fleet to v4.84.0 (#226) 2026-04-24 20:45:43 -05:00
George Karr 3455439b15 bumping version (#222) 2026-04-21 13:32:29 -05:00
Robert Fairburn ed71e24bbe documentation updates for latest tf modules (#206) 2026-04-07 17:33:30 -05:00
Luke Heath d2a65c0a6e Bump Fleet to v4.83.0 (#203) 2026-04-01 11:31:32 -05:00
Robert Fairburn e7faee93de Kms cmk root to byo db (#193)
## Highlights

- Upgrades Aurora from `terraform-aws-modules/rds-aurora/aws` `7.6.0` to
`9.16.1`
- Bumps the Terraform minimum version from `>= 1.3.8` to `>= 1.5.0`
- Adds CMK support across newly exposed RDS, Redis, VPC, ECS, and Fleet
surfaces
- Adds additive per-key `extra_kms_policies` support across the root ->
`byo-vpc` -> `byo-db` -> `byo-ecs` path
- Moves software-installers KMS policy ownership out of
`addons/cloudfront-software-installers` and back into `byo-ecs`
- Extends monitoring and ECS integration to work with CMK-encrypted DB
password secrets
- Adds migration tooling and docs for Aurora storage KMS replacement and
CloudWatch Logs KMS cutovers

## Aurora module upgrade: `7.6.0` -> `9.16.1`

This PR keeps a single Aurora module path on upstream `9.16.1` and
updates the Fleet wrapper modules to preserve compatibility where
possible while exposing the new KMS and observability capabilities.

Notable changes handled in the wrapper:

- `security_group_rules`
- upstream moved from older SG rule addressing to the newer
`security_group_rules` model
- added `moved` handling for the confirmed SG rule address rename to
avoid unnecessary destroy/create churn

- `manage_master_user_password`
  - the wrapper continues to own the DB password flow
  - Aurora is kept on `manage_master_user_password = false`
- Secrets Manager integration remains wrapper-managed rather than
switching to upstream-managed password behavior

- `final_snapshot_identifier`
  - wrapper support was added so old behavior is preserved
  - if unset, the legacy generated naming pattern is still used
  - callers can now override it explicitly

- Observability / Database Insights wiring
- cluster-level Performance Insights / Database Insights configuration
was added to match Aurora's current control surface
- monitoring behavior was aligned to cluster-level management for
consistency with the Aurora module and Database Insights requirements

- `backtrack_window`
  - added optional pass-through support for Aurora MySQL backtracking
  - validated as `null` or `0..259200`

## Terraform version bump

This PR raises the Terraform minimum version from `>= 1.3.8` to `>=
1.5.0`.

Reason:
- deprecation warnings for legacy KMS `enabled` flags now use Terraform
`check` blocks
- `check` blocks require Terraform `1.5+`

This was done so published interfaces can remain backward-compatible for
existing `enabled` users while still warning during plan/apply and
preferring `cmk_enabled`.

## KMS surface expansion and pass-through

This PR adds or expands CMK support for:

- Aurora storage
- Aurora password secret
- Aurora observability / Performance Insights
- Aurora exported log groups
- Redis at-rest encryption
- Redis log groups
- VPC flow log CloudWatch log groups
- ECS cluster log groups
- Fleet private-key secret
- Fleet Fargate ephemeral storage
- Fleet application logs
- Fleet software installers

It also adds additive `extra_kms_policies` support across those
module-owned CMK surfaces so callers can append narrowly scoped
statements without replacing the inherited base policy.

During validation of the cron-monitoring integration, I found that the
root module schema was still dropping some nested KMS attributes before
they reached `byo-vpc`. This PR now carries those fields all the way
through to their final destinations, including:

- `rds_config.*.extra_kms_policies`
- `redis_config.*.extra_kms_policies`
- `ecs_cluster.cloudwatch_log_group.kms.extra_kms_policies`
- `fleet_config.private_key_secret_kms.extra_kms_policies`
- `fleet_config.fargate_ephemeral_storage_kms.extra_kms_policies`
- `fleet_config.awslogs.kms.extra_kms_policies`
- `fleet_config.software_installers.extra_kms_policies`
- `fleet_config.software_installers.cloudfront_distribution_arn`
- `vpc.flow_log_cloudwatch_log_group_kms.extra_kms_policies`

## DB password secret KMS handoff to monitoring

`byo-vpc` now exposes:

- `rds_password_secret_kms_key_arn`

The monitoring addon now accepts:

- `cron_monitoring.mysql_password_secret_kms_key_arn`

The monitoring addon also now exposes:

- `cron_monitoring_lambda_arn`
- `cron_monitoring_lambda_role_arn`

This is needed so the cron-monitoring Lambda can decrypt the Fleet DB
password secret when that secret is encrypted with a customer-managed
KMS key.

Expected wiring:

```hcl
module "monitoring" {
  # ...
  cron_monitoring = {
    # ...
    mysql_password_secret_name        = "${local.customer}-database-password"
    mysql_password_secret_kms_key_arn = module.main.byo-vpc.rds_password_secret_kms_key_arn
  }
}
```

## Software installers KMS ownership change

This PR changes the software-installers KMS contract:

- `addons/cloudfront-software-installers` no longer manages the
software-installers KMS key policy
- `byo-ecs` now owns the software-installers CMK policy, including
required service / principal statements
- `fleet_config.software_installers.cloudfront_distribution_arn` is the
static input used to add the CloudFront KMS statement without
introducing a module cycle
- `byo-ecs` also adds the explicit Fleet task-role KMS statement
required under the narrower external key-policy model
- the CloudFront addon exposes `cloudfront_distribution_arn` for
visibility, but that output should not be fed back into `byo-ecs`
because that would create a dependency cycle

Important compatibility note:

- if software installers uses KMS at all, it must use a customer-managed
key
- CloudFront requires a key-policy statement on that key
- the AWS-managed default key cannot be modified to attach that policy

## Other notable items

- Added and expanded migration docs for RDS and Redis KMS adoption
- Added `byo-vpc/scripts/rds_storage_kms_migration.sh` to automate
Aurora storage-KMS migration workflows
- Added `scripts/cloudwatch_logs_kms_migration.sh` to help identify and
optionally remove pre-cutover log streams after associating a new KMS
key with a CloudWatch Logs group
- Normalized `cmk_enabled` usage while preserving deprecated `enabled`
compatibility only for previously published interfaces
- Refactored `addons/logging-alb` KMS policy handling to support
`kms_base_policy` and align it with the structured KMS statement model
used elsewhere
- Reduced repeated KMS policy boilerplate within modules where it was
materially duplicated

## Compatibility notes

- Existing published KMS interfaces that previously used `enabled` still
accept it, but now warn and prefer `cmk_enabled`
- New KMS surfaces are `cmk_enabled`-only
- Software-installers KMS policy ownership moved from
`addons/cloudfront-software-installers` to `byo-ecs`

## Validation

Validated module stacks after the refactors:

- `root`
- `byo-vpc`
- `byo-db`
- `byo-ecs`
- `addons/monitoring`
- `addons/cloudfront-software-installers`
- `addons/logging-alb`
2026-03-20 12:07:38 -05:00
George Karr 17758a0e7d bumping version (#195) 2026-03-19 17:46:47 -05:00
Luke Heath e7427a23d8 Bump Fleet to v4.82.0 (#194) 2026-03-12 10:12:50 -05:00
George Karr db1dae4b0a Bumping version (#188) 2026-03-06 20:01:20 -06:00
George Karr 7c957c4656 Bumping version (#186) 2026-03-05 16:23:52 -06:00
Luke Heath bf8b38c19e Bump Fleet to v4.81.0 (#181) 2026-02-20 17:32:12 -06:00
George Karr bb63adea10 Bumping version (#177) 2026-02-12 13:57:08 -06:00
Jorge Falcon af6c5d95de AWS Terraform Example Updates (#175)
Example updates to reference updated modules
- tf-mod-root-v1.20.1
- tf-mod-byo-vpc-v1.22.1
2026-02-10 09:43:50 -05:00
Luke Heath cd62508ff5 Bump Fleet to v4.80.0 (#174) 2026-02-03 16:07:46 -06:00
George Karr 75854ad3f0 update version (#169) 2026-01-20 06:53:07 -05:00
Steven PalmesanoandJorge Falcon 382bde0d91 Add example for disabling the /version page for security hardening (#159)
Per @BCTBB's testing done here:
https://fleetdm.slack.com/archives/C051QJU3D0V/p1767198630645379?thread_ts=1767193373.532409&cid=C051QJU3D0V

---------

Co-authored-by: Jorge Falcon <22119513+BCTBB@users.noreply.github.com>
2026-01-16 15:20:13 -05:00
Robert Fairburn 4e6b55b731 Update documentation and examples for latest (#165) 2026-01-16 13:53:05 -06:00
Luke Heath 974ece5934 Bump Fleet to 4.79.0 (#164) 2026-01-14 16:10:20 -06:00
George Karr 7925843515 Bumping patch (#163) 2026-01-13 13:56:14 -06:00
George Karr c0eb02555e Bumping patch version (#161) 2026-01-10 22:01:49 -06:00
George Karr e7408fb07a New update 4.78.1 (#160) 2026-01-06 16:55:07 -06:00
Luke Heath 7569dc709b Bump Fleet to v4.78.0 (#155) 2025-12-19 17:25:09 -06:00
Robert Fairburn 56f96d216f Update examples for new tags (#152) 2025-12-11 09:05:32 -06:00
Luke Heath 9971d6cdab Bump Fleet to 4.77.0 (#147) 2025-12-05 11:03:06 -06:00
George Karr 6c36777c40 Bumping version (#143) 2025-11-18 12:32:25 -06:00
Luke Heath af0b0bceed Bump Fleet to v4.76.0 (#133) 2025-11-07 19:19:18 -06:00
George Karr f0ce62bf29 Bumping version for 4.75.1 (#124) 2025-10-21 15:19:29 -05:00
Luke Heath 415295e3d1 Bump Fleet to v4.75.0 (#121) 2025-10-17 18:32:55 -05:00
Luke Heath e58a969cbb Prepare Fleet v4.74.0 (#118) 2025-10-06 17:22:05 -05:00
George Karr 364e3a1327 Bumping version (#114) 2025-10-01 14:50:10 -05:00
Luke Heath 22cf851486 Bump to Fleet v4.73.3 (#110) 2025-09-27 15:19:58 -05:00
George Karr d7ebda0d08 New version 4.73.2 (#108) 2025-09-23 19:30:10 -04:00