centraldogma

Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2

APACHE-2.0 License

Stars
575

Bot releases are hidden (Show)

centraldogma -

Published by minwoox over 5 years ago

Bug fixes

  • Server
    • All repositories now have metadata. #410
  • Client
    • A client does not get RequestAlreadyTimedOutException anymore. #408

Dependencies

  • Armeria 0.87.0 -> 0.88.0
  • Micrometer 1.1.4 -> 1.2.0
  • Hibernate Validator 6.0.16 -> 6.0.17
  • jGit 5.3.2.201906051522-r -> 5.4.0.201906121030-r
  • Spring Boot 2.1.5 -> 2.1.6
centraldogma -

Published by trustin over 5 years ago

New features

  • Server
    • You can now enable PROXY protocol. #404
    • When logging, the actual client address can now be retrieved from HTTP headers, such as Forwarded and X-Forwarded-For. #404
      • See trustedProxyAddresses and clientAddressSources in 'Configurations' for more information.

Bug fixes

  • Server
    • Central Dogma server now sends a 400 Bad Request response when it received an invalid SAML request. It sent 500 Internal Server Error previously. #379 #406

Dependencies

  • Armeria 0.86.0 -> 0.87.0
  • Guava 27.1 -> 28.0
  • jGit 5.3.1 -> 5.3.2
  • ZooKeeper 3.5.4-beta -> 3.5.5
centraldogma -

Published by hyangtack over 5 years ago

Dependencies

  • Armeria 0.85.0 -> 0.86.0
  • Jackson 2.9.8 -> 2.9.9
  • Spring Boot 2.1.4-> 2.1.5, 1.5.20 -> 1.5.21
centraldogma -

Published by minwoox over 5 years ago

Dependencies

  • Armeria 0.84.0 -> 0.85.0
centraldogma -

Published by trustin over 5 years ago

New features

  • Client
    • You do not need to specify timeout parameter when calling CentralDogma.watchFile() or watchRepository() anymore. #391
    • You can now specify a default value with Watcher.awaitInitialValue(), so that you do not get an exception when a Central Dogma server is unavailable. #391
  • Server
    • You can now monitor a Central Dogma server using Prometheus. Scrape the metrics at /monitor/metrics. #389
    • You can now run a custom task when a Central Dogma server starts or stops using the plugins API. #353 #381
      • Internally, the Git-to-CD mirroring has been converted to a plugin.

Bug fixes

  • Client
    • ArmeriaCentralDogma now handles 204 No Content responses for some operations correctly. #394
    • ArmeriaClientConfigurator is now applied in correct order. #396
    • The watch timeout of CentralDogmaEndpointGroup has been increased to 20 seconds. It has too short timeout before. #383
    • CentralDogmaEndpointGroup does not wait for the initial endpoints anymore, to be consistent with other EndpointGroup implementations. #383
      • Use awaitInitialEndpoints() if you need to wait for the initial endpoints.
  • Server
    • GitRepository.compareTrees() operation is now cached properly. #382
    • The shutdown script now ends after the server is terminated completely. #386

Breaking changes

  • Client
    • CentralDogmaEndpointGroup does not wait for the initial endpoints anymore, to be consistent with other EndpointGroup implementations. #383
  • Server
    • CentralDogma.cacheStats() has been removed.

Dependencies

  • Armeria 0.83.0 -> 0.84.0
  • Spring Boot 2.1.3 -> 2.1.4, 1.5.19 -> 1.5.20
  • Javassist 3.24.1 -> 3.25.0
centraldogma -

Published by trustin over 5 years ago

New features

  • Server
    • HTTP API responses that contain an entry now include revision property. #310 #378
    • You can specify fsync.warningthresholdms ZooKeeper property to the additionalProperties section when using ZOOKEEPER replication mode. #366 #377

Performance

  • Server
    • The initial comparison of two Git trees, which is performed on wathFile() and watchRepository() operation, is now faster thanks to the various optimizations such as caching. #371 #372 #374 #375
    • A client request which has timed out already will be cancelled so that the server recovers faster from thundering herds. #373

Bug fixes

  • Server
    • Authentication failure response is now a proper JSON. #367
    • data/last_revision file is now updated on every change, reducing the chance of data integrity issues. #369

Dependencies

  • Armeria 0.82.0 -> 0.83.0
centraldogma -

Published by trustin over 5 years ago

New features

  • Client
    • You can now specify an access token when building a Thrift Java client using LegacyCentralDogmaBuilder.
      CentralDogma dogma = new LegacyCentralDogmaBuilder()
          .host("dogma.example.com")
          .accessToken("appToken-********")
          .build();
      

Bug fixes

  • Client
    • Spring Boot integration no longer ignores the centraldogma.access-token property.
  • Server
    • The server no longer rejects a commit without a conflict when the commit's base revision is -1. Previously, you sometimes got a 409 Conflict error.

