MakarkinSAkvelon commented on code in PR #23208:
URL: https://github.com/apache/beam/pull/23208#discussion_r993697389
##########
playground/terraform/README.md:
##########
@@ -16,74 +16,179 @@
specific language governing permissions and limitations
under the License.
-->
+# Here you will find the steps for deploying BEAM Playground on your project
-# Requirements
+## Prerequisites:
-The following items need to be setup for the Playground cluster deployment on
GCP:
+### Before you will start with the installation steps, please read this
carefully:
+1. How to create a new project in Google Cloud Platform:
+```
+https://cloud.google.com/resource-manager/docs/creating-managing-projects
+```
+**Description:** * *How to create a new project in Google Cloud Platform. It's
strongly recommended to use the new Google Cloud Project for your new projects*
*
-* [GCP account](https://cloud.google.com/)
-* [`gcloud` command-line tool](https://cloud.google.com/sdk/gcloud) and
required setup i.e. login
-* [Terraform](https://www.terraform.io/downloads.html) tool
-* [Docker](https://www.docker.com/get-started)
+2. How to create a new service account
+```
+https://cloud.google.com/iam/docs/creating-managing-service-accounts
+```
+**Description:** * *You will find the instruction "How to create Service
account" for your new project* *
-# Deployment steps
+3. How to create a JSON key for a Google Service account:
+```
+https://cloud.google.com/iam/docs/creating-managing-service-account-keys
+```
+**Description:** * *In this instruction will be explained how to create a JSON
key for your service account. it will be required for authentication.* *
-## 0. Create GCS bucket for state
+4. How to create a new bucket:
+```
+https://cloud.google.com/storage/docs/creating-buckets
+```
+**Description:** * *Short instruction for bucket creation. You will need at
least one bucket for file keeping* *
-```bash
-$ gsutil mb -p ${PROJECT_ID} gs://state-bucket-name
-$ gsutil versioning set on gs://state-bucket-name
+5. How to assign a new role for the service account:
+```
+https://cloud.google.com/iam/docs/granting-changing-revoking-access
```
+**Description:** * *It will explain how to assign required roles for your
service account* *
-## 1. Create new environment
+6. How to install gcloud CLI to your local environment
+```
+https://cloud.google.com/sdk/docs/install?hl=en
+```
+**Description:** * *GCloud - Google command line interface, which will allow
you to interact with the Google cloud platform thru the command line
(https://en.wikipedia.org/wiki/Command-line_interface)* *
-To provide information about the terraform backend, run the following commands
+7. What are Google Cloud Platform APIs
+```
+https://cloud.google.com/apis
+```
+**Description:** * *Short description of all Google Platform APIs* *
-* New environment folder
+8. How to Enable Google Cloud Platform API
+```
+https://cloud.google.com/endpoints/docs/openapi/enable-api
+```
+**Description:** * *Steps to enable APIs in Google Cloud Platform* *
-```bash
-mkdir /path/to/beam/playground/terraform/environment/{env-name}
+9. Google Cloud Platform naming policy
+```
+https://cloud.google.com/compute/docs/naming-resources
+```
+**Description:** * *Describes the naming convention for Compute Engine
resources.* *
+10. What is Docker
```
+https://docs.docker.com/get-started/overview/
+```
+**Description:** * *What is Docker and how to use it* *
-* Backend config
+***Google Cloud preparation steps:***
+After you created or identified an existing project for deployment, add or
select a service account with a JSON key, and add or select state_bucket for
storing the Terraform state data according to the instructions above:
+ - App Engine Admin
+ - App Engine Creator
+ - Artifact Registry Administrator
+ - Cloud Memorystore Redis Admin
+ - Compute Admin
+ - Create Service Accounts
+ - Kubernetes Engine Admin
+ - Quota Administrator
+ - Role Administrator
+ - Security Admin
+ - Service Account User
+ - Storage Admin
+ - Cloud Datastore Index Admin
-```bash
-echo 'bucket = "put your state bucket name here"' >
/path/to/beam/playground/terraform/environment/{env-name}/state.tfbackend
-```
+These Google APIs will be needed for the BEAM Playground
+ - **Identity and Access Management (IAM)** - Manages identity and access
control for Google Cloud Platform resources, including the creation of service
accounts, which you can use to authenticate to Google and make API calls
+ - **Compute Engine API** - Creates and runs Virtual Machines on Google Cloud
+ - **App Engine Admin API** - Provisions and manages App Engine applications
+ - **Cloud Resource Manager API** - Creates, reads, and updates metadata for
Google Cloud Platform resource containers
+You may find the instruction "How to enable Google Cloud Platform API" above
-* Terraform variables config and provide necessary variables
+***Operation System preparation steps:***
-```bash
-touch
/path/to/beam/playground/terraform/environment/{env-name}/terraform.tfvars
-```
+During the Operation system preparation steps, you will need to install Java,
HELM, GIT, Docker, GCloud, Terraform, Kubernetes command line interface
-Then provide necessary variables.
+1. How to install Java:
+* [This link](https://adoptopenjdk.net/) will provide you will all necessary
instructions for Windows and Linux operation systems
-## 2. Provision infrastructure
+2. How to install Kubernetes Command Line Interface
+* [Linux link](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
instructions for Linux operation systems
+* [Windows
link](https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/)
instructions for Windows operation systems
-To deploy Playground infrastructure run gradle task:
+3. How to install HELM
+* [HELM link](https://helm.sh/docs/intro/install/) instructions for Windows
and Linux operation systems
-```bash
-./gradlew playground:terraform:InitInfrastructure
-Pproject_environment="env-name"
-```
+4. How to install GIT
+* [Git link](https://git-scm.com/download/win) instructions for Windows
operation systems
+* [Git Link](https://git-scm.com/download/linux) instructions for Linux
operation systems
Review Comment:
Fixed
##########
playground/terraform/README.md:
##########
@@ -16,74 +16,179 @@
specific language governing permissions and limitations
under the License.
-->
+# Here you will find the steps for deploying BEAM Playground on your project
-# Requirements
+## Prerequisites:
-The following items need to be setup for the Playground cluster deployment on
GCP:
+### Before you will start with the installation steps, please read this
carefully:
+1. How to create a new project in Google Cloud Platform:
+```
+https://cloud.google.com/resource-manager/docs/creating-managing-projects
+```
+**Description:** * *How to create a new project in Google Cloud Platform. It's
strongly recommended to use the new Google Cloud Project for your new projects*
*
-* [GCP account](https://cloud.google.com/)
-* [`gcloud` command-line tool](https://cloud.google.com/sdk/gcloud) and
required setup i.e. login
-* [Terraform](https://www.terraform.io/downloads.html) tool
-* [Docker](https://www.docker.com/get-started)
+2. How to create a new service account
+```
+https://cloud.google.com/iam/docs/creating-managing-service-accounts
+```
+**Description:** * *You will find the instruction "How to create Service
account" for your new project* *
-# Deployment steps
+3. How to create a JSON key for a Google Service account:
+```
+https://cloud.google.com/iam/docs/creating-managing-service-account-keys
+```
+**Description:** * *In this instruction will be explained how to create a JSON
key for your service account. it will be required for authentication.* *
-## 0. Create GCS bucket for state
+4. How to create a new bucket:
+```
+https://cloud.google.com/storage/docs/creating-buckets
+```
+**Description:** * *Short instruction for bucket creation. You will need at
least one bucket for file keeping* *
-```bash
-$ gsutil mb -p ${PROJECT_ID} gs://state-bucket-name
-$ gsutil versioning set on gs://state-bucket-name
+5. How to assign a new role for the service account:
+```
+https://cloud.google.com/iam/docs/granting-changing-revoking-access
```
+**Description:** * *It will explain how to assign required roles for your
service account* *
-## 1. Create new environment
+6. How to install gcloud CLI to your local environment
+```
+https://cloud.google.com/sdk/docs/install?hl=en
+```
+**Description:** * *GCloud - Google command line interface, which will allow
you to interact with the Google cloud platform thru the command line
(https://en.wikipedia.org/wiki/Command-line_interface)* *
-To provide information about the terraform backend, run the following commands
+7. What are Google Cloud Platform APIs
+```
+https://cloud.google.com/apis
+```
+**Description:** * *Short description of all Google Platform APIs* *
-* New environment folder
+8. How to Enable Google Cloud Platform API
+```
+https://cloud.google.com/endpoints/docs/openapi/enable-api
+```
+**Description:** * *Steps to enable APIs in Google Cloud Platform* *
-```bash
-mkdir /path/to/beam/playground/terraform/environment/{env-name}
+9. Google Cloud Platform naming policy
+```
+https://cloud.google.com/compute/docs/naming-resources
+```
+**Description:** * *Describes the naming convention for Compute Engine
resources.* *
+10. What is Docker
```
+https://docs.docker.com/get-started/overview/
+```
+**Description:** * *What is Docker and how to use it* *
-* Backend config
+***Google Cloud preparation steps:***
+After you created or identified an existing project for deployment, add or
select a service account with a JSON key, and add or select state_bucket for
storing the Terraform state data according to the instructions above:
+ - App Engine Admin
+ - App Engine Creator
+ - Artifact Registry Administrator
+ - Cloud Memorystore Redis Admin
+ - Compute Admin
+ - Create Service Accounts
+ - Kubernetes Engine Admin
+ - Quota Administrator
+ - Role Administrator
+ - Security Admin
+ - Service Account User
+ - Storage Admin
+ - Cloud Datastore Index Admin
-```bash
-echo 'bucket = "put your state bucket name here"' >
/path/to/beam/playground/terraform/environment/{env-name}/state.tfbackend
-```
+These Google APIs will be needed for the BEAM Playground
+ - **Identity and Access Management (IAM)** - Manages identity and access
control for Google Cloud Platform resources, including the creation of service
accounts, which you can use to authenticate to Google and make API calls
+ - **Compute Engine API** - Creates and runs Virtual Machines on Google Cloud
+ - **App Engine Admin API** - Provisions and manages App Engine applications
+ - **Cloud Resource Manager API** - Creates, reads, and updates metadata for
Google Cloud Platform resource containers
+You may find the instruction "How to enable Google Cloud Platform API" above
-* Terraform variables config and provide necessary variables
+***Operation System preparation steps:***
-```bash
-touch
/path/to/beam/playground/terraform/environment/{env-name}/terraform.tfvars
-```
+During the Operation system preparation steps, you will need to install Java,
HELM, GIT, Docker, GCloud, Terraform, Kubernetes command line interface
-Then provide necessary variables.
+1. How to install Java:
+* [This link](https://adoptopenjdk.net/) will provide you will all necessary
instructions for Windows and Linux operation systems
-## 2. Provision infrastructure
+2. How to install Kubernetes Command Line Interface
+* [Linux link](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
instructions for Linux operation systems
+* [Windows
link](https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/)
instructions for Windows operation systems
-To deploy Playground infrastructure run gradle task:
+3. How to install HELM
+* [HELM link](https://helm.sh/docs/intro/install/) instructions for Windows
and Linux operation systems
-```bash
-./gradlew playground:terraform:InitInfrastructure
-Pproject_environment="env-name"
-```
+4. How to install GIT
+* [Git link](https://git-scm.com/download/win) instructions for Windows
operation systems
+* [Git Link](https://git-scm.com/download/linux) instructions for Linux
operation systems
-## 3. Deploy application
+5. How to install Docker
+* [Docker link](https://docs.docker.com/engine/install/) instructions for
Windows and Linux operation systems
-To deploy application run following steps:
+6. How to install GCloud
+* [Gcloud link](https://cloud.google.com/sdk/docs/install#linux) instructions
for Windows and Linux operation systems
-* Authinticate in Artifact registry
+7. How to install Terraform
+* [Terraform link](https://www.terraform.io/downloads)
Review Comment:
Fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]