Newer
Older

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Service as a Product

Dimitrios Giannopoulos
committed
</span>
<span class="md-nav__icon md-icon"></span>
</label>

Dimitrios Giannopoulos
committed
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">

Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>

Dimitrios Giannopoulos
committed
Service as a Product

Dimitrios Giannopoulos
committed
</label>
<ul class="md-nav__list" data-md-scrollfix>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">

Dimitrios Giannopoulos
committed
<a href="../../product_model/product_spec.md" class="md-nav__link">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Product Specification

Dimitrios Giannopoulos
committed
</span>
</a>
</li>
<li class="md-nav__item">

Dimitrios Giannopoulos
committed
<a href="../../product_model/product_catalogs.md" class="md-nav__link">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Product Catalogs

Dimitrios Giannopoulos
committed
</span>
</a>
</li>
<li class="md-nav__item">

Dimitrios Giannopoulos
committed
<a href="../../product_model/product_inventory.md" class="md-nav__link">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Product Inventory

Dimitrios Giannopoulos
committed
</span>
</a>
</li>

Dimitrios Giannopoulos
committed
</ul>
</nav>
</li>

Dimitrios Giannopoulos
committed

Dimitrios Giannopoulos
committed
<li class="md-nav__item md-nav__item--nested">

Dimitrios Giannopoulos
committed
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >

Dimitrios Giannopoulos
committed

Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Assurance services

Dimitrios Giannopoulos
committed
</span>
<span class="md-nav__icon md-icon"></span>
</label>

Dimitrios Giannopoulos
committed
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">

Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>

Dimitrios Giannopoulos
committed
Assurance services

Dimitrios Giannopoulos
committed
</label>
<ul class="md-nav__list" data-md-scrollfix>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">

Dimitrios Giannopoulos
committed
<a href="../../assurance_services/intro.md" class="md-nav__link">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Introduction

Dimitrios Giannopoulos
committed
</span>
</a>
</li>
<li class="md-nav__item">

Dimitrios Giannopoulos
committed
<a href="../../assurance_services/alarms_actions.md" class="md-nav__link">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Alarms and Actions
</span>
</a>
</li>
</ul>
</nav>
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item md-nav__item--nested">

Dimitrios Giannopoulos
committed
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >

Dimitrios Giannopoulos
committed

Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Design & Architecture
</span>
<span class="md-nav__icon md-icon"></span>
</label>

Dimitrios Giannopoulos
committed
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">

Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>
Design & Architecture
</label>
<ul class="md-nav__list" data-md-scrollfix>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">

Dimitrios Giannopoulos
committed
<a href="../../architecture/architecture/" class="md-nav__link">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Architecture

Dimitrios Giannopoulos
committed
</span>
</a>
</li>

Dimitrios Giannopoulos
committed

Dimitrios Giannopoulos
committed
<li class="md-nav__item md-nav__item--nested">

Dimitrios Giannopoulos
committed
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9_2" >

Dimitrios Giannopoulos
committed

Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_9_2" id="__nav_9_2_label" tabindex="0">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Cloud native support

Dimitrios Giannopoulos
committed
</span>
<span class="md-nav__icon md-icon"></span>
</label>

Dimitrios Giannopoulos
committed
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_9_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9_2">

Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>

Dimitrios Giannopoulos
committed
Cloud native support

Dimitrios Giannopoulos
committed
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">

Dimitrios Giannopoulos
committed
<a href="../../architecture/CRIDGE_cloud_native_intro.md" class="md-nav__link">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Introduction

Dimitrios Giannopoulos
committed
</span>
</a>
</li>
<li class="md-nav__item">

Dimitrios Giannopoulos
committed
<a href="../../architecture/CRIDGE/CRIDGEforDevelopers/" class="md-nav__link">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
CRIDGE for Developers

Dimitrios Giannopoulos
committed
</span>
</a>
</li>

Dimitrios Giannopoulos
committed
</ul>
</nav>
</li>

