Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENDOC-399 Add a tutorial for changing the context of the entando-de-app #664

Merged
merged 3 commits into from
Jan 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions vuepress/docs/.vuepress/next.js
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,10 @@ module.exports = {
title: 'Configure the Entando Operator',
path: path + 'devops/entando-operator.md',
},
{
title: 'Configure the Entando App Context',
path: path + 'devops/entando-de-app.md',
},
]
},
]
Expand Down
4 changes: 4 additions & 0 deletions vuepress/docs/.vuepress/v71.js
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,10 @@ module.exports = {
title: 'Configure the Entando Operator',
path: path + 'devops/entando-operator.md',
},
{
title: 'Configure the Entando App Context',
path: path + 'devops/entando-de-app.md',
},
]
},
]
Expand Down
12 changes: 6 additions & 6 deletions vuepress/docs/next/docs/consume/entandoapp-cr.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
sidebarDepth: 2
---

# EntandoApp Custom Resource Definition
The EntandoApp CRD is the deployment of a Docker image that hosts the Entando and Java-based web application. Server-side components include the Entando App Engine, Entando Component Manager, Entando App Builder, and your user-facing application.
# EntandoApp Custom Resource
The EntandoApp CR is the deployment of a Docker image that hosts the Entando and Java-based web application. Server-side components include the Entando App Engine, Entando Component Manager, Entando App Builder, and the user-facing application.

Entando offers standard WildFly or EAP images for the definition, but typically customers provide their own CRD.

