|
2 | 2 |
|
3 | 3 | ## Assumptions
|
4 | 4 |
|
5 |
| -- We assume that we use the directories as structuring element for the subaccounts i.e., un an unmanaged fashion. |
6 |
| -- We assume that we do the directory setup in one run for all involved departments. |
| 5 | +- We assume a bsaic 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 subacount leaving out app subscriptions and service instance creation. |
7 | 7 |
|
8 | 8 | ## Design Decsions
|
9 | 9 |
|
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 directory. The changes on directory level are probably a rare sceanrio compared to the subaccounts (depending on their stage) and we therefore want to avoid side effects as well as lengthy state refreshes. |
| 10 | +To keep the Terraform state files clearly seperated the setup is done per subaccount i.e. per stage. |
11 | 11 |
|
12 | 12 | ## Subaccount Setup
|
13 | 13 |
|
14 |
| -- Basic setup of a subaccount. Every subaccount is created seperately |
15 |
| -- Naming Conventions and Labels |
16 |
| -- Validation of Geo Region and Subaccount region |
17 |
| -- Default Setup of custom IdP |
18 |
| -- Provision CF env (optional) |
19 |
| -- Execute default plus à la carte entitlements |
| 14 | +The setup of the subaccount comprises: |
| 15 | + |
| 16 | +- The setup of a subaccount in accordance to the naming conventions and labeling startegy 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 |
| 20 | + |
| 21 | +### Naming Conventions and Labels |
| 22 | + |
| 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 drived based on input variables defined in the [variables.tf](./variables.tf) file. |
20 | 24 |
|
21 | 25 | ### Validations for Geographies and BTP Regions
|
22 | 26 |
|
23 |
| -### Trust Configuration for Custom IdP |
| 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 variable sdefined in the [main.tf](main.tf) file. |
24 | 28 |
|
25 | 29 | ### Setup of Entitlements
|
26 | 30 |
|
| 31 | +The setup of entitlements is split into two parts: |
| 32 | + |
| 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 |
| 35 | + |
| 36 | +The configuration merges the two files and adds the entitlements to the subaccount. |
| 37 | + |
27 | 38 | ### Setup of Cloud Foundry Environment
|
| 39 | + |
| 40 | +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. |
| 41 | + |
| 42 | + |
| 43 | +### Output |
| 44 | + |
| 45 | +The output defined in the [outputs.tf](./outputs.tf) file returns the main information relevant for the development team namely: |
| 46 | + |
| 47 | +- a link to the subaccount |
| 48 | +- The ID of the Cloud Foundry org |
| 49 | +- The API endpoint of the Cloud Foundry environment |
0 commit comments