Skip to content

Conversation

westonplatter
Copy link
Member

@westonplatter westonplatter commented Jun 19, 2025

what

Possible thumbnail images

terraform-googleworkspace-1

terraform-googleworkspace-3

terraform-googleworkspace-2

Summary by CodeRabbit

  • Documentation

    • Published a new blog post on managing Google Workspace users with Terraform, detailing the move from manual management to Infrastructure as Code, module design, practical examples, testing strategies, and benefits for streamlined user onboarding.
  • Chores

    • Updated .gitignore to exclude additional tool-specific files and directories.

Copy link

netlify bot commented Jun 19, 2025

Deploy Preview for masterpoint ready!

Name Link
🔨 Latest commit 5402ab3
🔍 Latest deploy log https://app.netlify.com/projects/masterpoint/deploys/68782dbe0e95c70008ee7a37
😎 Deploy Preview https://deploy-preview-66--masterpoint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 22
Accessibility: 89
Best Practices: 92
SEO: 79
PWA: 70
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

coderabbitai bot commented Jun 19, 2025

## Walkthrough

The changes update the `.gitignore` file to add ignore patterns for `.cursor/`, `CLAUDE.md`, and `.claude/`, with explanatory comments. Additionally, a new blog post is introduced that discusses managing Google Workspace users via Terraform, providing practical examples, module design decisions, and implementation details.

## Changes

| File(s)                                                                                  | Change Summary                                                                                                  |
|-----------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| .gitignore                                                                              | Added ignore patterns for `.cursor/`, `CLAUDE.md`, and `.claude/` with comments about developer tooling configs. |
| content/blog/platform-engineering-way-to-manage-google-workspace-users.md                | Added a new blog post detailing Google Workspace user management with Terraform, including examples and design rationale. |

## Sequence Diagram(s)

```mermaid
sequenceDiagram
    participant Developer
    participant GitHub
    participant Terraform Module
    participant Google Workspace

    Developer->>GitHub: Submit PR with user/group config changes
    GitHub->>Terraform Module: Run validation/integration tests
    Terraform Module->>Google Workspace: Apply user/group updates via provider
    Google Workspace-->>Terraform Module: Confirm changes
    Terraform Module-->>GitHub: Report test/apply results
    GitHub-->>Developer: Notify PR status

Suggested reviewers

  • gberenice

<!-- walkthrough_end -->
<!-- internal state start -->


<!-- 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 -->

<!-- internal state end -->
<!-- tips_start -->

---

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=masterpointio/masterpoint.io&utm_content=66):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Explain this complex logic.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai explain this code block.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and explain its main purpose.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

### Support

Need help? Create a ticket on our [support page](https://www.coderabbit.ai/contact-us/support) for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai generate sequence diagram` to generate a sequence diagram of the changes in this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (7)
.gitignore (1)

6-7: Confirm intended ignore pattern for CLAUDE.md
The entry CLAUDE.md will ignore files with that exact name anywhere in the repository. If you only intend to ignore the root-level file, consider prefixing it with a slash (e.g., /CLAUDE.md).

content/blog/manaing-google-workspace-with-terrafrom.md (6)

2-3: Update draft status before publishing
You’ve set draft: true; remember to switch this to draft: false when ready to go live so the article becomes visible on the site.


43-46: Hyphenate compound adjectives
Consider hyphenating “open source” and “command line” as “open-source” and “command-line” for consistency and improved readability.


51-51: Use “sign in to” instead of “sign into”
Replace “sign into multiple AWS accounts” with “sign in to multiple AWS accounts” to reflect standard usage.


52-52: Correct compound word spelling
Change “straight forward” to “straightforward” to match standard English usage.


152-152: Consistent ordered list numbering
Markdown lint rule MD029 prefers all ordered items start with “1.”. Change the “2.” at this line to “1.” to satisfy consistent numbering.


1-293: Run automatic formatting
The file fails Prettier checks. Please run trunk fmt or prettier --write to ensure consistent Markdown formatting before merging.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9e6bd3c and 371877a.

📒 Files selected for processing (2)
  • .gitignore (1 hunks)
  • content/blog/manaing-google-workspace-with-terrafrom.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/manaing-google-workspace-with-terrafrom.md

[grammar] ~34-~34: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...ategy. * Nobody remembers why or when a permission was changed. * Group membership becom...

(A_UNCOUNTABLE_NOUN)


[typographical] ~39-~39: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ... manage across many different SaaS tools. It's important to have systems in place...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~43-~43: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the Terr...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~44-~44: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~51-~51: Possible missing comma found.
Context: ...m's permissions. 3. Easily manage SSO configurations allowing engineers to sign into multipl...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~51-~51: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...SO configurations allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~52-~52: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...e user and team settings in a clear and straight forward approach. Here's the GitHub link for t...

(STRAIGHT_FORWARD_COMPOUND)


[uncategorized] ~106-~106: Possible missing comma found.
Context: ... Design Decisions to Make It Intuitive Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~287-~287: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

🪛 markdownlint-cli2 (0.17.2)
content/blog/manaing-google-workspace-with-terrafrom.md

152-152: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1

(MD029, ol-prefix)

🪛 GitHub Check: Trunk Check
content/blog/manaing-google-workspace-with-terrafrom.md

[notice] 152-152: markdownlint(MD029)
[new] Ordered list item prefix


[failure] 1-1: prettier
Incorrect formatting, autoformat by running 'trunk fmt'

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (8)
content/blog/managing-google-workspace-with-terraform.md (8)

10-10: Replace raw HTML callout with Markdown blockquote
Raw HTML reduces readability and bypasses Markdown styling. Use a > blockquote with Markdown for the callout section instead of an inline <p> tag.


