diff --git a/vuepress/docs/next/docs/curate/bundle-details.md b/vuepress/docs/next/docs/curate/bundle-details.md index 780e8b90da..769266344d 100644 --- a/vuepress/docs/next/docs/curate/bundle-details.md +++ b/vuepress/docs/next/docs/curate/bundle-details.md @@ -12,7 +12,7 @@ The docker-based approach is an improvement of the previous Entando Bundle struc * There is a single bundle descriptor, `entando.json`, initialized and managed by the [ent bundle CLI](../getting-started/ent-bundle.md). * Microservices and micro frontends can be built independently, each with their own folders. -* The `platform` directory is dedicated to platform specific components such as fragments, pages, and static resources. +* The `platform` directory is dedicated to platform specific components such as fragments, pages, and static resources. For more information on component types and descriptors, see the [Bundle Component Details](bundle-component-details.md) page. * The `svc` directory is allocated for auxiliary services and the docker-compose configuration files that define them. The ent bundle module enables, starts and stops the services. MySQL, PostgreSQL, and Keycloak services are available with Entando out of the box, and for more details, go to the [ent CLI Services page](../getting-started/ent-svc.md). * Optionally, a thumbnail for your bundle can be set by adding a JPG or PNG image file to the bundle root folder. The file must be named "thumbnail" and be 100kb or less, e.g. thumbnail.png. @@ -49,7 +49,7 @@ The docker-based approach is an improvement of the previous Entando Bundle struc ## Bundle Development Process -![Bundle development Process](./img/bundle-develop-process.png) +![Bundle Development Process](./img/development-process.jpg) The ent bundle CLI module manages the building and publishing of an Entando Bundle. From initialization to installation, from adding MFEs and MSs to calling for services such as Keycloak and making API claims, the ent bundle commands streamline the development process. @@ -60,6 +60,8 @@ The next steps build and pack the project using the bundle descriptor. The speci In the publish step, images are pushed to a Docker registry and tagged according to the bundle configuration. A custom registry can also be used. +![Bundle Publishing Process](./img/publishing-process.jpg) + Finally, the bundle is deployed into the Local Hub of a running Entando instance where it can then be installed. Any improvements to the bundle can be made by repeating the **four steps: pack, publish, deploy and install**. Alternatively, the install step can be done in the App Builder UI by the composer designing the application. At every phase of the process, options are available to fine-tune the process, and to see more information, go to the [ent bundle CLI](../getting-started/ent-bundle.md) documentation. @@ -76,8 +78,8 @@ The following is a list of specifications for the bundle descriptor and its comp |`displayName`|String|No|A descriptive label used in the UI in place of a name| |`global`|Global|No|Global bundle configuration item| |`global/nav`|[MenuEntry[]](#menuentry-specification)|No|Bundle menu global links| -|`microservices`|Microservices|No|Bundle microservices| -|`microfrontends`|Micro Frontends|No|Bundle micro frontends| +|`microservices`|[Microservices](#microservices-specifications)|No|Bundle microservices| +|`microfrontends`|[Micro Frontends](#micro-frontends-specifications)|No|Bundle micro frontends| ```json { @@ -102,7 +104,7 @@ The following is a list of specifications for the bundle descriptor and its comp |`deploymentBaseName`|String|No||Used to define custom pod names| |`roles`|String[]|No||Exposed security roles| |`env`|[EnvironmentVariable[]](#environment-variables-specification)|No||Required environment variables| -|`commands`|Command[]|No||Custom command(s) definitions| +|`commands`|[Command[]](#command-specification)|No||Custom command(s) definitions| #### Microservices Sample Code ```json @@ -118,7 +120,13 @@ The following is a list of specifications for the bundle descriptor and its comp } ], ``` +::: tip + Entando uses the `healthCheckPath` to monitor the health of the microservice. A plugin in an Entando Bundle can use any technology, as long as it provides a health check service configured via the `healthCheckPath`. This path must be specified in the descriptor file and return an HTTP 200 or success status. This can be implemented by a Java service included with the Entando Blueprint in the Spring Boot application. You can also [use a Node.js service as shown here](https://github.com/entando-samples/ent-project-template-node-ms/blob/main/src/main/node/controller/health-controller.js). +::: +::: tip +See the [Plugin Environment Variables](../../tutorials/devops/plugin-environment-variables.md) tutorial to set up environment variables, either inline or based on Kubernetes Secrets. +::: ### Micro Frontends Specifications |Name|Type|Required|Possible Values|Description| |:-|:-|:-|:-|:------------------------| @@ -132,10 +140,10 @@ The following is a list of specifications for the bundle descriptor and its comp |`publicFolder`|String|No|Default is `public`|MFE public folder (typically where index.html is located)| |`apiClaims`|String[]|No||See [API Claim spec](#api-claim-specification) below| |`nav`|[MenuEntry[]](#menuentry-specification)|No||Bundle menu global links| -|`commands`|Command[]|No||Custom commands definitions| +|`commands`|[Command[]](#command-specification)|No||Custom commands definitions| |`buildFolder`|String|No|Default is `build`|Corresponds to the MFE build folder | |`configMfe`|String|No||The custom element for the corresponding widget-config MFE| -|`params`| MfeParam[] |Yes| | User configuration for executing a widget| +|`params`| [MfeParam[]](#mfeparam-specification) |Yes| | User configuration for executing a widget| |`contextParams`|String[]| Yes | | Information extracted from the application context | #### Micro Frontends Sample Code @@ -163,7 +171,7 @@ The following is a list of specifications for the bundle descriptor and its comp ] ``` -#### MfeParam Specification +### MfeParam Specification |Name|Type|Required|Description| |:-|:-|:-|:------------------------| |name|String|Yes|Name of the parameter| @@ -190,6 +198,7 @@ The following is a list of specifications for the bundle descriptor and its comp |`name`|String|Yes||Name| |`type`|Enum|Yes|*internal *external| Category of claim, either inside the same bundle (internal) or same namespace (external) | |`serviceName`|String|Yes||The name of the microservice| +|`serviceUrl`| String| ||The URL of the microservice deployed in the local environment| |`bundle`|String|Yes only for `type=external`||Bundle Docker URL| #### API Claim Spec Sample diff --git a/vuepress/docs/next/docs/curate/img/bundle-develop-process.png b/vuepress/docs/next/docs/curate/img/bundle-develop-process.png deleted file mode 100644 index f69b40cd29..0000000000 Binary files a/vuepress/docs/next/docs/curate/img/bundle-develop-process.png and /dev/null differ diff --git a/vuepress/docs/next/docs/curate/img/development-process.jpg b/vuepress/docs/next/docs/curate/img/development-process.jpg new file mode 100644 index 0000000000..22dec21924 Binary files /dev/null and b/vuepress/docs/next/docs/curate/img/development-process.jpg differ diff --git a/vuepress/docs/next/docs/curate/img/publishing-process.jpg b/vuepress/docs/next/docs/curate/img/publishing-process.jpg new file mode 100644 index 0000000000..971adc1d50 Binary files /dev/null and b/vuepress/docs/next/docs/curate/img/publishing-process.jpg differ diff --git a/vuepress/docs/next/docs/getting-started/ent-api.md b/vuepress/docs/next/docs/getting-started/ent-api.md index 03d5ec46ba..d6334c5fcf 100644 --- a/vuepress/docs/next/docs/getting-started/ent-api.md +++ b/vuepress/docs/next/docs/getting-started/ent-api.md @@ -43,12 +43,12 @@ Common operations associated with API claims are detailed below. To execute `ent **Command details:** - `api add` supports the following options: - - `service-name`: The name of a microservice in the same bundle as the micro frontend - - `service-url`: The URL of a microservice deployed in the local environment + - `serviceName`: The name of a microservice in the same bundle as the micro frontend + - `serviceUrl`: The URL of a microservice deployed in the local environment - `api add-ext` supports the following options: - `bundle`: The external bundle URL - - `service-name`: The name of a microservice in the external bundle. If `service-name` is not set, `api add-ext` will initiate an interactive mode where the user can select from available bundles and microservices. + - `serviceName`: The name of a microservice in the external bundle. If `service-name` is not set, `api add-ext` will initiate an interactive mode where the user can select from available bundles and microservices. - `api add-ext` requirements: - Connection to an Entando instance diff --git a/vuepress/docs/next/docs/getting-started/ent-bundle.md b/vuepress/docs/next/docs/getting-started/ent-bundle.md index 67da3b3703..d9c0492ed0 100644 --- a/vuepress/docs/next/docs/getting-started/ent-bundle.md +++ b/vuepress/docs/next/docs/getting-started/ent-bundle.md @@ -10,7 +10,7 @@ In addition, this document describes the series of `ent ecr` commands that manag ## Entando 7.1 Bundle Development -Beginning with Entando 7.1, the `ent bundle` command and its convenience methods introduce a streamlined process to govern the structure, files and management of Entando bundles. The bundle development lifecycle consists of 6 stages, each corresponding to a subcommand: +Beginning with Entando 7.1, the `ent bundle` CLI tool introduces a streamlined process to govern the files, structure, and management of Entando bundles. The bundle development lifecycle consists of 6 stages, each corresponding to a subcommand: - [Initialization](#initialization): `ent bundle init` initializes a new bundle project, either with the default files and folders or from an existing bundle in an Entando Hub. The bundle format relies on a single JSON descriptor as the project manifest. @@ -32,10 +32,12 @@ See [Build and Publish a Bundle Project](../../tutorials/create/pb/publish-proje | Commands | Subcommands | Description | |:-|:-|:---------------------------------- |`ent bundle build`| | Build components (MFE, MS) with a selector | +|`ent bundle deploy`|| Deploy a bundle to the Local Hub of an Entando Application |`ent bundle generate-cr`| | Generate the Entando Custom Resource for a bundle project | |`ent bundle help` | | Display help for ent bundle | |`ent bundle info`| | Show status information for the bundle project | |`ent bundle init`| | Initialize the project folder structure and descriptor | +|`ent bundle install`| | Install a bundle to the Local Hub of an Entando Application| |`ent bundle list`| | List the available bundle components | |`ent bundle mfe` | `add` | Add a micro frontend | | | `rm` | Remove a micro frontend | diff --git a/vuepress/docs/next/docs/getting-started/entando-cli.md b/vuepress/docs/next/docs/getting-started/entando-cli.md index f556abee7d..719e477cc4 100644 --- a/vuepress/docs/next/docs/getting-started/entando-cli.md +++ b/vuepress/docs/next/docs/getting-started/entando-cli.md @@ -34,13 +34,6 @@ curl -L https://get.entando.org/cli | bash >The automatic option in [Getting Started](../getting-started/) will install the CLI along with a quickstart Entando Application. -### Check the Environment - -Verify dependencies required by your Entando installation: -``` bash -ent check-env develop -``` - ## Command List Use `ent help` to review the list of available commands.\ Use `ent [command] --help` for command details. @@ -98,15 +91,26 @@ TOPICS COMMANDS build Build bundle components + deploy Deploy a bundle to the Local Hub of an Entando Application generate-cr Generate the Entando Custom Resource (CR) for a bundle project help Display help for ent bundle. info Show status information for the bundle project init Perform the scaffolding of a bundle project + install Install a bundle in the Local Hub of an Entando Application list List the available components in the bundle pack Generate the bundle Docker images publish Publish bundle Docker images run Run bundle components +DEBUG MODE +--debug To enable debug mode for bundle operations + +``` +### Check the Environment + +Verify dependencies required by your Entando installation: +``` bash +ent check-env develop ``` ### Update the CLI @@ -118,6 +122,12 @@ ent check-env develop ``` >Alternatively, to perform a clean install, delete the `~/.entando` directory via `rm -rf ~/.entando`. Then reinstall the CLI using the instructions above. This will also remove the private copies of JHipster, Entando Blueprint, etc. +### Enable Debug Mode +To utilize the debug mode for ent bundle commands: +``` sh + ent --debug bundle +``` + ### Customize Quickstart The `ent quickstart` command accepts parameters to customize your quickstart environment. These options allow you to modify specific properties of your VM, installation versions and databases. diff --git a/vuepress/docs/next/tutorials/README.md b/vuepress/docs/next/tutorials/README.md index 101a686efb..6040c1c66f 100644 --- a/vuepress/docs/next/tutorials/README.md +++ b/vuepress/docs/next/tutorials/README.md @@ -47,10 +47,10 @@ table th:nth-of-type(3) { | Basic | Intermediate | Advanced | :-: | :-: | :-: -| [Set Up Entando on a Local Kubernetes Cluster](../docs/getting-started/) | | [Install Bundle Microservices from a Private Registry](./curate/private-images.md) | -| [Set Up Entando on Amazon Elastic Kubernetes Service (EKS)](./getting-started/eks-install.md) | [Customize the base Entando Application via a Docker Image](./devops/build-core-image.md) |[Add a GitHub Actions CI Workflow](./create/pb/github-actions-workflow.md)| -| [Set Up Entando on Azure Kubernetes Service (AKS)](./getting-started/azure-install.md) |[Connect Your Entando Application to an External Database](./devops/external-db.md) | [Manage NGINX](./devops/manage-nginx.md) -| [Set Up Entando on Google Kubernetes Engine (GKE)](./getting-started/gke-install.md) | [Install the Standard Demo Application](./solution/install-standard-demo.md)| [Setup Plugin Profiles](./devops/plugin-configuration.md) -| [Set Up Entando on Red Hat OpenShift](./getting-started/openshift-install.md) | [Configure the Entando Operator](./devops/entando-operator.md) | +| [Set Up Entando on a Local Kubernetes Cluster](../docs/getting-started/) | [Customize the base Entando Application via a Docker Image](./devops/build-core-image.md) | [Install Bundle Microservices from a Private Registry](./curate/private-images.md) | +| [Set Up Entando on Amazon Elastic Kubernetes Service (EKS)](./getting-started/eks-install.md) | [Connect Your Entando Application to an External Database](./devops/external-db.md) |[Add a GitHub Actions CI Workflow](./create/pb/github-actions-workflow.md)| +| [Set Up Entando on Azure Kubernetes Service (AKS)](./getting-started/azure-install.md) | [Install the Standard Demo Application](./solution/install-standard-demo.md)| [Manage NGINX](./devops/manage-nginx.md) +| [Set Up Entando on Google Kubernetes Engine (GKE)](./getting-started/gke-install.md) | [Configure the Entando Operator](./devops/entando-operator.md) | [Setup Plugin Profiles](./devops/plugin-configuration.md) +| [Set Up Entando on Red Hat OpenShift](./getting-started/openshift-install.md) | | | [Entando CLI Reference](../docs/getting-started/entando-cli.md) | |