ES | EN
En versiones anteriores a la 2.3.0 esta funcionalidad está disponible en el menú Administración > Gestión de Configuraciones y sólo está disponible para roles Administradores.
Onesait Platform posee una Configuración de Sistema Centralizada para diversos propósitos. Usuarios con rol Administrador pueden definir de manera visual configuraciones para sus necesidades, incluyendo Despliegues (configuraciones Rancher & OpenShift), redes sociales (Twitter), programación de procesos, registros Endpint, etc.
Mediante es módulo, los usuarios pueden definir de forma sencilla las distintas configuraciones; plataforma, usa YAML o JSON como base.
Panel de Control UI
Para crear y modificar las Configuraciones, el usuario puede dirigirse al menú DEV TOOLS > Gestión de Configuraciones.
Como se puede ver en la tabla la Configuración está relacionada con un entorno (típicamente default o docker), un Identificador y un tipo:
En versiones anteriores a la 2.3.0 el campo identification no existe, en su lugar estará el campo suffix
Al crear una nueva Configuración el usuario tiene que rellenar el siguiente formulario:
Hay que tener en cuenta que para usuarios no administradores (a partir de la versión 2.3.0 de Plataforma) sólo se podrán crear configuraciones del tipo EXTERNAL_CONFIG.
Por ejemplo, se puede modificar la Configuración para los servicios endpoints, los cuales se procesan cuando la plataforma se lanza:
API REST
Además, se pueden realizar operaciones a través de una API REST existente, cuyos endpoints comienzan con '/controlpanel/api/configurations'.
Nota: estas Configuraciones emplean Yaml, la respuesta de estos servicios REST es visualmente poco amigable.
Uso del cliente Java para la gestión de configuración
Los clientes Java ofrecen una clase de Configuración Wrapper.
Configuración de la Dependencia
Para usar este API es necesario añadir el siguiente repositorio al proyecto pom.xml.
<repositories> <repository> <id>onesait platform releases</id> <url>https://nexus.onesaitplatform.com/nexus/content/repositories/releases/</url> </repository> </repositories>
Después de esto hay que añadir la dependencia:
<dependency> <groupId>com.minsait.onesait.platform</groupId> <artifactId>onesaitplatform-java-client</artifactId> <version>2.1.0-RELEASE</version> </dependency>
Inicialización
El primer caso es crear un objeto ConfigurationManager, para poder utilizar el cliente debes introducir como argumentos el usuario, la contraseña y el servidor URL:
private static ConfigurationManager manager; @PostConstruct public void init() throws ConfigurationManagerException, IOException { manager = new ConfigurationManager("developer", "changeIt2020!", "https://hyperblast.onesaitplatform.com"); }
Una vez inicializado el objeto, ya se puede usar para operar con las Configuraciones de Plataforma.
Crear una Configuración
Para crear una configuración es necesario crear antes un Objeto de tipo Configuration:
Configuration configuration = Configuration.builder().description("Testing config sample") .environment("default").identification("testconfiguration").type(ConfigurationType.EXTERNAL_CONFIG).yml(YML_SAMPLE) .build();
Una vez que la configuración se haya creado hay que hacer una llamada al ClientManager, al método createConfiguration:
String id = manager.createConfiguration(configuration);
Este método, si tiene éxito, devolverá el id de la configuración que se acaba de crear. Con este identificador se puede recuperar la configuración en un futuro, eliminarla o actualizarla.
Obtener una configuración
Hay dos métodos para recuperar una configuración:
getConfigurationById(id)
Este método permite recuperar una configuración a través de su id.
getConfiguration(identification, type, environment)
En caso de no conocer la id se puede obtener la configuración mediante los parámetros en el argumento. En el caso de existir, estos métodos devuelven una instancia de la Configuración.
Obtener todas las Configuraciones
Es posible obtener una lista de Configuraciones según el usuario logado, llamando al método getConfigurations:
List<Configuration> configurations = manager.getConfigurations()
Editar una Configuración
Para editar una configuración es necesario conocer su id.
La mejor manera de editar dicha configuración es recuperándola, aplicar los cambios y finalmente llamar al método updateConfiguration:
Configuration retrievedConfig = manager.getConfiguration(IDENTIFICATION, ConfigurationType.EXTERNAL_CONFIG, ENVIRONMENT); log.info("Retrieved config from the platform by parameters"); retrievedConfig.setDescription("This is a new description"); log.info("Updating configuration with new description and identification {}", IDENTIFICATION); manager.updateConfiguration(configuration, retrievedConfig.getId());
Borrar una Configuración
Para eliminar una configuración hay que llamar al método deleteConfiguration pasando el id de la configuración.
log.info("Retrieved config from the platform by id"); Configuration retrievedConfig = manager.getConfiguration(IDENTIFICATION, ConfigurationType.EXTERNAL_CONFIG, ENVIRONMENT); log.info("Retrieved config from the platform by parameters"); log.info("Deleting configuration with id {}", retrievedConfig .getId()); manager.deleteConfiguration(IDENTIFICATION, ConfigurationType.EXTERNAL_CONFIG, ENVIRONMENT);
Test
Hay un test dentro de la librería que sirve como ejemplo. Prueba las operaciones básicas descritas en este tutorial. En caso de tener dudas, puedes consultar el código aquí: