@Override public void start(Future<Void> startPromise) throws Exception { SchemaApi schemaApi = KubeSchemaApi.create(client, client.getNamespace(), true); CachingSchemaProvider schemaProvider = new CachingSchemaProvider(); schemaApi.watchSchema(schemaProvider, options.getResyncInterval()); ensureRouteExists(client, options); ensureCredentialsExist(client, options); AddressSpaceApi addressSpaceApi = new ConfigMapAddressSpaceApi(client); AuthApi authApi = new KubeAuthApi(client, client.getConfiguration().getOauthToken()); UserApi userApi = createUserApi(options); ConsoleProxy consoleProxy = addressSpace -> { Route route = client.routes().withName(options.getConsoleProxyRouteName()).get(); if (route == null) { return null; } return String.format("https://%s/console/%s", route.getSpec().getHost(), addressSpace.getMetadata().getName()); }; vertx.deployVerticle(new HTTPServer(addressSpaceApi, schemaProvider, authApi, options.getCertDir(), options.getEnableRbac(), userApi, options.getListenPort(), consoleProxy), result -> { if (result.succeeded()) { log.info("EnMasse Service Broker started"); startPromise.complete(); } else { startPromise.fail(result.cause()); } }); }
SchemaApi schemaApi = KubeSchemaApi.create(client, client.getNamespace(), isOpenShift); CachingSchemaProvider schemaProvider = new CachingSchemaProvider(); schemaApi.watchSchema(schemaProvider, options.getResyncInterval());
public void start() throws Exception { SchemaApi schemaApi = KubeSchemaApi.create(openShiftClient, openShiftClient.getNamespace(), isOpenShift(openShiftClient)); CachingSchemaProvider schemaProvider = new CachingSchemaProvider(); schemaApi.watchSchema(schemaProvider, options.getResyncInterval()); Kubernetes kubernetes = new KubernetesHelper(openShiftClient, options.getTemplateDir(), options.getInfraUuid()); BrokerSetGenerator clusterGenerator = new TemplateBrokerSetGenerator(kubernetes, options); EventLogger eventLogger = options.isEnableEventLogger() ? new KubeEventLogger(openShiftClient, openShiftClient.getNamespace(), Clock.systemUTC(), "standard-controller") : new LogEventLogger(); Metrics metrics = new Metrics(); Vertx vertx = Vertx.vertx(); BrokerClientFactory brokerClientFactory = new MutualTlsBrokerClientFactory(vertx, options.getCertDir()); addressController = new AddressController( options, new ConfigMapAddressApi(openShiftClient, options.getInfraUuid()), kubernetes, clusterGenerator, eventLogger, schemaProvider, vertx, metrics, new RandomBrokerIdGenerator(), brokerClientFactory); log.info("Starting standard controller for " + options.getAddressSpace()); addressController.start(); httpServer = new HTTPServer( 8889, metrics); httpServer.start(); }