generated from cloudposse/terraform-example-module
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: support AWS SSM tailscaled state (#41)
## what * This adds support to store `tailscaled` state in AWS SSM. This helps reusing device state names rather than deleting old devices which is not supported by Tailscale via Terraform ATM. * This adds recent Masterpoint's GH + CRabbit configs. * This sets trunk update to run less often to reduce noise. * This adds ability to confugure ASG min/max size and desired capacity. This is important in case of using an external state to avoid the [`Duplicate node key ` issue](https://tailscale.com/kb/1023/troubleshooting): > This can occur if you use a backup of one device to create another, or clone a file system from one device to another. The Tailscale configuration files are duplicated. The Tailscale files will need to be removed from one of the two. You can identify duplicated devices in the [Machines](https://login.tailscale.com/admin/machines) page of the admin console by looking for a Duplicate node key badge underneath the device name. On one of the systems, [uninstall and completely delete](https://tailscale.com/kb/1069/uninstall) the Tailscale app. It is especially important to remove the files listed for your platform, the goal is to make a new Tailscale IP address when it is installed again. Then, [reinstall the app](https://tailscale.com/kb/install). ## why * Ephemeral nodes behave glitchy during the rotation - we had to perform a manual instance restart to run Tailscale. It's hard to reproduce, so keeping a state in external storage in one more option to try to keep the device in order. ## references * https://tailscale.com/kb/1278/tailscaled#flags-to-tailscaled <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Introduced a new configuration file for CodeRabbit integration, enhancing review and feedback processes. - Added new modules for managing SSM state parameters and IAM policies in the Terraform setup. - Expanded configuration options with new variables for Auto Scaling Group and Tailscale state management. - Updated the workflow for trunk upgrades to run monthly, improving efficiency. - **Documentation** - Enhanced `README.md` with new module and variable details for better user guidance. - **Chores** - Updated `.gitignore` to manage ignored files more effectively. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Matt Gowie <matt@masterpoint.io>
- Loading branch information
Showing
8 changed files
with
210 additions
and
24 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
# Docs: https://docs.coderabbit.ai/configure-coderabbit | ||
# Schema: https://coderabbit.ai/integrations/schema.v2.json | ||
# Support: https://discord.gg/GsXnASn26c | ||
|
||
language: en | ||
|
||
tone_instructions: | | ||
Provide feedback in a professional, friendly, constructive, and concise tone. | ||
Offer clear, specific suggestions and best practices to help enhance the code quality and promote learning. | ||
early_access: true | ||
|
||
knowledge_base: | ||
# The scope of learnings to use for the knowledge base. | ||
# `local` uses the repository's learnings, | ||
# `global` uses the organization's learnings, | ||
# `auto` uses repository's learnings for public repositories and organization's learnings for private repositories. | ||
# Default value: `auto` | ||
learnings: | ||
scope: global | ||
issues: | ||
scope: global | ||
pull_requests: | ||
scope: global | ||
|
||
reviews: | ||
profile: chill | ||
auto_review: | ||
# Ignore reviewing if the title of the pull request contains any of these keywords (case-insensitive) | ||
ignore_title_keywords: | ||
- wip | ||
- draft | ||
- test | ||
# Set the commit status to 'pending' when the review is in progress and 'success' when it is complete. | ||
commit_status: false | ||
# Post review details on each review. Additionally, post a review status when a review is skipped in certain cases. | ||
review_status: false | ||
path_instructions: | ||
- path: "**/*.tf" | ||
instructions: | | ||
You're a Terraform expert who has thoroughly studied all the documentation from Hashicorp https://developer.hashicorp.com/terraform/docs and OpenTofu https://opentofu.org/docs/. | ||
You have a strong grasp of Terraform syntax and prioritize providing accurate and insightful code suggestions. | ||
As a fan of the Cloud Posse / SweetOps ecosystem, you incorporate many of their best practices https://docs.cloudposse.com/best-practices/terraform/ while balancing them with general Terraform guidelines. | ||
tools: | ||
# By default, all tools are enabled. | ||
# Masterpoint uses Trunk (https://trunk.io) so we do not need a lot of this feedback due to overlap. | ||
shellcheck: | ||
enabled: false | ||
ruff: | ||
enabled: false | ||
markdownlint: | ||
enabled: false | ||
github-checks: | ||
enabled: false | ||
languagetool: | ||
enabled: false | ||
biome: | ||
enabled: false | ||
hadolint: | ||
enabled: false | ||
swiftlint: | ||
enabled: false | ||
phpstan: | ||
enabled: false | ||
golangci-lint: | ||
enabled: false | ||
yamllint: | ||
enabled: false | ||
gitleaks: | ||
enabled: false | ||
checkov: | ||
enabled: false | ||
detekt: | ||
enabled: false | ||
eslint: | ||
enabled: false | ||
rubocop: | ||
enabled: false | ||
buf: | ||
enabled: false | ||
regal: | ||
enabled: false | ||
actionlint: | ||
enabled: false | ||
pmd: | ||
enabled: false | ||
cppcheck: | ||
enabled: false | ||
circleci: | ||
enabled: false |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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