[REPO REFACTOR]: changed to a better git repository structure with branches

This commit is contained in:
2025-10-31 03:32:24 +01:00
parent ad689049d5
commit 8360c7e8e0
212 changed files with 15955 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
package net.miarma.api;
import net.miarma.api.backlib.ConfigManager;
import net.miarma.api.backlib.Constants;
import net.miarma.api.backlib.security.SecretManager;
import net.miarma.api.backlib.vertx.VertxJacksonConfig;
import net.miarma.api.backlib.util.MessageUtil;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import io.vertx.core.Launcher;
/**
* Punto de entrada para inicializar la aplicación.
* Se encarga de:
* - Crear directorios base si no existen
* - Copiar el fichero default.properties
* - Inicializar ConfigManager y secretos
* - Configurar Jackson para Vert.x
* - Desplegar el Verticle Master
*/
public class AppInitializer {
public static void main(String[] args) {
AppInitializer initializer = new AppInitializer();
initializer.init();
initializer.deployMaster();
Constants.LOGGER.info("✅ App initialized successfully!");
}
private final ConfigManager configManager;
public AppInitializer() {
this.configManager = ConfigManager.getInstance();
}
public void init() {
initializeDirectories();
copyDefaultConfig();
configManager.loadConfig();
SecretManager.getOrCreateSecret();
VertxJacksonConfig.configure();
}
private void initializeDirectories() {
File baseDir = new File(configManager.getBaseDir());
if (!baseDir.exists() && baseDir.mkdirs()) {
Constants.LOGGER.info("Created base directory: " + baseDir.getAbsolutePath());
}
}
private void copyDefaultConfig() {
File configFile = configManager.getConfigFile();
if (!configFile.exists()) {
try (InputStream in = getClass().getClassLoader().getResourceAsStream("default.properties")) {
if (in != null) {
Files.copy(in, configFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
Constants.LOGGER.info("Copied default.properties to: " + configFile.getAbsolutePath());
} else {
Constants.LOGGER.error(MessageUtil.notFound("Default config", "resources"));
}
} catch (IOException e) {
Constants.LOGGER.error(MessageUtil.failedTo("copy", "default config", e));
}
}
}
private void deployMaster() {
Launcher.executeCommand("run", MasterVerticle.class.getName());
}
}

View File

@@ -0,0 +1,66 @@
package net.miarma.api;
import java.util.Set;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Future;
import io.vertx.core.Promise;
import net.miarma.api.backlib.Constants;
import net.miarma.api.backlib.LogAccumulator;
import net.miarma.api.backlib.util.DeploymentUtil;
import net.miarma.api.microservices.core.verticles.CoreMainVerticle;
import net.miarma.api.microservices.huertos.verticles.HuertosMainVerticle;
import net.miarma.api.microservices.huertosdecine.verticles.CineMainVerticle;
import net.miarma.api.microservices.miarmacraft.verticles.MMCMainVerticle;
import net.miarma.api.microservices.mpaste.verticles.MPasteMainVerticle;
public class MasterVerticle extends AbstractVerticle {
@Override
public void start(Promise<Void> startPromise) {
deploy()
.onSuccess(v -> {
vertx.setTimer(300, id -> {
LogAccumulator.flushToLogger(Constants.LOGGER);
startPromise.complete();
});
})
.onFailure(startPromise::fail);
}
private Future<Void> deploy() {
Promise<Void> promise = Promise.promise();
Future<String> core = vertx.deployVerticle(new CoreMainVerticle())
.onSuccess(id -> LogAccumulator.add(DeploymentUtil.successMessage(CoreMainVerticle.class)))
.onFailure(err -> LogAccumulator.add(DeploymentUtil.failMessage(CoreMainVerticle.class, err)));
Future<String> huertos = vertx.deployVerticle(new HuertosMainVerticle())
.onSuccess(id -> LogAccumulator.add(DeploymentUtil.successMessage(HuertosMainVerticle.class)))
.onFailure(err -> LogAccumulator.add(DeploymentUtil.failMessage(HuertosMainVerticle.class, err)));
Future<String> mmc = vertx.deployVerticle(new MMCMainVerticle())
.onSuccess(id -> LogAccumulator.add(DeploymentUtil.successMessage(MMCMainVerticle.class)))
.onFailure(err -> LogAccumulator.add(DeploymentUtil.failMessage(MMCMainVerticle.class, err)));
Future<String> cine = vertx.deployVerticle(new CineMainVerticle())
.onSuccess(id -> LogAccumulator.add(DeploymentUtil.successMessage(CineMainVerticle.class)))
.onFailure(err -> LogAccumulator.add(DeploymentUtil.failMessage(CineMainVerticle.class, err)));
Future<String> mpaste = vertx.deployVerticle(new MPasteMainVerticle())
.onSuccess(id -> LogAccumulator.add(DeploymentUtil.successMessage(MPasteMainVerticle.class)))
.onFailure(err -> LogAccumulator.add(DeploymentUtil.failMessage(MPasteMainVerticle.class, err)));
Future.all(core, huertos, mmc, cine, mpaste)
.onSuccess(_ -> promise.complete())
.onFailure(promise::fail);
return promise.future();
}
@Override
public void stop(Promise<Void> stopPromise) {
vertx.deploymentIDs().forEach(id -> vertx.undeploy(id));
stopPromise.complete();
}
}