diff --git a/pom.xml b/pom.xml
index a1e190f3852b6d7adc9c1a973c1b223ea7ce9cb2..69437b571355ba6a6db39f8278f795eef3da2360 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,9 +20,23 @@
 
         <org.mapstruct.version>1.3.1.Final</org.mapstruct.version>
         <swagger.version>2.9.2</swagger.version>
+        <proprietary-repo-id>gitlab-maven</proprietary-repo-id>
     </properties>
 
+    <repositories>
+        <repository>
+            <id>${proprietary-repo-id}</id>
+            <url>${proprietary-repo-url}</url>
+        </repository>
+    </repositories>
+
+
     <dependencies>
+        <dependency>
+            <groupId>cz.muni.ics.kypo</groupId>
+            <artifactId>kypo2-security-commons</artifactId>
+            <version>1.0.39</version>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-jpa</artifactId>
diff --git a/spring.log b/spring.log
new file mode 100644
index 0000000000000000000000000000000000000000..1dd8a1d11ebd5bfcab519cae1013fcf8bae629e2
--- /dev/null
+++ b/spring.log
@@ -0,0 +1,40 @@
+2021-02-12 13:05:36.973  INFO 4257 --- [main] c.m.i.k.t.adaptive.DemoApplication       : No active profile set, falling back to default profiles: default
+2021-02-12 13:05:37.626  INFO 4257 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2021-02-12 13:05:37.669  INFO 4257 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 39ms. Found 7 JPA repository interfaces.
+2021-02-12 13:05:37.801  INFO 4257 --- [main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=6c1b5445-77ee-3c51-b780-4ef4380485ec
+2021-02-12 13:05:37.885  INFO 4257 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-02-12 13:05:38.034  INFO 4257 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8082 (http)
+2021-02-12 13:05:38.038  INFO 4257 --- [main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
+2021-02-12 13:05:38.038  INFO 4257 --- [main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.30]
+2021-02-12 13:05:38.104  INFO 4257 --- [main] c.C.[.[.[/kypo-adaptive-training/api/v1] : Initializing Spring embedded WebApplicationContext
+2021-02-12 13:05:38.104  INFO 4257 --- [main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1117 ms
+2021-02-12 13:05:38.382  INFO 4257 --- [main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
+2021-02-12 13:05:38.435  INFO 4257 --- [main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
+2021-02-12 13:05:38.480  INFO 4257 --- [main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
+2021-02-12 13:05:38.511  INFO 4257 --- [main] org.hibernate.Version                    : HHH000412: Hibernate Core {5.4.10.Final}
+2021-02-12 13:05:38.565  INFO 4257 --- [main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
+2021-02-12 13:05:38.616  INFO 4257 --- [main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
+2021-02-12 13:05:39.044  INFO 4257 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2021-02-12 13:05:39.047  INFO 4257 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
+2021-02-12 13:05:39.480  WARN 4257 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2021-02-12 13:05:39.556  INFO 4257 --- [main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 2 endpoint(s) beneath base path '/actuator'
+2021-02-12 13:05:39.595  INFO 4257 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
+2021-02-12 13:05:39.716  INFO 4257 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
+2021-02-12 13:05:39.906  INFO 4257 --- [main] .s.s.UserDetailsServiceAutoConfiguration : 
+
+Using generated security password: 9ab1ae38-74a8-40a5-8c71-ad2b4bfa87f4
+
+2021-02-12 13:05:39.950  INFO 4257 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@352288bc, org.springframework.security.web.context.SecurityContextPersistenceFilter@4ce9985f, org.springframework.security.web.header.HeaderWriterFilter@6ae1d5f1, org.springframework.security.web.csrf.CsrfFilter@65145fb7, org.springframework.security.web.authentication.logout.LogoutFilter@5016934, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@502f6f6a, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@44aaa987, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@33acec5e, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@57573880, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@56d4481f, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6f13ed1, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6edd8d56, org.springframework.security.web.session.SessionManagementFilter@460a4935, org.springframework.security.web.access.ExceptionTranslationFilter@4f3a8e3e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@e38b953]
+2021-02-12 13:05:40.030  WARN 4257 --- [main] s.o.SpringCloudSecurityAutoConfiguration : All Spring Cloud Security modules and starters are deprecated. They will be moved to individual projects in the next major release.
+2021-02-12 13:05:40.067  INFO 4257 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
+2021-02-12 13:05:40.076  INFO 4257 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
+2021-02-12 13:05:40.100  INFO 4257 --- [main] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references
+2021-02-12 13:05:40.170  INFO 4257 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: handleUsingGET_1
+2021-02-12 13:05:40.171  INFO 4257 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: handleUsingGET_2
+2021-02-12 13:05:40.192  INFO 4257 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getPhase_1
+2021-02-12 13:05:40.260  INFO 4257 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8082 (http) with context path '/kypo-adaptive-training/api/v1'
+2021-02-12 13:05:40.376  INFO 4257 --- [main] c.m.i.k.t.adaptive.DemoApplication       : Started DemoApplication in 3.991 seconds (JVM running for 4.401)
+2021-02-12 13:05:40.570 DEBUG 4257 --- [main] c.m.i.k.commons.startup.StartUpRunner    : Microservice with roles has been registered.
+2021-02-12 13:05:40.783  INFO 4257 --- [RMI TCP Connection(3)-127.0.0.1] c.C.[.[.[/kypo-adaptive-training/api/v1] : Initializing Spring DispatcherServlet 'dispatcherServlet'
+2021-02-12 13:05:40.784  INFO 4257 --- [RMI TCP Connection(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
+2021-02-12 13:05:40.791  INFO 4257 --- [RMI TCP Connection(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 7 ms
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/DemoApplication.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/DemoApplication.java
index f27e2306569feea5da18832de5bbc9f883e62d67..300930d3d86cad2bab000936addd5df2c78775dd 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/DemoApplication.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/DemoApplication.java
@@ -1,9 +1,12 @@
 package cz.muni.ics.kypo.training.adaptive;
 
+import cz.muni.ics.kypo.commons.startup.config.MicroserviceRegistrationConfiguration;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Import;
 
 @SpringBootApplication
+@Import(value = {MicroserviceRegistrationConfiguration.class})
 public class DemoApplication {
 
     public static void main(String[] args) {
diff --git a/src/main/resources/roles.json b/src/main/resources/roles.json
new file mode 100644
index 0000000000000000000000000000000000000000..bfd2f29199d0c4a1ddaa965489ba62d967f49abb
--- /dev/null
+++ b/src/main/resources/roles.json
@@ -0,0 +1,23 @@
+[
+  {
+    "role_type": "ROLE_ADAPTIVE_TRAINING_ADMINISTRATOR",
+    "default": false,
+    "description": "This role will allow you to do any operation in KYPO adaptive training microservice."
+  },
+  {
+    "role_type": "ROLE_ADAPTIVE_TRAINING_DESIGNER",
+    "default": false,
+    "description": "This role will allow you to manage, test, import and export adaptive training definitions in KYPO adaptive training microservice."
+  },
+  {
+    "role_type": "ROLE_ADAPTIVE_TRAINING_ORGANIZER",
+    "default": false,
+    "description": "This role will allow you to prepare adaptive training instances from adaptive training definitions and manage them, restart sandbox instances and view situational awareness in KYPO adaptive training microservice."
+  },
+  {
+    "role_type": "ROLE_ADAPTIVE_TRAINING_TRAINEE",
+    "default": true,
+    "description": "This role is default and will allow you to access adaptive training run and play a game in KYPO adaptive training microservice."
+  }
+
+]