Openslice backend services are mainly implemented with Java 17 or above and Spring boot.
OpenSlice backend services are mainly implemented with Java 17 or above and Spring boot.
Openslice uses various subsystems and depending on the module would you like to work, other subsystems must be present (you can disable them though in the code, e.g. at application.yml file)
OpenSlice uses various subsystems and depending on the module would you like to work, other subsystems must be present (you can disable them though in the code, e.g. at docker-compose.yaml file).
1b - Or alternatively, commend out the respective container from the docker-compose.yaml file, so as to deploy the whole OpenSlice, except the subsystem you want to work on, following the provided installation steps.
### MySQL server
We use mysql as a storage DB. Please make sure that you have it installed in your system. There are instructions on internet how to install it. Check also our docker-compose installation script
2 - Clone the respective repository, e.g. https://labs.etsi.org/rep/osl/code/org.etsi.osl.tmf.api/-/tree/develop
3 - Code :)
## Oauth server
## General requirements
Keycloak is used as the authentication server.
- Docker should be installed in your development environment
- Run the core subsystems (see above sections)
> Note: Please check the Post installation steps -> Keycloak at localhost, at [Deployment/Installation](../deployment.md), if you are developing in a local environment
## Slack
## VNF/NSD Catalog Management and NSD Deployment API service
Feel free to join OpenSlice [Slack](https://openslice.slack.com) for any development oriented questions
Clone the repository: https://github.com/openslice/org.etsi.osl.portal.api
## Examples on developing on specific subsystems
Check the application.yml file. Default port is 13080. Especially the datasource username/password, server port.
### VNF/NSD Catalog Management and NSD Deployment API service
make sure that the General subsystems are up and running as well as the OAuth server
Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.api/-/tree/develop
run it with `mvn spring-boot:run`
Check the docker-compose.yml file. Default port is 13080. Check specifically the datasource username/password, server port.
You can check your consul server if it registered.
Make sure that the core subsystems are up and running.
### Swagger API
Swagger API of the service is at `http://localhost:13000/osapi/swagger-ui/`. You can try there various REST actions and authenticate via the OAuth server
Execute it with
```bash
mvn spring-boot:run
```
For verification, Swagger API of the service is at `http://localhost:13000/osapi/swagger-ui/index.html`.
## VNF/NSD Catalog Management and NSD Deployment WEB UI service
There, you may try there various REST actions and authenticate via the OAuth server without the use of the UI.
The Web UI is written in AngularJS
Clone the repository: https://github.com/openslice/org.etsi.osl.portal.web
### VNF/NSD Catalog Management and NSD Deployment WEB UI service
by default the project org.etsi.osl.portal.api exposes the folder ../org.etsi.osl.portal.web/src/ in a folder testweb (Check class MvcConfig.java in org.etsi.osl.portal.api) for development. (In production nginx is used). Point your browser to `http://localhost:13000/osapi/testweb/index.html/`
The Web UI is written in AngularJS.
Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.web/-/tree/develop
---
By default the project org.etsi.osl.portal.api exposes the folder ../org.etsi.osl.portal.web/src/ in a folder testweb (Check class MvcConfig.java in org.etsi.osl.portal.api) for development. (In production nginx is used). Point your browser to `http://localhost:13000/osapi/testweb/index.html/`
## Version/release management
Check this nice article on how we develop and release versions
Check this nice article on how we develop and release versions.