GithubHelp home page GithubHelp logo

terraform-google-modules / terraform-google-sap Goto Github PK

View Code? Open in Web Editor NEW
32.0 21.0 27.0 653 KB

Deploys SAP products

Home Page: https://registry.terraform.io/modules/terraform-google-modules/sap/google

License: Apache License 2.0

Makefile 0.79% HCL 96.68% Go 2.52%
cft-terraform compute

terraform-google-sap's Introduction

terraform-google-sap

This module is a collection of multiple opinionated submodules to deploy SAP Products. Below is the list of available submodules:

Usage

Each submodules have their own usage documented in the modules folder. For example, see the SAP HANA Usage Section.

Functional examples are included in the examples directory.

Requirements

These sections describe requirements for using this module.

Software

The following dependencies must be available:

Service Account

A service account with the following roles must be used to provision the resources of each submodule:

  • Compute Admin: roles/compute.admin

Please refer to the documentation of specific submodules located in the modules folder for additional requirements for the service account.

The Project Factory module and the IAM module may be used in combination to provision a service account with the necessary roles applied.

APIs

A project with the following APIs enabled must be used to host the resources of this module:

  • Compute Engine API: compute.googleapis.com

The Project Factory module can be used to provision a project with the necessary APIs enabled.

Contributing

We are not accepting contributions at this time.

terraform-google-sap's People

Contributors

aaron-lane avatar apsureda avatar arvindpai avatar bharathkkb avatar bmenasha avatar cloud-foundation-bot avatar dependabot[bot] avatar emmanuelsomeox avatar g-awmalik avatar ivanfemia avatar michaeldtz avatar morgante avatar release-please[bot] avatar renovate[bot] avatar sjswerdlow avatar tfmenard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

terraform-google-sap's Issues

Create test suites for all submodules

Each submodule should have a Kitchen test suite which verifies significant functionality. These test suites should use the example modules to provision the test environments.

Wrong disk sizes for HANA VMs

When creating a HANA instance the SSD and the standard disks are created with the same size.
As the Terraform is using the sap_hana.py script for HANA disk size calculation, it is be possible to retreive both values in the python script output.
Can the HANA and HANA_HA modules be updated to set the correct disk sizes ?

I would be happy to contribute and propose a change.

Make External IP configurable

For security reasons many customers only want to deploy VMs without external IP addresses. Currently this is not configurable in the scripts for HANA / HANA_HA. The NetWeaver scripts already have this config option named "external_ip".

Is there a chance to add this to the HANA / HANA_HA setups?
I'm happy to contribute if that makes sense for this little change.

Incorrect condition type for var.public_ip is 1 in sap_hana_simple_example

I keep getting this error when trying to plan the sap_hana_simple_example.

module.gcp_sap_hana.module.sap_hana.data.http.sap-hana-py: Refreshing state...


Error: Incorrect condition type

on ....\modules\sap_hana\main.tf line 59, in resource "google_compute_address" "gcp_sap_hana_ip":
59: count = var.public_ip ? 1 : 0
|----------------
| var.public_ip is 1

The condition expression must be of type bool.

Required IAM roles are not documented

The READMEs for the SAP HANA submodules list only roles/storage.objectViewer as required for the service account attached to the VM instances, but I have a client who has identified roles/logging.admin and roles/compute.admin as required roles to solve errors seen during execution of the startup script. It's possible that roles less privileged than "admin" may be sufficient, but this needs to be investigated.

Master Password stored in plain text in variables and instance metadata

The master password for SAP system to be installed in examples is provided as an input variable and stored in *.tfvars file.
Does not look secure even assuming that password value will be removed from repository after installation (could still be found in git history)

The proposal is to generate the random and secure password on the runtime with random_password resource.
The result can be put into GCP secrets manager secret

The variable for "public_ip" cannot be specified.

Hello!

I was running some test deployments and I wanted to build my machines without a public IP. I noticed that the is a variable option for "public_ip". I set it to false in my variables file, but when I ran a terraform validate it came back that the "public_ip" was an unsupported argument. If I'm doing something wrong, please let me know!

