-
Notifications
You must be signed in to change notification settings - Fork 0
fix(docs): update README url and pull in edits from other repo #3
base: main
Are you sure you want to change the base?
Conversation
- The goal of this PR is setup the tf module, add a basic README, setup testing, and get user/group basics working - add `googleworkspace`.`user` with tests for email and password - add `googleworkspace`.`group` - with tests for email - [INT-53](https://www.notion.so/masterpoint/Managing-GSuite-Users-via-IaC-1d0859758a568029b956f2ab8c9a2651) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> - **New Features** - Introduced automation for managing Google Workspace users and groups via new input variables. - Added support for configuring user and group attributes, including validation for emails, passwords, and hash functions. - **Bug Fixes** - Improved input validation to ensure correct email formats and password constraints. - **Documentation** - Updated README to reflect the new module name, purpose, usage instructions, and provider requirements. - Removed outdated changelog content. - **Tests** - Added comprehensive tests for user and group variable validation, including email, password, and hash function checks. - **Chores** - Updated provider version requirements for compatibility and stability. - Removed obsolete outputs and variables. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot <[email protected]>
## what - add group settings, `googleworkspace_group_settings` - enable users to be members of groups, `googleworkspace_group_member` ## why ## references - [INT-53](https://www.notion.so/masterpoint/Managing-GSuite-Users-via-IaC-1d0859758a568029b956f2ab8c9a2651) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced comprehensive support for managing Google Workspace users, groups, group settings, and group memberships via new input variables and resources. - Added detailed input validation for user and group attributes, including email formats, password requirements, and group roles. - Provided example configurations and provider setup for Google Workspace automation. - **Documentation** - Updated README with complete usage instructions, authentication methods, input variable schemas, and example usage. - Replaced all template references with Google Workspace-specific documentation. - **Tests** - Added extensive test cases for user and group variable validation, covering email, password, hash function, and group role scenarios. - **Chores** - Updated provider requirements to use the Google Workspace provider. - Cleaned up and reorganized example files and removed obsolete outputs and changelog content. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot <[email protected]>
## what - New Example: added `examples/import-existing-org` showing the nuances of importing `group_settings` and user to member group relationships. ## why - Provider better examples ## references <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Updated the README example to demonstrate managing both users and groups, including group membership roles. - **New Features** - Added comprehensive example configurations for importing existing Google Workspace users and groups using YAML and Terraform. - Introduced sample YAML files for defining users and groups with reusable templates and settings. - Provided Terraform files for provider setup, version constraints, and import logic for existing organization data. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot <[email protected]>
…s-automation-googleworkspace
WalkthroughThe README.md file was updated to enhance clarity and accuracy. The module description was revised to provide usage instructions, and a new note was added about importing existing Google Workspace organizations. The provider authentication section was rewritten to clearly outline two authentication methods, with an explicit recommendation and a direct link for setting up domain-wide delegation. The provider block example received improved comments, and all module source URLs and GitHub badge links were updated to reflect a new repository path. No changes were made to exported or public entities. Possibly related PRs
Tip ⚡️ Faster reviews with caching
Enjoy the performance boost—your workflow just got faster. 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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page 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)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this 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 (2)
README.md (2)
26-32
: Simplify provider block comments.
The comments explainingcustomer_id = "my_customer"
are valuable but a bit verbose. You might condense them into a single line noting thatmy_customer
is a placeholder alias for your account’s customer ID, with a link to the relevant Google API reference.
52-52
: Pin module source to a release tag.
Referencing thegit::
URL without aref
will always pull the default branch. For reproducible builds, consider appending?ref=vX.Y.Z
to target a specific release.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
README.md
(3 hunks)
🔇 Additional comments (2)
README.md (2)
11-13
: Verify Purpose and Functionality hyperlinks.
The link to the child module currently points to opentofu.org—if this module is intended for Terraform users, consider linking to the official Terraform documentation (e.g., developer.hashicorp.com/terraform/language/modules/#child-modules). Also double-check that theexamples/import-existing-org
directory exists and that the path is correct in this repo.
200-204
: Verify updated badge definitions.
All badge URLs have been updated to the new repository path—please preview the rendered README to ensure badges (release, contributors, issues) display correctly and link to the intended locations.
There are two provider authentication methods available: | ||
|
||
Follow the provider [authentication setup instructions](https://github.com/hashicorp/terraform-provider-googleworkspace/blob/main/docs/index.md#google-workspace-provider). | ||
1. Authenticate a Google Cloud service account via API keys. | ||
2. Authenticate a Google Cloud service account via API keys and impersonate a real user with Super Admin privileges. | ||
|
||
<!-- TODO(weston) - provide step by step instructions for setting this up --> | ||
We recommend method (2), impersonating a Super Admin, as this allows you to grant Admin privileges to users (service accounts cannot do this). To set this up, follow the [Domain-Wide Delegation authentication instructions](https://github.com/hashicorp/terraform-provider-googleworkspace/blob/main/docs/index.md#using-domain-wide-delegation). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Clarify authentication method descriptions.
The phrase “via API keys” can be misleading—Google Cloud authentication uses service account key JSON files rather than API keys. Consider updating to something like “Authenticate a service account using a service account key file” and clearly differentiate the impersonation step for Super Admins.
🤖 Prompt for AI Agents (early access)
In README.md around lines 19 to 24, the authentication methods are described as
using "API keys," which is misleading because Google Cloud uses service account
key JSON files for authentication. Update the descriptions to say "Authenticate
a service account using a service account key file" instead of "via API keys"
and clearly separate the impersonation step for Super Admins to improve clarity.
what
references
Summary by CodeRabbit