Skip to content

Commit

Permalink
Merge pull request #524 from entando/ENDOC-493
Browse files Browse the repository at this point in the history
ENDOC-493 Update CRs
  • Loading branch information
nshaw authored Jun 24, 2022
2 parents b264f49 + 767b6c7 commit bb22327
Show file tree
Hide file tree
Showing 16 changed files with 347 additions and 884 deletions.
486 changes: 48 additions & 438 deletions vuepress/docs/next/docs/consume/custom-resources.md

Large diffs are not rendered by default.

41 changes: 41 additions & 0 deletions vuepress/docs/next/docs/consume/database-cr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
sidebarDepth: 2
---

# EntandoDatabaseService Custom Resource Definition

The EntandoDatabaseService CRD directs Entando to an external, internal, or auto-provisioned database service. Currently, PostgreSQL, MySQL, and Oracle are accepted.

### Example EntandoDatabaseService CR

```yaml
EntandoDatabaseService
metadata:
name:postgresql-service
spec:
dbms: postgresql
host: 10.0.0.13
port: 5432
databaseName: your-database
secretName: postgresql-secret
jdbcParameters: {}
```
### Specifications
| Spec Name | Description |
| :- | :- |
|`spec.databaseName`| The name of the database that the Entando Operator should be creating schemas in. This property is not used with MySQL DBMS.|
|`spec.dbms`| Valid values are `oracle`, `postgresql` and `mysql`. With Oracle, the `createDeployment` attribute must be set to `false`, allowing it to be set up as an external DB.|
|`spec.environmentVariables`| A list of environment variables following the standard structure of Kubernetes environment variables.|
|`spec.host`| IP address or hostname of the external database.|
|`spec.jdbcParameters`| Standard JDBC connection parameters.|
|`spec.port`| The port that the external database service is running on. This value is optional.|
|`spec.secretName`| Secret containing DB credentials capable of creating users and databases. |
|`spec.tablespace`| Only required for Oracle to create schemas in different tablespaces.|




<!--for secretName, link to credentials secret format-->
39 changes: 39 additions & 0 deletions vuepress/docs/next/docs/consume/entandoapp-cr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
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.

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

## Example EntandoApp

```yaml
apiVersion: entando.org/v1
kind: EntandoApp
metadata:
namespace: entando
name: your-app
spec:
environmentVariables: []
dbms: embedded
ingressHostName: your-app.192.168.64.5.nip.io
standardServerImage: eap
replicas: 1
```
## Specifications
| Spec Name | Description |
| :- | :- |
| `spec.customServerImage`| Used to deploy the Docker image containing your custom Entando App. Follow these instructions on how to [build your own image](../../tutorials/devops/build-core-image.md). This property and the `spec.standardServerImage` are mutually exclusive.|
|`spec.dbms` | Allowed values are: MySQL, PostgreSQL (default), Oracle, or embedded. Oracle is only supported as an external database.|
|`spec.ecrGitSshSecretName`| The configuration used by the Entando Component Repository 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.|
|`spec.ingressPath`| Specifies the web context 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.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. |
41 changes: 41 additions & 0 deletions vuepress/docs/next/docs/consume/keycloak-cr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
sidebarDepth: 2
---
# EntandoKeycloakServer Custom Resource Definition

The EntandoKeycloakServer CRD instructs the Entando Operator to deploy the Keycloak Community OIDC provider, or its equivalent commercial product, Red Hat SSO. Once a Keycloak server has been deployed, subsequent EntandoApp and EntandoPlugin deployments can use it as an OIDC provider. The Entando Operator will automatically create OIDC clients for these deployments in the Keycloak server. If you already have a Keycloak instance that you want to use, skip this custom resource and use the `keycloak-admin-secret` as specified in the [Connect to External Keycloak tutorial](../../tutorials/devops/external-id-management.md).

## Example EntandoKeycloakServer Definition

```yaml
kind: "EntandoKeycloakServer"
apiVersion: "entando.org/v1alpha1"
metadata:
name: "test-keycloak"
namespace: "keycloak-namespace"
spec:
imageName: "entando/entando-keycloak"
dbms: "postgresql"
ingressHostName: "test-keycloak.192.168.1.1.nip.io"
entandoImageVersion: "7.0.0"
tlsEnabled: false
replicas: 1

```
## Specifications

