@Override public void handleStart(Operation post) { // we depend on another service, start, when it starts getHost().registerForServiceAvailability((o, e) -> { if (e != null) { post.fail(e); } else { post.complete(); } }, RegistryConfigCertificateDistributionService.SELF_LINK); }
if (hostState.documentSelfLink == null || !hostState.documentSelfLink.startsWith(RegistryFactoryService.SELF_LINK)) { URI uri = UriUtils.buildUri(getHost(), RegistryFactoryService.SELF_LINK); store = OperationUtil.createForcedPost(uri); } else { URI uri = UriUtils.buildUri(getHost(), hostState.documentSelfLink); store = Operation.createPut(uri);
private void distributeCertificate(RegistryState registry, Operation parentOp) { parentOp.complete(); logInfo("Distributing certificate for %s. Fetching registry certificate", registry.address); RegistryService.fetchRegistryCertificate(registry, (certificate) -> { RegistryConfigCertificateDistributionState distributionState = new RegistryConfigCertificateDistributionState(); distributionState.registryAddress = registry.address; distributionState.tenantLinks = registry.tenantLinks; distributionState.certState = new SslTrustCertificateState(); distributionState.certState.certificate = certificate; logInfo("Distributing certificate for %s. Fetched registry certificate.", registry.address); sendRequest(Operation.createPost(this, RegistryConfigCertificateDistributionService.SELF_LINK) .setContextId(parentOp.getContextId()) .setBody(distributionState)); }, getHost()); }