Commit a045ddf9 authored by Javier Velázquez's avatar Javier Velázquez
Browse files

Update docs

parent 6d7b8777
Loading
Loading
Loading
Loading
+51 −4
Original line number Diff line number Diff line
@@ -165,19 +165,66 @@ In the `src/config/.env.example` file, several constants can be adjusted to cust

## Usage

To use the NSC, just build the image an run it in a container following these steps:
To use the NSC, just build the image and run it in a container following these steps:

1. **Deploy**
    ```
    - Deploy as a local Docker container:
      ```bash
      ./deploy.sh
      ```
    - Deploy to Kubernetes using Helm:
      ```bash
      ./deploy.sh --helm
      ```

2. **Send Slice Requests**:

    Send slice requests via **API** (/nsc) or **WebUI** (/webui)
    Send slice requests via **API** (`/nsc`) or **WebUI** (`/webui`).

### Kubernetes Deployment with Helm

You can deploy the Network Slice Controller (NSC) to a Kubernetes cluster using the provided Helm chart.

#### Prerequisites
- A Kubernetes cluster (e.g., Minikube, Kind, or a remote cluster)
- [Helm v3](https://helm.sh/docs/intro/install/) installed
- Docker image built and loaded into the cluster or registered in a registry.

#### Installation

1. **Deploy using the Deployment Script (Recommended)**:
    ```bash
    ./deploy.sh --helm
    ```

2. **Alternatively, deploy manually**:
    ```bash
    # Build Docker Image
    docker build -t nsc:latest .
    
    # Install with default values
    helm install nsc ./helm/nsc
    
    # Or override configuration variables on install
    helm install nsc ./helm/nsc --set config.dummyMode=true --set secretConfig.apiPassword=mysecurepassword
    ```


#### Configuration
You can customize the deployment by modifying the [values.yaml](file:///c:/Users/id03125/OneDrive%20-%20Telefonica/Trabajo/Network%20slicing/Network%20Slice%20Controller/nsc/helm/nsc/values.yaml) file or by using the `--set` option on the CLI. Key variables include:
- `service.port`: Port to expose the NSC (default: `8085`).
- `config.*`: Application configuration variables matching the parameters in `.env` (e.g., `config.loggingLevel`, `config.tfsIp`, `config.dummyMode`).
- `secretConfig.apiUsername` and `secretConfig.apiPassword`: Basic auth credentials for the API.

#### Uninstallation
To remove the deployed chart:
    ```bash
    helm uninstall nsc
    ```

## Available branches and releases


[![Latest Release](https://labs.etsi.org/rep/tfs/nsc/-/badges/release.svg)](https://labs.etsi.org/rep/tfs/nsc/-/releases)

- The branch `main` ([![pipeline status](https://labs.etsi.org/rep/tfs/nsc/badges/main/pipeline.svg)](https://labs.etsi.org/rep/tfs/nsc/-/commits/main) [![coverage report](https://labs.etsi.org/rep/tfs/nsc/badges/main/coverage.svg)](https://labs.etsi.org/rep/tfs/nsc/-/commits/main)), points always to the latest stable version of the TeraFlowSDN Network Slice Controller (NSC).