Expand All @@ -30,14 +30,14 @@ spec:
|`spec.ecrGitSshSecretName`| The configuration used by the Entando Component Manager to download bundles from authenticated Git repositories. It's a Secret containing a private key file named `rsa_id` that matches a public key configured in the authenticated Git repository.|
|`spec.environmentVariables`| A map of environment variables to pass to the EntandoApp Docker image. This can be used to provide connection details of custom datasources or message queues as discussed in the [custom datasources tutorial](../../tutorials/devops/change-default-datasource.md). These variables can sometimes be used as a mechanism to override any of the default environment variables that need customization.|
| `ENTANDO_ECR_DEAPP_REQUEST_RETRIES`| The number of times the Componenent Manager retries the component create/update process before quitting. Defaults to 3. |
| `ENTANDO_ECR_DEAPP_REQUEST_BACKOFF` | The number of seconds to wait before the next create attempt is executed. Defaults to 5. |
| `ENTANDO_ECR_POSTINIT` | The configuration of the postinit process |
| `ENTANDO_ECR_DEAPP_REQUEST_BACKOFF` | The number of seconds to wait before the next 'create' attempt is executed. Defaults to 5. |
| `ENTANDO_ECR_POSTINIT` | The configuration of the postinit process. |
| `ENTANDO_CONTAINER_REGISTRY_CREDENTIALS` | The configuration for authenticated [OCI registries](../../tutorials/curate/bundle-private-images.md). |
|`spec.ingressPath`| Specifies the web context of the EntandoApp to be deployed. |
|`spec.ingressPath`| Specifies the ingress path of the EntandoApp to be deployed. |
|`spec.ingressHostName`| The hostname of the Kubernetes ingress to be created for the EntandoApp. EntandoPlugins linked to this app will also be made available on the host.|
|`spec.replicas`| The number of replicas to be made available on the deployment.|
|`spec.resourceRequirements`| The minimum and maximum [resource allocation](./custom-resources.md#general-resourcerequirements-specifications) for the Entando App Engine container.|
|`spec.serviceAccountToUse`| The Kubernetes service account in the namespace of the EntandoApp used for the pods hosting the EntandoApps. The default is 'default.'|
|`spec.serviceAccountToUse`| The Kubernetes service account in the namespace of the EntandoApp used for the pods hosting the EntandoApps. The default is 'default'.|
|`spec.standardServerImage`| Either a `wildfly` or `eap` image. This property and the `spec.customServerImage` are mutually exclusive. Refer to the [Docker image section](https://github.com/entando-k8s/entando-k8s-controller-coordinator/blob/master/charts/entando-k8s-controller-coordinator/README.md#how-it-resolves-docker-images) to determine how the Docker registry and versions are calculated.|
|`spec.storageClass` | Name of the StorageClass to use for PersistentVolumeClaims created for this EntandoApp. For more information, go to [Kubernetes explanation of storage classes](https://kubernetes.io/docs/concepts/storage/storage-classes/).|
|`spec.tlsSecretName` | The name of a standard Kubernetes [TLS Secret](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) that will be used for the resulting ingress. This is only required if the [globally configured TLS Secret](https://github.com/entando-k8s/entando-k8s-controller-coordinator/blob/master/charts/entando-k8s-controller-coordinator/README.md#tls) for the operator is absent. |
4 changes: 4 additions & 0 deletions vuepress/docs/next/docs/getting-started/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,10 @@ See this [Tutorial on Default Databases](../../tutorials/devops/default-database
::: tip Entando Operator
An optional ConfigMap can be used to modify the behavior of the Entando Operator. For example, on a slower network, you may want to increase the download timeouts. Refer to the [Entando Operator](../../tutorials/devops/entando-operator.md) page for more information.
:::

::: tip EntandoApp Ingress Path
To customize the ingress path of a deployment, refer to the [Configure the Entando App Context](../../tutorials/devops/entando-de-app.md) tutorial.
:::
### Deploy Entando

Deploy Entando by applying `entando-app.yaml` to your namespace.
Expand Down
39 changes: 39 additions & 0 deletions vuepress/docs/next/tutorials/devops/entando-de-app.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
sidebarDepth: 2
---

# Configure the Entando App Context
This tutorial describes how to modify the [EntandoApp CR](../../docs/consume/entandoapp-cr.md) to customize the ingress path of an Entando App Engine deployment.

## Prerequisites
- An existing deployment of an Entando App or the ability to create one.
- If you haven't created a deployment or don't have a YAML file for an Entando deployment, follow the [Quickstart instructions](../../docs/getting-started/README.md).

## Remove or Replace entando-de-app

The ingress path of the App Engine currently defaults to **/entando-de-app**, which is visible in the URL. Follow the steps below to remove or replace this value.

1. Open the `entando-app.yaml`, which contains several default parameters:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"which contains several default parameters" << Don't think this is necessary

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

arguable... it's worth hinting that the yaml doesn't include a comprehensive list of all available parameters and that the one we'll be modifying isn't a default. also, this tutorial is so short i'm stretching what i can...


```yaml
apiVersion: entando.org/v1
kind: EntandoApp
metadata:
namespace: entando
name: quickstart
spec:
environmentVariables: null
dbms: embedded
ingressHostName: YOUR-HOST-NAME
standardServerImage: eap
replicas: 1
```

2. Under `spec`, add the parameter `ingressPath`. If this parameter is not present, the path for the EntandoApp defaults to **/entando-de-app**.

3. Input a value for `ingressPath` to change the web context:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Input a value >> enter a value or null values to...

it doesn't explain the two different options

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm i actually think this drives home the point that something needs to be entered; a null value is still a value, like 0 is still a value. if you add the parameter and leave the field blank things break

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It makes it sound as if you have to enter a value by this instruction, but the second option below says otherwise. And null value is a blank or no value. 0 is not a null value, pretty sure.

Reading the whole section I can see that there are two options. But just reading line 34, you are surprised that you can add a blank. That's all. and not a big deal

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but both 0 and null are values (you're right that 0 != null), as is a space, or empty quotes. i guess my point is that you have to add a character, even if that character is invisible. if you don't, it will error. so i didn't want to mislead and define values as only characters of a certain kind. i'll look at it again


- To remove **/entando-de-app** from the path completely, set the value to empty (e.g.: "" ), blank (e.g.: " "), or "/"

- To change the visible path of the application, enter a value of "/YOUR-INGRESS-PATH"

12 changes: 6 additions & 6 deletions vuepress/docs/v7.1/docs/consume/entandoapp-cr.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
sidebarDepth: 2
---

# EntandoApp Custom Resource Definition
The EntandoApp CRD is the deployment of a Docker image that hosts the Entando and Java-based web application. Server-side components include the Entando App Engine, Entando Component Manager, Entando App Builder, and your user-facing application.
# EntandoApp Custom Resource
The EntandoApp CR is the deployment of a Docker image that hosts the Entando and Java-based web application. Server-side components include the Entando App Engine, Entando Component Manager, Entando App Builder, and the user-facing application.

Entando offers standard WildFly or EAP images for the definition, but typically customers provide their own CRD.

Expand All @@ -30,14 +30,14 @@ spec:
|`spec.ecrGitSshSecretName`| The configuration used by the Entando Component Manager to download bundles from authenticated Git repositories. It's a Secret containing a private key file named `rsa_id` that matches a public key configured in the authenticated Git repository.|
|`spec.environmentVariables`| A map of environment variables to pass to the EntandoApp Docker image. This can be used to provide connection details of custom datasources or message queues as discussed in the [custom datasources tutorial](../../tutorials/devops/change-default-datasource.md). These variables can sometimes be used as a mechanism to override any of the default environment variables that need customization.|
| `ENTANDO_ECR_DEAPP_REQUEST_RETRIES`| The number of times the Componenent Manager retries the component create/update process before quitting. Defaults to 3. |
| `ENTANDO_ECR_DEAPP_REQUEST_BACKOFF` | The number of seconds to wait before the next create attempt is executed. Defaults to 5. |
| `ENTANDO_ECR_POSTINIT` | The configuration of the postinit process |
| `ENTANDO_ECR_DEAPP_REQUEST_BACKOFF` | The number of seconds to wait before the next 'create' attempt is executed. Defaults to 5. |
| `ENTANDO_ECR_POSTINIT` | The configuration of the postinit process. |
| `ENTANDO_CONTAINER_REGISTRY_CREDENTIALS` | The configuration for authenticated [OCI registries](../../tutorials/curate/bundle-private-images.md). |
|`spec.ingressPath`| Specifies the web context of the EntandoApp to be deployed. |
|`spec.ingressPath`| Specifies the ingress path of the EntandoApp to be deployed. |
|`spec.ingressHostName`| The hostname of the Kubernetes ingress to be created for the EntandoApp. EntandoPlugins linked to this app will also be made available on the host.|
|`spec.replicas`| The number of replicas to be made available on the deployment.|
|`spec.resourceRequirements`| The minimum and maximum [resource allocation](./custom-resources.md#general-resourcerequirements-specifications) for the Entando App Engine container.|
|`spec.serviceAccountToUse`| The Kubernetes service account in the namespace of the EntandoApp used for the pods hosting the EntandoApps. The default is 'default.'|
|`spec.serviceAccountToUse`| The Kubernetes service account in the namespace of the EntandoApp used for the pods hosting the EntandoApps. The default is 'default'.|
|`spec.standardServerImage`| Either a `wildfly` or `eap` image. This property and the `spec.customServerImage` are mutually exclusive. Refer to the [Docker image section](https://github.com/entando-k8s/entando-k8s-controller-coordinator/blob/master/charts/entando-k8s-controller-coordinator/README.md#how-it-resolves-docker-images) to determine how the Docker registry and versions are calculated.|
|`spec.storageClass` | Name of the StorageClass to use for PersistentVolumeClaims created for this EntandoApp. For more information, go to [Kubernetes explanation of storage classes](https://kubernetes.io/docs/concepts/storage/storage-classes/).|
|`spec.tlsSecretName` | The name of a standard Kubernetes [TLS Secret](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) that will be used for the resulting ingress. This is only required if the [globally configured TLS Secret](https://github.com/entando-k8s/entando-k8s-controller-coordinator/blob/master/charts/entando-k8s-controller-coordinator/README.md#tls) for the operator is absent. |
4 changes: 4 additions & 0 deletions vuepress/docs/v7.1/docs/getting-started/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,10 @@ See this [Tutorial on Default Databases](../../tutorials/devops/default-database
::: tip Entando Operator
An optional ConfigMap can be used to modify the behavior of the Entando Operator. For example, on a slower network, you may want to increase the download timeouts. Refer to the [Entando Operator](../../tutorials/devops/entando-operator.md) page for more information.
:::

::: tip EntandoApp Ingress Path
To customize the ingress path of a deployment, refer to the [Configure the Entando App Context](../../tutorials/devops/entando-de-app.md) tutorial.
:::
### Deploy Entando

Deploy Entando by applying `entando-app.yaml` to your namespace.
Expand Down
39 changes: 39 additions & 0 deletions vuepress/docs/v7.1/tutorials/devops/entando-de-app.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
sidebarDepth: 2
---

# Configure the Entando App Context
This tutorial describes how to modify the [EntandoApp CR](../../docs/consume/entandoapp-cr.md) to customize the ingress path of an Entando App Engine deployment.

## Prerequisites
- An existing deployment of an Entando App or the ability to create one.
- If you haven't created a deployment or don't have a YAML file for an Entando deployment, follow the [Quickstart instructions](../../docs/getting-started/README.md).

## Remove or Replace entando-de-app

The ingress path of the App Engine currently defaults to **/entando-de-app**, which is visible in the URL. Follow the steps below to remove or replace this value.

1. Open the `entando-app.yaml`, which contains several default parameters:

```yaml
apiVersion: entando.org/v1
kind: EntandoApp
metadata:
namespace: entando
name: quickstart
spec:
environmentVariables: null
dbms: embedded
ingressHostName: YOUR-HOST-NAME
standardServerImage: eap
replicas: 1
```

2. Under `spec`, add the parameter `ingressPath`. If this parameter is not present, the path for the EntandoApp defaults to **/entando-de-app**.

3. Input a value for `ingressPath` to change the web context:

- To remove **/entando-de-app** from the path completely, set the value to empty (e.g.: "" ), blank (e.g.: " "), or "/"

- To change the visible path of the application, enter a value of "/YOUR-INGRESS-PATH"