35-35: Remove indefinite article before “permission”
“permission” is uncountable here; consider “when permissions were changed” or “when permission changes occurred.”


40-40: Comma parenthetical phrase
Insert commas around “and dare we say departments” for proper punctuation and readability:

…teams, (and dare we say, departments), become more distributed…

44-44: Hyphenate “open-source”
Use the compound adjective “open-source solutions” to align with style guidelines.


44-46: Vary opening sentence structure
Multiple consecutive sentences begin with “We.” Consider rewording one of these to improve flow and avoid repetition.


52-53: Clarify list items and fix modifiers

  • Add a comma before “allowing” for clarity.
  • Change “sign into” → “sign in to” when referring to logging in.
  • Merge “straight forward” → “straightforward” for the compound adjective.

111-111: Comma after introductory phrase
Insert a comma after “Below” for correct punctuation:

Below, we point out a few…

291-291: Add comma in compound sentence
Consider adding a comma before “and” to separate independent clauses:

We love this workflow, and we hope it’s useful…
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 90d06c9 and 33bc310.

📒 Files selected for processing (2)
  • .cursor/rules/blog-article-review.mdc (1 hunks)
  • content/blog/managing-google-workspace-with-terraform.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .cursor/rules/blog-article-review.mdc
🧰 Additional context used
🪛 LanguageTool
content/blog/managing-google-workspace-with-terraform.md

[grammar] ~35-~35: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~40-~40: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ... manage across many different SaaS tools. It's important to have systems in place...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the Terr...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~52-~52: Possible missing comma found.
Context: ...eam's permissions. 3. Easily manage SSO configurations allowing engineers to sign into multipl...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~52-~52: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...SO configurations allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~53-~53: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...e user and team settings in a clear and straight forward approach. Here's the GitHub link for t...

(STRAIGHT_FORWARD_COMPOUND)


[uncategorized] ~110-~110: Possible missing comma found.
Context: ... Design Decisions to Make It Intuitive Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~291-~291: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (8)
content/blog/managing-google-workspace-with-terraform.md (8)

10-10: Close HTML tags in callout frontmatter

The callout opens <p> and <b> tags but doesn’t close them, which can break rendering in some markdown parsers.

-callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a>
+callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></b></p>

35-35: Remove unnecessary article before “permission”

In this context “permission” is uncountable; drop the “a” for clarity.

- - Nobody remembers why or when a permission was changed.
+ - Nobody remembers why or when permission was changed.

40-40: Set off the parenthetical “dare we say” with commas

Add commas to improve readability around the parenthetical phrase.

- As a company grows past 10, dozens, or 100+ people, teams (and dare we say departments) become more distributed and harder to manage…
+ As a company grows past 10, dozens, or 100+ people, teams (and, dare we say, departments) become more distributed and harder to manage…

44-44: Hyphenate “open-source” when used as an adjective

Compound adjectives should be hyphenated.

- We looked at a couple of open source solutions and decided on using the Terraform Google Workspace provider.
+ We looked at a couple of open-source solutions and decided on using the Terraform Google Workspace provider.

52-53: Insert comma, correct “sign in to”, and merge “straightforward”

Improve grammar and compound-word usage in list items.

- 3. Easily manage SSO configurations allowing engineers to sign into multiple AWS accounts using their Google Identity.
- 4. Intuitively organize user and team settings in a clear and straight forward approach.
+ 3. Easily manage SSO configurations, allowing engineers to sign in to multiple AWS accounts using their Google Identity.
+ 4. Intuitively organize user and team settings in a clear and straightforward approach.

63-63: Remove extra period in parentheses

Two dots appear after the closing parenthesis.

- …create your own `users.yaml` and `groups.yaml` files)..
+ …create your own `users.yaml` and `groups.yaml` files).

110-110: Add comma after introductory word “Below”

An introductory adverbial phrase should be followed by a comma.

- Below we point out a few Terraform module design decisions we made to reduce friction as others use the module.
+ Below, we point out a few Terraform module design decisions we made to reduce friction as others use the module.

291-291: Add comma before coordinating conjunction “and”

Coordinate independent clauses with a comma.

- We love this workflow and we hope it's useful to you and your team!
+ We love this workflow, and we hope it's useful to you and your team!
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 33bc310 and 453536d.

📒 Files selected for processing (1)
  • content/blog/managing-google-workspace-with-terraform.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/managing-google-workspace-with-terraform.md

[grammar] ~35-~35: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~40-~40: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ... manage across many different SaaS tools. It's important to have systems in place...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the Terr...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~52-~52: Possible missing comma found.
Context: ...eam's permissions. 3. Easily manage SSO configurations allowing engineers to sign into multipl...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~52-~52: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...SO configurations allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~53-~53: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...e user and team settings in a clear and straight forward approach. Here's the GitHub link for t...

(STRAIGHT_FORWARD_COMPOUND)


[typographical] ~63-~63: Two consecutive dots
Context: ...wn users.yaml and groups.yaml files).. 2. Create New Resources Start...

(DOUBLE_PUNCTUATION)


[uncategorized] ~110-~110: Possible missing comma found.
Context: ... Design Decisions to Make It Intuitive Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~291-~291: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint

@westonplatter westonplatter requested a review from a team as a code owner June 24, 2025 16:19
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (7)
content/blog/managing-google-workspace-with-terraform.md (7)

10-11: Close the <p> tag in the front-matter callout string.

The HTML in the callout field opens a <p> element but never closes it, which can break page markup in some MD renderers.

-callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a>
+callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help.</b> We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>

34-38: Minor grammar tweak – use plural “permissions”.

a permission sounds odd with an uncountable noun. Small polish for readability.

- Nobody remembers why or when a permission was changed.
+ Nobody remembers why or when permissions were changed.

