Relax TF provider version requirements - #121
Merged
Merged
Conversation
Stricter version requirements on providers cause more headacke than needed. Users often sit on various major versions of providers and forcing them to upgrade is often unnecessary. Relaxing the version requirements wildcards. We can reevaluate this if this causes any problems in the future Fix typos
Veetaha
force-pushed
the
feat/relax-tf-provider-version-requirements
branch
from
January 22, 2026 23:47
e488c94 to
3af0178
Compare
vsazhenyuk-softheme
approved these changes
Jan 23, 2026
anchoo2kewl
added a commit
that referenced
this pull request
Sep 24, 2026
Adds `database-monitoring/terraform`: the module that runs the Elastio database monitoring agent on AWS Fargate (elastio/blue-stack#17072). It is published as `aws-elastio-database-monitoring-agent` 0.1.0, so the registry source is `terraform.cloudsmith.io/public/elastio-database-monitoring-agent/aws`. Source: `deploy/terraform/aws-fargate` at tag `agent-v0.1.3` in the old agent repository, adapted for this repo. ## Changes from the source module - The `image` default is now `public.ecr.aws/elastio/elastio-database-monitoring-agent:0.1.4`. That image is not published yet. - All customer-visible names now use the `elastio-dbmon` prefix: - log group `/elastio-dbmon/agent/<name>` - secrets `elastio-dbmon/<name>/{api-key,database-url,hash-secret}-*` - roles `elastio-dbmon-<name16>-{exec,task}-*` - EFS security group `elastio-dbmon-<name16>-efs-*` - EFS `Name` tag `elastio-dbmon-<name>-ledger` - access point root `/elastio-dbmon` - inline policies `read-elastio-dbmon-secrets` and `mount-elastio-dbmon-ledger` - container `elastio-dbmon-agent` - resource descriptions - The name used in IAM role prefixes is cut to 16 characters. With the new prefix, the old 20-character cut exceeded IAM's 38-character limit for `name_prefix`. - The EFS `creation_token` is removed and the provider generates one. The old token was built from the full name, so it broke EFS's 64-character limit for long names. - IAM policies are now `jsonencode`, not `data "aws_iam_policy_document"`, to follow this repo's convention (#109). - The log driver region is now read from the log group ARN. `data.aws_region`'s `name` and `id` are both deprecated in AWS provider 6, and `required_providers` is now `aws >= 5.0` / `random >= 3.0` (the relaxed constraints from #121). `required_version` is `~> 1.9`. - Kept unchanged: - **Variable names.** The Elastio Portal renders a module call from them. - **The `QUELL_*` environment variable names.** They are the agent binary's configuration contract. - **The in-container ledger path `/var/lib/quell`.** It is the image's own volume, owned by the non-root user, and the ephemeral (non-EFS) mode depends on it. - There is no `moved {}` block. Resource addresses are the same as before; only the AWS-side names changed. - Added `examples/basic` (with its lock file, as the other examples have), a `names_and_image` test, and a region assertion. ## Checks run locally - `terraform init -backend=false && terraform validate`: valid, no warnings (AWS provider 6.66.0) - `terraform test`: 4 passed, 0 failed - `terraform validate` in `examples/basic`: valid - `terraform-docs` v0.19.0, then `prettier --check .`: clean - `tflint --recursive` (repo `.tflint.hcl`): clean - `typos`: clean - `terraform fmt`: clean on the new files ## Task size (commit 387bdde) - New inputs `task_cpu` (default 256) and `task_memory` (default 512, MiB). The product renders these names. Validation accepts only pairs that Fargate runs on ARM64: 256 with 512, 1024 or 2048; 512 with 1024 to 4096; 1024 with 2048 to 8192; 2048 with 4096 to 16384. Memory above 512 MiB goes in steps of 1024. - `GOMEMLIMIT` is `floor(task_memory * 0.8)` MiB. The agent's budget for one open transaction is 30% of that, so the budget follows the size. - The default image is now agent **0.1.6** (elastio/database-monitoring-agent#2). That release judges a transaction too large to hold from its row counts instead of crashing, and reports the task memory that would have held it. It also finds its memory limit on Fargate, which 0.1.5 did not. Tag `agent-v0.1.6` before this module is released. - README gains a Sizing section: the presets small 256/512, medium 512/1024, large 1024/2048 and xlarge 2048/4096; about how large a transaction each holds; the monthly cost in us-east-1 for ARM Fargate ($7.21 / $14.42 / $28.84 / $57.67); and "the Elastio UI tells you when to size up". - Tests: 14 pass. Each preset and one in-between size are planned, with their `GOMEMLIMIT`. Pairs Fargate does not run are refused at plan. The default image is checked as 0.1.6. - Checks: `terraform fmt`, `validate` (module and example), `test`, `tflint --recursive`, terraform-docs v0.19.0 plus prettier, and `typos`, all clean. ## Release After merge, someone with write access runs the `release` workflow (workflow_dispatch) on master. It publishes only modules whose `name-version` tag doesn't exist yet, so only this module is published. --------- Co-authored-by: Anshuman Biswas <abiswas@elastio.com> Co-authored-by: Maksim Svetlakov <maksuttt@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stricter version requirements on providers cause more headacke than needed. Users often sit on various major versions of providers and forcing them to upgrade is often unnecessary. Relaxing the version requirements wildcards. We can reevaluate this if this causes any problems in the future