github.com/kyma-project/kyma-environment-broker@v0.0.1/docs/user/03-10-service-description.md (about)

     1  # Service description
     2  
     3  Kyma Environment Broker (KEB) is compatible with the [Open Service Broker API](https://www.openservicebrokerapi.org/) (OSBAPI) specification. It provides a ServiceClass that provisions SAP BTP, Kyma runtime on a cluster.
     4  
     5  ## Service plans
     6  
     7  The supported plans are as follows:
     8  
     9  | Plan name | Plan ID | Description |
    10  |-----------|---------|-------------|
    11  | `azure` | `4deee563-e5ec-4731-b9b1-53b42d855f0c` |Installs Kyma runtime on the Azure cluster. |
    12  | `azure_lite` | `8cb22518-aa26-44c5-91a0-e669ec9bf443` | Installs Kyma Lite on the Azure cluster. |
    13  | `aws` | `361c511f-f939-4621-b228-d0fb79a1fe15` | Installs Kyma runtime on the AWS cluster. |
    14  | `gcp` | `ca6e5357-707f-4565-bbbd-b3ab732597c6` | Installs Kyma runtime on the GCP cluster. |
    15  | `trial` | `7d55d31d-35ae-4438-bf13-6ffdfa107d9f` | Installs Kyma trial plan on Azure, AWS or GCP. |
    16  | `free` | `b1a5764e-2ea1-4f95-94c0-2b4538b37b55` | Installs Kyma free plan on Azure or AWS. |
    17  
    18  There are also three experimental plans:
    19  
    20  | Plan name | Plan ID | Description |
    21  |-----------|---------|-------------|
    22  | `openstack` | `03b812ac-c991-4528-b5bd-08b303523a63` | Installs Kyma runtime on the OpenStack cluster. |
    23  | `own_cluster` | `03e3cb66-a4c6-4c6a-b4b0-5d42224debea` | Installs Kyma runtime on a custom Kubernetes cluster. |
    24  | `preview` | `5cb3d976-b85c-42ea-a636-79cadda109a9` | Installs Kyma runtime on AWS using Lifecycle Manager. |
    25  
    26  > **CAUTION:** The experimental plans may fail to work or be removed.
    27  
    28  ## Provisioning parameters
    29  
    30  There are two types of configurable provisioning parameters: the ones that are compliant for all providers and provider-specific ones.
    31  
    32  ### Parameters compliant for all providers
    33  
    34  These are the provisioning parameters that you can configure:
    35  
    36  | Parameter name | Type | Description | Required | Default value |
    37  |----------------|-------|-------------|:----------:|---------------|
    38  | **name** | string | Specifies the name of the cluster. | Yes | None |
    39  | **components** | array | Defines optional components that are installed in a Kyma runtime. The possible values are `kiali` and `tracing`. | No | [] |
    40  | **kymaVersion[<sup>1</sup>](#version)** | string | Provides a Kyma version on demand. | No | None |
    41  | **overridesVersion[<sup>1</sup>](#version)** | string | Provides an overrides version for a specific Kyma version. | No | None |
    42  | **purpose** | string | Provides a purpose for a Kyma runtime. | No | None |
    43  | **targetSecret** | string | Provides the name of the Secret that contains hyperscaler's credentials for a Kyma runtime. | No | None |
    44  | **platform_region** | string | Defines the platform region that is sent in the request path. | No | None |
    45  | **platform_provider** | string | Defines the platform provider for a Kyma runtime. | No | None |
    46  | **context.tenant_id** | string | Provides a tenant ID for a Kyma runtime. | No | None |
    47  | **context.subaccount_id** | string | Provides a subaccount ID for a Kyma runtime. | No | None |
    48  | **context.globalaccount_id** | string | Provides a global account ID for a Kyma runtime. | No | None |
    49  | **context.sm_operator_credentials.clientid** | string | Provides a client ID for SAP BTP Service Operator. | No | None |
    50  | **context.sm_operator_credentials.clientsecret** | string | Provides a client secret for SAP BTP Service Operator. | No | None |
    51  | **context.sm_operator_credentials.sm_url** | string | Provides a SAP Service Manager URL for SAP BTP Service Operator. | No | None |
    52  | **context.sm_operator_credentials.url** | string | Provides an authentication URL for SAP BTP Service Operator. | No | None |
    53  | **context.sm_operator_credentials.xsappname** | string | Provides an XSApp name for SAP BTP Service Operator. | No | None |
    54  | **context.user_id** | string | Provides a user ID for a Kyma runtime. | No | None |
    55  | **oidc.clientID** | string | Provides an OIDC client ID for a Kyma runtime. | No | None |
    56  | **oidc.groupsClaim** | string | Provides an OIDC groups claim for a Kyma runtime. | No | `groups` |
    57  | **oidc.issuerURL** | string | Provides an OIDC issuer URL for a Kyma runtime. | No | None |
    58  | **oidc.signingAlgs** | string | Provides the OIDC signing algorithms for a Kyma runtime. | No | `RS256` |
    59  | **oidc.usernameClaim** | string | Provides an OIDC username claim for a Kyma runtime. | No | `email` |
    60  | **oidc.usernamePrefix** | string | Provides an OIDC username prefix for a Kyma runtime. | No | None |
    61  | **administrators** | string | Provides administrators for a Kyma runtime. | No | None |
    62  | **networking.nodes** | string | The Node network's CIDR. | No | `10.250.0.0/22` |
    63  | **modules.default** | bool | Defines whether to use a default list of modules | No | None |
    64  | **modules.list** | array | Defines a custom list of modules  | No | None |
    65  
    66  ### Provider-specific parameters
    67  
    68  These are the provisioning parameters for Azure that you can configure:
    69  
    70  <div tabs name="azure-plans" group="azure-plans">
    71    <details>
    72    <summary label="azure-plan">
    73    Azure
    74    </summary>
    75  
    76  | Parameter name | Type | Description | Required | Default value                                 |
    77  | ---------------|-------|-------------|:----------:|-----------------------------------------------|
    78  | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `Standard_D8_v3`                              |
    79  | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `50`                                          |
    80  | **region** | string | Defines the cluster region. | Yes | None  |
    81  | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["1"]`                                       |
    82  | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `2`                                           |
    83  | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create, up to `40` allowed. | No | `10`                                          |
    84  | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4`                                           |
    85  | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of VMs that can be unavailable during an update. | No | `1`                                           |
    86  
    87    </details>
    88    <details>
    89    <summary label="azure-lite-plan">
    90    Azure Lite
    91    </summary>
    92  
    93  | Parameter name | Type | Description | Required | Default value                                |
    94  | ---------------|-------|-------------|:----------:|----------------------------------------------|
    95  | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `Standard_D4_v3`                             |
    96  | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `50`                                         |
    97  | **region** | string | Defines the cluster region. | Yes | None |
    98  | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["1"]`                                      |
    99  | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `2`                                          |
   100  | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create, up to `40` allowed. | No | `10`                                         |
   101  | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4`                                          |
   102  | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of VMs that can be unavailable during an update. | No | `1`                                          |
   103  
   104   </details>
   105   </div>
   106  
   107  These are the provisioning parameters for AWS that you can configure:
   108  <div tabs name="aws-plans" group="aws-plans">
   109    <details>
   110    <summary label="aws-plan">
   111    AWS
   112    </summary>
   113  
   114  | Parameter name | Type | Description | Required | Default value |
   115  | ---------------|-------|-------------|:----------:|---------------|
   116  | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `m5.2xlarge` |
   117  | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `50` |
   118  | **region** | string | Defines the cluster region. | Yes | None |
   119  | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["1"]` |
   120  | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `3` |
   121  | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create, up to `40` allowed. | No | `10` |
   122  | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` |
   123  | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that can be unavailable during an update. | No | `1` |
   124  
   125    </details>
   126   </div>
   127  
   128  These are the provisioning parameters for GCP that you can configure:
   129  
   130  <div tabs name="gcp-plans" group="gcp-plans">
   131    <details>
   132    <summary label="gcp-plan">
   133    GCP
   134    </summary>
   135  
   136  | Parameter name | Type | Description | Required | Default value |
   137  | ---------------|-------|-------------|:----------:|---------------|
   138  | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `n2-standard-8` |
   139  | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `30` |
   140  | **region** | string | Defines the cluster region. | Yes | None |
   141  | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["a"]` |
   142  | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `3` |
   143  | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create. | No | `4` |
   144  | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` |
   145  | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of VMs that can be unavailable during an update. | No | `1` |
   146  
   147   </details>
   148   </div>
   149  
   150  These are the provisioning parameters for OpenStack that you can configure:
   151  
   152  <div tabs name="openstack-plans" group="openstack-plans">
   153    <details>
   154    <summary label="openstack-plan">
   155    OpenStack
   156    </summary>
   157  
   158  | Parameter name | Type | Description | Required | Default value |
   159  | ---------------|-------|-------------|:----------:|---------------|
   160  | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `m2.xlarge` |
   161  | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `30` |
   162  | **region** | string | Defines the cluster region. | Yes | None |
   163  | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["a"]` |
   164  | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `2` |
   165  | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create. | No | `10` |
   166  | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` |
   167  | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that can be unavailable during an update. | No | `1` |
   168  
   169   </details>
   170   </div>
   171  
   172  ## Trial plan
   173  
   174  The trial plan allows you to install Kyma runtime on Azure, AWS, or GCP. The plan assumptions are as follows:
   175  - Kyma runtime is uninstalled after 14 days and the Kyma cluster is deprovisioned after this time.
   176  - It's possible to provision only one Kyma runtime per global account.
   177  
   178  To reduce the costs, the trial plan skips one of the [provisioning steps](./03-20-runtime-operations.md#provisioning), that is, `AVS External Evaluation`.
   179  
   180  ### Provisioning parameters
   181  
   182  These are the provisioning parameters for the Trial plan that you can configure:
   183  
   184  <div tabs name="trial-plan" group="trial-plan">
   185    <details>
   186    <summary label="trial-plan">
   187    Trial plan
   188    </summary>
   189  
   190  | Parameter name | Type | Description | Required | Possible values| Default value |
   191  | ---------------|-------|-------------|----------|---------------|---------------|
   192  | **name** | string | Specifies the name of the Kyma runtime. | Yes | Any string| None |
   193  | **region** | string | Defines the cluster region. | No | `europe`,`us`, `asia` | Calculated from the platform region |
   194  | **provider** | string | Specifies the cloud provider used during provisioning. | No | `Azure`, `AWS`, `GCP` | `Azure` |
   195  | **context.active** | string | Specifies if the Kyma runtime should be suspended or unsuspended. | No | `true`, `false` | None |
   196  
   197  The **region** parameter is optional. If not specified, the region is calculated from platform region specified in this path:
   198  ```shell
   199  /oauth/{platform-region}/v2/service_instances/{instance_id}
   200  ```
   201  The mapping between the platform region and the provider region (Azure, AWS or GCP) is defined in the configuration file in the **APP_TRIAL_REGION_MAPPING_FILE_PATH** environment variable. If the platform region is not defined, the default value is `europe`.
   202  
   203   </details>
   204   </div>
   205  
   206  ## Own cluster plan
   207  
   208  > **NOTE:** The `own_cluster` plan has been deprecated.
   209  
   210  These are the provisioning parameters for the `own_cluster` plan that you configure:
   211  
   212  <div tabs name="own_cluster-plan" group="own_cluster-plan">
   213    <details>
   214    <summary label="own_cluster-plan">
   215    Own cluster plan
   216    </summary>
   217  
   218  | Parameter name | Type | Description | Required | Default value |
   219  | ---------------|-------|-------------|----------|---------------|
   220  | **kubeconfig** | string | Kubeconfig that points to the cluster where you instal Kyma runtime. | Yes | None |
   221  | **shootDomain** | string | Domain of the shoot where you install Kyma runtime. | Yes | None |
   222  | **shootName** | string | Name of the shoot where you install Kyma runtime. | Yes | None |
   223  
   224  </details>
   225  </div>
   226  
   227  ## Preview cluster plan
   228  
   229  The preview plan allows to test integration with Lifecycle Manager. The preview plan skips steps which integrate KEB and Reconciler.
   230  
   231  ### Provisioning parameters
   232  
   233  These are the provisioning parameters for the `preview` plan that you configure:
   234  
   235  <div tabs name="preview_cluster-plan" group="preview_cluster-plan">
   236    <details>
   237    <summary label="preview_cluster-plan">
   238    Preview cluster plan
   239    </summary>
   240  
   241  | Parameter name | Type | Description | Required | Default value |
   242  | ---------------|-------|-------------|:----------:|---------------|
   243  | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `m5.2xlarge` |
   244  | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `50` |
   245  | **region** | string | Defines the cluster region. | Yes | None |
   246  | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["1"]` |
   247  | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `3` |
   248  | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create, up to `40` allowed. | No | `10` |
   249  | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` |
   250  | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that can be unavailable during an update. | No | `1` |
   251  
   252  </details>
   253  </div>
   254  <br>
   255  <a name="version"><sup>1</sup> This parameter will not be available after all Kyma components become independent modules.</a> <br>
   256  <a name="update"><sup>2</sup> This parameter is available for `PATCH` as well, and can be updated with the same constraints as during provisioning.</a>