ES | EN
Table of Contents |
---|
Info |
---|
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. |
...
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.
...
Nota: estas Configuraciones emplean Yaml, la respuesta de estos servicios REST es visualmente poco amigable.
Cómo configurar tu aplicación para utilizar la configuración centralizada
Note |
---|
Sólo para versiones a partir de la 5.0.0 (RECOMENDADO) |
En primer lugar tendrás que añadir al pom.xml del proyecto que va a actuar como Config Server la siguiente dependencia.
Code Block |
---|
<dependency>
<groupId>com.minsait.onesait.platform</groupId>
<artifactId>onesaitplatform-spring-config-client</artifactId>
<version>5.0.0</version>
</dependency> |
Y tendrás que añadir el repositorio de Plataforma al listado de repositorios dentro del pom:
Code Block |
---|
<repositories>
<repository>
<id>onesait platform releases</id>
<url>https://nexus.onesaitplatform.com/nexus/content/repositories/releases/</url>
</repository>
</repositories> |
Una vez añadida la dependencia tendrás que añadir las siguientes propiedades a tu application.yml
Code Block |
---|
onesaitplatform:
api.rest:
token: <ONESAITPLATFORM_API_KEY>
endpoint: <ONESAITPLATFORM_BASE_URL>
spring.cloud.config:
enabled: false |
Donde:
ONESAITPLATFORM_API_KEY es el API Key de un usuario con rol administrador de la Plataforma. Esta key se utilizará para gestionar la seguridad a nivel de Pltaforma para poder obtener la configuración centralizada.
ONESAITPLATFORM_BASE_URL es el endpoint del controlpanel de la Plataforma donde se encuentra la configuración centralizada que queremos utilizar.
Una vez configurado el proyecto, basta con inyectar el Bean ConfigurationManager y acceder a los métodos disponibles:
Code Block | ||
---|---|---|
| ||
@Autowired
ConfigurationManager configManager; |
Crear configuración
Code Block | ||
---|---|---|
| ||
configManager.createConfiguration(configuration) |
Dónde el objeto configuration está conpuesto por los siguientes campos:
Code Block | ||
---|---|---|
| ||
private String id;
private String username;
@NonNull
private ConfigurationType type;
@NonNull
private String description;
@NonNull
private String identification;
@NonNull
private String environment;
private String yml; |
Obtener configuración
Hay múltiples métodos para obtener una configuración dependiendo de los parámetros de los que se disponga:
Code Block | ||
---|---|---|
| ||
# Obtener configuración a través del identificador, entorno y tipo
Configuration config = configManager.getConfiguration(identification, environament, type)
# Obtener configuración por ID
Configuration config = configManager.getConfigurationById(id)
# Obtener configuración por identificador
Configuration config = configManager.getConfigurationByIdentification(identification)
# Obtener todas las configuraciones del usuario
List<Configuration> configList = configManager.getConfigurations() |
Actualizar configuración
Code Block | ||
---|---|---|
| ||
configManager.updateConfiguration(configuration); |
Borrar configuración
Code Block | ||
---|---|---|
| ||
# Borrar configuración por identificador, entorno y tipo
configManager.deleteConfiguration(identification, environment, type);
# Borrar configuración por ID
configManager.deleteConfigurationById(id); |
Uso del cliente Java para la gestión de configuración
Note |
---|
Seguir este apartado solo para versiones inferiores a la 3.3.2 del cliente Java. Se recomienda utilizar la versión 5.0.0 (explicado en el apartado anterior) |
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.
...
Code Block | ||
---|---|---|
| ||
<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:
...
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:
...
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:
...
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:
Code Block | ||
---|---|---|
| ||
List<Configuration> configurations = manager.getConfigurations() |
Editar una Configuración
Para editar una configuración es necesario conocer su id.
...
Code Block | ||
---|---|---|
| ||
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.
Code Block |
---|
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í:
...