This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch building-system
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
The following commit(s) were added to refs/heads/building-system by this push:
new c90abdf5 Update CHANGES.md
c90abdf5 is described below
commit c90abdf515b9cd42dce8e4082843e1077ebda524
Author: Gao Hongtao <[email protected]>
AuthorDate: Tue Aug 27 11:47:15 2024 +0000
Update CHANGES.md
Signed-off-by: Gao Hongtao <[email protected]>
---
CHANGES.md | 4 ++++
Makefile | 3 ++-
banyand/Dockerfile | 4 ++--
bydbctl/Dockerfile | 4 ++--
docs/installation/binaries.md | 34 +++++++++++++++++++++++-----------
docs/installation/cluster.md | 27 ++++++++++++++++-----------
docs/installation/docker.md | 1 -
docs/installation/standalone.md | 9 +++++----
8 files changed, 54 insertions(+), 32 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index 57d781eb..eb20f547 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -53,6 +53,10 @@ Release Notes.
### Chores
Bump up the version of infra e2e framework.
+Separate the monolithic release package into two packages: banyand and bydbctl.
+Separate the monolithic Docker image into two images: banyand and bydbctl.
+Update CI to publish linux/amd64 and linux/arm64 Docker images.
+Make the build system compiles the binary based on the platform which is
running on.
## 0.6.1
diff --git a/Makefile b/Makefile
index 3bc3dbaf..c8389e22 100644
--- a/Makefile
+++ b/Makefile
@@ -181,7 +181,8 @@ release-source: clean ## Package source archive
${RELEASE_SCRIPTS} -s
release-sign: ## Sign artifacts
- ${RELEASE_SCRIPTS} -k bin
+ ${RELEASE_SCRIPTS} -k banyand
+ ${RELEASE_SCRIPTS} -k bydbctl
${RELEASE_SCRIPTS} -k src
release-assembly: release-binary release-sign ## Generate release package
diff --git a/banyand/Dockerfile b/banyand/Dockerfile
index 0ed89554..5ba61d7c 100644
--- a/banyand/Dockerfile
+++ b/banyand/Dockerfile
@@ -18,14 +18,14 @@
FROM alpine:edge AS certs
RUN apk add --no-cache ca-certificates && update-ca-certificates
-FROM busybox:stable-glibc as build-linux
+FROM busybox:stable-glibc AS build-linux
ARG TARGETARCH
COPY build/bin/linux/${TARGETARCH}/banyand-server-static /banyand
COPY --from=certs /etc/ssl/certs /etc/ssl/certs
-FROM mcr.microsoft.com/windows/servercore:ltsc2022 as build-windows
+FROM mcr.microsoft.com/windows/servercore:ltsc2022 AS build-windows
ARG TARGETARCH
diff --git a/bydbctl/Dockerfile b/bydbctl/Dockerfile
index 8f7bc882..d6b05e2b 100644
--- a/bydbctl/Dockerfile
+++ b/bydbctl/Dockerfile
@@ -18,14 +18,14 @@
FROM alpine:edge AS certs
RUN apk add --no-cache ca-certificates && update-ca-certificates
-FROM busybox:stable-glibc as build-linux
+FROM busybox:stable-glibc AS build-linux
ARG TARGETARCH
COPY build/bin/linux/${TARGETARCH}/bydbctl-cli-static /bydbctl
COPY --from=certs /etc/ssl/certs /etc/ssl/certs
-FROM mcr.microsoft.com/windows/servercore:ltsc2022 as build-windows
+FROM mcr.microsoft.com/windows/servercore:ltsc2022 AS build-windows
ARG TARGETARCH
diff --git a/docs/installation/binaries.md b/docs/installation/binaries.md
index 258f1c85..02cad748 100644
--- a/docs/installation/binaries.md
+++ b/docs/installation/binaries.md
@@ -6,17 +6,18 @@ This page shows how to get binaries of Banyand.
Go to the [SkyWalking download
page](https://skywalking.apache.org/downloads/#Database) .
-Select and download the distribution from the suggested location for your
platform, such as `skywalking-banyandb-x.x.x-bin.tgz` and
`skywalking-bydbctl-x.x.x-bin.tgz`.
+Select and download the distribution from the suggested location for your
platform, such as `skywalking-banyandb-x.x.x-banyand.tgz` and
`skywalking-bydbctl-x.x.x-bydbctl.tgz`.
> It is essential that you verify the integrity of the downloaded file using
> the PGP signature ( .asc file) or a hash ( .md5 or .sha* file).
unpack and extract the package.
```shell
-$ tar -zxvf skywalking-banyandb-x.y.z-bin.tgz
+tar -zxvf skywalking-banyandb-x.y.z-banyand.tgz
+tar -zxvf skywalking-bydbctl-x.y.z-bydbctl.tgz
```
-The directory structure is as follows.
+The banyand and bydbctl directory structure is as follows.
```shell
├── CHANGES.md
@@ -25,14 +26,25 @@ The directory structure is as follows.
├── NOTICE
├── README.md
├── bin
-│ ├── banyand-server-static
-│ ├── bydbctl-x.y.z-darwin-amd64
-│ ├── bydbctl-x.y.z-darwin-arm64
-│ ├── bydbctl-x.y.z-linux-386
-│ ├── bydbctl-x.y.z-linux-amd64
-│ ├── bydbctl-x.y.z-linux-arm64
-│ ├── bydbctl-x.y.z-windows-386
-│ └── bydbctl-x.y.z-windows-amd64
+│ ├── banyand-linux-arm64
+│ └── banyand-linux-amd64
+└── licenses
+```
+
+```shell
+├── CHANGES.md
+├── LICENSE
+├── LICENSE.tpl
+├── NOTICE
+├── README.md
+├── bin
+│ ├── bydbctl-linux-386
+│ ├── bydbctl-linux-amd64
+│ ├── bydbctl-linux-arm64
+│ ├── bydbctl-windows-386
+│ ├── bydbctl-windows-amd64
+│ ├── bydbctl-darwin-amd64
+│ └── bydbctl-darwin-arm64
└── licenses
```
diff --git a/docs/installation/cluster.md b/docs/installation/cluster.md
index b0bfee28..8c1edee6 100644
--- a/docs/installation/cluster.md
+++ b/docs/installation/cluster.md
@@ -8,22 +8,27 @@ The etcd cluster can be setup by the [etcd installation
guide](https://etcd.io/d
## Role-base Banyand Cluster
+- Download or build the BanyanDB packages.
+- Unpack and extract the `skywalking-banyandb-x.x.x-bin.tgz`.
+- Select the binary for your platform, such as `banyand-linux-amd64` or
`banyand-darwin-amd64`.
+- Move the binary to the directory you want to run BanyanDB. For instance, `mv
banyand-linux-amd64 /usr/local/bin/banyand`. The following steps assume that
the binary is in the `/usr/local/bin` directory.
+
There is an example: The etcd cluster is spread across three nodes with the
addresses `10.0.0.1:2379`, `10.0.0.2:2379`, and `10.0.0.3:2379`.
Data nodes and liaison nodes are running as independent processes by
```shell
-$ ./banyand-server-static storage
--etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379
<flags>
-$ ./banyand-server-static storage
--etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379
<flags>
-$ ./banyand-server-static storage
--etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379
<flags>
-$ ./banyand-server-static liaison
--etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379
<flags>
+banyand storage
--etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379
<flags>
+banyand storage
--etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379
<flags>
+banyand storage
--etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379
<flags>
+banyand liaison
--etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379
<flags>
```
## Node Discovery
The node discovery is based on the etcd cluster. The etcd cluster is required
for the metadata module to provide the metadata service and nodes discovery
service for the whole cluster.
-The host is registered to the etcd cluster by the `banyand-server-static`
automatically based on `node-host-provider` :
+The host is registered to the etcd cluster by the `banyand` automatically
based on `node-host-provider` :
- `node-host-provider=hostname` : Default. The OS's hostname is registered as
the host part in the address.
- `node-host-provider=ip` : The OS's the first non-loopback active IP
address(IPv4) is registered as the host part in the address.
@@ -45,8 +50,8 @@ The username/password is configured in the following command:
***Note: recommended using environment variables to set username/password for
higher security.***
```shell
-$ ./banyand-server-static storage --etcd-endpoints=your-endpoints
--etcd-username=your-username --etcd-password=your-password <flags>
-$ ./banyand-server-static liaison --etcd-endpoints=your-endpoints
--etcd-username=your-username --etcd-password=your-password <flags>
+banyand storage --etcd-endpoints=your-endpoints --etcd-username=your-username
--etcd-password=your-password <flags>
+banyand liaison --etcd-endpoints=your-endpoints --etcd-username=your-username
--etcd-password=your-password <flags>
```
### Transport security with HTTPS
@@ -56,8 +61,8 @@ The etcd trusted certificate file can be setup by the [etcd
transport security m
- `etcd-tls-ca-file`: The path of the trusted certificate file.
```shell
-$ ./banyand-server-static storage --etcd-endpoints=your-https-endpoints
--etcd-tls-ca-file=youf-file-path <flags>
-$ ./banyand-server-static liaison --etcd-endpoints=your-https-endpoints
--etcd-tls-ca-file=youf-file-path <flags>
+banyand storage --etcd-endpoints=your-https-endpoints
--etcd-tls-ca-file=youf-file-path <flags>
+banyand liaison --etcd-endpoints=your-https-endpoints
--etcd-tls-ca-file=youf-file-path <flags>
```
### Authentication with HTTPS client certificates
@@ -69,8 +74,8 @@ The etcd client certificates can be setup by the [etcd
transport security model]
- `etcd-tls-key-file`: Key for the certificate. Must be unencrypted.
```shell
-$ ./banyand-server-static storage --etcd-endpoints=your-https-endpoints
--etcd-tls-ca-file=youf-file-path --etcd-tls-cert-file=youf-file-path
--etcd-tls-key-file=youf-file-path <flags>
-$ ./banyand-server-static liaison --etcd-endpoints=your-https-endpoints
--etcd-tls-ca-file=youf-file-path --etcd-tls-cert-file=youf-file-path
--etcd-tls-key-file=youf-file-path <flags>
+banyand storage --etcd-endpoints=your-https-endpoints
--etcd-tls-ca-file=youf-file-path --etcd-tls-cert-file=youf-file-path
--etcd-tls-key-file=youf-file-path <flags>
+banyand liaison --etcd-endpoints=your-https-endpoints
--etcd-tls-ca-file=youf-file-path --etcd-tls-cert-file=youf-file-path
--etcd-tls-key-file=youf-file-path <flags>
```
### Self-observability dashboard
diff --git a/docs/installation/docker.md b/docs/installation/docker.md
index 6e5a4bb4..8d9e17d1 100644
--- a/docs/installation/docker.md
+++ b/docs/installation/docker.md
@@ -21,4 +21,3 @@ The BanyanDB server would be listening on the `0.0.0.0:17912`
to access gRPC req
At the same time, the BanyanDB server would be listening on the
`0.0.0.0:17913` to access HTTP requests. if no errors occurred. The HTTP server
is used for CLI and Web UI.
The Web UI is hosted at `http://localhost:17913/`.
-
diff --git a/docs/installation/standalone.md b/docs/installation/standalone.md
index 52768fce..c68bccca 100644
--- a/docs/installation/standalone.md
+++ b/docs/installation/standalone.md
@@ -4,13 +4,14 @@ The standalone mode is the simplest way to run Banyand. It is
suitable for the d
Follow these steps to install BanyanDB and start up in standalone mode.
-
- Download or build the BanyanDB packages.
-- unpack and extract the `skywalking-banyandb-x.x.x-bin.tgz`.
-- start up BanyanDB standalone server.
+- Unpack and extract the `skywalking-banyandb-x.x.x-bin.tgz`.
+- Select the binary for your platform, such as `banyand-linux-amd64` or
`banyand-darwin-amd64`.
+- Move the binary to the directory you want to run BanyanDB. For instance, `mv
banyand-linux-amd64 /usr/local/bin/banyand`. The following steps assume that
the binary is in the `/usr/local/bin` directory.
+- Start up BanyanDB standalone server.
```shell
-$ ./bin/banyand-server-static standalone
+banyand standalone
```
Then the server running as a standalone process.