From c90abdf515b9cd42dce8e4082843e1077ebda524 Mon Sep 17 00:00:00 2001 From: Gao Hongtao Date: Tue, 27 Aug 2024 11:47:15 +0000 Subject: [PATCH] Update CHANGES.md Signed-off-by: Gao Hongtao --- 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 57d781eb1..eb20f547e 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 3bc3dbaf2..c8389e229 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 0ed89554d..5ba61d7c5 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 8f7bc8820..d6b05e2b8 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 258f1c851..02cad7482 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 b0bfee28b..8c1edee64 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 -$ ./banyand-server-static storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 -$ ./banyand-server-static storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 -$ ./banyand-server-static liaison --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 +banyand storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 +banyand storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 +banyand storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 +banyand liaison --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 ``` ## 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 -$ ./banyand-server-static liaison --etcd-endpoints=your-endpoints --etcd-username=your-username --etcd-password=your-password +banyand storage --etcd-endpoints=your-endpoints --etcd-username=your-username --etcd-password=your-password +banyand liaison --etcd-endpoints=your-endpoints --etcd-username=your-username --etcd-password=your-password ``` ### 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 -$ ./banyand-server-static liaison --etcd-endpoints=your-https-endpoints --etcd-tls-ca-file=youf-file-path +banyand storage --etcd-endpoints=your-https-endpoints --etcd-tls-ca-file=youf-file-path +banyand liaison --etcd-endpoints=your-https-endpoints --etcd-tls-ca-file=youf-file-path ``` ### 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 -$ ./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 +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 +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 ``` ### Self-observability dashboard diff --git a/docs/installation/docker.md b/docs/installation/docker.md index 6e5a4bb4d..8d9e17d1b 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 52768fce8..c68bccca9 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.