Newer
Older
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="architecture/cridge/cridge_introduction.md" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
CRIDGE
Dimitrios Giannopoulos
committed
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
</span>
</a>
</li>
<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">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_6" >
Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_6_6" id="__nav_6_6_label" tabindex="0">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
APIs
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_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
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
<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
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
<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--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_7" id="__nav_7_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>
<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
Contributing to OSL
Dimitrios Giannopoulos
committed
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="contributing/developing/" class="md-nav__link">
<span class="md-ellipsis">
Developing
</span>
</a>
</li>
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
<li class="md-nav__item">
<a href="contributing/documenting/" class="md-nav__link">
<span class="md-ellipsis">
Documenting
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
</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
</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">
Dimitrios Giannopoulos
committed
<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="#usage" class="md-nav__link">
<span class="md-ellipsis">
Usage
</span>
</a>
Dimitrios Giannopoulos
committed
<nav class="md-nav" aria-label="Usage">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#an-end-to-end-e2e-service-orchestration-framework" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
An end-to-end (E2E) service orchestration framework
Dimitrios Giannopoulos
committed
</span>
</a>
Dimitrios Giannopoulos
committed
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#an-e2e-service-orchestration-workflow" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
An E2E service orchestration workflow
Dimitrios Giannopoulos
committed
</span>
</a>
Dimitrios Giannopoulos
committed
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#openslice-for-service-providers" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
OpenSlice for Service Providers
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#openslice-for-service-consumers" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
OpenSlice for Service Consumers
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
</ul>
</nav>
Dimitrios Giannopoulos
committed
</li>
<li class="md-nav__item">
Dimitrios Giannopoulos
committed
<a href="#live-demo" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
Live Demo
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
Dimitrios Giannopoulos
committed
<a href="#probe-further" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
Probe further
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
</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="introduction">Introduction</h1>
Dimitrios Giannopoulos
committed
<p><img src="images/openslice_logo.png" alt="logo" width="200"/></p>
Dimitrios Giannopoulos
committed
<p><strong>Version</strong>: 2024Q2 - SNAPSHOT (<a href="https://labs.etsi.org/rep/osl/code/org.etsi.osl.main/-/releases/2024Q2">Release Notes</a>)</p>
Dimitrios Giannopoulos
committed
<p>The ETSI Software Development Group for OpenSlice (SDG OSL) is developing an open-source service-based Operations Support System (OSS) to deliver Network as a Service (NaaS) following specifications from major SDOs including ETSI, TM Forum and GSMA.</p>
Dimitrios Giannopoulos
committed
<h2 id="usage">Usage</h2>
Dimitrios Giannopoulos
committed
<p>OpenSlice can be used in managing 5G network services from the user device to the core network and cloud as well as for Orchestrating cloud resources across private and public clouds for enterprise applications. OpenSlice is capable of supporting most of the features of an end-to-end (E2E) service orchestration framework while many of them will be more mature in future releases. The following figure displays the general usage of OpenSlice. </p>
<p><a href="images/global_approach.png"><img alt="OpenSlice usage" src="images/global_approach.png" /></a></p>
<p>The image illustrates how OpenSlice supports the idea of an E2E network service orchestration framework by integrating multiple network components and layers, from user devices at the edge to radio, transport networks, core and public cloud services, ensuring seamless, secure, and efficient delivery of network services. Assuming that there are domain controllers for all the above domains OpenSlice can create the end-to-end service via the domain controllers by following the process of creating and deploying the end-to-end service by implementing transformations, and consuming APIs from various network entities.
OpenSlice, in a nutchell, offers user interfaces where users can interact with the framework to order, expose, and manage service catalogs, services and resources that can be ordered, following business logic and policies and exposed through the APIs. </p>
<h3 id="an-end-to-end-e2e-service-orchestration-framework">An end-to-end (E2E) service orchestration framework</h3>
<p>An end-to-end (E2E) service orchestration framework is designed to manage and automate the entire lifecycle of services across multiple domains and technologies. For delivering, especially, Network as a Service (NaaS) a comprehensive system is needed that automates and manages the entire lifecycle of network services, from provisioning to monitoring and decommissioning, while ensuring seamless integration, operation, and delivery of services from the initial request to the final delivery, spanning all involved components and layers. Such E2E frameworks enable users to consume network services on-demand, similar to how cloud computing services are consumed. Some key components and features of such frameworks are:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>Service Catalogs including predefined Network Services based on service templates for common network services like 5G core functions, 5G slices, VPNs, SD-WAN, firewalls, load balancers, etc. as well as custom Network services with Options for users to define their own network configurations.</li>
<li>User Interface (UI) and APIs exposure, offering both a Self-Service Portal that allows users to request, configure, and manage network services as well as APIs for enabling programmatic access to network services for integration with other systems and automation scripts.</li>
Dimitrios Giannopoulos
committed
<li>Service Design and Creation through service templates based on predefined models for creating services.</li>
Dimitrios Giannopoulos
committed
<li>Automation and Workflow Management via Orchestration Engines, supporting Process Automation for automating repetitive tasks and processes, workflow management and orchestration for automating the provisioning, configuration, and management of network services while coordinating multiple workflows to ensure services are delivered efficiently, ensuring that services comply with predefined policies and standards.</li>
Dimitrios Giannopoulos
committed
<li>Standardized API exposure for seamless integration with different systems and services and APIs transformation support for converting data formats and protocols to ensure compatibility and information exchange between systems during workflows orchestration</li>
Dimitrios Giannopoulos
committed
<li>Service and Resource management and Orchestration while including the capability of multi-domain coordination in managing services/resources across different domains like cloud, 5G core, radios, transport network, and edge including dynamic allocation with adjusting resources based on demand and service requirements. To accomplish the above advanced technologies need to be exploited like, Containerized workloads, Network Function Virtualization (NFV) which uses virtualized network functions to provide services like routing, switching, and security and Software-Defined Networking (SDN) which Controls the network programmatically to dynamically manage traffic and resources.</li>
<li>Monitoring and Analytics including Service Monitoring while continuously tracking the performance and health of services with capabilities to analyse data to optimize service delivery and predict issues. Real-Time Monitoring is also needed for tracking the performance and health of network services enabling analytics that provide insights for optimization and troubleshooting.</li>
<li>Security and Access Control for ensuring only authorized users and systems can access network services. while implementing rules and policies to comply with regulatory requirements.</li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
<h3 id="an-e2e-service-orchestration-workflow">An E2E service orchestration workflow</h3>
<p>In general an E2E service orchestration workflow includes the following phases:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>Service Request: Users or systems request a network service through the self-service portal or API. The request can specify details such as bandwidth, security features, geographic coverage, and duration.</li>
<li>Service Orchestration: The orchestration engine evaluates the request, determines the necessary resources, and initiates the automated workflows.It interacts with the underlying components (e.g. 5G Core, Radios, Containerized controllers, NFV, SDN controllers ) to provision and configure the required network functions and connectivity.</li>
Dimitrios Giannopoulos
committed
<li>Provisioning and Configuration: Services, network resources and network functions (VNFs) are instantiated and configured according to the service request during Service Orchestration through the orchestration engine. Other controllers manage their own domains, for example SDN controllers, manage the flow of data through the network to ensure optimal performance and adherence to policies, RAN controllers manage the RAN resources, Containerized controllers manage their workload, etc</li>
Dimitrios Giannopoulos
committed
<li>Service Delivery: The E2E network service is activated and made available to the user. Continuous monitoring ensures the service operates as expected, with automatic adjustments made as necessary.</li>
<li>Lifecycle Management: The orchestration framework handles updates, scaling, and any necessary modifications throughout the service lifecycle.</li>
<li>At the end of the service period, resources are decommissioned and reclaimed.</li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
<h3 id="openslice-for-service-providers">OpenSlice for Service Providers</h3>
Dimitrios Giannopoulos
committed
<p>OpenSlice is used by Service Providers to design Network Services, expose them in Service Catalogues and make them available for Service Orders. OpenSlice then can perform the E2E service orchestration workflow.</p>
Dimitrios Giannopoulos
committed
<p>There are various portals offering UI friendly access to users acting as Service Providers:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>The Services portal allows Service Providers to design and expose services.</li>
Dimitrios Giannopoulos
committed
<li>The Resource portal allows users to access resource specifications and running resources in resource inventory.</li>
Dimitrios Giannopoulos
committed
<li>The NFV portal allows users to manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.</li>
Dimitrios Giannopoulos
committed
<li>The Testing portal allows Service Providers to manage test artifacts</li>
Dimitrios Giannopoulos
committed
<li>The Products portal allows Service Providers to expose services as products</li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
<h3 id="openslice-for-service-consumers">OpenSlice for Service Consumers</h3>
<p>OpenSlice allows Service Consumers to browse the available offered service specifications in a self-service manner. It also supports TMFORUM Northbound APIs regarding Service Catalog Management, Ordering, Resource, etc.
There are various portals offering UI friendly access to users acting as Service Consumers:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>The Services portal allows Service Consumers to select and order predefined services.</li>
Dimitrios Giannopoulos
committed
<li>The Resource portal allows users to access running resources in resource inventory.</li>
Dimitrios Giannopoulos
committed
<li>The NFV portal allows users to self-manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.</li>
Dimitrios Giannopoulos
committed
<li>The Testing portal allows Service Consumers to manage test artifacts</li>
Dimitrios Giannopoulos
committed
<li>The Products portal allows Service Consumers to expose services as products</li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
<p>3rd party applications can use OpenSlice through TMForum Open APIs.</p>
<h2 id="live-demo">Live Demo</h2>
<p>Check a live demo of OpenSlice in the following pages:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>OpenSlice demo: <a href="http://portal.openslice.eu/">http://portal.openslice.eu/</a></li>
<li>OpenSlice Service Catalogs and ordering: <a href="http://portal.openslice.eu/services/">http://portal.openslice.eu/services/</a></li>
<li>OpenSlice NFV Services onboarding: <a href="http://portal.openslice.eu/nfvportal">http://portal.openslice.eu/nfvportal</a></li>
Dimitrios Giannopoulos
committed
</ul>
<p>Login credentials:</p>
<ul>
<li>username=admin, password=openslice </li>
<li>username=admin, password=changeme</li>
Dimitrios Giannopoulos
committed
</ul>
<h2 id="probe-further">Probe further</h2>
Dimitrios Giannopoulos
committed
<ul>
<li>How OpenSlice works? See the <a href="architecture/architecture/">Architecture</a> section</li>
<li>Installing OpenSlice? See the <a href="getting_started/deployment/introduction/">Deployment</a> section</li>
<li>Learn more on <a href="naas/introduction/">how OpenSlice supports Network as a Service(NaaS)</a></li>
<li>Who is maintaining OpenSlice? See <a href="https://osl.etsi.org/">OSL ETSI SDG</a></li>
Dimitrios Giannopoulos
committed
</ul>
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>
Dimitrios Giannopoulos
committed
<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 8z"/></svg>
Dimitrios Giannopoulos
committed
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="deployment_examples/" class="md-footer__link md-footer__link--next" aria-label="Next: Deployment examples">
Dimitrios Giannopoulos
committed
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Deployment examples
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
<div class="md-footer__button md-icon">
Dimitrios Giannopoulos
committed
<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 11z"/></svg>
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
</a>
</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">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.1 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.4c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64h185.3c2.2 20.4 3.3 41.8 3.3 64m28.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-64m112.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.7m-209 0H18.6c30-74.1 93.6-130.9 172-151.6-25.5 34.2-45.3 87.7-55.3 151.6M8.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-64m186.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.6zm358.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.7z"/></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">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.1 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.81s-5.7.083-8.4 1.11c-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.1 18.1 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.3s9.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-82"/></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">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.1 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.3M135.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.5m282.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.9z"/></svg>
Dimitrios Giannopoulos
committed
</a>
<a href="https://twitter.com/OpensliceOSS" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.1 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.9zm-24.8 373.8h39.1L151.1 88h-42z"/></svg>
Dimitrios Giannopoulos
committed
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<div class="md-progress" data-md-component="progress" role="progressbar"></div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.instant", "navigation.instant.progress", "navigation.top", "navigation.footer", "navigation.path", "search", "search.highlight", "content.code.copy"], "search": "assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
Dimitrios Giannopoulos
committed
<script src="assets/javascripts/bundle.88dd0f4e.min.js"></script>
Dimitrios Giannopoulos
committed
</body>
</html>