40-41: Add a question mark after the parenthetical “dare we say”.

The phrase is rhetorical, so punctuate it as a question.

- (and dare we say departments) become more distributed and harder to manage
+ (and dare we say departments?) become more distributed and harder to manage

44-46: Hyphenate compound adjective “open-source”.

- a couple of open source solutions
+ a couple of open-source solutions

50-54: Tighten wording & fix “sign into” / “straight forward”.

- 3. Easily manage SSO configurations allowing engineers to sign into multiple AWS accounts using their Google Identity.
- 4. Intuitively organize user and team settings in a clear and straight forward approach.
+ 3. Easily manage SSO configurations, allowing engineers to sign in to multiple AWS accounts using their Google identity.
+ 4. Intuitively organize user and team settings in a clear and straightforward way.

63-64: Remove double punctuation.

- files)..
+ files).

156-156: Fix ordered-list numbering to satisfy markdown-lint (MD029).

Restarting at 1. avoids tooling warnings and keeps maintenance simple.

-2. **Test validations in the variables.tf file.**
+1. **Test validations in the variables.tf file.**
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 453536d and 6e3d05e.

📒 Files selected for processing (1)
  • content/blog/managing-google-workspace-with-terraform.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/managing-google-workspace-with-terraform.md

[grammar] ~35-~35: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~40-~40: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ... manage across many different SaaS tools. It's important to have systems in place...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the Terr...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~52-~52: Possible missing comma found.
Context: ...eam's permissions. 3. Easily manage SSO configurations allowing engineers to sign into multipl...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~52-~52: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...SO configurations allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~53-~53: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...e user and team settings in a clear and straight forward approach. Here's the GitHub link for t...

(STRAIGHT_FORWARD_COMPOUND)


[typographical] ~63-~63: Two consecutive dots
Context: ...wn users.yaml and groups.yaml files).. 2. Create New Resources Start...

(DOUBLE_PUNCTUATION)


[uncategorized] ~110-~110: Possible missing comma found.
Context: ... Design Decisions to Make It Intuitive Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~291-~291: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

🪛 markdownlint-cli2 (0.17.2)
content/blog/managing-google-workspace-with-terraform.md

156-156: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1

(MD029, ol-prefix)

🪛 GitHub Check: Trunk Check
content/blog/managing-google-workspace-with-terraform.md

[notice] 156-156: markdownlint(MD029)
[new] Ordered list item prefix


[failure] 1-1: prettier
Incorrect formatting, autoformat by running 'trunk fmt'

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint
🔇 Additional comments (1)
content/blog/managing-google-workspace-with-terraform.md (1)

1-296: Run repository formatter (trunk fmt / Prettier) once wording changes are applied.

Formatting is currently failing CI; running the project's auto-formatter will resolve any spacing and line-wrap issues introduced by edits.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (5)
content/blog/managing-google-workspace-with-terraform.md (5)

35-36: Pluralise “permissions” and fix verb agreement

-- Nobody remembers why or when a permission was changed.
+- Nobody remembers why or when permissions were changed.

44-47: Hyphenate the compound adjective “open-source”

-We looked at a couple of open source solutions
+We looked at a couple of open-source solutions

50-54: Minor wording tweaks in the motivation list

-3. Easily manage SSO configurations allowing engineers to sign into multiple AWS accounts using their Google Identity.
+3. Easily manage SSO configurations, allowing engineers to sign in to multiple AWS accounts using their Google Identity.
-4. Intuitively organize user and team settings in a clear and straight forward approach.
+4. Intuitively organise user and team settings in a clear and straightforward manner.

62-64: Remove double punctuation

-...create your own `users.yaml` and `groups.yaml` files)..
+...create your own `users.yaml` and `groups.yaml` files).

156-156: Conform ordered-list numbering to project markdown-lint rule (1/1/1)

markdownlint (MD029) expects every ordered-list item to start with 1..

-2. **Test validations in the variables.tf file.**
+1. **Test validations in the variables.tf file.**
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6e3d05e and e4f0587.

📒 Files selected for processing (1)
  • content/blog/managing-google-workspace-with-terraform.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/managing-google-workspace-with-terraform.md

[style] ~16-~16: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[style] ~30-~30: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[grammar] ~35-~35: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~40-~40: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ... manage across many different SaaS tools. It's important to have systems in place...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the Terr...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~52-~52: Possible missing comma found.
Context: ...eam's permissions. 3. Easily manage SSO configurations allowing engineers to sign into multipl...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~52-~52: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...SO configurations allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~53-~53: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...e user and team settings in a clear and straight forward approach. Here's the GitHub link for t...

(STRAIGHT_FORWARD_COMPOUND)


[typographical] ~63-~63: Two consecutive dots
Context: ...wn users.yaml and groups.yaml files).. 2. Create New Resources Start...

(DOUBLE_PUNCTUATION)


[uncategorized] ~110-~110: Possible missing comma found.
Context: ... Design Decisions to Make It Intuitive Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~291-~291: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

🪛 markdownlint-cli2 (0.17.2)
content/blog/managing-google-workspace-with-terraform.md

156-156: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1

(MD029, ol-prefix)

🪛 GitHub Check: Trunk Check
content/blog/managing-google-workspace-with-terraform.md

[notice] 156-156: markdownlint(MD029)
[new] Ordered list item prefix


[failure] 1-1: prettier
Incorrect formatting, autoformat by running 'trunk fmt'

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
content/blog/managing-google-workspace-with-terraform.md (1)

10-10: Unclosed HTML tags in callout break front-matter parsing

The <p> and <b> tags aren’t closed, which can corrupt the YAML front-matter and break the Markdown renderer / site build. Close both tags (and prefer <strong> over <b> for semantic HTML).

-callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a>
+callout: <p>👋 <strong>If you're ready to take your infrastructure to the next level, we're here to help.</strong> We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>
🧹 Nitpick comments (4)
content/blog/managing-google-workspace-with-terraform.md (4)

44-46: Hyphenate “open-source” when used adjectivally

“As a compound adjective before a noun, add a hyphen.”

-We looked at a couple of open source solutions
+We looked at a couple of open-source solutions

52-54: Minor grammar fixes in list item

  1. “sign into” → “sign in to” (standard usage)
  2. Comma after the introductory participial phrase improves readability.
-3. Easily manage SSO configurations allowing engineers to sign into multiple AWS accounts using their Google Identity.
+3. Easily manage SSO configurations, allowing engineers to sign in to multiple AWS accounts using their Google Identity.

53-54: Spell “straightforward” as one word

-4. Intuitively organize user and team settings in a clear and straight forward approach.
+4. Intuitively organize user and team settings in a clear and straightforward approach.

62-64: Remove double period

-... your own `users.yaml` and `groups.yaml` files)..
+... your own `users.yaml` and `groups.yaml` files).
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e4f0587 and 60528da.

📒 Files selected for processing (1)
  • content/blog/managing-google-workspace-with-terraform.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/managing-google-workspace-with-terraform.md

[style] ~16-~16: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[duplication] ~18-~18: Possible typo: you repeated a word.
Context: ...-terraform) - Getting Started With the Module - [Module Design Decisions](#module-design-decisi...

(ENGLISH_WORD_REPEAT_RULE)


[style] ~30-~30: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[grammar] ~35-~35: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~40-~40: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ... manage across many different SaaS tools. It's important to have systems in place...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the Terr...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~52-~52: Possible missing comma found.
Context: ...eam's permissions. 3. Easily manage SSO configurations allowing engineers to sign into multipl...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~52-~52: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...SO configurations allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~53-~53: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...e user and team settings in a clear and straight forward approach. Here's the GitHub link for t...

(STRAIGHT_FORWARD_COMPOUND)


[typographical] ~63-~63: Two consecutive dots
Context: ...wn users.yaml and groups.yaml files).. 2. Create New Resources Start...

(DOUBLE_PUNCTUATION)


[uncategorized] ~110-~110: Possible missing comma found.
Context: ...sers } ``` ## Module Design Decisions Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~291-~291: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

🪛 markdownlint-cli2 (0.17.2)
content/blog/managing-google-workspace-with-terraform.md

156-156: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1

(MD029, ol-prefix)

🪛 GitHub Check: Trunk Check
content/blog/managing-google-workspace-with-terraform.md

[notice] 156-156: markdownlint(MD029)
[new] Ordered list item prefix


[failure] 1-1: prettier
Incorrect formatting, autoformat by running 'trunk fmt'

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint
🔇 Additional comments (1)
content/blog/managing-google-workspace-with-terraform.md (1)

115-121: Ordered-list numbering fails markdownlint (MD029)

The second list item is numbered 2. but markdownlint enforces sequential 1. prefixes. Prepend all ordered-list items with 1. to satisfy linting or add <!-- markdownlint-disable MD029 --> before the list.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (2)
content/blog/managing-google-workspace-with-terraform.md (2)

28-29: Remove the second “(CEO/CTO)” parenthetical

You already introduced Matt’s role earlier; repeating it here clutters the prose.

- Matt (CEO/CTO) had to remember
+ Matt had to remember

10-10: Front-matter callout still has dangling HTML – must close <b>/<p> tags

The same issue was raised in the previous review but remains unfixed; unclosed tags break Markdown rendering and can choke some YAML parsers.

-callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a>
+callout: <p>👋 <strong>If you're ready to take your infrastructure to the next level, we're here to help.</strong> We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>
🧹 Nitpick comments (4)
content/blog/managing-google-workspace-with-terraform.md (4)

32-38: Minor wording / grammar polish for bullet list

  1. “a permission” → permissions
  2. Capitalize first word consistently.
  3. Add Oxford comma for parallelism.
-- Nobody remembers why or when a permission was changed.
+- Nobody remembers why or when permissions were changed.
-- Onboarding/offboarding gets slower and error-prone.
+- Onboarding/off-boarding gets slower and error-prone.

50-54: Fix “sign into” and “straight forward” typos

-3. Easily manage SSO configurations allowing engineers to sign into multiple AWS accounts using their Google Identity.
+3. Easily manage SSO configurations, allowing engineers to sign in to multiple AWS accounts using their Google identity.

-4. Intuitively organize user and team settings in a clear and straight forward approach.
+4. Intuitively organize user and team settings in a clear and straightforward approach.

63-64: Eliminate double period

-`users.yaml` and `groups.yaml` files)..
+`users.yaml` and `groups.yaml` files).

291-292: Comma splice – add a comma before “and”

-We love this workflow and we hope it's useful to you and your team!
+We love this workflow, and we hope it's useful to you and your team!
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 60528da and 488dd8f.

📒 Files selected for processing (1)
  • content/blog/managing-google-workspace-with-terraform.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/managing-google-workspace-with-terraform.md

[style] ~16-~16: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[duplication] ~18-~18: Possible typo: you repeated a word.
Context: ...-terraform) - Getting Started With the Module - [Module Design Decisions](#module-design-decisi...

(ENGLISH_WORD_REPEAT_RULE)


[style] ~30-~30: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[grammar] ~35-~35: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~40-~40: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ... manage across many different SaaS tools. It's important to have systems in place...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the Terr...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~52-~52: Possible missing comma found.
Context: ...eam's permissions. 3. Easily manage SSO configurations allowing engineers to sign into multipl...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~52-~52: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...SO configurations allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~53-~53: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...e user and team settings in a clear and straight forward approach. Here's the GitHub link for t...

(STRAIGHT_FORWARD_COMPOUND)


[typographical] ~63-~63: Two consecutive dots
Context: ...wn users.yaml and groups.yaml files).. 2. Create New Resources Start...

(DOUBLE_PUNCTUATION)


[uncategorized] ~110-~110: Possible missing comma found.
Context: ...sers } ``` ## Module Design Decisions Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~291-~291: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

