scalar-admin is an admin interface and client tool for Scalar services such as ScalarDL and ScalarDB applications. It will help you to pause ScalarDL Ledger, ScalarDL Auditor, and ScalarDB Cluster to create a transactionally-consistent backup.
As of the current implementation, the scalar-admin client tool is mainly used to pause (and unpause) the cluster of applications that implement the admin interface.
The release versions of scalar-admin
fat jar can be downloaded from releases page of Scalar Admin.
You can pull the docker image from Scalar's container registry.
In case you want to build scalar-admin
fat jar from the source:
$ ./gradlew shadowJar
- The built fat jar file is
build/libs/scalar-admin-<version>-all.jar
In case you want to build the docker image from the source:
$ ./gradlew docker
You can run the fat jar as follows.
$ java -jar scalar-admin-<version>-all.jar -c <COMMAND> -a <IP1:Port1,IP2:Port2,...>
NOTE If you previously used the following command, we recommend using the -a
option instead since SRV has a known issue of returning asynchronous results. We will deprecate the -s
option in the next major version.
$ java -jar scalar-admin-<version>-all.jar -c <COMMAND> -s <SRV_SERVICE_URL>
Using Scalar Admin in a Kubernetes cluster is error-prone because Scalar Admin doesn't check for orchestration changes. We recommend using Scalar Admin for Kubernetes for backup operations.
If you want to use the scalar-admin
container, you can do it as follows.
$ docker run -it --rm ghcr.io/scalar-labs/scalar-admin:<version> -c <COMMAND> -s <SRV_SERVICE_URL>
If you want to use the scalar-admin
container on kubernetes, you can do it as follows.
$ kubectl run <NAME> -it --image=ghcr.io/scalar-labs/scalar-admin:<version> --restart=Never --rm -- -c <COMMAND> -s <SRV_SERVICE_URL>
To make your services accessible from scalar-admin tool, you need to implement server-side code based on the admin interface defined in admin.proto.
The required library is available on Maven Central. You can install it in your application using your build tool such as Gradle. For example in Gradle, you can add the following dependency to your build.gradle. Please replace the <version>
with the version you want to use.
dependencies {
compile group: 'com.scalar-labs', name: 'scalar-admin', version: '<version>'
}
scalar-admin is licensed under the Apache 2.0 License (found in the LICENSE file in the root directory).