From 689d1773d3d22b8d00a9c75f53ee9fdf020b12ff Mon Sep 17 00:00:00 2001
From: Alex ubuntu vm <alexdecb@yahoo.es>
Date: Wed, 14 Feb 2024 15:37:44 +0100
Subject: [PATCH] documentation: improved inter-clsuter scenario

---
 additional-info/inter-cluster.md | 47 ++++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 3 deletions(-)

diff --git a/additional-info/inter-cluster.md b/additional-info/inter-cluster.md
index 159a79b..31e8560 100644
--- a/additional-info/inter-cluster.md
+++ b/additional-info/inter-cluster.md
@@ -14,12 +14,24 @@ spec:
       "type": "l2sm",
       "device": "l2sm-vNet",
       "kind": {
-        "inter": {
+        "ext-vnet": {
           "provider": {
             "name": "<idco-name>",
             "domain": "<domain-name>"
           },
-          "accessList": ["<public-key-1>","<public-key-2>",...,"<public-key-N>"] 
+          "accessList": [ # no tiene porq ser así. Dejar en abierto.
+            # {
+            #   "user": "<username-1>",
+            #   "public-key": "<public-key-1>"
+            # },
+            # {
+            #   "user": "<username-2>",
+            #   "public-key": "<public-key-2>"
+            # },
+            # {
+            #   "user": "<username-3>",
+            #   "public-key": "<public-key-3>"
+            # } 
           ]
         }
       }
@@ -32,7 +44,11 @@ Se crea esta red en cada clúster usando el L2S-M k8s Client. Es necesario para
 
 Se crea un network con el mismo nombre dentro del host. Operador avisa al idco de que se ha conectado a la interfaz, se dice cual es el veth empleado. El idco anota, pero no añade aún.
 
-Se crea un secret dentro del cluster con la firma de la public key. 
+
+Se crea una firma (en local, se puede dar un script en conjunto para hacer que esto se haga en una línea de comandos)) en forma secret dentro del cluster con la private key, se pone dentro como anotacion en el pod, en conjunto con el nombre del usuario. el operador puede leerla.
+
+En esta key hay un timestamp, el nombre de la red, identificador del usuario.
+
 
 ```yaml
 apiVersion: v1
@@ -63,7 +79,32 @@ spec:
       secretName: sample-one-authorization-key
 ```
 
+Se avisa al operador, y este avisa a ambos controladores, siendo estos los que se encargan de comprobar la firma. -> Y ver si hay autorización
+
+Si no es autorizado, el intent del NED no se crea en el controlador, si es autorizado, se hace intent desde NED, la interfaz veth que corresponda con la que el operador solicita.
+
+
+
+Que habría que implementar-> 
+IDCO:
+  Doy por hecho que el idco funciona. 
+  Base de datos con: public keys asociados a users. permisos asociados a users. Usar plataforma externa o internamente se define en el controller? Hacer un portal de autorizaciones externo a ONOS?
+
+L2SM-Switch: 
+  interfaces veth adicionales que conecten a los NED
+
+NED: 
+  como l2sm switch, pero que pueden tener varios controladores. con hostNetwork, van generando interfaces en el host para conecarse con L2S-M switch. un cable por pod o un cable por red?
+
+L2S-M Operator:
+  Cuando encienda que sepa si está en modo inter o no por un argumento.
+  Según lo descrito:
+    evento cuando se crea red inter
+    evento cuando se añade pod 
+
 
+L2S-M Client:
+  A través de este se crean los networks. Con docker por ejemplo? o programa instalado por línea de comandos?
 
 
 Si alguien quiere unirse a la red, attachea al pod, utilizando 
-- 
GitLab