🪛 GitHub Check: Trunk Check
content/blog/managing-google-workspace-with-terraform.md

[notice] 156-156: markdownlint(MD029)
[new] Ordered list item prefix


[failure] 1-1: prettier
Incorrect formatting, autoformat by running 'trunk fmt'

🪛 markdownlint-cli2 (0.17.2)
content/blog/managing-google-workspace-with-terraform.md

156-156: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1

(MD029, ol-prefix)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (4)
content/blog/managing-google-workspace-with-terraform.md (4)

326-331: Same colon‐vs‐equals issue in groups variable example

-    name: string,
-    email: string,
-    settings: optional(object({
-      who_can_join: optional(string),
+    name     = string
+    email    = string
+    settings = optional(object({
+      who_can_join = optional(string)

12-13: Unclosed <p> / <b> tag breaks front-matter parsing

The callout value is still missing both </b> and </p>, which can break the Markdown renderer and even crash some YAML parsers.

-callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a>
+callout: <p>👋 <strong>If you're ready to take your infrastructure to the next level, we're here to help.</strong> We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>

335-338: merge() will panic on null v.settings

If a group omits settings, v.settings is null and merge() errors. Guard with an empty map.

-    for k, v in var.groups : k => merge(v.settings, { email = v.email })
+    for k, v in var.groups : k => merge(
+      v.settings != null ? v.settings : {},
+      { email = v.email }
+    )

248-255: Invalid HCL syntax in users variable example

Colons aren’t valid inside object() type declarations; they must use =. This snippet will not parse if copied verbatim.

-       groups: optional(map(object({
-         role: optional(string, "MEMBER"),
-         delivery_settings: optional(string, "ALL_MAIL"),
-         type: optional(string, "USER"),
-       })), {}),
+       groups = optional(map(object({
+         role             = optional(string, "MEMBER")
+         delivery_settings = optional(string, "ALL_MAIL")
+         type              = optional(string, "USER")
+       })), {})
🧹 Nitpick comments (3)
content/blog/managing-google-workspace-with-terraform.md (3)

50-50: Typo: “manager” → “manage”

…finding a better way to manager your Google Workspace accounts.

- One aspect of that is finding a better way to manager your Google Workspace accounts.
+ One aspect of that is finding a better way to manage your Google Workspace accounts.

60-63: Minor wording fixes (“sign in to” & “straightforward”)

- allowing engineers to sign into multiple AWS accounts
+ allowing engineers to sign in to multiple AWS accounts

- Organize `group` and `group_setting` variable inputs in clear and straight forward approach
+ Organize `group` and `group_setting` variable inputs in a clear and straightforward approach

161-161: Spelling: “goups” → “groups”

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fcde0ba and a06c790.

📒 Files selected for processing (1)
  • content/blog/managing-google-workspace-with-terraform.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/managing-google-workspace-with-terraform.md

[style] ~18-~18: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[duplication] ~20-~20: Possible typo: you repeated a word.
Context: ...-terraform) - Getting Started With the Module - [Module Design Decisions](#module-design-decisi...

(ENGLISH_WORD_REPEAT_RULE)


[style] ~38-~38: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[grammar] ~43-~43: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~48-~48: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ...say departments) become more distributed. It is harder to manage user accounts ac...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~54-~54: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the [Ter...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~56-~56: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...'t need its full range of capabilities. We prefer to use declarative systems so we...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~56-~56: Possible missing comma found.
Context: ...abilities. We prefer to use declarative systems so we know the user account and group s...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~60-~60: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...ers.yaml#L12-L18) allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~61-~61: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...p_setting` variable inputs in clear and straight forward approach (more details on this in [Desi...

(STRAIGHT_FORWARD_COMPOUND)


[uncategorized] ~196-~196: Possible missing comma found.
Context: ...ttings ``` ## Module Design Decisions Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~381-~381: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint

Copy link
Contributor

@oycyc oycyc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌


## Managing Google Workspace with Terraform

We looked at a couple of open source solutions and decided on using the [Terraform Google Workspace provider](https://github.com/hashicorp/terraform-provider-googleworkspace). We often use SaaS-specific Terraform providers to [provision user accounts for DataDog](https://github.com/masterpointio/terraform-datadog-users) and other SaaS services, so this was an easy decision.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
We looked at a couple of open source solutions and decided on using the [Terraform Google Workspace provider](https://github.com/hashicorp/terraform-provider-googleworkspace). We often use SaaS-specific Terraform providers to [provision user accounts for DataDog](https://github.com/masterpointio/terraform-datadog-users) and other SaaS services, so this was an easy decision.
We looked at a couple of open source solutions and decided on using the [Terraform Google Workspace provider](https://github.com/hashicorp/terraform-provider-googleworkspace). We often use SaaS-specific Terraform providers to [provision user accounts for DataDog](https://github.com/masterpointio/terraform-datadog-users) and other SaaS services, so this was an easy decision.

"We often use SaaS-specific Terraform providers to provision user accounts for DataDog and other SaaS services, so this was an easy decision." hmm this sentence feels off?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@oycyc I took a look and revised it a bit. a724df6. How does this version feel?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, looks great!

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (4)
content/blog/managing-google-workspace-with-terraform.md (4)

249-254: Invalid HCL syntax (: vs =) persists

Colons inside object() type declarations are still invalid HCL. This was flagged previously and must be corrected.


323-330: Same colon-vs-equals issue in groups variable example

The object type block will not parse with colons; replace with equals signs.


335-338: merge(null, …) risk remains

v.settings can be null; calling merge() with null will error. Guard with a default empty map.


11-13: Close the dangling HTML tags in callout front-matter

The <b> tag is never closed and the surrounding <p> tag is left open. This can break both YAML parsing and Hugo rendering.

-callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a>
+callout: <p>👋 <strong>If you're ready to take your infrastructure to the next level, we're here to help.</strong> We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>
🧹 Nitpick comments (4)
content/blog/managing-google-workspace-with-terraform.md (4)

48-51: Typo – “manager” → “manage”

- One aspect of that is finding a better way to manager your Google Workspace accounts.
+ One aspect of that is finding a better way to manage your Google Workspace accounts.

60-63: Minor wording and spelling fixes

  1. “sign into” → “sign in to” (preferred idiom)
  2. “straight forward” → “straightforward”
- allowing engineers to sign into multiple AWS accounts using their Google Identity.
+ allowing engineers to sign in to multiple AWS accounts using their Google Identity.

- Organize `group` and `group_setting` variable inputs in clear and straight forward approach
+ Organize `group` and `group_setting` variable inputs in a clear and straightforward approach

120-123: Spelling – “practive” → “practice”

-  # version = "X.X.X" # it's a best practive to version pin modules
+  # version = "X.X.X" # it's a best practice to version-pin modules

161-163: Typo – “goups” → “groups”

-And here's an example `groups.yaml` file, also leveraging YAML anchors to apply sane defaults to multiple goups.
+And here's an example `groups.yaml` file, also leveraging YAML anchors to apply sane defaults to multiple groups.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a06c790 and 5420a57.

📒 Files selected for processing (1)
  • content/blog/managing-google-workspace-with-terraform.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
content/blog/managing-google-workspace-with-terraform.md (1)
Learnt from: oycyc
PR: masterpointio/masterpoint.io#68
File: layouts/partials/head.html:0-0
Timestamp: 2025-07-02T01:48:08.985Z
Learning: In the masterpointio/masterpoint.io Hugo project, the user oycyc prefers to maintain consistency with existing code patterns rather than making isolated optimizations, even when technically better approaches are available. They prioritize consistency over over-optimization.
🪛 LanguageTool
content/blog/managing-google-workspace-with-terraform.md

[style] ~18-~18: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[duplication] ~20-~20: Possible typo: you repeated a word.
Context: ...-terraform) - Getting Started With the Module - [Module Design Decisions](#module-design-decisi...

(ENGLISH_WORD_REPEAT_RULE)


[style] ~38-~38: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[grammar] ~43-~43: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~48-~48: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ...say departments) become more distributed. It is harder to manage user accounts ac...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~54-~54: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the [Ter...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~56-~56: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...'t need its full range of capabilities. We prefer to use declarative systems so we...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~56-~56: Possible missing comma found.
Context: ...abilities. We prefer to use declarative systems so we know the user account and group s...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~60-~60: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...ers.yaml#L12-L18) allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~61-~61: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...p_setting` variable inputs in clear and straight forward approach (more details on this in [Desi...

(STRAIGHT_FORWARD_COMPOUND)


[uncategorized] ~196-~196: Possible missing comma found.
Context: ...ttings ``` ## Module Design Decisions Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~381-~381: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (4)
content/blog/systematize-google-workspace-with-terraform.md (4)

47-50: Typo: “manager” → “manage”

-One aspect of that is finding a better way to manager your Google Workspace accounts.
+One aspect of that is finding a better way to manage your Google Workspace accounts.

59-60: Minor wording fixes (“sign into” / “straight forward”)

-1. Easily manage [...] allowing engineers to sign into multiple AWS accounts using their Google Identity.
+1. Easily manage [...] allowing engineers to sign in to multiple AWS accounts using their Google Identity.

-2. Organize `group` and `group_setting` variable inputs in clear and straight forward approach [...]
+2. Organize `group` and `group_setting` variable inputs in a clear and straightforward approach [...]

118-122: Typo: “practive” → “practice”

-# version = "X.X.X" # it's a best practive to version pin modules
+# version = "X.X.X" # it's a best practice to version-pin modules

158-161: Typo: “goups” → “groups”

-And here's an example `groups.yaml` file, also leveraging YAML anchors to apply sane defaults to multiple goups.
+And here's an example `groups.yaml` file, also leveraging YAML anchors to apply sane defaults to multiple groups.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5420a57 and c548226.

📒 Files selected for processing (1)
  • content/blog/systematize-google-workspace-with-terraform.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/systematize-google-workspace-with-terraform.md

[style] ~17-~17: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[duplication] ~19-~19: Possible typo: you repeated a word.
Context: ...-terraform) - Getting Started With the Module - [Module Design Decisions](#module-design-decisi...

(ENGLISH_WORD_REPEAT_RULE)


[style] ~37-~37: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[grammar] ~42-~42: ‘a’ may be redundant when used with the uncountable noun ‘permission’.
Context: ...trategy. - Nobody remembers why or when a permission was changed. - Group membership becomes...

(A_UNCOUNTABLE_NOUN)


[typographical] ~47-~47: Except for inverted sentences, ‘dare we’ requires a question mark at the end of the sentence.
Context: ...say departments) become more distributed. It is harder to manage user accounts ac...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~53-~53: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ith Terraform We looked at a couple of open source solutions and decided on using the [Ter...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~54-~54: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...'t need its full range of capabilities. We prefer to use declarative systems so we...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~55-~55: Possible missing comma found.
Context: ...abilities. We prefer to use declarative systems so we know the user account and group s...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~59-~59: The verb ‘sign into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “sign in to”. For websites and computers, other options are “log in to” or “log on to”.
Context: ...ers.yaml#L12-L18) allowing engineers to sign into multiple AWS accounts using their Googl...

(SIGN_INTO)


[uncategorized] ~60-~60: The adjective or adverb “straightforward” (= easy, precise) is spelled as one word.
Context: ...p_setting` variable inputs in clear and straight forward approach (more details on this in [Desi...

(STRAIGHT_FORWARD_COMPOUND)


[uncategorized] ~195-~195: Possible missing comma found.
Context: ...ttings ``` ## Module Design Decisions Below we point out a few Terraform module des...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~380-~380: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... care of the rest. We love this workflow and we hope it's useful to you and your tea...

(COMMA_COMPOUND_SENTENCE)

---
visible: true
draft: false
title: "Systematize Your Google Workspace Setup with Terraform"
Copy link
Member Author

@westonplatter westonplatter Jul 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a weak title.

Better options after directing AI to take me through a few rounds of exercises to write better titles,

  1. Simplify Google Workspace Automation with Masterpoint's Terraform Module
  2. A Scalable Way to Manage Google Workspace Users with Terraform
  3. Automate Google Workspace Onboarding with Terraform
  4. The DevOps Way to Manage Google Workspace Users at Scale
  5. The Platform Engineering Way to Manage Google Workspace Users
  6. Avoid Manual Google Workspace Admin Headaches with Terraform

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@westonplatter agreed, different title would be good. This tool was shared by the marketing strategist we're working with: https://coschedule.com/headline-analyzer

Want to try your favorites out with that tool and see what it comes up with?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did some testing in the headline analyzer and decided on,
The Platform Engineering Way to Manage Google Workspace Users

@westonplatter westonplatter requested a review from Gowiem July 16, 2025 21:45
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
content/blog/platform-engineering-way-to-manage-google-workspace-users.md (4)

49-49: Fix typo “manager” → “manage”.

-One aspect of that is finding a better way to manager your Google Workspace accounts.
+One aspect of that is finding a better way to manage your Google Workspace accounts.

120-120: Correct “best practive”.

-  # version = "X.X.X" # it's a best practive to version pin modules
+  # version = "X.X.X" # it's a best practice to version-pin modules

160-160: Fix misspelling “goups”.

-And here's an example `groups.yaml` file, also leveraging YAML anchors to apply sane defaults to multiple goups.
+And here's an example `groups.yaml` file, also leveraging YAML anchors to apply sane defaults to multiple groups.

53-56: Vary sentence openings to avoid repetitive “We …” pattern.

The four consecutive sentences beginning with “We” read monotonously. Consider re-phrasing to improve flow, e.g.:

-We looked at a couple of open source solutions and decided on using the ...
-We often use SaaS-specific Terraform providers to provision user accounts ...
-We heard great things about GAM from a few colleagues, but we didn't need its full range of capabilities.
-We prefer to use declarative systems so we know the user account and group settings we see in config files are indeed the values in production.
+After evaluating several open-source options, the team chose the ...
+Because SaaS-specific providers already power our DataDog user provisioning, the choice felt natural.
+Colleagues praised GAM for its breadth, yet its imperative model exceeded our needs.
+A declarative workflow lets the configuration files mirror production, keeping user and group settings transparent.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c548226 and 5ecf299.

📒 Files selected for processing (1)
  • content/blog/platform-engineering-way-to-manage-google-workspace-users.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/platform-engineering-way-to-manage-google-workspace-users.md

[style] ~17-~17: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[style] ~37-~37: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[style] ~54-~54: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ervices, so this was an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...'t need its full range of capabilities. We prefer to use declarative systems so we...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~160-~160: Ensure spelling is correct
Context: ...hors to apply sane defaults to multiple goups. ```yaml --- _default_active_settings: ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
content/blog/platform-engineering-way-to-manage-google-workspace-users.md (4)

49-49: Spelling: “manager” → “manage”.

Minor typo breaks the sentence flow.

-One aspect of that is finding a better way to manager your Google Workspace accounts.
+One aspect of that is finding a better way to manage your Google Workspace accounts.

53-53: Spelling: “mdoule” → “module”.

-... we created a mdoule to [provision user accounts for DataDog] ...
+... we created a module to [provision user accounts for DataDog] ...

120-120: Spelling: “practive” → “practice”.

-# version = "X.X.X" # it's a best practive to version pin modules
+# version = "X.X.X" # it's a best practice to version-pin modules

160-160: Spelling: “goups” → “groups”.

-... apply sane defaults to multiple goups.
+... apply sane defaults to multiple groups.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5ecf299 and a724df6.

📒 Files selected for processing (1)
  • content/blog/platform-engineering-way-to-manage-google-workspace-users.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/platform-engineering-way-to-manage-google-workspace-users.md

[style] ~17-~17: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[style] ~37-~37: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[grammar] ~53-~53: Ensure spelling is correct
Context: ...aaS products (for example, we created a mdoule to [provision user accounts for DataDog...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~54-~54: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ogle users felt like an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...'t need its full range of capabilities. We prefer to use declarative systems so we...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~160-~160: Ensure spelling is correct
Context: ...hors to apply sane defaults to multiple goups. ```yaml --- _default_active_settings: ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (5)
content/blog/platform-engineering-way-to-manage-google-workspace-users.md (5)

49-49: Fix typo – “manager” ⇒ “manage”.

-One aspect of that is finding a better way to manager your Google Workspace accounts.
+One aspect of that is finding a better way to manage your Google Workspace accounts.

53-53: Correct misspelling of “module”.

-... we created a mdoule to [provision user accounts for DataDog] ...
+... we created a module to [provision user accounts for DataDog] ...

60-60: Use the single-word form “straightforward”.

-... inputs in clear and straight forward approach ...
+... inputs in a clear and straightforward approach ...

120-120: Typo in comment – “practive” ⇒ “practice”.

-  # version = "X.X.X" # it's a best practive to version pin modules
+  # version = "X.X.X" # it's a best practice to version-pin modules

160-160: Fix spelling of “groups”.

-And here's an example `groups.yaml` file, also leveraging YAML anchors to apply sane defaults to multiple goups.
+And here's an example `groups.yaml` file, also leveraging YAML anchors to apply sane defaults to multiple groups.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a724df6 and d08c2a8.

📒 Files selected for processing (1)
  • content/blog/platform-engineering-way-to-manage-google-workspace-users.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/platform-engineering-way-to-manage-google-workspace-users.md

[style] ~17-~17: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[style] ~37-~37: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[grammar] ~53-~53: Ensure spelling is correct
Context: ...aaS products (for example, we created a mdoule to [provision user accounts for DataDog...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~54-~54: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ogle users felt like an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...'t need its full range of capabilities. We prefer to use declarative systems so we...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~160-~160: Ensure spelling is correct
Context: ...hors to apply sane defaults to multiple goups. ```yaml --- _default_active_settings: ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
content/blog/platform-engineering-way-to-manage-google-workspace-users.md (1)

54-57: Minor style nit – repetitive sentence openings.

Three consecutive sentences start with “We…”. Consider merging or re-phrasing for better flow.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d08c2a8 and 5402ab3.

📒 Files selected for processing (1)
  • content/blog/platform-engineering-way-to-manage-google-workspace-users.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/blog/platform-engineering-way-to-manage-google-workspace-users.md

[style] ~17-~17: To elevate your writing, try using an alternative expression here.
Context: ...wing Pains](#growing-pains) - [Why This Matters for Scaling Teams](#why-this-matters-fo...

(MATTERS_RELEVANT)


[style] ~37-~37: To elevate your writing, try using an alternative expression here.
Context: ...ious administrative tasks. ## Why This Matters for Scaling Teams In our small company...

(MATTERS_RELEVANT)


[style] ~54-~54: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ogle users felt like an easy decision. We heard great things about [GAM](https://...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...'t need its full range of capabilities. We prefer to use declarative systems so we...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Redirect rules - masterpoint
  • GitHub Check: Header rules - masterpoint
  • GitHub Check: Pages changed - masterpoint
🔇 Additional comments (2)
content/blog/platform-engineering-way-to-manage-google-workspace-users.md (2)

10-10: Verify referenced image exists and is optimized.

/img/updates/managing-googleworkspace-with-terraform/preview-3.png must be present in the repo’s static assets and sized appropriately (≤ ~150 kB) to avoid 404s or slow loads.


16-23: Anchor slugs may not match generator rules.

Many generators collapse consecutive dashes, so #design-decision-1---implementing-integration-and-validation-tests could resolve to #design-decision-1-implementing-integration-and-validation-tests. Confirm and adjust the TOC links if needed.

Comment on lines +1 to +12
---
visible: true
draft: false
title: "The Platform Engineering Way to Manage Google Workspace Users"
author: Weston Platter
date: 2025-07-17
slug: platform-engineering-way-to-manage-google-workspace-users
description: "Migrate Google Workspace from ClickOps to Infrastructure as Code with our open source Terraform module. Includes design patterns and import examples."
tags: ["terraform", "google-workspace", "infrastructure-as-code", "automation"]
image: /img/updates/managing-googleworkspace-with-terraform/preview-3.png
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>
---
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Front-matter will fail YAML parsing – quote the callout value.

The callout field contains : and HTML tags but isn’t wrapped in quotes or a multi-line block, which will break most static-site builders (e.g. Hugo/Jekyll).
Patch:

-callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>
+callout: |
+  <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href="/contact">Get in touch!</a></p>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
visible: true
draft: false
title: "The Platform Engineering Way to Manage Google Workspace Users"
author: Weston Platter
date: 2025-07-17
slug: platform-engineering-way-to-manage-google-workspace-users
description: "Migrate Google Workspace from ClickOps to Infrastructure as Code with our open source Terraform module. Includes design patterns and import examples."
tags: ["terraform", "google-workspace", "infrastructure-as-code", "automation"]
image: /img/updates/managing-googleworkspace-with-terraform/preview-3.png
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>
---
---
visible: true
draft: false
title: "The Platform Engineering Way to Manage Google Workspace Users"
author: Weston Platter
date: 2025-07-17
slug: platform-engineering-way-to-manage-google-workspace-users
description: "Migrate Google Workspace from ClickOps to Infrastructure as Code with our open source Terraform module. Includes design patterns and import examples."
tags: ["terraform", "google-workspace", "infrastructure-as-code", "automation"]
image: /img/updates/managing-googleworkspace-with-terraform/preview-3.png
callout: |
<p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href="/contact">Get in touch!</a></p>
---
🤖 Prompt for AI Agents
In content/blog/platform-engineering-way-to-manage-google-workspace-users.md
lines 1 to 12, the callout field in the front-matter contains colons and HTML
tags but is not enclosed in quotes, causing YAML parsing errors. Fix this by
wrapping the entire callout value in double quotes or using a YAML multi-line
block style to ensure proper parsing by static-site generators.

Copy link
Member

@Gowiem Gowiem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just did a read through and looks good -- Going to merge!

@Gowiem Gowiem merged commit 9a2da05 into master Jul 17, 2025
8 checks passed
@Gowiem Gowiem deleted the feat/article-googleworkspace-module-and-managing branch July 17, 2025 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants