Skip to content

Commit e069c48

Browse files
committed
review basic README files
1 parent 3b9d99e commit e069c48

File tree

4 files changed

+66
-53
lines changed

4 files changed

+66
-53
lines changed

README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,25 @@
66

77
## Description
88

9-
This repository provides tangible samples based on the good practices and examples given in the [SAP BTP Administrator's Guide](https://help.sap.com/docs/btp/btp-admin-guide/btp-admin-guide) on [help.sap.com](https://help.sap.com/docs/).
9+
This repository provides samples based on the recommendations given in the [SAP BTP Administrator's Guide](https://help.sap.com/docs/btp/btp-admin-guide/btp-admin-guide) on [help.sap.com](https://help.sap.com/docs/).
1010

11-
The provided samples show the implementation of the guidelines using Infrastructure as Code namely [Terraform](https://www.terraform.io/)/[OpenTofu](https://opentofu.org/). This should support in getting started with a sustainable setup of your SAP BTP accounts following our recommendations.
11+
These samples show the implementation of the recommendations using Infrastructure as Code, namely [Terraform](https://www.terraform.io/) or [OpenTofu](https://opentofu.org/). They help you getting started with a sustainable setup of your SAP BTP accounts following our best practices.
1212

1313
## Content Structure
1414

1515
TODO
1616

17-
## How to obtain support
17+
## Getting Support
1818

19-
❓ - If you have a *question* you can ask it here in [GitHub Discussions](https://github.com/SAP-samples/btp-admin-guide-samples/discussions/).
19+
❓ - If you have a *question*, ask it in [GitHub Discussions](https://github.com/SAP-samples/btp-admin-guide-samples/discussions/).
2020

21-
🐞 - If you find a bug, feel free to create a [bug report](https://github.com/SAP-samples/btp-admin-guide-samples/issues/new?assignees=&labels=bug%2Cneeds-triage&projects=&template=bug_report.yml&title=%5BBUG%5D).
22-
23-
💡 - If you have an idea for improvement or a feature request, please open a [feature request](https://github.com/SAP-samples/btp-admin-guide-samples/issues/new?assignees=&labels=enhancement%2Cneeds-triage&projects=&template=feature_request.yml&title=%5BFEATURE%5D).
21+
🐞 - If you find a bug, please create a [bug report](https://github.com/SAP-samples/btp-admin-guide-samples/issues/new?assignees=&labels=bug%2Cneeds-triage&projects=&template=bug_report.yml&title=%5BBUG%5D).
2422

23+
💡 - If you have an idea for improvement or a feature request, feel free to open a [feature request](https://github.com/SAP-samples/btp-admin-guide-samples/issues/new?assignees=&labels=enhancement%2Cneeds-triage&projects=&template=feature_request.yml&title=%5BFEATURE%5D).
2524

2625
## Contributing
2726

28-
If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/).
27+
If you'd like to contribute code, fixes, or improvements, please create a pull request. Due to legal reasons, contributors must accept a DCO. When you create your first pull request to this project, you are automatically asked to accept the DCO. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/).
2928

3029
## Code of Conduct
3130

sample-setups/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Paradigms
44

5-
We follow the paradigms of a simple and clear Terraform configuration as laid out in the [Simple, Clear, Maintainable](https://rosesecurity.dev/blog/2024/11/24/terraform-proverbs) blog post of the [Development Log](https://rosesecurity.dev/) especially:
5+
We follow the paradigms of a simple and clear Terraform configuration as laid out in [Simple, Clear, Maintainable](https://rosesecurity.dev/blog/2024/11/24/terraform-proverbs); especially:
66

77
- Clear is better than clever.
88
- Modules should be reusable, not rigid.
@@ -13,18 +13,18 @@ We follow the paradigms of a simple and clear Terraform configuration as laid ou
1313
- Name with underscores, not dashes.
1414
- Using locals makes code descriptive and maintainable.
1515

16-
## Naming Conventions and Tagging
16+
## Naming Conventions and Labeling
1717

18-
Ensuring naming conventions is one import aspect when provisioning and managing your SAP BTP account. We will align our samples in accordance to the [Naming Conventions for SAP BTP Accounts](https://help.sap.com/docs/btp/btp-admin-guide/naming-conventions-for-sap-btp-accounts).
18+
Consistent naming conventions are one import aspect when provisioning and managing your SAP BTP account. Our samples follow the [Naming Conventions for SAP BTP Accounts](https://help.sap.com/docs/btp/btp-admin-guide/naming-conventions-for-sap-btp-accounts).
1919

20-
To ensure consistent naming of your resources, we encapsulate the guidelines in dedicated module. Besides the naming we will also include the labels that can be attached to some resources on SAP BTP.
20+
To ensure consistent naming of your resources, we encapsulate the guidelines in a dedicated module. Besides the naming, we also include the labels that can be attached to some resources on SAP BTP.
2121

2222
We have created one module for the level of the [directory](./modules/sap-btp-naming-conventions-directory/README.md) and one for the level of the [subaccount](./modules/sap-btp-naming-conventions-subaccount/README.md).
2323

2424
## Setup of Directories
2525

26-
The setup of directories as a structuring element for the subaccounts is configured in the folder `basic-setup/directory-setup`. The Details about the setup are described in the [README.md](./basic-setup/directory-setup/README.md) file.
26+
The folder `basic-setup/directory-setup` contains the setup of directories as a structuring element for the subaccounts. For details, see [README.md](./basic-setup/directory-setup/README.md).
2727

2828
## Setup of Subaccounts
2929

30-
The setup of subaccounts is configured in the folder `basic-setup/subaccount-setup`. The Details about the setup are described in the [README.md](./basic-setup/subaccount-setup/README.md) file.
30+
The folder `basic-setup/subaccount-setup` contains the setup of subaccounts. For details, see the [README.md](./basic-setup/subaccount-setup/README.md) file.

sample-setups/basic-setup/directory-setup/README.md

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,43 @@
22

33
## Assumptions
44

5-
- We assume that we use the directories as structuring element for the subaccounts i.e., in an unmanaged fashion.
5+
- We assume that we use the directories as structuring element for the subaccounts; that is, in an unmanaged fashion.
66
- We assume that we do the directory setup in one run for all involved departments.
77

88
## Design Decisions
99

10-
We decouple the directory creation i.e., the setup of the basic structure from the creation of the operational units namely the subaccounts inside of the directories. The changes on directory level are probably a rare scenario compared to changes in the subaccounts additionally depending on their stage. We want to avoid side effects as well as lengthy state refreshes and keep the state of the directories separate.
10+
We decouple the directory creation (the setup of the basic structure) from the creation of the operational units (the subaccounts within the directories). Typically, changes on directory level happen less frequently than changes in the subaccounts additionally depending on their stage. We want to avoid side effects as well as lengthy state refreshes and keep the state of the directories separate.
1111

1212
## Directory Setup
1313

14-
The creation of the directories is steered by a map of objects that define the business data relevant for a directory namely:
14+
To create the directories, we use a map of objects that define the business data relevant for a directory, such as the following:
1515

16-
- business_unit (`string`): The business unit that owns the directory e.g., HR, IT, Finance
17-
- costcenter (`string`): Cost center of the business unit
18-
- directory_contacts (`list(string)`): List of email addresses representing the directory contacts
19-
- region (`string`): The geographical region of the directory e.g., EMEA
16+
- business_unit (`string`): The business unit that owns the directory, such as HR, IT, or Sales
17+
- costcenter (`string`): The cost center of the business unit
18+
- directory_contacts (`list(string)`): The list of email addresses representing the directory contacts
19+
- region (`string`): The geographical region of the directory, for example, EMEA
2020

21-
This is input data is reflected by the variables defined in the [variables.tf](./variables.tf) file
21+
This is input data is reflected by the variables defined in the [variables.tf](./variables.tf) file.
2222

23-
The directories are provisioned via the [main.tf](./main.tf) file which delegates to the module [base-directory-setup](../../modules/base-directory-setup/README.md). This module combines the corresponding module containing the naming and labeling conventions for a directory and calls the Terraform resource [btp_directory](https://registry.terraform.io/providers/SAP/btp/latest/docs/resources/directory).
23+
The directories are provisioned with the [main.tf](./main.tf) file, which delegates to the module [base-directory-setup](../../modules/base-directory-setup/README.md). This module combines the corresponding module containing the naming and labeling conventions for a directory, and calls the Terraform resource [btp_directory](https://registry.terraform.io/providers/SAP/btp/latest/docs/resources/directory).
2424

25-
After provisioning the output summarizes the executed setup as given by the [outputs.tf](./outputs.tf) file. Here is an example how the output could look like:
25+
After provisioning the output, it summarizes the executed setup as given by the [outputs.tf](./outputs.tf) file. See the following example how the output could look like:
2626

27-
![Sample Output for a directory](../../../assets/base-directory-output.png)
27+
<!-- screenshots are disencouraged because they're harder to keep up to date ![Sample Output for a directory](../../../assets/base-directory-output.png) -->
28+
29+
```json
30+
Outputs:
31+
32+
directories = {
33+
"directory1" = {
34+
"business_unit" = "HR"
35+
"costcenter" = "123456"
36+
"id" = "cf12345f-1234567890"
37+
"name" = "Sales-EMEA"
38+
"region" = "EMEA"
39+
}
40+
}
41+
```
2842

2943
## SAP BTP Administrator's Guide - References
3044

sample-setups/basic-setup/subaccount-setup/README.md

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,64 +2,64 @@
22

33
## Assumptions
44

5-
- We assume a basic setup of a subaccount is executed by the platform team/ SAP BTP administrator team
6-
- We assume that the responsibility of the platform team is restricted to a basic setup of a subaccount leaving out app subscriptions and service instance creation.
5+
- We assume a basic setup of a subaccount is executed by your organization's SAP BTP administrator team, Platform Engineering Team, or Center of Expertise. For details, see [Building Teams](https://help.sap.com/docs/btp/btp-admin-guide/building-teams?locale=en-US&version=Cloud#platform-engineering-team-center-of-excellence).
6+
- We assume that the responsibility of the Platform Engineering Team is restricted to a basic setup of a subaccount, excluding creation of app subscriptions or service instances.
77

88
## Design Decisions
99

10-
To keep the Terraform state files clearly separated the setup is done per subaccount i.e. per stage.
10+
To keep the Terraform state files clearly separated, the setup is done per subaccount, that is, per development stage.
1111

1212
## Subaccount Setup
1313

14-
The setup of the subaccount comprises:
14+
The setup of the subaccount comprises the following steps:
1515

16-
- The setup of a subaccount in accordance to the naming conventions and labeling strategy of the company
17-
- The trust configuration to a custom IdP is configured by default.
18-
- Default entitlements are added depending on the stage. In addition the requesting team can add additional project specific entitlements ("à la carte entitlements")
19-
- Optionally a Cloud Foundry Environment is created
16+
1. The setup of a subaccount following the naming conventions and labeling strategy of your company.
17+
2. The trust configuration to a custom IdP is configured by default.
18+
3. Depending on the development stage, default entitlements are added. In addition, the requesting team can add project-specific entitlements ("à la carte entitlements").
19+
4. Optionally, a Cloud Foundry Environment is created.
2020

2121
### Naming Conventions and Labels
2222

23-
The naming conventions and labels are centralized in the module [sap-btp-naming-conventions-subaccount](../../modules/sap-btp-naming-conventions-subaccount/README.md). The names and labels are derived based on input variables defined in the [variables.tf](./variables.tf) file.
23+
The naming conventions and labels are centralized in the module [sap-btp-naming-conventions-subaccount](../../modules/sap-btp-naming-conventions-subaccount/README.md). The input variables (see [variables.tf](./variables.tf)) define the names and labels.
2424

25-
### Validations for Geographies and BTP Regions
25+
### Validations for Geographies and SAP BTP Regions
2626

27-
According to the SAP BTP Administrators Guide one part of the naming is the geographical region. To ensure that this region fits to the subaccount region, a validation is implemented in the [variables.tf](./variables.tf) file. The validation checks if the region of the subaccount is part of the geographical region. The geographical regions are defined in a local variables defined in the [main.tf](main.tf) file.
27+
You can include the geographical region in your naming conventions. To ensure that this region fits to the subaccount region, the [variables.tf](./variables.tf) file validates if the region of the subaccount is part of the geographical region. The geographical regions are defined as local variables in the [main.tf](main.tf) file.
2828

2929
### Setup of Entitlements
3030

31-
The setup of entitlements is split into two parts:
31+
The setup of entitlements is split into two files:
3232

33-
- The default entitlements that are defined per stage and sourced from the module [](../../modules/sap-btp-subaccount-default-entitlements/README.md)
34-
- Optional additional entitlements that might be needed due to project specific requirements. These entitlements are defined in the [variables.tf](./variables.tf) file
33+
- The default entitlements that are defined per development stage and sourced from the module (see [SAP BTP - Default Subaccount Entitlements](../../modules/sap-btp-subaccount-default-entitlements/README.md)).
34+
- Optional additional entitlements, depending on project-specific requirements. These entitlements are defined in the [variables.tf](./variables.tf) file
3535

3636
The configuration merges the two files and adds the entitlements to the subaccount.
3737

38-
To ease the provisioning of entitlements we use the Terraform community module [SAP BTP Entitlements Management with Terraform Module: sap-btp-entitlements](https://registry.terraform.io/modules/aydin-ozcan/sap-btp-entitlements/btp/latest).
38+
For easier provisioning of entitlements, we use the Terraform community module [SAP BTP Entitlements Management with Terraform Module: sap-btp-entitlements](https://registry.terraform.io/modules/aydin-ozcan/sap-btp-entitlements/btp/latest).
3939

40-
### Setup of Cloud Foundry Environment
40+
### Setup of SAP BTP, Cloud Foundry Runtime
4141

42-
The setup of a Cloud Foundry environment is optional. The caller can decide if a Cloud Foundry environment is required or not e.g. when setting up a shared subaccount. The boolean variable is `provision_cf_environment` in the [variables.tf](./variables.tf) file.
42+
The setup of a Cloud Foundry runtime is optional. The caller can decide if a Cloud Foundry runtime is required or not, for example, when setting up a shared subaccount. The Boolean variable is `provision_cf_environment` in the [variables.tf](./variables.tf) file.
4343

44-
The configuration of the setup is done in the corresponding module [`sap-btp-environment/cloudfoundry`](../../modules/sap-btp-environment/cloudfoundry/README.md).
44+
The setup is configured in the corresponding module [`sap-btp-environment/cloudfoundry`](../../modules/sap-btp-environment/cloudfoundry/README.md).
4545

46-
### Setup of Kyma Environment
46+
### Setup of SAP BTP, Kyma Runtime
4747

48-
The setup of a Kyma environment is optional. The caller can decide if a Kyma environment is required or not e.g. when setting up a shared subaccount. The boolean variable is `provision_kyma_environment` in the [variables.tf](./variables.tf) file.
48+
The setup of a Kyma runtime is optional. The caller can decide if a Kyma runtime is required or not, for example, when setting up a shared subaccount. The Boolean variable is `provision_kyma_environment` in the [variables.tf](./variables.tf) file.
4949

50-
If the Kyma environment is requested, the variable `kyma_administrators` in the [variables.tf](./variables.tf) file must be filled with the users that should be assigned as administrators. This condition is validated
50+
If the Kyma runtime is requested, the users that should be assigned as administrators must be entered in the variable `kyma_administrators` in the [variables.tf](./variables.tf) file. This condition is validated.
5151

52-
The configuration of the setup is done in the corresponding module [`sap-btp-environment/kyma`](../../modules/sap-btp-environment/kyma/README.md).
52+
The setup is configured in the corresponding module [`sap-btp-environment/kyma`](../../modules/sap-btp-environment/kyma/README.md).
5353

5454
### Output
5555

56-
The output defined in the [outputs.tf](./outputs.tf) file returns the main information relevant for the development team namely:
56+
The output defined in the [outputs.tf](./outputs.tf) file returns the main information relevant for the development team, such as:
5757

58-
- a link to the subaccount
59-
- The ID of the Cloud Foundry org if a Cloud Foundry environment is created
60-
- The API endpoint of the Cloud Foundry environment if a Cloud Foundry environment is created
61-
- The URL to the Kyma dashboard if a Kyma environment is created
62-
- The URL to the Kubeconfig file for the Kyma runtime if a Kyma environment is created
58+
- A link to the subaccount
59+
- If a Cloud Foundry runtime is created, the ID of the Cloud Foundry org
60+
- If a Cloud Foundry runtime is created, the API endpoint of the Cloud Foundry environment
61+
- If a Kyma runtime is created, the URL to the Kyma dashboard
62+
- If a Kyma runtime is created, the URL to the Kubeconfig file for the Kyma runtime
6363

6464
## SAP BTP Administrator's Guide - References
6565

0 commit comments

Comments
 (0)