| Spec Name | Description |
| :- | :- |
|`spec.adminSecretName`| The name of an Opaque Secret that contains the 'username' and 'password' keys, giving the operator admin access to a Keycloak server. This is used when the provisioning strategy is `UseExternal`.|
|`spec.customImage`| Name used to provide a custom image.|
|`spec.dbms`| MySQL, PostgreSQL, or embedded (default). |
|`spec.environmentVariables`| A map of environment variables to pass to the Keycloak Docker image. |
|`spec.frontEndUrl`| The URL used to access Keycloak from web applications. If the `UseExternal` provisioning strategy has been selected, this should be the base URL of the external SSO service you would like to connect to.|
|`spec.ingressHostName`| The hostname of the Kubernetes ingress to be created for Keycloak.|
|`spec.replicas`| The number of replicas to be made available to the deployment of this Keycloak server.|
|`spec.resourceRequirements`| The minimum and maximum [resource allocations](custom-resources.md#general-resourcerequirements-specifications) for the Keycloak server container. |
|`spec.serviceAccountToUse` | Optional service account used to run the Keycloak pod.|
|`spec.standardImage`|One of the standard images for Keycloak provided by Entando. The value can be either `keycloak` or `redhat-sso`.|
|`spec.tlsSecretName`| A standard TLS Secret that is applied to the Keycloak ingress. Note that this property is optional and overrides the 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. |


Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ entando-operator-5b5465788b-ghb25 1/1 Running 0 5m53s
curl -sLO "https://raw.githubusercontent.com/entando/entando-releases/v7.0.1/dist/ge-1-1-6/samples/entando-app.yaml"
```

2. Edit `entando-app.yaml`. Replace `YOUR-HOST-NAME` with `EXTERNAL-IP + .nip.io`. See [the EntandoApp custom resource overview](../../docs/consume/custom-resources.md#entandoapp) for additional options.
2. Edit `entando-app.yaml`. Replace `YOUR-HOST-NAME` with `EXTERNAL-IP` + `.nip.io`. See [the EntandoApp custom resource overview](../../docs/consume/entandoapp-cr.md) for additional options.
```yaml
spec:
ingressHostName: YOUR-HOST-NAME
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ entando-operator-5b5465788b-ghb25 1/1 Running 0 5m53s
curl -sLO "https://raw.githubusercontent.com/entando/entando-releases/v7.0.1/dist/ge-1-1-6/samples/entando-app.yaml"
```

2. Edit `entando-app.yaml` and replace YOUR-HOST-NAME with the NGINX address from above. See the [Custom Resources overview](../../docs/consume/custom-resources.md#entandoapp) for details on other `EntandoApp` options.
2. Edit `entando-app.yaml` and replace YOUR-HOST-NAME with the NGINX address from above. See the [Custom Resources overview](../../docs/consume/entandoapp-cr.md) for details on other `EntandoApp` options.
```yaml
spec:
ingressHostName: YOUR-HOST-NAME
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ entando-operator-5b5465788b-ghb25 1/1 Running 0 95s
curl -sLO "https://raw.githubusercontent.com/entando/entando-releases/v7.0.1/dist/ge-1-1-6/samples/entando-app.yaml"
```

2. Edit `entando-app.yaml`. Replace `YOUR-HOST-NAME` with `EXTERNAL-IP` + `.nip.io`. See [the EntandoApp custom resource overview](../../docs/consume/custom-resources.md#entandoapp) for additional options.
2. Edit `entando-app.yaml`. Replace `YOUR-HOST-NAME` with `EXTERNAL-IP` + `.nip.io`. See [the EntandoApp custom resource overview](../../docs/consume/entandoapp-cr.md) for additional options.
```yaml
spec:
ingressHostName: YOUR-HOST-NAME
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ curl -sLO "https://raw.githubusercontent.com/entando/entando-releases/v7.0.1/dis
- Determine the IP address (YOUR-IP) of your cluster with `crc ip`
- Your IP-based YOUR-HOST-NAME should follow this pattern: `quickstart.YOUR-IP.nip.io`, e.g. `quickstart.192.168.64.33.nip.io`. The suffix `.nip.io` makes use of the free [nip.io](https://nip.io/) DNS service so that any requests to this host name will resolve to your CRC instance. The prefix `quickstart` is arbitrary.

3. Edit `entando-app.yaml` and replace YOUR-HOST-NAME with the address from above. See the [Custom Resources overview](../../docs/consume/custom-resources.md#entandoapp) for details on other `EntandoApp` options.
3. Edit `entando-app.yaml` and replace YOUR-HOST-NAME with the address from above. See the [Custom Resources overview](../../docs/consume/entandoapp-cr.md) for details on other `EntandoApp` options.
```yaml
spec:
ingressHostName: YOUR-HOST-NAME
Expand Down
Loading

0 comments on commit bb22327

Please sign in to comment.