Dimitrios Giannopoulos
committed
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
<li class="md-nav__item">
<a href="../../architecture/messagebus/" class="md-nav__link">
<span class="md-ellipsis">
Message bus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../architecture/osom/" class="md-nav__link">
<span class="md-ellipsis">
OSOM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../architecture/oauth/" class="md-nav__link">
<span class="md-ellipsis">
Authentication
</span>
</a>
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item md-nav__item--nested">

Dimitrios Giannopoulos
committed
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9_6" >

Dimitrios Giannopoulos
committed

Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_9_6" id="__nav_9_6_label" tabindex="0">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
APIs
</span>
<span class="md-nav__icon md-icon"></span>
</label>

Dimitrios Giannopoulos
committed
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_9_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9_6">

Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>
APIs
</label>
<ul class="md-nav__list" data-md-scrollfix>

Dimitrios Giannopoulos
committed
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
<li class="md-nav__item">
<a href="../../architecture/tmfapi/" class="md-nav__link">
<span class="md-ellipsis">
TMF API
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../architecture/nfvapi/" class="md-nav__link">
<span class="md-ellipsis">
NFV API
</span>
</a>
</li>

Dimitrios Giannopoulos
committed
</ul>
</nav>
</li>

Dimitrios Giannopoulos
committed
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
<li class="md-nav__item">
<a href="../../architecture/issuemgt/" class="md-nav__link">
<span class="md-ellipsis">
Issue management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../architecture/centrallog/" class="md-nav__link">
<span class="md-ellipsis">
Central logging
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">

Dimitrios Giannopoulos
committed
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" checked>

Dimitrios Giannopoulos
committed

Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">

Dimitrios Giannopoulos
committed
<span class="md-ellipsis">

Dimitrios Giannopoulos
committed
Contributing to OSL

Dimitrios Giannopoulos
committed
</span>
<span class="md-nav__icon md-icon"></span>
</label>

Dimitrios Giannopoulos
committed
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_10">

Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>

Dimitrios Giannopoulos
committed
Contributing to OSL

Dimitrios Giannopoulos
committed
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Developing
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Developing
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#general-requirements" class="md-nav__link">
<span class="md-ellipsis">
General requirements
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#slack" class="md-nav__link">
<span class="md-ellipsis">
Slack
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#examples-of-developing-on-specific-subsystems" class="md-nav__link">
<span class="md-ellipsis">
Examples of developing on specific subsystems
</span>
</a>
<nav class="md-nav" aria-label="Examples of developing on specific subsystems">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#vnfnsd-catalog-management-and-nsd-deployment-api-service" class="md-nav__link">
<span class="md-ellipsis">
VNF/NSD Catalog Management and NSD Deployment API service
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#vnfnsd-catalog-management-and-nsd-deployment-web-ui-service" class="md-nav__link">
<span class="md-ellipsis">
VNF/NSD Catalog Management and NSD Deployment WEB UI service
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
</ul>
</nav>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#versionrelease-management" class="md-nav__link">
<span class="md-ellipsis">
Version/release management
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#wishlist" class="md-nav__link">
<span class="md-ellipsis">
Wishlist
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
</ul>
</nav>
</li>
</ul>
</nav>
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="../../terminology/" class="md-nav__link">
<span class="md-ellipsis">
Terminology
</span>
</a>
</li>

Dimitrios Giannopoulos
committed
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#general-requirements" class="md-nav__link">
<span class="md-ellipsis">
General requirements
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#slack" class="md-nav__link">
<span class="md-ellipsis">
Slack
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#examples-of-developing-on-specific-subsystems" class="md-nav__link">
<span class="md-ellipsis">
Examples of developing on specific subsystems
</span>
</a>
<nav class="md-nav" aria-label="Examples of developing on specific subsystems">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#vnfnsd-catalog-management-and-nsd-deployment-api-service" class="md-nav__link">
<span class="md-ellipsis">
VNF/NSD Catalog Management and NSD Deployment API service
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#vnfnsd-catalog-management-and-nsd-deployment-web-ui-service" class="md-nav__link">
<span class="md-ellipsis">
VNF/NSD Catalog Management and NSD Deployment WEB UI service
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
</ul>
</nav>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#versionrelease-management" class="md-nav__link">
<span class="md-ellipsis">
Version/release management
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#wishlist" class="md-nav__link">
<span class="md-ellipsis">
Wishlist
</span>
</a>

