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 393 nps #400

Merged
merged 14 commits into from
Jan 28, 2022
398 changes: 235 additions & 163 deletions vuepress/docs/.vuepress/next.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion vuepress/docs/next/docs/community/contributing.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# Contributing to Entando

There are many ways to contribute to Entando including participating in the [Entando Forum](https://forum.entando.org), opening issues on GitHub, [updating documentation](https://github.com/entando/entando-docs/tree/master/vuepress), building bundles using the [Entando Component Repository](../ecr/ecr-overview.md), and contributing directly to the source.
There are many ways to contribute to Entando including participating in the [Entando Forum](https://forum.entando.org), opening issues on GitHub, [updating documentation](https://github.com/entando/entando-docs/tree/master/vuepress), building bundles using the [Entando Component Repository](../compose/ecr-overview.md), and contributing directly to the source.

## Contributing to the Source

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Overview
# Entando Component Repository

## Introduction

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The Wizard will guide you through the key steps in designing and publishing a pa
4. Publish the Page

For more information see the following tutorials:
* [Page Management](../../tutorials/cms/page-management.md)
* [Widgets and Fragments](../../tutorials/cms/app-builder/hello-world.md)
* [Content Creation](../../tutorials/cms/content-tutorial.md)
* [Digital Assets](../../tutorials/cms/digital-assets-tutorial.md)
* [Page Management](../../tutorials/compose/page-management.md)
* [Widgets and Fragments](../../tutorials/compose/widgets-fragments.md)
* [Content Creation](../../tutorials/compose/content-tutorial.md)
* [Digital Assets](../../tutorials/compose/digital-assets-tutorial.md)
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ design systems used by Entando clients include:
* [Bootstrap Italia](https://github.com/italia/bootstrap-italia) - a Bootstrap 4-based frontend theme that implements
the Italian Design Guidelines for public websites.

Asessing web accessibility is important throughout the life of a project. There are many tools available in this area. A
Assessing web accessibility is important throughout the life of a project. There are many tools available in this area. A
useful list can be found [on the W3C site](https://www.w3.org/WAI/ER/tools/) with filters by guideline, region,
language, etc. Entando clients have made good use of the following:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,10 @@ the necessary information for subsequent deployment operations to access the Key
allows the rest of the Entando Kubernetes Controllers to create a Keycloak OpenID Connect (OIDC) client for every HTTP service that
gets deployed. If you already have a Keycloak instance that you want to use, you can skip this custom resource entirely
and simply create the `keycloak-admin-secret' in the operator's namespace as specified in
[this tutorial](../../tutorials/devops/external-keycloak/).
[this tutorial](../../tutorials/devops/external-id-management.md).

### Overview
* Entando Cluster Citizen: [Keycloak](./#entando-cluster-citizens)
* Entando Cluster Citizen: [Keycloak](../getting-started/concepts-overview.md#entando-cluster-citizens)
* Custom Resource Definition: [EntandoKeycloakServer](https://github.com/entando-k8s/entando-k8s-custom-model/blob/v6.3.2/src/main/resources/crd/EntandoKeycloakServerCRD.yaml)
* Kubernetes Controller Details:
* Docker image: [entando/entando-k8s-keycloak-controller](https://hub.docker.com/r/entando/entando-k8s-keycloak-controller)
Expand Down Expand Up @@ -126,7 +126,7 @@ spec:
### Explanation of properties
* `spec.dbms` is used to select the database management of choice. The Entando Operator will use this value to deploy a dedicated Database instance in this namespace
for Keycloak to use. If this value matches the `spec.dbms` property
of a previously configured [EntandoDatabaseService](../../tutorials/devops/external-database),
of a previously configured [EntandoDatabaseService](../../tutorials/devops/external-db),
the Keycloak image will be configured to use this service.
If left empty or given a value of 'none', Keycloak will deploy using its own internal
H2 database.
Expand Down Expand Up @@ -165,7 +165,7 @@ Server specified in the `keycloak-admin-secret` using the `entando` realm. An In
deployment. At this point, there is no way to customize the image in question.

### Overview
* Entando Cluster Citizen: [Entando Kubernetes Service](./#entando-cluster-citizens)
* Entando Cluster Citizen: [Entando Kubernetes Service](../getting-started/concepts-overview.md#entando-cluster-citizens)
* Custom Resource Definition: [EntandoClusterInfrastructure](https://github.com/entando-k8s/entando-k8s-custom-model/blob/v6.3.2/src/main/resources/crd/EntandoClusterInfrastructureCRD.yaml)
* Kubernetes Controller Details:
* Docker image: [entando/entando-k8s-cluster-infrastructure-controller](https://hub.docker.com/r/entando/entando-k8s-cluster-infrastructure-controller)
Expand Down Expand Up @@ -235,14 +235,14 @@ Deployment packages three images into a single Pod: the Entando App Image in que
* Deployment Details - Entando App:
* Docker image: [entando/entando-de-app-wildfly](https://hub.docker.com/r/entando/entando-de-app-wildfly) **or** [entando/entando-de-app-eap](https://hub.docker.com/r/entando/entando-de-app-eap)
* Github Repo: [entando-k8s/entando-de-app](https://github.com/entando/entando-de-app)
* Entando Cluster Citizen: [Entando App](./#entando-cluster-citizens)
* Entando Cluster Citizen: [Entando App](../getting-started/concepts-overview.md#entando-cluster-citizens)
* Deployment Details - AppBuilder:
* Docker image: [entando/app-builder](https://hub.docker.com/r/entando/app-builder)
* Github Repo: [entando/app-builder](https://github.com/entando/app-builder)
* Deployment Details - ComponentManager:
* Docker image: [entando/entando-component-manager](https://hub.docker.com/r/entando/entando-component-manager)
* Github Repo: [entando-k8s/entando-component-manager](https://github.com/entando-k8s/entando-component-manager)
* Entando Cluster Citizen: [Component Manager](./#entando-cluster-citizens)
* Entando Cluster Citizen: [Component Manager](../getting-started/concepts-overview.md#entando-cluster-citizens)
* Possible Database Images:
* MySQL: [docker.io/centos/mysql-57-centos7](https://hub.docker.com/r/centos/mysql-57-centos7)
* PostgreSQL: [docker.io/centos/postgresql-96-centos7](https://hub.docker.com/r/centos/postgresql-96-centos7)
Expand Down Expand Up @@ -289,7 +289,7 @@ spec:
* `spec.dbms` is used to select the database management of choice. If left empty, a default value of `postgresql`
is assumed. The value `none` is not supported. The Entando Operator will use this value to deploy a dedicated Database instance in this namespace
for the EntandoApp to use. If this value matches the `spec.dbms` property
of a previously configured [EntandoDatabaseService](../../tutorials/devops/external-database),
of a previously configured [EntandoDatabaseService](../../tutorials/devops/external-db.md),
the Entando App will be configured to use this service.

* `spec.ingressPath` specifies the web context of the Entando App to be deployed. This is required to create a single
Expand All @@ -312,7 +312,7 @@ spec:
also be made available on this host.
* `spec.environmentVariables` is a Map of environment variables to pass to the EntandoApp Docker image. For example, this could
be used to provide connection details for custom datasources or message queues as discussed in the
[custom datasources tutorial](../../tutorials/customize-the-platform/change-default-datasources-and-connections/). Also note that all of the
[custom datasources tutorial](../../tutorials/devops/change-default-datasource.md). Also note that all of the
[Spring variables in an Entando project](https://github.com/entando/entando-de-app/blob/master/src/main/conf/systemParams.properties)
can also be overridden here by specifying the equivalent SNAKE_CASE names of the dot-delimited Spring properties.
These parameters are applied to the container's environment variables after all variables have been calculated.
Expand All @@ -330,7 +330,7 @@ spec:
## EntandoPlugin

An Entando Plugin is a microservice that can be made available to one or more EntandoApps in the cluster. Please follow
our instructions on using our blueprint to [build your own EntandoPlugin](../../tutorials/ecr/publish-project-bundle.md). The
our instructions on using our blueprint to [build your own EntandoPlugin](../../tutorials/create/pb/publish-project-bundle.md). The
Deployment resulting from an EntandoPlugin is also a multi-container Pod deployment and will include the
plugin Docker image specified and the EntandoPluginSidecar Docker Image.

Expand All @@ -341,7 +341,7 @@ plugin Docker image specified and the EntandoPluginSidecar Docker Image.
* Github Repo: [entando/entando-k8s-plugin-controller](https://github.com/entando-k8s/entando-k8s-plugin-controller)
* Deployment Details - plugin:
* Docker image: as provided by user
* Entando Cluster Citizen: [Plugin](./#entando-cluster-citizens)
* Entando Cluster Citizen: [Plugin](../getting-started/concepts-overview.md#entando-cluster-citizens)
* Deployment Details - EntandoPluginSidecar:
* Docker image: [entando/entando-plugin-sidecar](https://hub.docker.com/r/entando/entando-plugin-sidecar)
* Github Repo: [entando/entando-plugin-sidecar](https://github.com/entando/entando-plugin-sidecar)
Expand Down Expand Up @@ -385,13 +385,13 @@ spec:

### Explanation of properties
* `spec.image` is the Docker image you can provide for the plugin you want to deploy. Please follow
our instructions on using our blueprint to [build your own EntandoPlugin](../../tutorials/ecr/publish-project-bundle.md).
our instructions on using our blueprint to [build your own EntandoPlugin](../../tutorials/create/pb/publish-project-bundle.md).
If you start with the Entando Blueprint, the resulting Spring Boot application will make use of the environment variables set by the Entando Operator.
* `spec.dbms` is used to select the database management of choice. The Entando Operator will use this value to deploy a dedicated Database instance in this namespace
for the Entando Plugin to use. If left empty or if the value is `none`, it
is assumed that the plugin in question does not require a database. If this value matches
the `spec.dbms` property of a previously configured
[EntandoDatabaseService](../../tutorials/devops/external-database),
[EntandoDatabaseService](../../tutorials/devops/external-db.md),
the Entando Plugin will be configured to use this service.
* `spec.ingressPath` specifies the web context where the Entando Plugin will be made available when linked to EntandoApps.
Please ensure this is in sync with the `server.servlet.context-path` property set in your Spring Boot application.
Expand Down
5 changes: 5 additions & 0 deletions vuepress/docs/next/docs/consume/entando-app-engine.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
sidebarDepth: 2
---
# Entando App Engine

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Entando Identity Management -- Keycloak

Entando Identity Management is powered by Keycloak. The Keycloak instance used for your Entando apps
can be [externally installed](../../tutorials/devops/external-keycloak) or you can use a dedicated instance on a per application basis. The sections below details the architecture and documentation required to customize your Keycloak instance.
can be [externally installed](../../tutorials/devops/external-id-management) or you can use a dedicated instance on a per application basis. The sections below details the architecture and documentation required to customize your Keycloak instance.

## Logging into your Keycloak Instance

Expand All @@ -20,7 +20,7 @@ And search for the secret that ends in `kc-admin-secret`
## Authentication
In Entando 6 all authentication goes through Keycloak. This ensures that a micro frontend can call a microservice with a token that is available on the client.

![Init Containers Screenshot](./keycloak-arch-high-level.png)
![Init Containers Screenshot](./img/keycloak-arch-high-level.png)

By using Keycloak as a central point of authentication the Entando architecture is able to provide a single unified view of identity to the entire architecture. With this architecture Entando becomes more portable and can be integrated into other IDPs without changes to the source. Keycloak acts as an abstraction to the underlying IDP.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The Entando Operator

The Entando Operator processes the custom resources in Kubernetes that represent the different [components of an Entando application](./README.md).
The Entando Operator processes the custom resources in Kubernetes that represent the different [components of an Entando application](../README.md).
The goal of the operator is to provide automation and a set of default configuration options to simplify and accelerate the deployment of an Entando application.

The sections below provide details and assumptions that the operator makes when deploying Entando Custom Resources. If you're using OpenShift these
Expand Down Expand Up @@ -35,7 +35,7 @@ When choosing how to deploy your operator there are no right or wrong answers. T
- When teams are small and self managing from an operational perspective a namespace scoped deployment is a simpler architecture
- If you plan to have a small number of applications deployed in the cluster a namespace scoped deployment can be easier to manage

[Click here for tutorials and instructions for deploying via operator hub](../../tutorials/devops/installation/open-shift/openshift-install-by-operator-hub.md)
[Click here for tutorials and instructions for deploying via operator hub](../../tutorials/getting-started/openshift-install-by-operator-hub.md)

## TLS Secret Creation

Expand All @@ -53,15 +53,15 @@ expected to contain two files: tls.key and tls.crt.
If that property is set to `true` the Entando Operator will assume that the cluster has been configured with a valid CA and leave it to
the Ingress controller to generate its own certificates.

[Click here for tutorials on creating secrets and setting up TLS in your Entando Apps.](../../tutorials/devops/installation/open-shift/openshift-install-by-operator-hub.md)
[Click here for tutorials on creating secrets and setting up TLS in your Entando Apps.](../../tutorials/getting-started/openshift-install-by-operator-hub.md)

## Database Deployment

Some Entando components include the ability to select a database management system (DBMS) when deploying the component.

- The DBMS field in Entando Custom Resources can be one of mysql, oracle, postgresql or embedded.
- **IMPORTANT!** -- If embedded is selected for a component only 1 replica for the component can be created.
- **IMPORTANT!** -- Oracle instances are not supported for automatic deployment in a container. You must create an Oracle instance or use an existing instance and configure it as an [external database](../../tutorials/devops/external-database/README.md) for your Entando app
- **IMPORTANT!** -- Oracle instances are not supported for automatic deployment in a container. You must create an Oracle instance or use an existing instance and configure it as an [external database](../../tutorials/devops/external-db.md) for your Entando app

- If an EntandoDatabaseService has been deployed in the component's namespace, and the DBMS specified on this EntandoDatabaseService
is the same as the DBMS specified on this EntandoApp, the Entando Operator will create dedicated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The Entando Blueprint uses JHipster technology based on Embedded JavaScript (EJS

For more information:
* Install [JHipster Entando Blueprint](https://github.com/entando/generator-jhipster-entando/blob/master/README.md)
* Try implementing an Entando Blueprint-- [Create microservices and micro frontents](../../tutorials/micro-frontends/react.md)
* Try implementing an Entando Blueprint-- [Create microservices and micro frontents](../../tutorials/create/mfe/react.md)

## Premade Widgets
When you create an entity using the Entando Blueprint, it generates a few
Expand Down Expand Up @@ -53,7 +53,7 @@ point at
> Custom element names require a hyphen like `conference-details` (kebab-case)--they cannot be single words.

For more information about web components, custom elements and micro
frontends, refer to [Create a React micro frontend widget](../../tutorials/micro-frontends/react.md).
frontends, refer to [Create a React micro frontend widget](../../tutorials/create/mfe/react.md).


### Authentication
Expand All @@ -73,7 +73,7 @@ authentication provider, but you can add any provider as needed.
);

For more information about the authentication process, please refer
to the [Authentication section](../reference/identity-management.md#authentication).
to the [Authentication section](../consume/identity-management.md#authentication).

### Custom events

Expand All @@ -87,7 +87,7 @@ To add more event listeners, add the event types to
it to the listener list. To remove the event, simply remove the element from the list.

For more information about custom events and widget communication,
please refer to the section on [Widget communication](../../tutorials/micro-frontends/communication.md).
please refer to the section on [Widget communication](../../tutorials/create/mfe/communication.md).

### Tests and mocks

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Introduction
# Entando Component Generator


The Entando Component Generator powered by JHipster is a tool that gives developers the ability to quickly generate Entando components that can be used to extend an Entando Application.
Expand All @@ -21,13 +21,13 @@ The component generator has two main objectives

## Generated Component Flow

This section provides an overview of the component generation process. If you want to jump into the code and a tutorial start here: [Entando Component Generator Tutorial](../../tutorials/backend-developers/generate-microservices-and-micro-frontends.md)
This section provides an overview of the component generation process. If you want to jump into the code and a tutorial start here: [Entando Component Generator Tutorial](../../tutorials/create/ms/generate-microservices-and-micro-frontends.md)

![Component Generator Flow](./img/component-gen-flow.png)

1. Create components
- The Component Generator will create a Spring Boot microservice and optionally will create React micro frontends for entities that you add to your project
- The microservice and generated micro frontends are runnable out of the box and preconfigured to connect to [Entando Identity Management](../reference/identity-management.md)
- The microservice and generated micro frontends are runnable out of the box and preconfigured to connect to [Entando Identity Management](../consume/identity-management.md)
- The code is meant to be edited and enhanced by developers. JHipster provides interactive updates and merges if you need to re-run the generator or add new functionality via JHipster
- The microservice includes liquibase and integrated data mocking if you want to generate data in your API calls

Expand All @@ -36,7 +36,7 @@ This section provides an overview of the component generation process. If you wa
- The generated Spring Boot microservice can be built and deployed to a Docker registry using the provided maven Jib plugin
- Generated bundles can be pushed to a git repository of the users choice

3. Deploy bundles to [Entando Component Repository (ECR)](../ecr/ecr-overview.md)
3. Deploy bundles to [Entando Component Repository (ECR)](../compose/ecr-overview.md)
- Once your Docker images are pushed to your registry and your bundle is available in Git you can generate an Entando bundle descriptor and push the bundles to the ECR
- The bundles can be versioned and updated using tags in the git repository

Expand Down
Loading