`Error: Unsupported argument

on main.tf line 48, in module "gcp_sap_hana":
48: public_ip = var.public_ip

An argument named "public_ip" is not expected here.`

Startup-script handling in examples.

This is a minor proposal for an improvement that increases the consistency between the NW example and the HANA examples. The HANA examples use (in main.tf) for the startup-script the approach to load it from a file. This is missing in the netweaver example.

The effect is: The HANA examples expect to get a filename to the script, while the netweaver example expects to get the scripts content. If would streamline this to the approach in the HANA example

In HANA Example:

startup_script = file(var.startup_script)

In NW Example:

startup_script = var.startup_script

If that makes sense i would move forward and create the changes and make the pull request.

Test 1.0.0 release candidate for backward compatibility

Since there are changes to existing submodules in 1.0.0 beyond the upgrade to Terraform 0.12, they must be tested for backward compatibility with their 0.1.0 counterparts. If there are breaking changes, an upgrade guide must be written which documents how to upgrade from 0.1.0 to 1.0.0. The Kubernetes Engine module has several examples for reference.

Shared VPC support

Many SAP GCP deployments are performed in a shared VPC configuration. Currently, the scripts do not support deployment to a shared VPC.
Does this enhancement is planned in a future release ?

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

gomod
test/integration/go.mod
  • go 1.21
  • go 1.21.10
  • github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test v0.14.1
  • github.com/gruntwork-io/terratest v0.46.14
  • github.com/stretchr/testify v1.9.0
regex
Makefile
  • cft/developer-tools 1.20
build/int.cloudbuild.yaml
  • cft/developer-tools 1.20
build/lint.cloudbuild.yaml
  • cft/developer-tools 1.20
terraform
examples/sap_hana_ha_simple/main.tf
  • terraform-google-modules/sap/google ~> 1.0
examples/sap_hana_scaleout_simple/main.tf
  • terraform-google-modules/sap/google ~> 1.0
examples/sap_hana_simple/main.tf
  • terraform-google-modules/sap/google ~> 1.0
examples/sap_nw_ha_simple/main.tf
  • terraform-google-modules/sap/google ~> 1.0
examples/sap_nw_simple/main.tf
  • terraform-google-modules/sap/google ~> 1.0
examples/sap_s4_ha_simple/main.tf
  • terraform-google-modules/sap/google ~> 1.0
examples/sap_s4_simple/main.tf
  • terraform-google-modules/sap/google ~> 1.0
modules/s4/project.tf
  • google >= 4.0.0, < 6
  • hashicorp/terraform >=0.12.6
modules/s4_ha/project.tf
  • google >= 4.0.0, < 6
  • hashicorp/terraform >=0.12.6
modules/sap_hana/versions.tf
  • assert 0.0.1
  • google >= 4.0.0, < 6
  • hashicorp/terraform >=0.12.6
modules/sap_hana_ha/versions.tf
  • assert 0.0.1
  • google >= 4.0.0, < 6
  • validation 1.1.1
  • hashicorp/terraform >=0.12.6
modules/sap_hana_scaleout/versions.tf
  • assert 0.0.1
  • google >= 4.0.0, < 6
  • hashicorp/terraform >=0.12.6
modules/sap_nw/versions.tf
  • google >= 4.0.0, < 6
  • hashicorp/terraform >=0.12.6
modules/sap_nw_ha/versions.tf
  • google >= 4.0.0, < 6
  • hashicorp/terraform >=0.12.6
test/setup/main.tf
  • terraform-google-modules/project-factory/google ~> 15.0
  • terraform-google-modules/network/google ~> 9.0
test/setup/versions.tf
  • google >= 3.25.0
  • google-beta >= 3.25.0
  • hashicorp/terraform >= 0.13

  • Check this box to trigger a request for Renovate to run again on this repository

Simplify examples

Presently, the examples include a large amount of variable inputs. The examples should be simplified through hard-coding of values and inclusion of supporting resources to demonstrate specific usage patterns of the module.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.