Dimitrios Giannopoulos
committed
</li>

Dimitrios Giannopoulos
committed
</ul>
</nav>
</div>

Dimitrios Giannopoulos
committed
</div>

Dimitrios Giannopoulos
committed
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">

Dimitrios Giannopoulos
committed
<h1 id="developing">Developing</h1>

Dimitrios Giannopoulos
committed
<p>OpenSlice backend services are mainly implemented with Java 17 or above and Spring boot.</p>
<p>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).</p>

Dimitrios Giannopoulos
committed
<p>To get the latest development branch:</p>

Dimitrios Giannopoulos
committed
<pre><code class="language-bash">wget https://labs.etsi.org/rep/osl/code/org.etsi.osl.main/-/raw/develop/compose/deploy.sh
sudo ./deploy.sh develop #[or replace develop with other branch name]
</code></pre>
<p>You may follow the <a href="https://osl.etsi.org/documentation/develop/deployment/">installation process</a>, as described at "develop" tagged documentation.</p>
<p>To work on a specific subsystem e.g. org.etsi.osl.tmf.api, you must:</p>
<p>1a - Deploy only the core necessary subsystems through:</p>
<pre><code class="language-bash">sudo docker compose --profile dev down;sudo docker compose --profile dev up -d --build

Dimitrios Giannopoulos
committed
</code></pre>
<blockquote>

Dimitrios Giannopoulos
committed
<p>Note <strong>--profile dev</strong> that will only deploy the core dependency subsystems, instead of the whole OpenSlice.</p>

Dimitrios Giannopoulos
committed
</blockquote>

Dimitrios Giannopoulos
committed
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
<p>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.</p>
<p>2 - Clone the respective repository, e.g. https://labs.etsi.org/rep/osl/code/org.etsi.osl.tmf.api/-/tree/develop</p>
<p>3 - Code :)</p>
<h2 id="general-requirements">General requirements</h2>
<ul>
<li>Docker should be installed in your development environment</li>
<li>Run the core subsystems (see above section)</li>
</ul>
<h2 id="slack">Slack</h2>
<p>Feel free to join OpenSlice <a href="https://openslice.slack.com">Slack</a> for any development oriented questions.</p>
<h2 id="examples-of-developing-on-specific-subsystems">Examples of developing on specific subsystems</h2>
<h3 id="vnfnsd-catalog-management-and-nsd-deployment-api-service">VNF/NSD Catalog Management and NSD Deployment API service</h3>
<p>Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.api/-/tree/develop</p>
<p>Check the docker-compose.yml file. Default port is 13080. Check specifically the datasource username/password, server port.</p>
<p>Make sure that the core subsystems are up and running.</p>
<p>Execute it with </p>
<pre><code class="language-bash">mvn spring-boot:run
</code></pre>
<p>For verification, Swagger API of the service is at <code>http://localhost:13000/osapi/swagger-ui/index.html</code>. </p>
<p>There, you may try there various REST actions and authenticate via the OAuth server without the use of the UI.</p>
<h3 id="vnfnsd-catalog-management-and-nsd-deployment-web-ui-service">VNF/NSD Catalog Management and NSD Deployment WEB UI service</h3>
<p>The Web UI is written in AngularJS.</p>
<p>Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.web/-/tree/develop</p>
<p>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 <code>http://localhost:13000/osapi/testweb/index.html/</code></p>

Dimitrios Giannopoulos
committed
<h2 id="versionrelease-management">Version/release management</h2>

Dimitrios Giannopoulos
committed
<p>Check this nice article on how we develop and release versions.</p>

Dimitrios Giannopoulos
committed
<p>https://nvie.com/posts/a-successful-git-branching-model/</p>

Dimitrios Giannopoulos
committed
<p>We develop in the develop branch and follow a issue driven development model.</p>

Dimitrios Giannopoulos
committed
<hr />
<h2 id="wishlist">Wishlist</h2>

Dimitrios Giannopoulos
committed
<p>Check also our wishlist of new features. You can add your own.</p>
<p>See <a href="../wishlist/">Wishlist</a>.</p>

