* **Other Ingress Controller:** For other ingress controllers, modify `[repo-root]/kubernetes/helm/openslice/templates/openslice-ingress.yaml` to meet your controller’s requirements.
* **Other Ingress Controller:** For other ingress controllers, modify `ingressClassName` in the `[repo-root]/kubernetes/helm/openslice/values.yaml`. In the rare occasion that the controller requires more configuration (e.g., see GKE above), you should modify the `[repo-root]/kubernetes/helm/openslice/templates/openslice-ingress.yaml` accordingly.
### Exposure
### Exposure
@@ -239,9 +239,9 @@ Similarly, to configure CRIDGE, there are three different ways to provide this k
> **Note:** Regardless of the method you choose, if you're using a non-standard kubeconfig file name, make sure to adjust the references or rename the file as needed.
> **Note:** Regardless of the method you choose, if you're using a non-standard kubeconfig file name, make sure to adjust the references or rename the file as needed.
> **Important Note:** If you are deploying CRIDGE in the same cluster and namespace as OpenSlice, no additional configuration is required for the message bus broker URL and OpenSlice communicates with CRIDGE directly. However, if CRIDGE is installed in a **separate Kubernetes cluster** from the one hosting OpenSlice, it is important to configure the `values.yaml` file for the CRIDGE Helm chart to point to the correct message bus broker URL. Please see [Nginx Ingress Controller (Kubernetes Community Edition) configuration](#software-requirements) on how to properly expose the message bus in such scenario.
> **Important Note:** If you are deploying **CRIDGE in the same cluster** and namespace as OpenSlice, no additional configuration is required for the message bus broker URL and OpenSlice communicates with CRIDGE directly (assuming the 61616 port remains unchanged). However, if CRIDGE is installed in a **separate Kubernetes cluster** from the one hosting OpenSlice, it is important to configure the `values.yaml` file for the CRIDGE Helm chart to point to the correct message bus broker URL. Please see [Nginx Ingress Controller (Kubernetes Community Edition) configuration](#software-requirements) on how to properly expose the message bus in such scenario.
In the `values.yaml` of the CRIDGE Helm chart, you must set `oscreds.activemq.brokerUrl` to point to the IP address of the ingress controller in the OpenSlice cluster, as shown below:
In the scenario of a publicly exposed message bus (separate Kubernetes cluster), in the `values.yaml` of the CRIDGE Helm chart, you must set `oscreds.activemq.brokerUrl` to point to the IP address of the ingress controller in the OpenSlice cluster, as shown below:
```yaml
```yaml
oscreds:
oscreds:
@@ -291,11 +291,13 @@ spring:
To configure the ingress controller and root URL for OpenSlice, update the rooturl field with your ingress load balancer IP or domain. This setting is crucial for external access to your application:
To configure the ingress controller and root URL for OpenSlice, update the rooturl field with your ingress load balancer IP or domain. This setting is crucial for external access to your application:
```yaml
```yaml
rooturl:"http://openslice.com"# Example domain
rooturl:"https://openslice.com"# Example domain
# or
# or
rooturl:"http://3.15.198.35:8080"# Example IP with port
rooturl:"http://3.15.198.35:8080"# Example IP with port
```
```
Additionally, in the event of the non-default (nginx) ingress controller, you should change the `ingress.ingressClassName' property.
### Persistent Volume for MySQL
### Persistent Volume for MySQL
For persistent storage, especially for MySQL, define the storage size under the `mysql` section. This ensures that your database retains data across pod restarts and deployments.
For persistent storage, especially for MySQL, define the storage size under the `mysql` section. This ensures that your database retains data across pod restarts and deployments.
@@ -415,7 +417,7 @@ After configuring the services, and editing the `values.yaml` file accordingly,
@@ -27,10 +27,14 @@ In ArgoCD, the field **status.health.status** has the value that we need to chec
Also, the different ArgoCD lifycycle states must be captured by the respective **_CR_CHECKVAL_xxx** characteristics, as show in the figure below:
Also, the different ArgoCD lifycycle states must be captured by the respective **_CR_CHECKVAL_xxx** characteristics, as show in the figure below:
> To populate the characteristics, we click the edit characteristic button and input the appropriate value into the service characteristic value field.


After the state mapping, we must provide the template that ArgoCD will use to deploy the Jenkins HELM Chart as an ArgoCD application. For this, we must populate the **_CR_SPEC** characteristic. The _CR_SPEC can be designed first in a YAML or json editor for better parsing.
After the state mapping, we must provide the template that ArgoCD will use to deploy the Jenkins HELM Chart as an ArgoCD application. For this, we must populate the **_CR_SPEC** characteristic. The _CR_SPEC can be designed first in a YAML or JSON editor for better parsing.
It is highly recommended to avoid populating the **_CR_SPEC** characteristic with the above procedure (directly pasting the value), as the following process (via simple LCM rule) is extremely more modular.
Let's see a YAML definition:
Let's see a YAML definition:
@@ -105,13 +109,13 @@ The LCM rule can be created from the "Life Cycle Rules" tab, pressing the "Creat
Let's create it step-by-step:
Let's create it step-by-step:
1. Drag-Drop the _CR_SPEC block (Set characteristic value) of jenkinsrfs from the Service > Text blocks
1. Drag-Drop the **_CR_SPEC block (Set characteristic value)** of jenkinsrfs from the **Service > Text blocks**
2. Drag-Drop the Text > Formatted text block and attach it after the block from the previous step
2. Drag-Drop the **Text > Formatted text block** and attach it after the block from the previous step
3. Drag-Drop the Text > Multi-line text input block and attach it at the Input(String) connector of the block from the previous text
3. Drag-Drop the **Text > Multi-line text input block** and attach it at the **Input(String) connector** of the block from the previous text
4. Copy paste the previously provided YAML text
4. Copy paste the previously **provided YAML text**
5. Change the spec:destination:namespace property to the value %s
5. Change the **spec:destination:namespace property** to the value **%s**
6. Drag-Drop the Lists > Create list block, delete the 2 extra items (click the gear icon). Attach it at the Variables(Array) connector of the formatted text block from the previous step.
6. Drag-Drop the **Lists > Create list block**, delete the 2 extra items (click the gear icon). Attach it at the **Variables(Array) connector** of the formatted text block from the previous step.
7. Drag-Drop the Service > Context > Current Service Order block and select the ID from the drop-down menu. Attach it to the List block of the previous step.
7. Drag-Drop the **Service > Context > Current Service Order block** and **select the ID** from the drop-down menu. Attach it to the List block of the previous step.
8. Save the PRE_PROVISION Rule
8. Save the PRE_PROVISION Rule
## Expose the Jenkins (Customer-Facing) Service to the users
## Expose the Jenkins (Customer-Facing) Service to the users