Dependencies

  • Armeria 0.81.0 -> 0.82.0
  • jGit 5.2.1 -> 5.3.0
  • No longer depends on JNR
centraldogma -

Published by trustin over 5 years ago

New features

  • Client
    • Added a new Java client implementation that uses HTTP instead of Thrift. #350
      • See Specifying an access token for more information.
      • Use ArmeriaCentralDogmaBuilder instead of LegacyCentralDogmaBuilder.
      • Note that you must specify an access token if your server has authentication/authorization enabled.
        import com.linecorp.centraldogma.client.CentralDogma;
        import com.linecorp.centraldogma.client.armeria.ArmeriaCentralDogmaBuilder;
        
        final CentralDogma dogma = new ArmeriaCentralDogmaBuilder()
                .host("replica1.example.com")
                .host("replica2.example.com")
                .accessToken("appToken-cffed349-d573-457f-8f74-4727ad9341ce")
                .build();
        
    • Spring Boot integration now uses the new HTTP-based client and has its own configuration section in application.yml. #356
      • See Spring Boot integration for more information.
        centraldogma:
          hosts:
          - replica1.example.com
          - replica2.example.com
          access-token: appToken-cffed349-d573-457f-8f74-4727ad9341ce
        
  • Server
    • Added a new configuration property webAppTitle which will be shown in the header section of the web UI. You might find this useful when you want to show certain information such as DEV or PROD. #349 #352
    • Implemented the preview-diff operation in the HTTP API. This is the first release where the HTTP API has the same level of operations as in the Thrift API. #120 #350
    • Docker image is now based on OpenJDK 11. #348

Bug fixes

  • Server
    • Fixed an Unexpected exception during authorization error which occurs when a user sends an invalid or unexpected authorization header. #346

Deprecations

  • Client
    • LegacyCentralDogmaBuilder has been deprecated in favor of ArmeriaCentralDogmaBuilder. #350

Breaking changes

  • Client
    • Spring Boot integration will require an access token if your Central Server has authentication enabled. #350

Dependencies

  • Removed the dependency to commons-daemon which prevented us from upgrading from Java 8 to 11. #348
  • Armeria 0.80.0 -> 0.81.0
  • Caffeine 2.6.2 -> 2.7.0
  • Curator 4.0.1 -> 4.2.0
  • Guava 27.0.1 -> 27.1
centraldogma -

Published by trustin over 5 years ago

Dependencies

  • Armeria 0.79.0 -> 0.80.0
  • Hibernate Validator 6.0.14 -> 6.0.15
  • SLF4J 1.7.25 -> 1.7.26
  • Spring Boot 2.1.2 -> 2.1.3, 1.5.18 -> 1.5.19
centraldogma -

Published by minwoox over 5 years ago

Dependencies

  • Armeria 0.78.1 -> 0.79.0
  • hibernate-validator 6.0.13.Final -> 6.0.14.Final
  • jackson-datatype-jsr310 2.9.7 -> 2.9.8
  • Spring Boot 2.1.1.RELEASE -> 2.1.2.RELEASE
centraldogma -

Published by minwoox almost 6 years ago

New features

  • Added an API which can get a merged JSON file. #293
  • Client-side health check interval is now configurable. #335

Improvements

  • Redirected to the first requested URL after SAML SSO is performed. #328
  • Logged when HTTP API returns 500 Internal Server Error. #330
  • ZooKeeper has now only 3 snapshots to reduce disk usage. #332

Bug fixes

  • Fixed a bug where watch timeout is not reset when it is greater than the request timeout. #325
  • Fixed a bug where a JSON file is not updated when the property name contains ~ and /. #338
  • Fixed a bug where IndexOutOfBoundsException is raised when watching. #334

Breaking change

  • Removed all fields other than revision and entry from WatchResultDto.

Dependencies

  • Armeria 0.76.2 -> 0.78.1
  • Jackson 2.9.7 -> 2.9.8
  • Javassist 3.24.0 -> 3.24.1
  • Spring Boot 2.1.0 -> 2.1.1, 1.5.17 -> 1.5.18
centraldogma -

Published by trustin almost 6 years ago

New features

  • Server

Bug fixes

  • Server
    • Added the path to Central Dogma bin directory to PATH environment variable in the docker image. #307
    • Fixed a bug where replica serverId autodetection fails when more than one NIC have the same IP address. #316

Breaking changes

  • From this release on, we distribute shaded JARs only. If you were using shaded JARs, you have to remove the -shaded suffix from all Central Dogma artifact IDs. You should not see any differences besides that because all Central Dogma artifacts are now distributed as shaded JARs by default.
  • Since we removed unnecessary dependencies from centraldogma-bom, your build might fail to resolve some of your dependencies if you relied on centraldogma-bom for the version numbers of non-Central Dogma dependencies.
  • Server

