{"id":23331089,"url":"https://github.com/sassoftware/viya4-iac-gcp","last_synced_at":"2025-04-07T10:47:42.168Z","repository":{"id":37075905,"uuid":"294174276","full_name":"sassoftware/viya4-iac-gcp","owner":"sassoftware","description":"This project contains Terraform configuration files to provision infrastructure components required to deploy SAS Viya platform products on Google Cloud","archived":false,"fork":false,"pushed_at":"2025-03-25T16:50:35.000Z","size":944,"stargazers_count":24,"open_issues_count":1,"forks_count":18,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-03-25T17:32:21.978Z","etag":null,"topics":["cloud-resources","gke","google-gcp","iac","sas-osp","sas-viya","terrafrom"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sassoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-09T16:52:09.000Z","updated_at":"2025-03-19T18:27:58.000Z","dependencies_parsed_at":"2024-01-22T18:17:09.941Z","dependency_job_id":"3c23a519-e597-4c04-ab7e-7aa158b6b5bf","html_url":"https://github.com/sassoftware/viya4-iac-gcp","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fviya4-iac-gcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fviya4-iac-gcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fviya4-iac-gcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fviya4-iac-gcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sassoftware","download_url":"https://codeload.github.com/sassoftware/viya4-iac-gcp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640509,"owners_count":20971553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-resources","gke","google-gcp","iac","sas-osp","sas-viya","terrafrom"],"created_at":"2024-12-20T22:30:52.055Z","updated_at":"2025-04-07T10:47:42.159Z","avatar_url":"https://github.com/sassoftware.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SAS Viya 4 Infrastructure as Code (IaC) for Google Cloud\n\n## Overview\n\nThis project contains Terraform scripts to provision Google Cloud infrastructure resources required to deploy SAS Viya 4 platform products. Here is a list of resources this project can create -\n\n  \u003e- VPC Network and Network Firewalls\n  \u003e- Managed Google Kubernetes Engine (GKE) cluster\n  \u003e- System and User GKE Node pools with required Labels and Taints\n  \u003e- Infrastructure to deploy SAS Viya platform CAS in SMP or MPP mode\n  \u003e- Shared Storage options for SAS Viya platform -  Google Filestore (ha), Google NetApp Volumes (ha) or NFS Server (standard)\n  \u003e- Google Cloud SQL for PostgreSQL instance, optional\n\n[\u003cimg src=\"./docs/images/viya4-iac-gcp-diag.png\" alt=\"Architecture Diagram\" width=\"750\"/\u003e](./docs/images/viya4-iac-gcp-diag.png?raw=true)\n\nOnce the cloud resources are provisioned, see the [viya4-deployment](https://github.com/sassoftware/viya4-deployment) repository to deploy SAS Viya 4 platform products. If you need more information on the SAS Viya 4 platform products refer to the official [SAS\u0026reg; Viya\u0026reg; platform Operations](https://documentation.sas.com/?cdcId=itopscdc\u0026cdcVersion=default\u0026docsetId=itopswlcm\u0026docsetTarget=home.htm) documentation for more details.\n\n## Prerequisites\n\nOperational knowledge of \n- [Terraform](https://www.terraform.io/intro/index.html)\n- [Docker](https://www.docker.com/)\n- [Google Cloud](https://cloud.google.com/)\n- [Kubernetes](https://kubernetes.io/docs/concepts/)\n\n### Required\n\n- Access to a [**Google Cloud \"Project\"**](https://cloud.google.com/resource-manager/docs/creating-managing-projects) with [these API Services](docs/user/APIServices.md) enabled. \n\n- A [Google Cloud Service Account](./docs/user/TerraformGCPAuthentication.md).\n\n- Terraform or Docker\n  - #### Terraform\n    - [Terraform](https://www.terraform.io/downloads.html) - v1.10.5\n    - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) - v1.30.10\n    - [jq](https://stedolan.github.io/jq/) - v1.7\n    - [gcloud CLI](https://cloud.google.com/sdk/gcloud) - (optional - useful as an alternative to the Google Cloud Platform Portal) - v513.0.0\n    - [gke-gcloud-auth-plugin](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#install_plugin) - (optional - only for provider based Kubernetes configuration files) - \u003e= v1.26\n  - #### Docker\n    - [Docker](https://docs.docker.com/get-docker/)\n\n## Getting Started\n\n### Clone this project\n\nRun these commands in a Terminal session:\n\n```bash\n# clone this repository\ngit clone https://github.com/sassoftware/viya4-iac-gcp\n\n# move to directory\ncd viya4-iac-gcp\n```\n\n### Authenticating Terraform to access Google Cloud\n\nSee [Terraform Google Cloud Authentication](./docs/user/TerraformGCPAuthentication.md) for details.\n\n### Customize Input Values\n\nCreate a file named `terraform.tfvars` to customize any input variable value documented in the [CONFIG-VARS.md](docs/CONFIG-VARS.md) file. For starters, you can copy one of the provided example variable definition files in `./examples` folder. For more details on the variables declared refer to the [CONFIG-VARS.md](docs/CONFIG-VARS.md) file.\n\n**NOTE:** You will need to update the `cidr_blocks` in the [variables.tf](variables.tf) file to allow traffic from your current network. Without these rules, access to the cluster will only be allowed via the Google Cloud Console.\n\nWhen using a variable definition file other than `terraform.tfvars`, see [Advanced Terraform Usage](docs/user/AdvancedTerraformUsage.md) for additional command options.\n\n## Creating and Managing the Cloud Resources\n\nCreate and manage the Google Cloud resources by either\n\n- using [Terraform](docs/user/TerraformUsage.md) directly on your workstation, or\n- using a [Docker container](docs/user/DockerUsage.md). \n\n\n## Troubleshooting\n\nSee [troubleshooting](./docs/Troubleshooting.md) page.\n\n## Contributing\n\n\u003e We welcome your contributions! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to submit contributions to this project. \n\n## License\n\n\u003e This project is licensed under the [Apache 2.0 License](LICENSE).\n\n## Additional Resources\n\n### Google Cloud\n\n- Google Cloud CLI - https://cloud.google.com/sdk/gcloud\n- Terraform on Google Cloud - https://cloud.google.com/docs/terraform\n- Terraform and Google Cloud Service Accounts - https://medium.com/@gmusumeci/how-to-create-a-service-account-for-terraform-in-gcp-google-cloud-platform-f75a0cf918d1\n- GKE intro - https://cloud.google.com/kubernetes-engine\n\n### Terraform \n\n- Google Provider - https://www.terraform.io/docs/providers/google/index.html\n- Google GKE - https://www.terraform.io/docs/providers/google/r/container_cluster\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsassoftware%2Fviya4-iac-gcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsassoftware%2Fviya4-iac-gcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsassoftware%2Fviya4-iac-gcp/lists"}