From 3f6fc8f16f61d6b5dbbdc59a59ccc0568f71b6f2 Mon Sep 17 00:00:00 2001 From: Akash Jaiswal Date: Wed, 27 Mar 2024 17:29:29 +0530 Subject: [PATCH 1/2] Release gcp-lz v2 --- 0-bootstrap/terraform.tfvars | 111 +++++++++++++++++------------------ CODE_OF_CONDUCT.md | 37 ++++++++++++ CONTRIBUTING.md | 67 +++++++++++++++++---- CONTRIBUTORS.md | 29 +++++++++ README.md | 98 ++++++++++++++++++++++++------- SECURITY.md | 35 +++++++++++ SUPPORT.md | 70 ++++++---------------- 7 files changed, 305 insertions(+), 142 deletions(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTORS.md create mode 100644 SECURITY.md diff --git a/0-bootstrap/terraform.tfvars b/0-bootstrap/terraform.tfvars index 20f5cab..04c75e1 100644 --- a/0-bootstrap/terraform.tfvars +++ b/0-bootstrap/terraform.tfvars @@ -1,57 +1,54 @@ -group_org_admins = "" # DL -group_billing_admins = "" # DL -billing_data_users = "" # DL -monitoring_workspace_users = "" # DL - -#deploy groups -cto_build_group = "" #TODO -cto_security_build_group = "" #TODO -cto_elevated_security_build_group = "" #TODO -cto_core_networking_build_group = "" #TODO - -#ops_user_groups -cto_security_operations_group = "" -cto_elevated_security_operations_group = "" -cto_operations_group = "" -cto_core_networking_operations_group = "" -cto_user_management_operations_group = "" #TODO -cto_audit_compliance_operations_group = "" #TODO - -#other group -cfo = "" #has access to billing - - -org_id = "" # 12 digit gcp org id -billing_account = "" # billing account id in the format XXXXXX-YYYYYY-ZZZZZZ -default_region = "" # example: asia-southeast1 -parent_folder = "" # used if LZ to be deployed under a folder -project_prefix = "" # example: prj -folder_prefix = "" # example: fldr -bucket_prefix = "" # example: bkt -log_sink_prefix = "" # example: sk -project_name = "" # example: cldcvr -primary_contact = "" # example: varun_at_cldcvr_com -secondary_contact = "" # example: sachi_at_cldcvr_com -vpc_prefix = "vpc" - -#bootstrap -runner_repo_name = "" # example: `gcp-lz` part of https://github.com/cldcvr/gcp-lz repo -runner_repo_owner = "" # example: `cldcvr` part of https://github.com/cldcvr/gcp-lz repo -runner_machine_type = "n1-standard-1" # example: f1-micro or e2-medium -num_instances = 3 # count of runners required to run the workflows -gar_repo_name = "" # example: gcf-lz-image (Name of the artifactory repo to be created in `cicd` project - -domains_to_allow = [""] # example: godmode.in -default_region2 = "" # 2nd region required for peering; example: us-west1 -domain = "" # The DNS name of peering managed zone. Must end with a period. For example: cldcvr.com. -enable_env_log_sink = true # Enable environment level log sink. -enable_restricted_network = false # Restriceted network, project and service perimeter -enable_interconnect_projects = true -d_enable_dedicated_interconnect = false -restricted_enable_partner_interconnect = false -shared_enable_partner_interconnect = false -runner_subnet_ip = "192.168.0.0/24" -git_pvt_key_scrt_name = "" -custom_labels = {} - - +group_org_admins = "" # Distribution List (DL) for Google Group of GCP Organization Administrators. +group_billing_admins = "" # Distribution List (DL) for Google Group of GCP Billing Administrators. +billing_data_users = "" # Distribution List (DL) for Google Workspace or Cloud Identity group with access to the billing data set. +monitoring_workspace_users = "" # Distribution List (DL) for Google Workspace or Cloud Identity group with access to Monitoring Workspaces. + +# Deploy groups +cto_build_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity group of guild users. +cto_security_build_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity security build group. +cto_elevated_security_build_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity group responsible for elevated security build users. +cto_core_networking_build_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity networking build group. + +# Ops user groups +cto_security_operations_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity group responsible for security operations. +cto_elevated_security_operations_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity group responsible for elevated security operations. +cto_operations_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity group responsible for operations. +cto_core_networking_operations_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity group responsible for network operations. +cto_user_management_operations_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity group responsible for management operations. +cto_audit_compliance_operations_group = "" # Distribution List (DL) for Google Workspace or Cloud Identity group responsible for audit and compliance. + +# Other group +cfo = "" # Distribution List (DL) for Google Workspace or Cloud Identity group of billing data users. + +org_id = "" # 12-digit GCP organization ID. +billing_account = "" # Billing account ID in the format XXXXXX-YYYYYY-ZZZZZZ. +default_region = "" # Example: asia-southeast1. +parent_folder = "" # Used if LZ is to be deployed under a folder. +project_prefix = "" # Example: prj. +folder_prefix = "" # Example: fldr. +bucket_prefix = "" # Example: bkt. +log_sink_prefix = "" # Example: sk. +project_name = "" # Example: cldcvr. +primary_contact = "" # Example: varun_at_cldcvr_com. +secondary_contact = "" # Example: sachi_at_cldcvr_com. +vpc_prefix = "vpc" # VPC prefix used to create the vpc + +# Bootstrap +runner_repo_name = "" # Example: `gcp-lz` part of https://github.com/cldcvr/gcp-lz repo. +runner_repo_owner = "" # Example: `cldcvr` part of https://github.com/cldcvr/gcp-lz repo. +runner_machine_type = "n1-standard-1" # Example: f1-micro or e2-medium. +num_instances = 3 # Count of runners required to run the workflows. +gar_repo_name = "" # Example: gcf-lz-image (Name of the artifactory repo to be created in `cicd` project). + +domains_to_allow = [""] # Example: godmode.in. +default_region2 = "" # 2nd region required for peering; example: us-west1. +domain = "" # The DNS name of the peering managed zone. Must end with a period. For example: cldcvr.com. +enable_env_log_sink = True # Enable environment-level log sink. +enable_restricted_network = False # Restricted network, project, and service perimeter. +enable_interconnect_projects = True # Enable to create interconnect projects. +d_enable_dedicated_interconnect = False # Set to true if you want to create a dedicated interconnect. +restricted_enable_partner_interconnect = False # Set to true if you want to create a restricted partner interconnect. +shared_enable_partner_interconnect = False # Set to true if you want to create a shared partner interconnect. +runner_subnet_ip = "192.168.0.0/24" # The subnet range in which the runner instances will be built. For example, 192.168.168.0/24. +git_pvt_key_scrt_name = "" # The name/secret ID that holds the private key for the deploy keys added to the GitHub repo. +custom_labels = {} # Customer-designed labels for the project. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..752886c --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,37 @@ +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at lzhelp@ollion.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html), version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index afe0c70..ba644b2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,9 @@ # Contribute ​ -This article explains how to contribute to the GCIFI Landing Zone. +This article explains how to contribute to the GCP Landing Zone. Please read through the following guidelines. ​ -> �� **Note**: before participating in our community, please read our +> **Note**: before participating in our community, please read our > [code of conduct][coc]. > By interacting with this repository, organization, or community you agree to > abide by its terms. @@ -11,7 +11,7 @@ Please read through the following guidelines. ## Contributions ​ There’s several ways to contribute, not just by writing code. -If you have questions, see [support][]. +If you have questions, see [support](https://github.com/ollionorg/gcp-landing-zone/blob/main/SUPPORT.md). ​ ### Improve docs ​ @@ -25,6 +25,8 @@ If you identified an inaccuracy please raise a documentation issue. Some issues lack information, aren’t reproducible, or are just incorrect. You can help by trying to make them easier to resolve. Existing issues might benefit from your unique experience or opinions. +Before creating bug reports, please check [here](https://github.com/ollionorg/gcp-landing-zone/issues) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). + ​ ### Write code ​ @@ -55,6 +57,49 @@ bug or suggest a new feature before creating a pull request. * Test before submitting code by running `terraform plan` and `terraform validate` * Write a convincing description of why we should land your pull request: it’s your job to convince us + +## Styleguides + +### Git Commit Messages + +* Use the present tense ("Add feature" not "Added feature") +* Use the imperative mood ("Move cursor to..." not "Moves cursor to...") +* Limit the first line to 72 characters or less +* Reference issues and pull requests liberally after the first line +* Pull request title should be: ([optional scope]): + +``` + feat(ui): Add `Button` component + ^ ^ ^ + | | |__ Subject + | |_______ Scope + |____________ Type +``` +**Type** + ``` +build - Changes that affect the build system or external dependencies (dependencies update) +ci - Changes to our CI configuration files and scripts (basically directory .github/workflows) +docs - Documentation only changes +feat - A new feature +fix - A bug fix +chore - Changes which does not touch the code (ex. manual update of release notes). It will not generate release notes changes +refactor - A code change that contains refactor +style - Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) +test - Adding missing tests or correcting existing tests and also changes for our test app +perf - A code change that improves performance (I do not think we will use it) +``` +**Example** +``` +feat: Add locales description command for ios and android +fix: rate limit exceeded +ci: Added leading V to version name +refactor: config entities and arguments +docs: Add secrets and vision doc +build: Disable Auto Doc Generation +test: added multi modules to test app +chore: Release v20.08.1 +``` + ​ ## Resources ​ @@ -62,20 +107,20 @@ bug or suggest a new feature before creating a pull request. * [Making your first contribution](https://medium.com/@vadimdemedes/making-your-first-contribution-de6576ddb190) * [Using pull requests](https://help.github.com/articles/about-pull-requests/) * [GitHub help](https://help.github.com) -* [CloudCover](https://cldcvr.com/) +* [Ollion](https://ollion.com/) ​ ## License ​ -[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) +[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) ​ - +## Definitions ​ -[license]: https://creativecommons.org/licenses/by/4.0/ +[license]: https://creativecommons.org/licenses/by/4.0/ ​ -[author]: https://cldcvr.com/ +[author]: https://ollion.com/ ​ -[coc]: https://github.com/remarkjs/.github/blob/main/code-of-conduct.md +[coc]: https://github.com/remarkjs/.github/blob/main/code-of-conduct.md ​ -[support]: support.md +[support]: [support.md](https://github.com/ollionorg/gcp-landing-zone/blob/main/SUPPORT.md) ​ -[collective]: https://opencollective.com/unified \ No newline at end of file +[collective]: https://opencollective.com/unified diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 0000000..4016d1a --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,29 @@ +# Contributors + +We'd like to thank all the contributors who have helped to make this project what it is today! + +## Core Contributors + +- [Aman Singh](https://github.com/amansingh14) +- [Akash Jaiswal](https://github.com/akashcldcvr) +- [Aries Youssefian](https://github.com/ariesyous) +- [Fahad Khan](https://github.com/tradark) +- [Sujata Kale](https://github.com/sujatak97) +- [Sanket Nadkarni](https://github.com/sanketnadkarni) +- [Vishal Kapse](https://github.com/vishal-kapse) + + +## All Contributors + +In alphabetical order: +- [Akash Jaiswal](https://github.com/akashcldcvr) +- [Aman Singh](https://github.com/amansingh14) +- [Aries Youssefian](https://github.com/ariesyous) +- [Fahad Khan](https://github.com/tradark) +- [Sujata Kale](https://github.com/sujatak97) +- [Sanket Nadkarni](https://github.com/sanketnadkarni) +- [Vishal Kapse](https://github.com/vishal-kapse) + +## Contributions of any kind welcome! + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind are welcome! diff --git a/README.md b/README.md index 81ee745..e2f4e86 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,18 @@ + +![OLLION](https://github.com/ollionorg/gcp-landing-zone/assets/88661454/464b63a2-b85b-4a82-a376-f11b72b639bf) + # Google Cloud Foundation Landing Zone +[![Documentation](https://img.shields.io/badge/Wiki-User_Guide-red?logo=read-the-docs)](https://github.com/ollionorg/gcp-landing-zone/wiki/User-Guide) +[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![Discord](https://discordapp.com/api/guilds/1212635303412506694/widget.png?style=shield)](https://discord.gg/PCyyu2Xq) +[![Reports](https://img.shields.io/badge/Compliance_report-100%25-green.svg)](https://github.com/ollionorg/gcp-landing-zone/wiki/User-Guide#how-compliant-your-landing-zone-to-well-known-best-practices) + + This repository contains the Terraform code necessary to set up a Landing Zone using the Google Cloud Platform (GCP). It is designed to follow best practices outlined in the Google Cloud Architecture's Security Foundations. By leveraging this code, users can create a secure, scalable, and efficient cloud environment that aligns with Google's recommended practices. -## Resources -- **Security Foundations Guide:** [Google Cloud Architecture's Security Foundations](https://cloud.google.com/architecture/security-foundations/using-example-terraform) -- **Landing Zone User Guide:** [Download Here](https://drive.google.com/file/d/1KY_WSmBY3_T5dyMH05WuYZ8siKpDDCZW/view?usp=sharing) +**[Landing Zone User Guide](https://github.com/ollionorg/gcp-landing-zone/wiki/User-Guide)** ## Repository Directory Structure @@ -35,39 +42,86 @@ repo: |- ``` -## Prerequisites +## Software Prerequisites -Before you begin deploying the Landing Zone, ensure you have the following prerequisites in place: +To run the commands described in this document, you need to have the following installed: - **Google Cloud SDK:** Version 319.0.0 or later. [Install Guide](https://cloud.google.com/sdk/install) - **Terraform:** Version 1.0.9. [Download](https://www.terraform.io/downloads.html) -- **Project Access:** You should have access to a Google Cloud project to be used by terraform-validator. +- **Git:** Version v2.38.1 -**Note:** Consistency in Terraform version is crucial to avoid state lock errors. Follow the steps below to set up your environment correctly: + +## Prerequisites + +Before you begin deploying the Landing Zone, ensure you have the following prerequisites in place: + +> **Note:** Consistency in Terraform version is crucial to avoid state lock errors. Follow the steps below to set up your environment correctly: 1. **Google Cloud Organization:** Set up as described [here](https://cloud.google.com/resource-manager/docs/creating-managing-organization). 2. **Billing Account:** Create and manage as per instructions [here](https://cloud.google.com/billing/docs/how-to/manage-billing-account). Remember to: - Note the billing ID. - Increase the quota for associating projects to 50. 3. **Authentication:** Configure by creating Cloud Identity or Google Workspace groups for admins. -4. **Permissions:** Create a `group_org_admins` group and assign necessary roles including `roles/resourcemanager.projectCreator`, `roles/billing.admin`, etc. +4. **Permissions:** Create a `group_org_admins` group and assign necessary roles including + - `roles/resourcemanager.projectCreator` + - `roles/resourcemanager.folderCreator ` + - `roles/resourcemanager.organizationAdmin` + - `roles/billing.admin`. 5. **Service Accounts:** Ensure GitHub Actions and Cloud Build service accounts are added to the `group_org_admins`. For a detailed setup, refer to the [organization bootstrap module documentation](https://github.com/terraform-google-modules/terraform-google-bootstrap). -## Deployment via GitHub Actions/Cloud Build - -To deploy using GitHub Actions and Cloud Build, follow these steps: - -1. **Fork the Repository:** Start by forking this repo. -2. **Branch Creation:** Create a `${prj_name}-init` branch from the main branch for template use. -3. **Configure Tokens and Secrets:** Set up a bot machine user, GitHub Token, and Slack WebHook Secret as needed. -4. **Update `terraform.tfvars`:** Include necessary values, especially the correct billing ID in the `0-bootstrap` stage. -5. **Execution of Wrapper Script:** Use the provided script to set up the environment and permissions. -6. **Branch Protection Rules:** Apply rules for PRs, approvals, and status checks as described. - -Detailed steps including bot user creation, token configuration, and branch protection rules setup are provided within the deployment section. - +## Deployment Process + +### Step 0 - Forking Github repo + +Follow the steps to fork or clone the landing zone GITHUB repo on your local machine: + +1. Create bot machine user and create a personal access token (PAT) on GitHub for user . + Grants access to PAT as following permission `read:org` and `read:discussions`. + `Goto GitHub profile` > `Settings` > `Developer Settings` > `Personal Access Tokens` > `Generate New Token`. Note the new token value. +2. Create GitHub Token Secret in GitHub as `GH_TOKEN`. +3. Clone the repo: + ``` + git clone https://github.com/ollionorg/gcp-landing-zone.git + ``` + +### Step 1 - Collect configuration information + +> The following steps should be executed on your local system to initialize and run the bootstrap phase for the GCP landing zone. + +1. Ensure the tf variable file inside the file [0-bootstrap/terraform.tfvars](https://github.com/ollionorg/gcp-landing-zone/blob/main/0-bootstrap/terraform.tfvars) are properly set and commit the changes to the repository. For setting the parameters, please refer to the [input documentation](https://github.com/ollionorg/gcp-landing-zone/blob/main/0-bootstrap/README.md#inputs). +2. Add correct billing ID in the `0-bootstrap/terraform.tfvars` file for the initial deployment of the 0-bootstrap stage. +3. Optional if required, Create Slack WebHook Secret in GitHub `GCF_SLACK_WEBHOOK`. +5. Setup `GH_TOKEN` as `$GITHUB_PAT` environment variable and execute the [wrapper script](https://github.com/ollionorg/gcp-landing-zone/blob/main/prerequisites/scripts/wrapper.sh) using below commands (Ensure .terraform directories created locally from previous runs are deleted): + ``` + $ cd ./prerequisites/scripts + + $ read -s token + + + $ export GITHUB_PAT=$token + + $ chmod +x wrapper.sh ; ./wrapper.sh + ``` +6. After execution of wrapper script, add cloudbuild service account from cicd project as a principal in the billing account with `billing.administrator` and `billing.user` +7. Wrapper script will create following branch protection rules for branch `${bu_name}-main`. + ``` + Require a pull request before merging. + Required two number of approvals before merging + Dismiss stale pull request approvals when new commits are pushed + Require review from Code Owners + Require status checks to pass before merging + Require branches to be up to date before merging + Require conversation resolution before merging. + Require signed commits. + Requires administrator + Allow auto-merge and allow auto-deletion of branches + ``` +8. Commit and push changes from `.github/workflows`, `build`, `0-bootstrap`, `README.md` to `${bu_name}-init` and ensure everything gets successfully applied. +9. Start deployment by raising PRs for subsequent stages by pushing the backend.tf changes made by wrapper script for each stage in ${bu_name}-init. + + ## Troubleshooting -Encounter issues? Refer to our [troubleshooting guide](https://drive.google.com/file/d/1KY_WSmBY3_T5dyMH05WuYZ8siKpDDCZW/view) for common problems and solutions. +Describe the problem clearly and send an email to lzhelp@ollion.com. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..a50eeb9 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,35 @@ +# Security Policy + +The current repository scanned and fully-complaint against the below best practices: +1. [Google Cloud Platform Foundation](https://www.cisecurity.org/benchmark/google_cloud_computing_platform) +2. [PCI DSS v3.2.1 and 4.0](https://www.pcisecuritystandards.org/document_library/) +3. [NIST CSF 1.0](https://www.nist.gov/cyberframework/framework-version-10) +4. [CIS Controls 8.0](https://www.cisecurity.org/controls/v8) + +The security scanning performed on a regular basis to ensure security and safety of the landing zone. + +## Supported Versions + +We are currently providing security updates for the following versions: + +| Version | Supported | +| ------- | ------------------ | +| 1.0.0 | :white_check_mark: | + +## Reporting a Vulnerability + +We take the security of our software seriously. If you believe you've found a security vulnerability, please send an email to [lzadmin@ollion.com](mailto:lzadmin@ollion.com). + +When reporting a vulnerability, please include as much information as possible, including: + +- A description of the vulnerability +- Steps to reproduce + - This can be in the form of a scripted test case or set of commands that will consistently reproduce the issue +- The impact: what an attacker can gain from this exploit +- Any potential solutions you can think of + +Please do not open a public GitHub issue if the bug is a security vulnerability. + +After receiving your report, the security team will assess the impact and likelihood of the vulnerability and then determine the severity level using the [Common Vulnerability Scoring System](https://www.first.org/cvss/specification-document). + +We will respond to your report within 48 hours and will keep you updated as we work to address the vulnerability you reported. diff --git a/SUPPORT.md b/SUPPORT.md index 36f1c83..00a68f9 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -1,53 +1,19 @@ # Support -​ -This article explains where to get help with remark. -Please read through the following guidelines. -​ -> �� **Note**: before participating in our community, please read our -> [code of conduct][coc]. -> By interacting with this repository, organization, or community you agree to -> abide by its terms. -​ -## Asking quality questions -​ -Questions can be e-mailed directly to one of Code Owners. -​ -Help us help you! -Spend time framing questions and add links and resources. -Spending the extra time up front can help save everyone time in the long run. -Here are some tips: -​ -* [Talk to a duck][rubberduck]! -* Don’t fall for the [XY problem][xy] -* Search to find out if a similar question has been asked -* Try to define what you need help with: - * Is there something in particular you want to do? - * What problem are you encountering and what steps have you taken to try - and fix it? - * Is there a concept you don’t understand? -* Provide sample code, such as a [CodeSandbox][cs] or video, if possible -* Screenshots can help, but if there’s important text such as code or error - messages in them, please also provide those as text -* The more time you put into asking your question, the better we can help you -​ -## Contributions -​ -See [`contributing.md`][contributing] on how to contribute. -​ -## License -​ -[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) -​ - -​ -[license]: https://creativecommons.org/licenses/by/4.0/ -​ -[coc]: https://github.com/remarkjs/.github/blob/main/code-of-conduct.md -​ -[rubberduck]: https://rubberduckdebugging.com -​ -[xy]: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378 -​ -[cs]: https://codesandbox.io -​ -[contributing]: contributing.md \ No newline at end of file + +Thanks for using our project! If you're looking for help, here are a few options: + +## Documentation + +First, we recommend checking our [documentation](https://github.com/ollionorg/gcp-landing-zone/wiki/User-Guide). We've put a lot of effort into providing comprehensive, easy-to-understand documentation to help you get started and solve common problems. + +## Issue Tracker + +If you've found a bug or have a feature request, please use our [issue tracker](https://github.com/ollionorg/gcp-landing-zone/issues). Before submitting a new issue, please search through existing issues to avoid duplication. + +## Email Support + +If none of the above options work for you, you can email us at lzhelp@ollion.com. We'll respond to you as soon as possible. + +Please understand that this project is supported by volunteers. We'll do our best to help you as quickly as we can, but there might be delays, especially around holidays and weekends. + +Thanks for your understanding! From 1b7d6b307a28804580a1fe9e8e690febc1cc81e0 Mon Sep 17 00:00:00 2001 From: Akash Jaiswal Date: Fri, 12 Apr 2024 14:17:29 +0530 Subject: [PATCH 2/2] Added new codeowner --- CODEOWNERS | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index 054ce29..991dbc9 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,4 +1,7 @@ * @tridev-cldcvr * @vishal-kapse * @amansingh14 -* @sujatak97 \ No newline at end of file +* @sujatak97 +* @prathame +* @shwetanshu-cldcvr +* @akashcldcvr \ No newline at end of file