Dimitrios Giannopoulos
committed

Dimitrios Giannopoulos
committed
</article>

Dimitrios Giannopoulos
committed
</div>

Dimitrios Giannopoulos
committed
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>

Dimitrios Giannopoulos
committed
</div>

Dimitrios Giannopoulos
committed
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../../architecture/centrallog/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Central logging">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>

Dimitrios Giannopoulos
committed
</div>

Dimitrios Giannopoulos
committed
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
Central logging
</div>

Dimitrios Giannopoulos
committed
</div>

Dimitrios Giannopoulos
committed
</a>

Dimitrios Giannopoulos
committed
<a href="../../terminology/" class="md-footer__link md-footer__link--next" aria-label="Next: Terminology">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Terminology
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
</div>
</a>

Dimitrios Giannopoulos
committed
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">

Dimitrios Giannopoulos
committed
Copyright © 2024 ETSI OSL

Dimitrios Giannopoulos
committed
</div>

Dimitrios Giannopoulos
committed
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>

Dimitrios Giannopoulos
committed
</div>

Dimitrios Giannopoulos
committed
<div class="md-social">
<a href="https://osl.etsi.org/" target="_blank" rel="noopener" title="osl.etsi.org" class="md-social__link">

Dimitrios Giannopoulos
committed
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64h185.4c2.2 20.4 3.3 41.8 3.3 64zm28.8-64h123.1c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6 78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7 10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5 11.6 26 20.9 58.2 27 94.7zm-209 0H18.6c30-74.1 93.6-130.9 172-151.6-25.5 34.2-45.3 87.7-55.3 151.6zM8.1 192h123.1c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zm186.6 254.6c-11.6-26-20.9-58.2-27-94.6h176.6c-6.1 36.4-15.5 68.6-27 94.6-10.5 23.6-22.2 40.7-33.5 51.5-11.2 10.7-20.5 13.9-27.8 13.9s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6-78.4-20.7-142-77.5-172-151.6h116.7zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6 25.5-34.2 45.2-87.7 55.3-151.6h116.6z"/></svg>

Dimitrios Giannopoulos
committed
</a>
<a href="https://labs.etsi.org/rep/osl" target="_blank" rel="noopener" title="labs.etsi.org" class="md-social__link">

Dimitrios Giannopoulos
committed
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="m503.5 204.6-.7-1.8-69.7-181.78c-1.4-3.57-3.9-6.59-7.2-8.64-2.4-1.55-5.1-2.515-8-2.81-2.9-.295-5.7.083-8.4 1.11-2.7 1.02-5.1 2.66-7.1 4.78-1.9 2.12-3.3 4.67-4.1 7.44l-47 144H160.8l-47.1-144c-.8-2.77-2.2-5.31-4.1-7.43-2-2.12-4.4-3.75-7.1-4.77a18.1 18.1 0 0 0-8.38-1.113 18.4 18.4 0 0 0-8.04 2.793 18.09 18.09 0 0 0-7.16 8.64L9.267 202.8l-.724 1.8a129.57 129.57 0 0 0-3.52 82c7.747 26.9 24.047 50.7 46.447 67.6l.27.2.59.4 105.97 79.5 52.6 39.7 32 24.2c3.7 1.9 8.3 4.3 13 4.3 4.7 0 9.3-2.4 13-4.3l32-24.2 52.6-39.7 106.7-79.9.3-.3c22.4-16.9 38.7-40.6 45.6-67.5 8.6-27 7.4-55.8-2.6-82z"/></svg>

Dimitrios Giannopoulos
committed
</a>
<a href="https://www.linkedin.com/company/openslice/" target="_blank" rel="noopener" title="www.linkedin.com" class="md-social__link">

Dimitrios Giannopoulos
committed
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>

Dimitrios Giannopoulos
committed
</a>
<a href="https://twitter.com/OpensliceOSS" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">

Dimitrios Giannopoulos
committed
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8l164.9-188.5L26.8 48h145.6l100.5 132.9L389.2 48zm-24.8 373.8h39.1L151.1 88h-42l255.3 333.8z"/></svg>