Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2
APACHE-2.0 License
Bot releases are hidden (Show)
meta
repository. #624This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
WatchContentServiceV1
. #602This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
Watcher
. #587 #589
CentralDogma client =
new ArmeriaCentralDogmaBuilder()
.blockingTaskExecutor(blockingExecutor) // 1)
...
.build();
client.fileWatcher(
"foo", "bar", Query.ofJson("/baz.json"),
content -> { /* perform a long running task */ }, blockingExecutor); // 2)
500 Internal Server Error
response when a text Change
is created with a JSON file. #579 #583
400 Bad Request
response for the invalid input.CentralDogmaClientFactoryConfigurator
to configure the ClientFactory
for ArmeriaCentralDogma
client. #578
@Bean
CentralDogmaClientFactoryConfigurator configurator() {
return builder -> builder.connectTimeoutMillis(3000);
}
ZooKeeperCommandExecutor
is now timed out if it fails to acquire the lock within the given time. #571
IllegalStateException
that is raised when pushing the wrong context. #573@ForCentralDomga
is now gone. Use CentralDogmaClientFactoryConfigurator
to configure the ClientFactory
. #578"repositoryGarbageCollection": {
"minNumNewCommits": 1000,
"schedule": "0 0 * * * ?"
}
Adding missing repository metadata
logs for the same repository. #567Command.push()
now returns CommitResult
instead of Revision
when it's executed. #568EndpointSelectionStrategy
when using CentralDogmaEndpointGroup
. #553
CentralDogmaEndpointGroup.builder(watcher, EndpointListDecoder.JSON)
.selectionStrategy(EndpointSelectionStrategy.rampingUp())
.build()
DnsAddressEndpointGroup
in ArmeriaCentralDogmaBuilder
. #548
new ArmeriaCentralDogmaBuilder()
.dnsAddressEndpointGroupConfigurator(builder -> {
builder.queryTimeout(Duration.ofSeconds(10));
});
// conf/dogma.json
"writeQuotaPerRepository": {
"requestQuota" : 5,
"timeWindowSeconds": 1
}
appToken-
. #549mergeFiles
API does not modify the content of the merge sources anymore. #554This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
String
#511