Dependencies

  • Armeria 0.75.0 -> 0.76.2
  • JSch 0.1.54 -> 0.1.55
  • JCommander is not an optional dependency. #306 #317
centraldogma -

Published by minwoox almost 6 years ago

Dependencies

  • Downgraded JCommander from 1.74 to 1.72 because it turned out to be unavailable in Maven Central.
centraldogma -

Published by minwoox almost 6 years ago

New features

  • Embedded ZooKeeper for replicated setup so that an administrator does not have to set up a ZooKeeper cluster just for Central Dogma anymore. #278
  • Replicating is now possible even when in read-only mode #285
  • A user is able to add custom profiles on top of the official centraldogma-profiles.json profiles. #296

Bug fix

  • Fixed frontend-side route conflicts so that a user can create and access whose name is new, files, projects, etc from the web UI. #272

Improvement

  • Go client has a standard Go layout now. #284

Breaking changes

  • replicaId is not auto-generated. #278
  • Changed the type of replicaId from String to int. This is for using the replicaId as serverId in ZooKeeper. #278
  • Go client has a new import path: go.linecorp.com/centraldogma
  • Go client now has its own repository: https://github.com/line/centraldogma-go #284

Dependencies

  • Armeria 0.69.0 -> 0.75.0
  • jGit 5.0.2 -> 5.1.1
  • Go 1.11.1 -> 1.11.2
  • Spring Boot 1.5.14 -> 1.5.16
centraldogma -

Published by hyangtack about 6 years ago

Dependencies

  • Armeria 0.68.1 -> 0.69.0
  • jGit 5.0.1 -> 5.0.2
centraldogma -

Published by trustin about 6 years ago

Dependencies

  • Armeria 0.67.2 -> 0.68.1
centraldogma -

Published by minwoox over 6 years ago

New feature

  • Added ID field to credentials so that a user can specify different credentials for different repositories in the same host. #257

Improvements

  • Log messages related with replication failures are more detailed. #255
  • Java 10 is used by default for releasing. #256
    • Runtime dependency is still Java 8.

Dependencies

  • Armeria 0.67.1 -> 0.67.2
centraldogma -

Published by minwoox over 6 years ago

Documentation

  • Add introductory slides to the front page #252

Bug fixes

  • Use HttpApiExceptionHandler for v0 RepositoryService #250
  • Ignore non-file objects such as a submodule while mirroring a Git repository #251

Dependencies

  • Armeria 0.66.0 -> 0.67.1
  • jGit 4.11.0 -> 5.0.1
centraldogma -

Published by trustin over 6 years ago

Improvements

  • Server
    • HTTP API responses now have the following format:

      {
        "exception": "<fully qualified class name of the exception> (optional)",
        "message": "<human-readable error message>"
      }
      

Bug fixes

  • Client: Golang
    • Fixed a bug where Go client does not provide an error message. #246
  • Server
    • JSON paths were not evaluated when watching a file using the HTTP API. #240
    • Jumping to a revision in web UI's file list view did not work. #243
    • A user or a mirroring service was able to see a partially created project, which can cause unexpected exceptions. #245 #247
      • Due to this fix, it is impossible to run pre-0.28.0 replicas and 0.28.0 replicas in the same cluster. Enter read-only mode or shut down your cluster completely before upgrading.

Breaking changes

  • Client: Java
    • CentralDogma.push() now returns PushResult instead of Commit. #241 #242
    • CentralDogma.getHistory() now returns List<Commit> instead of List<CommitAndChanges>. #241 #242
  • Client: Go
    • Commit struct does not have entries anymore. #244
      • Added WatchResult.entry instead
    • Client.Push() now returns PushResult instead of Commit. #244
  • Server
    • Reduced the amount of information for some HTTP API responses. #241 #242
      • When pushing a changeset, author, commitMessage and entries will not be returned.
      • When retrieving a commit list, entries will not be returned.
      • When watching a file, entry will be returned instead of entries.
      • When watching a repository, entries will not be returned.

Dependencies

  • Armeria 0.65.1 -> 0.66.0
centraldogma -

Published by trustin over 6 years ago

New features

  • Client: Java
    • We now use JSON as a client profile format. This allows you to specify different port numbers for cleartext and TLS connections. See Using client profile for more information. #233

Bug fixes

  • Server
    • Fixed a bug where the repository metadata of the meta repository is not populated when a new project is created. As a result, a user was not able to set up Git-to-CD mirrors. #230

Breaking changes

  • Client: Java
    • The artifacts centraldogma-client-java-spring-boot1-* have been renamed to centraldogma-client-spring-boot1-*. #229
    • We do not use .properties format for client profiles anymore. #233

Dependencies

  • Armeria 0.64.0 -> 0.65.1
Package Rankings
Top 15.05% on Repo1.maven.org
Badges
Extracted from project README
CI codecov.io Latest Release Version Discord Server