refactor: add logo, replace zinc-observe with zincobserve (#78)

* add logo, replace zinc-observe with zincobserve

* refactor: add logo, replace zinc_observe

* renamed missing ones
This commit is contained in:
Prabhat Sharma
2023-02-15 07:51:37 +05:30
committed by GitHub
parent 66d8c1d13b
commit ed4b26586f
25 changed files with 219 additions and 221 deletions
+9 -9
View File
@@ -14,27 +14,27 @@ jobs:
- arch: x86_64-unknown-linux-gnu
os: ubuntu-2004-8-cores
features: "--features tmpcache,zo_functions"
file_name: zinc-observe-${{ github.ref_name }}-linux-amd64
file_name: zincobserve-${{ github.ref_name }}-linux-amd64
file_ext: .tar.gz
- arch: aarch64-unknown-linux-gnu
os: ubuntu-2004-8-cores
features: "--features tmpcache,zo_functions"
file_name: zinc-observe-${{ github.ref_name }}-linux-arm64
file_name: zincobserve-${{ github.ref_name }}-linux-arm64
file_ext: .tar.gz
- arch: x86_64-apple-darwin
os: macos-latest
features: "--features tmpcache,zo_functions"
file_name: zinc-observe-${{ github.ref_name }}-darwin-amd64
file_name: zincobserve-${{ github.ref_name }}-darwin-amd64
file_ext: .tar.gz
- arch: aarch64-apple-darwin
os: macos-latest
features: "--features tmpcache"
file_name: zinc-observe-${{ github.ref_name }}-darwin-arm64
file_name: zincobserve-${{ github.ref_name }}-darwin-arm64
file_ext: .tar.gz
- arch: x86_64-pc-windows-msvc
os: windows-latest-8-cores
features: "--features zo_functions"
file_name: zinc-observe-${{ github.ref_name }}-windows-amd64
file_name: zincobserve-${{ github.ref_name }}-windows-amd64
file_ext: .zip
runs-on: ${{ matrix.os }}
steps:
@@ -113,8 +113,8 @@ jobs:
shell: bash
run: |
cd target/${{ matrix.arch }}/release
chmod +x zinc-observe
tar -zcvf ${{ matrix.file_name }}.tar.gz zinc-observe
chmod +x zincobserve
tar -zcvf ${{ matrix.file_name }}.tar.gz zincobserve
echo $(shasum -a 256 ${{ matrix.file_name }}.tar.gz | cut -f1 -d' ') > ${{ matrix.file_name }}.tar.gz.sha256sum
- name: Calculate checksum and rename binary for windows
@@ -122,7 +122,7 @@ jobs:
shell: bash
run: |
cd target/${{ matrix.arch }}/release
7z a -tzip ${{ matrix.file_name }}.zip zinc-observe.exe
7z a -tzip ${{ matrix.file_name }}.zip zincobserve.exe
certutil.exe -hashfile ${{ matrix.file_name }}.zip sha256|head -n 2|tail -n 1 > ${{ matrix.file_name }}.zip.sha256sum
- name: Upload artifacts
@@ -153,4 +153,4 @@ jobs:
name: "Release ${{ github.ref_name }}"
generate_release_notes: true
files: |
**/zinc-observe-*
**/zincobserve-*
+11 -11
View File
@@ -7,16 +7,16 @@
{
"type": "lldb",
"request": "launch",
"name": "Debug unit tests in library 'zinc-observe'",
"name": "Debug unit tests in library 'zincobserve'",
"cargo": {
"args": [
"test",
"--no-run",
"--lib",
"--package=zinc-observe"
"--package=zincobserve"
],
"filter": {
"name": "zinc-observe",
"name": "zincobserve",
"kind": "lib"
}
},
@@ -26,15 +26,15 @@
{
"type": "lldb",
"request": "launch",
"name": "Debug executable 'zinc-observe'",
"name": "Debug executable 'zincobserve'",
"cargo": {
"args": [
"build",
"--bin=zinc-observe",
"--package=zinc-observe"
"--bin=zincobserve",
"--package=zincobserve"
],
"filter": {
"name": "zinc-observe",
"name": "zincobserve",
"kind": "bin"
}
},
@@ -44,16 +44,16 @@
{
"type": "lldb",
"request": "launch",
"name": "Debug unit tests in executable 'zinc-observe'",
"name": "Debug unit tests in executable 'zincobserve'",
"cargo": {
"args": [
"test",
"--no-run",
"--bin=zinc-observe",
"--package=zinc-observe"
"--bin=zincobserve",
"--package=zincobserve"
],
"filter": {
"name": "zinc-observe",
"name": "zincobserve",
"kind": "bin"
}
},
+27 -28
View File
@@ -9,7 +9,7 @@ Zinc Observe uses Rust & embded sled db (For server) & VueJS (For Web UI)
You must have follwing installed:
1. Git
2. Rust & Cargo 1.61.0 + (We recommend 1.66+),
2. Rust & Cargo 1.61.0 + (We recommend 1.66+),
3. nodejs v14+ and npm v6+
## Building from source code
@@ -17,8 +17,8 @@ You must have follwing installed:
### Lets clone the repo and get started
```shell
git clone https://github.com/zinclabs/zinc-observe
cd zinc-observe
git clone https://github.com/zinclabs/zincobserve
cd zincobserve
```
### Now let's build the UI
@@ -30,20 +30,20 @@ npm run build
cd ..
```
Output will be stored in web/dist folder. web/dist will be embedded in zinc-observe binary when zinc-observe application is built.
Output will be stored in web/dist folder. web/dist will be embedded in zincobserve binary when zincobserve application is built.
It is important that you build the web app every time you make any changes to javascript code as the built code is then embedded in zinc-observe application.
It is important that you build the web app every time you make any changes to javascript code as the built code is then embedded in zincobserve application.
### Time to build the rust application now
Make sure you are in zinc-observe directory & not in zinc-observe/web
Make sure you are in zincobserve directory & not in zincobserve/web
Simple:
```shell
cargo build --release # will build the zinc-observe binary
cargo build --release # will build the zincobserve binary
```
## Developing
Once you have the source code cloned you can start development.
@@ -56,14 +56,14 @@ There are 2 areas of development.
### Server
```shell
cargo run
cargo run
```
Please note by default user 'admin' with password 'Complexpass#123' is created
This will start the zinc-observe API server on port 5080
This will start the zincobserve API server on port 5080
environment variables ZO_USER_NAME and ZO_USER_PASSWORD can be used first time to configure default admin user when zinc-observe is started.
environment variables ZO_USER_NAME and ZO_USER_PASSWORD can be used first time to configure default admin user when zincobserve is started.
### UI
@@ -77,13 +77,12 @@ npm run dev
This will start UI server on port 8080 , to change port specify it in vite.config.ts
In order for you to effectively use the UI you would want to have the Zinc-Observe API server running in a seperate window that will accept requests from the UI.
In order for you to effectively use the UI you would want to have the zincobserve API server running in a seperate window that will accept requests from the UI.
## Swagger
The server also exposes a Swagger API endpoint which you can see by visiting the `/swagger/index.html` path. It uses [utoipa](https://github.com/juhaku/utoipa) to mark API endpoints with comment annotations & to generate the API spec from the annotations to Swagger Documentation 2.0.
## Build docker image
Make sure that you have [docker](https://docs.docker.com/get-docker/).
@@ -91,15 +90,15 @@ Make sure that you have [docker](https://docs.docker.com/get-docker/).
Simple build:
```shell
docker build -t zinc-observe:latest-amd64 -f deploy/build/Dockerfile .
````
docker build -t zincobserve:latest-amd64 -f deploy/build/Dockerfile .
```
Multi-arch build
In order to build multi-arch builds you will need [buildx](https://docs.docker.com/buildx/working-with-buildx/) installed. You will need to pass the platform flag for the platform that you want to build.
```shell
docker build -t zinc-observe:latest-amd64 -f deploy/build/Dockerfile.tag.amd64 .
docker build -t zincobserve:latest-amd64 -f deploy/build/Dockerfile.tag.amd64 .
```
Please check folder deploy/build for docker files.
@@ -109,21 +108,21 @@ Please check folder deploy/build for docker files.
We check for following in CI pipeline for any pull requests.
1. Unit test code coverage for rust code.
- If code coverage is less than 81% the CI tests will fail.
- You can test coverage yourself by running `./coverage.sh`
- We use [cargo-llvm-cov](https://github.com/taiki-e/cargo-llvm-cov)for code generating coverage to generate report in .json format.
- Run 'cargo llvm-cov --lcov --output-path lcov.info' to genrate report & use [Coverage Gutters](https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters) with VS code for visualizing code coverage.
- You can also generate html report by using 'cargo llvm-cov --html' to generate html report in target/debug/llvm-cov/html/index.html
- If code coverage is less than 81% the CI tests will fail.
- You can test coverage yourself by running `./coverage.sh`
- We use [cargo-llvm-cov](https://github.com/taiki-e/cargo-llvm-cov)for code generating coverage to generate report in .json format.
- Run 'cargo llvm-cov --lcov --output-path lcov.info' to genrate report & use [Coverage Gutters](https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters) with VS code for visualizing code coverage.
- You can also generate html report by using 'cargo llvm-cov --html' to generate html report in target/debug/llvm-cov/html/index.html
1. Linting in Javascript for GUI
- We run eslint for javacript anf any linting failures will result in build failures.
- You can test for linting failures by running `./eslint.sh` in web folder.
- We run eslint for javacript anf any linting failures will result in build failures.
- You can test for linting failures by running `./eslint.sh` in web folder.
## How to contribute code
1. Fork the repository on github (e.g. awesomedev/zinc-observe)
1. Clone the repo from the forked repository ( e.g. awesomedev/zinc-observe) to your machine.
1. create a new branch locally.
1. Fork the repository on github (e.g. awesomedev/zincobserve)
1. Clone the repo from the forked repository ( e.g. awesomedev/zincobserve) to your machine.
1. create a new branch locally.
1. Make the changes to code.
1. Push the code to your repo.
1. Create a PR
1. Make sure that the automatic CI checks pass for your PR.
1. Make sure that the automatic CI checks pass for your PR.
Generated
+1 -1
View File
@@ -5130,7 +5130,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
[[package]]
name = "zinc-observe"
name = "zincobserve"
version = "0.1.0"
dependencies = [
"actix-cors",
+68 -68
View File
@@ -1,12 +1,12 @@
[package]
name = "zinc-observe"
version = "0.1.0"
description = "ZincObserve is an observability platfom that allows you to capture, search, and analyze your logs, metrics, and traces."
edition = "2021"
description = "ZincObserve is a search platform built specifically for log search & analytics. One can use it to search & analyze terabytes of logs."
homepage = "https://zinc.dev/"
repository = "https://github.com/zinclabs/zinc-observe/"
keywords = ["search", "log", "metrics", "traces", "analytics"]
license = "AGPL-3.0"
name = "zincobserve"
repository = "https://github.com/zinclabs/zincobserve/"
version = "0.1.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
@@ -21,83 +21,83 @@ overflow-checks = false
strip = true
[dependencies]
anyhow = "1.0"
thiserror = "1.0"
log = "0.4.17"
futures = "0.3"
futures-util = "0.3.25"
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
simd-json = "0.7.0"
flatten-json-object = "0.6.1"
actix-cors = "0.6.4"
actix-web = "4.2"
actix-web-httpauth = "0.8"
actix-web-opentelemetry = {version = "0.12", features = ["metrics"]}
actix-web-prometheus = "0.1.2"
actix-cors = "0.6.4"
prometheus = "0.13.3"
env_logger = "0.9"
dotenv = "0.15.0"
dotenv_config = "0.1.3"
prost = "0.11.2"
tonic = { version = "0.8", features = ["prost", "gzip"] }
sqlparser = { version = "0.30", features = ["serde"] }
arrow = { version = "31.0", features = ["simd", "ipc_compression"] }
arrow-schema = { version = "31.0", features = ["serde"] }
parquet = { version = "31.0", features = ["arrow", "async"] }
datafusion = { version = "17.0", features = ["simd"] }
datafusion-common = "17.0"
object_store = { version = "0.5.3", features = ["aws", "gcp"] }
etcd-client = { version = "0.10.2", features = ["tls"] }
sled = "0.34.7"
aws-config = "0.51.0"
aws-types = "0.51.0"
aws-sdk-s3 = "0.21.0"
zstd = "0.12.1"
chrono = "0.4"
rs-snowflake = "0.6.0"
lazy_static = "1.4.0"
actix-web-rust-embed-responder = {version = "2.2.0", default-features = false, features = ["support-rust-embed-for-web", "base64"]}
ahash = {version = "0.8.3", features = ["serde"]}
anyhow = "1.0"
argon2 = {version = "0.4.1", features = ["alloc", "password-hash"]}
arrow = {version = "31.0", features = ["simd", "ipc_compression"]}
arrow-schema = {version = "31.0", features = ["serde"]}
async-trait = "0.1.57"
async_once = "0.2.6"
once_cell = "1.15.0"
glob = "0.3.0"
walkdir = "2"
awc = "3.1.0"
aws-config = "0.51.0"
aws-sdk-s3 = "0.21.0"
aws-types = "0.51.0"
bytes = "1.1"
chrono = "0.4"
dashmap = {version = "5.4.0", features = ["serde"]}
datafusion = {version = "17.0", features = ["simd"]}
datafusion-common = "17.0"
dotenv = "0.15.0"
dotenv_config = "0.1.3"
env_logger = "0.9"
etcd-client = {version = "0.10.2", features = ["tls"]}
flatten-json-object = "0.6.1"
futures = "0.3"
futures-util = "0.3.25"
get_if_addrs = "0.5.3"
glob = "0.3.0"
http-auth-basic = "0.3.3"
lazy_static = "1.4.0"
log = "0.4.17"
lru = "0.8.1"
memchr = "2.5.0"
mimalloc = {version = "0.1", default-features = false, optional = true}
mlua = {version = "0.8.4", features = ["luajit52", "vendored", "serialize"], optional = true}
object_store = {version = "0.5.3", features = ["aws", "gcp"]}
once_cell = "1.15.0"
opentelemetry = {version = "0.17", features = ["rt-tokio"]}
opentelemetry-otlp = {version = "0.10", features = ["http-proto", "serialize", "reqwest-client"]}
opentelemetry-proto = {version = "0.1", features = ["gen-tonic", "traces", "with-serde", "build-server"]}
parking_lot = "0.12"
parquet = {version = "31.0", features = ["arrow", "async"]}
prometheus = "0.13.3"
prost = "0.11.2"
rand = "0.8.5"
regex = "1"
regex-syntax = "0.6.27"
sys-info = "0.9.1"
get_if_addrs = "0.5.3"
lru = "0.8.1"
mimalloc = { version = "0.1", default-features = false, optional = true }
mlua = { version = "0.8.4", features = ["luajit52", "vendored" ,"serialize"] , optional = true }
uuid = { version = "1.2.2", features = ["v4", "fast-rng", "macro-diagnostics"] }
ahash = { version = "0.8.3", features = ["serde"] }
dashmap = { version = "5.4.0", features = ["serde"] }
argon2 = {version = "0.4.1" ,features = ["alloc", "password-hash"]}
reqwest = {version = "0.11", default-features = false, features = ["rustls-tls"]}
rs-snowflake = "0.6.0"
rsfs = {version = "0.4.1", optional = true}
rust-embed-for-web = "11.1.0"
segment = "0.2.2"
serde = {version = "1", features = ["derive"]}
serde_json = "1"
simd-json = "0.7.0"
sled = "0.34.7"
snap = "1"
utoipa = { version = "3", features = ["actix_extras","openapi_extensions"] }
utoipa-swagger-ui = { version = "3", features = ["actix-web"] }
parking_lot = "0.12"
url = "2.2"
rsfs = { version = "0.4.1", optional = true }
http-auth-basic = "0.3.3"
opentelemetry = { version = "0.17", features = ["rt-tokio"] }
sqlparser = {version = "0.30", features = ["serde"]}
sys-info = "0.9.1"
thiserror = "1.0"
time = "0.3.17"
tokio = {version = "1", features = ["full"]}
tonic = {version = "0.8", features = ["prost", "gzip"]}
tracing = "0.1"
tracing-opentelemetry = "0.17"
tracing-subscriber = { version = "0.3", features = ["tracing-log" ,"env-filter"] }
opentelemetry-proto = { version = "0.1", features = ["gen-tonic","traces","with-serde","build-server"] }
opentelemetry-otlp = { version = "0.10", features = ["http-proto", "serialize" , "reqwest-client"] }
reqwest = { version = "0.11", default-features = false, features = ["rustls-tls"] }
actix-web-opentelemetry = { version = "0.12", features = ["metrics"] }
actix-web-rust-embed-responder = { version = "2.2.0", default-features = false, features = ["support-rust-embed-for-web", "base64"] }
rust-embed-for-web = "11.1.0"
awc = "3.1.0"
segment = "0.2.2"
time = "0.3.17"
tracing-subscriber = {version = "0.3", features = ["tracing-log", "env-filter"]}
url = "2.2"
utoipa = {version = "3", features = ["actix_extras", "openapi_extensions"]}
utoipa-swagger-ui = {version = "3", features = ["actix-web"]}
uuid = {version = "1.2.2", features = ["v4", "fast-rng", "macro-diagnostics"]}
walkdir = "2"
zstd = "0.12.1"
[build-dependencies]
tonic-build = { version = "0.8", features = ["prost"] }
prost-build = { version = "0.11.2" }
chrono = "0.4"
prost-build = {version = "0.11.2"}
tonic-build = {version = "0.8", features = ["prost"]}
+3 -4
View File
@@ -1,10 +1,9 @@
# zinc-observe
# zincobserve
🚀 10x easier, 🚀 10x cheaper, 🚀 petabyte scale - Elasticsearch alternative for 🚀 (logs, metrics, traces).
[zinc.dev](https://zinc.dev/)
## Quick Start
```
@@ -13,7 +12,7 @@ ZO_USER_NAME="admin" ZO_USER_PASSWORD="Complexpass#123" cargo run
## Etcd client
etcd-client which is used by zinc-observe needs protocol buffer compiler, please refer https://grpc.io/docs/protoc-installation/
etcd-client which is used by zincobserve needs protocol buffer compiler, please refer https://grpc.io/docs/protoc-installation/
For MacOS,using Homebrew
@@ -23,7 +22,7 @@ protoc --version
## Application structure
User -> API Interface -> Protocol{http|grpc|job} -> Services{logs|metrics|traces|users} -> Infra{db|storage|config} -> meta | common{thirdparty|function utils}
User -> API Interface -> Protocol{http|grpc|job} -> Services{logs|metrics|traces|users} -> Infra{db|storage|config} -> meta | common{thirdparty|function utils}
## init
+3 -3
View File
@@ -23,12 +23,12 @@ COPY --from=webBuilder /web/dist web/dist
# RUN cargo build --release
RUN RUSTFLAGS='-C target-feature=+aes,+avx,+avx2,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2' cargo build --release --features tmpcache,zo_functions --target x86_64-unknown-linux-gnu
RUN mv /app/target/x86_64-unknown-linux-gnu/release/zinc-observe /app/target/release/zinc-observe
RUN mv /app/target/x86_64-unknown-linux-gnu/release/zincobserve /app/target/release/zincobserve
# FROM gcr.io/distroless/cc as runtime
FROM public.ecr.aws/debian/debian:bullseye-slim as runtime
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
RUN apt-get install -y curl htop iftop sysstat procps lsof net-tools
RUN update-ca-certificates
COPY --from=builder /app/target/release/zinc-observe /
CMD ["/zinc-observe"]
COPY --from=builder /app/target/release/zincobserve /
CMD ["/zincobserve"]
+3 -3
View File
@@ -27,7 +27,7 @@ ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++ \
RUSTFLAGS='-C target-feature=+aes,+crc,+lse,+neon'
RUN cargo build --release --features tmpcache,zo_functions --target aarch64-unknown-linux-gnu
RUN mv /app/target/aarch64-unknown-linux-gnu/release/zinc-observe /app/target/release/zinc-observe
RUN mv /app/target/aarch64-unknown-linux-gnu/release/zincobserve /app/target/release/zincobserve
# FROM gcr.io/distroless/cc:latest-arm64 as runtime
# FROM gcr.io/distroless/cc:latest-arm64 as runtime
@@ -35,5 +35,5 @@ FROM public.ecr.aws/debian/debian:bullseye-slim as runtime
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
RUN apt-get install -y curl htop iftop sysstat procps lsof net-tools
RUN update-ca-certificates
COPY --from=builder /app/target/release/zinc-observe /
CMD ["/zinc-observe"]
COPY --from=builder /app/target/release/zincobserve /
CMD ["/zincobserve"]
+3 -3
View File
@@ -20,13 +20,13 @@ COPY --from=webBuilder /web/dist web/dist
# RUN cargo build --release
RUN RUSTFLAGS='-C target-feature=+aes,+avx,+avx2,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2,+avx512f,+avx512cd,+avx512er,+avx512bw,+avx512dq,+avx512vl' cargo build --release --features tmpcache,zo_functions --target x86_64-unknown-linux-gnu
RUN mv /app/target/x86_64-unknown-linux-gnu/release/zinc-observe /app/target/release/zinc-observe
RUN mv /app/target/x86_64-unknown-linux-gnu/release/zincobserve /app/target/release/zincobserve
FROM gcr.io/distroless/cc as runtime
# FROM public.ecr.aws/debian/debian:bullseye-slim as runtime
# RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
# RUN apt-get install -y curl htop iftop sysstat procps lsof net-tools
# RUN update-ca-certificates
COPY --from=builder /app/target/release/zinc-observe /
COPY --from=builder /app/target/release/zincobserve /
COPY --from=builder /lib/x86_64-linux-gnu/liblzma.so.5 /lib/x86_64-linux-gnu/liblzma.so.5
CMD ["/zinc-observe"]
CMD ["/zincobserve"]
+3 -3
View File
@@ -24,13 +24,13 @@ ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++ \
RUSTFLAGS='-C target-feature=+aes,+crc,+lse,+neon'
RUN cargo build --release --features tmpcache,zo_functions --target aarch64-unknown-linux-gnu
RUN mv /app/target/aarch64-unknown-linux-gnu/release/zinc-observe /app/target/release/zinc-observe
RUN mv /app/target/aarch64-unknown-linux-gnu/release/zincobserve /app/target/release/zincobserve
FROM gcr.io/distroless/cc:latest-arm64 as runtime
# FROM public.ecr.aws/debian/debian:bullseye-slim as runtime
# RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
# RUN apt-get install -y curl htop iftop sysstat procps lsof net-tools
# RUN update-ca-certificates
COPY --from=builder /app/target/release/zinc-observe /
COPY --from=builder /app/target/release/zincobserve /
COPY --from=builder /lib/aarch64-linux-gnu/liblzma.so.5 /lib/aarch64-linux-gnu/liblzma.so.5
CMD ["/zinc-observe"]
CMD ["/zincobserve"]
+3 -3
View File
@@ -20,13 +20,13 @@ COPY --from=webBuilder /web/dist web/dist
# RUN cargo build --release
RUN RUSTFLAGS='-C target-feature=+aes,+avx,+avx2,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2' cargo build --release --features tmpcache,zo_functions --target x86_64-unknown-linux-gnu
RUN mv /app/target/x86_64-unknown-linux-gnu/release/zinc-observe /app/target/release/zinc-observe
RUN mv /app/target/x86_64-unknown-linux-gnu/release/zincobserve /app/target/release/zincobserve
FROM gcr.io/distroless/cc as runtime
# FROM public.ecr.aws/debian/debian:bullseye-slim as runtime
# RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
# RUN apt-get install -y curl htop iftop sysstat procps lsof net-tools
# RUN update-ca-certificates
COPY --from=builder /app/target/release/zinc-observe /
COPY --from=builder /app/target/release/zincobserve /
COPY --from=builder /lib/x86_64-linux-gnu/liblzma.so.5 /lib/x86_64-linux-gnu/liblzma.so.5
CMD ["/zinc-observe"]
CMD ["/zincobserve"]
+11 -11
View File
@@ -10,20 +10,20 @@ phases:
- pwd
- GIT_TAG="$(git describe --tags --abbrev=0)"
- GIT_HASH="$(git rev-parse --short HEAD)"
- docker build -t zinc-observe:latest-arm64 -f deploy/build/Dockerfile.aarch64 .
- docker tag zinc-observe:latest-arm64 public.ecr.aws/zinclabs/zinc-observe-dev:latest-arm64
- docker tag zinc-observe:latest-arm64 public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH-arm64
- docker push public.ecr.aws/zinclabs/zinc-observe-dev:latest-arm64
- docker push public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH-arm64
- docker build -t zincobserve:latest-arm64 -f deploy/build/Dockerfile.aarch64 .
- docker tag zincobserve:latest-arm64 public.ecr.aws/zinclabs/zincobserve-dev:latest-arm64
- docker tag zincobserve:latest-arm64 public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH-arm64
- docker push public.ecr.aws/zinclabs/zincobserve-dev:latest-arm64
- docker push public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH-arm64
- echo 'Pull amd64 image'
- docker pull public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH-amd64
- docker pull public.ecr.aws/zinclabs/zinc-observe-dev:latest-amd64
- docker pull public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH-amd64
- docker pull public.ecr.aws/zinclabs/zincobserve-dev:latest-amd64
- echo 'Create manifests'
- docker manifest create public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH --amend public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH-amd64 --amend public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH-arm64
- docker manifest create public.ecr.aws/zinclabs/zinc-observe-dev:latest --amend public.ecr.aws/zinclabs/zinc-observe-dev:latest-amd64 --amend public.ecr.aws/zinclabs/zinc-observe-dev:latest-arm64
- docker manifest create public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH --amend public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH-amd64 --amend public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH-arm64
- docker manifest create public.ecr.aws/zinclabs/zincobserve-dev:latest --amend public.ecr.aws/zinclabs/zincobserve-dev:latest-amd64 --amend public.ecr.aws/zinclabs/zincobserve-dev:latest-arm64
- echo 'Push manifests'
- docker manifest push public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH
- docker manifest push public.ecr.aws/zinclabs/zinc-observe-dev:latest
- docker manifest push public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH
- docker manifest push public.ecr.aws/zinclabs/zincobserve-dev:latest
+22 -22
View File
@@ -11,43 +11,43 @@ phases:
- GIT_TAG="$(git describe --tags --abbrev=0)"
# simd version
- docker build -t zinc-observe:latest-amd64-simd -f deploy/build/Dockerfile.tag-simd.amd64 .
- docker tag zinc-observe:latest-amd64-simd public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-amd64-simd
- docker tag zinc-observe:latest-amd64-simd public.ecr.aws/zinclabs/zinc-observe:latest-amd64-simd
- docker build -t zincobserve:latest-amd64-simd -f deploy/build/Dockerfile.tag-simd.amd64 .
- docker tag zincobserve:latest-amd64-simd public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-amd64-simd
- docker tag zincobserve:latest-amd64-simd public.ecr.aws/zinclabs/zincobserve:latest-amd64-simd
- docker push public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-amd64-simd
- docker push public.ecr.aws/zinclabs/zinc-observe:latest-amd64-simd
- docker push public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-amd64-simd
- docker push public.ecr.aws/zinclabs/zincobserve:latest-amd64-simd
# common version
- docker build -t zinc-observe:latest-amd64 -f deploy/build/Dockerfile.tag.amd64 .
- docker tag zinc-observe:latest-amd64 public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-amd64
- docker tag zinc-observe:latest-amd64 public.ecr.aws/zinclabs/zinc-observe:latest-amd64
- docker build -t zincobserve:latest-amd64 -f deploy/build/Dockerfile.tag.amd64 .
- docker tag zincobserve:latest-amd64 public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-amd64
- docker tag zincobserve:latest-amd64 public.ecr.aws/zinclabs/zincobserve:latest-amd64
- docker push public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-amd64
- docker push public.ecr.aws/zinclabs/zinc-observe:latest-amd64
- docker push public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-amd64
- docker push public.ecr.aws/zinclabs/zincobserve:latest-amd64
# create manifests for simd version
- echo 'Pull arm64 image'
- docker pull public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-arm64-simd
- docker pull public.ecr.aws/zinclabs/zinc-observe:latest-arm64-simd
- docker pull public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-arm64-simd
- docker pull public.ecr.aws/zinclabs/zincobserve:latest-arm64-simd
- echo 'Create manifests'
- docker manifest create public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-simd --amend public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-amd64-simd --amend public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-arm64-simd
- docker manifest create public.ecr.aws/zinclabs/zinc-observe:latest-simd --amend public.ecr.aws/zinclabs/zinc-observe:latest-amd64-simd --amend public.ecr.aws/zinclabs/zinc-observe:latest-arm64-simd
- docker manifest create public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-simd --amend public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-amd64-simd --amend public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-arm64-simd
- docker manifest create public.ecr.aws/zinclabs/zincobserve:latest-simd --amend public.ecr.aws/zinclabs/zincobserve:latest-amd64-simd --amend public.ecr.aws/zinclabs/zincobserve:latest-arm64-simd
- echo 'Push manifests'
- docker manifest push public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-simd
- docker manifest push public.ecr.aws/zinclabs/zinc-observe:latest-simd
- docker manifest push public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-simd
- docker manifest push public.ecr.aws/zinclabs/zincobserve:latest-simd
# create manifests for common version
- echo 'Pull arm64 image'
- docker pull public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-arm64
- docker pull public.ecr.aws/zinclabs/zinc-observe:latest-arm64
- docker pull public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-arm64
- docker pull public.ecr.aws/zinclabs/zincobserve:latest-arm64
- echo 'Create manifests'
- docker manifest create public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG --amend public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-amd64 --amend public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-arm64
- docker manifest create public.ecr.aws/zinclabs/zinc-observe:latest --amend public.ecr.aws/zinclabs/zinc-observe:latest-amd64 --amend public.ecr.aws/zinclabs/zinc-observe:latest-arm64
- docker manifest create public.ecr.aws/zinclabs/zincobserve:$GIT_TAG --amend public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-amd64 --amend public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-arm64
- docker manifest create public.ecr.aws/zinclabs/zincobserve:latest --amend public.ecr.aws/zinclabs/zincobserve:latest-amd64 --amend public.ecr.aws/zinclabs/zincobserve:latest-arm64
- echo 'Push manifests'
- docker manifest push public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG
- docker manifest push public.ecr.aws/zinclabs/zinc-observe:latest
- docker manifest push public.ecr.aws/zinclabs/zincobserve:$GIT_TAG
- docker manifest push public.ecr.aws/zinclabs/zincobserve:latest
+10 -10
View File
@@ -11,19 +11,19 @@ phases:
- GIT_TAG="$(git describe --tags --abbrev=0)"
# simd version
- docker build -t zinc-observe:latest-arm64 -f deploy/build/Dockerfile.tag.aarch64 .
- docker tag zinc-observe:latest-arm64 public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-arm64-simd
- docker tag zinc-observe:latest-arm64 public.ecr.aws/zinclabs/zinc-observe:latest-arm64-simd
- docker build -t zincobserve:latest-arm64 -f deploy/build/Dockerfile.tag.aarch64 .
- docker tag zincobserve:latest-arm64 public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-arm64-simd
- docker tag zincobserve:latest-arm64 public.ecr.aws/zinclabs/zincobserve:latest-arm64-simd
- docker push public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-arm64-simd
- docker push public.ecr.aws/zinclabs/zinc-observe:latest-arm64-simd
- docker push public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-arm64-simd
- docker push public.ecr.aws/zinclabs/zincobserve:latest-arm64-simd
# common version
# ARM version default enable NEON feature, so don't need build again
# - docker build -t zinc-observe:latest-arm64-simd -f deploy/build/Dockerfile.tag.aarch64 .
# - docker build -t zincobserve:latest-arm64-simd -f deploy/build/Dockerfile.tag.aarch64 .
- docker tag zinc-observe:latest-arm64 public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-arm64
- docker tag zinc-observe:latest-arm64 public.ecr.aws/zinclabs/zinc-observe:latest-arm64
- docker tag zincobserve:latest-arm64 public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-arm64
- docker tag zincobserve:latest-arm64 public.ecr.aws/zinclabs/zincobserve:latest-arm64
- docker push public.ecr.aws/zinclabs/zinc-observe:$GIT_TAG-arm64
- docker push public.ecr.aws/zinclabs/zinc-observe:latest-arm64
- docker push public.ecr.aws/zinclabs/zincobserve:$GIT_TAG-arm64
- docker push public.ecr.aws/zinclabs/zincobserve:latest-arm64
+5 -5
View File
@@ -10,8 +10,8 @@ phases:
- pwd
- GIT_TAG="$(git describe --tags --abbrev=0)"
- GIT_HASH="$(git rev-parse --short HEAD)"
- docker build -t zinc-observe:latest-amd64 -f deploy/build/Dockerfile .
- docker tag zinc-observe:latest-amd64 public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH-amd64
- docker tag zinc-observe:latest-amd64 public.ecr.aws/zinclabs/zinc-observe-dev:latest-amd64
- docker push public.ecr.aws/zinclabs/zinc-observe-dev:$GIT_TAG-$GIT_HASH-amd64
- docker push public.ecr.aws/zinclabs/zinc-observe-dev:latest-amd64
- docker build -t zincobserve:latest-amd64 -f deploy/build/Dockerfile .
- docker tag zincobserve:latest-amd64 public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH-amd64
- docker tag zincobserve:latest-amd64 public.ecr.aws/zinclabs/zincobserve-dev:latest-amd64
- docker push public.ecr.aws/zinclabs/zincobserve-dev:$GIT_TAG-$GIT_HASH-amd64
- docker push public.ecr.aws/zinclabs/zincobserve-dev:latest-amd64
+10 -10
View File
@@ -56,14 +56,14 @@ use crate::service::search as SearchService;
"_p": "F",
"_timestamp": 1674213225158000i64,
"kubernetes": {
"container_hash": "dkr.ecr.us-west-2.amazonaws.com/zinc-observe@sha256:3dbbb0dc1eab2d5a3b3e4a75fd87d194e8095c92d7b2b62e7cdbd07020f54589",
"container_image": "dkr.ecr.us-west-2.amazonaws.com/zinc-observe:v0.0.3",
"container_name": "zinc-observe",
"container_hash": "dkr.ecr.us-west-2.amazonaws.com/zincobserve@sha256:3dbbb0dc1eab2d5a3b3e4a75fd87d194e8095c92d7b2b62e7cdbd07020f54589",
"container_image": "dkr.ecr.us-west-2.amazonaws.com/zincobserve:v0.0.3",
"container_name": "zincobserve",
"docker_id": "eb0983bdb9ff9360d227e6a0b268fe3b24a0868c2c2d725a1516c11e88bf5789",
"host": "ip.us-east-2.compute.internal",
"namespace_name": "zinc-observe",
"namespace_name": "zincobserve",
"pod_id": "35a0421f-9203-4d73-9663-9ff0ce26d409",
"pod_name": "zinc-observe-ingester-0"
"pod_name": "zincobserve-ingester-0"
},
"log": "[2023-01-20T11:13:45Z INFO actix_web::middleware::logger] 10.2.80.192 \"POST /api/demo/_bulk HTTP/1.1\" 200 68",
"stream": "stderr"
@@ -150,14 +150,14 @@ pub async fn search(
"_p": "F",
"_timestamp": 1674213225158000i64,
"kubernetes": {
"container_hash": "dkr.ecr.us-west-2.amazonaws.com/zinc-observe@sha256:3dbbb0dc1eab2d5a3b3e4a75fd87d194e8095c92d7b2b62e7cdbd07020f54589",
"container_image": "dkr.ecr.us-west-2.amazonaws.com/zinc-observe:v0.0.3",
"container_name": "zinc-observe",
"container_hash": "dkr.ecr.us-west-2.amazonaws.com/zincobserve@sha256:3dbbb0dc1eab2d5a3b3e4a75fd87d194e8095c92d7b2b62e7cdbd07020f54589",
"container_image": "dkr.ecr.us-west-2.amazonaws.com/zincobserve:v0.0.3",
"container_name": "zincobserve",
"docker_id": "eb0983bdb9ff9360d227e6a0b268fe3b24a0868c2c2d725a1516c11e88bf5789",
"host": "ip.us-east-2.compute.internal",
"namespace_name": "zinc-observe",
"namespace_name": "zincobserve",
"pod_id": "35a0421f-9203-4d73-9663-9ff0ce26d409",
"pod_name": "zinc-observe-ingester-0"
"pod_name": "zincobserve-ingester-0"
},
"log": "[2023-01-20T11:13:45Z INFO actix_web::middleware::logger] 10.2.80.192 \"POST /api/demo/_bulk HTTP/1.1\" 200 68",
"stream": "stderr"
+13 -13
View File
@@ -30,15 +30,15 @@ use tokio::sync::oneshot;
use tonic::codec::CompressionEncoding;
use tracing_subscriber::prelude::*;
use tracing_subscriber::Registry;
use zinc_observe::handler::grpc::auth::check_auth;
use zinc_observe::handler::grpc::cluster_rpc::event_server::EventServer;
use zinc_observe::handler::grpc::cluster_rpc::search_server::SearchServer;
use zinc_observe::handler::grpc::request::{event::Eventer, search::Searcher, traces::TraceServer};
use zinc_observe::handler::http::router::{get_basic_routes, get_service_routes};
use zinc_observe::infra::cluster;
use zinc_observe::infra::config::CONFIG;
use zinc_observe::meta::telemetry::Telemetry;
use zinc_observe::service::router;
use zincobserve::handler::grpc::auth::check_auth;
use zincobserve::handler::grpc::cluster_rpc::event_server::EventServer;
use zincobserve::handler::grpc::cluster_rpc::search_server::SearchServer;
use zincobserve::handler::grpc::request::{event::Eventer, search::Searcher, traces::TraceServer};
use zincobserve::handler::http::router::{get_basic_routes, get_service_routes};
use zincobserve::infra::cluster;
use zincobserve::infra::config::CONFIG;
use zincobserve::meta::telemetry::Telemetry;
use zincobserve::service::router;
#[cfg(feature = "mimalloc")]
#[global_allocator]
@@ -47,7 +47,7 @@ static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
if CONFIG.common.tracing_enabled {
let service_name = format!("zinc-observe/{}", CONFIG.common.instance_name);
let service_name = format!("zincobserve/{}", CONFIG.common.instance_name);
opentelemetry::global::set_text_map_propagator(TraceContextPropagator::new());
let mut headers = HashMap::new();
headers.insert(
@@ -84,7 +84,7 @@ async fn main() -> Result<(), anyhow::Error> {
cluster::register_and_keepalive()
.await
.unwrap_or_else(|e| panic!("cluster init failed: {}", e));
zinc_observe::job::init()
zincobserve::job::init()
.await
.unwrap_or_else(|e| panic!("job init failed: {}", e));
tx.send(true).unwrap();
@@ -125,13 +125,13 @@ async fn main() -> Result<(), anyhow::Error> {
let mut labels = HashMap::new();
labels.insert("hostname".to_string(), CONFIG.common.instance_name.clone());
labels.insert("role".to_string(), CONFIG.common.node_role.clone());
let prometheus = PrometheusMetricsBuilder::new("zinc_observe")
let prometheus = PrometheusMetricsBuilder::new("zincobserve")
.endpoint("/metrics")
.const_labels(labels)
.build()
.unwrap();
let stats_opts =
opts!("ingest_stats", "Summary ingestion stats metric").namespace("zinc_observe");
opts!("ingest_stats", "Summary ingestion stats metric").namespace("zincobserve");
let stats = GaugeVec::new(stats_opts, &["org", "name", "field"]).unwrap();
prometheus
.registry
+7 -7
View File
@@ -24,9 +24,9 @@ mod tests {
use std::sync::Once;
use std::{env, fs};
use std::{str, thread};
use zinc_observe::handler::http::router::{get_basic_routes, get_service_routes};
use zinc_observe::infra::config::CONFIG;
use zinc_observe::infra::db::default;
use zincobserve::handler::http::router::{get_basic_routes, get_service_routes};
use zincobserve::infra::config::CONFIG;
use zincobserve::infra::db::default;
static START: Once = Once::new();
pub mod prometheus_prot {
@@ -56,7 +56,7 @@ mod tests {
}
#[test]
async fn e2e_test() {
let _ = zinc_observe::job::init().await;
let _ = zincobserve::job::init().await;
for _i in 0..3 {
e2e_1_post_bulk().await;
@@ -102,7 +102,7 @@ mod tests {
let body_str = fs::read_to_string(path).expect("Unable to read file");
// metrics
let stats_opts =
opts!("ingest_stats", "Summary ingestion stats metric").namespace("zinc_observe");
opts!("ingest_stats", "Summary ingestion stats metric").namespace("zincobserve");
let stats = GaugeVec::new(stats_opts, &["org", "name", "field"]).unwrap();
// app
let thread_id: usize = 1;
@@ -131,7 +131,7 @@ mod tests {
let body_str = "[{\"Year\": 1896, \"City\": \"Athens\", \"Sport\": \"Aquatics\", \"Discipline\": \"Swimming\", \"Athlete\": \"HERSCHMANN, Otto\", \"Country\": \"AUT\", \"Gender\": \"Men\", \"Event\": \"100M Freestyle\", \"Medal\": \"Silver\", \"Season\": \"summer\",\"_timestamp\":1665136888163792}]";
// metrics
let stats_opts =
opts!("ingest_stats", "Summary ingestion stats metric").namespace("zinc_observe");
opts!("ingest_stats", "Summary ingestion stats metric").namespace("zincobserve");
let stats = GaugeVec::new(stats_opts, &["org", "name", "field"]).unwrap();
// app
let thread_id: usize = 1;
@@ -160,7 +160,7 @@ mod tests {
let body_str = "{\"Year\": 1896, \"City\": \"Athens\", \"Sport\": \"Aquatics\", \"Discipline\": \"Swimming\", \"Athlete\": \"HERSCHMANN, Otto\", \"Country\": \"AUT\", \"Gender\": \"Men\", \"Event\": \"100M Freestyle\", \"Medal\": \"Silver\", \"Season\": \"summer\",\"_timestamp\":1665136888163792}";
// metrics
let stats_opts =
opts!("ingest_stats", "Summary ingestion stats metric").namespace("zinc_observe");
opts!("ingest_stats", "Summary ingestion stats metric").namespace("zincobserve");
let stats = GaugeVec::new(stats_opts, &["org", "name", "field"]).unwrap();
// app
let thread_id: usize = 1;
+1 -1
View File
@@ -32,7 +32,7 @@ npm install
For stand-alone UI development environment, create .env file and which contains below environment variable
```sh
VITE_ZINC_OBSERVE_ENDPOINT=http://localhost:5080/
VITE_ZINCOBSERVE_ENDPOINT=http://localhost:5080/
```
```sh
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+1 -1
View File
@@ -34,7 +34,7 @@ const config = {
zincOxideIngestion: import.meta.env.VITE_ZINC_OXIDE_INGESTION,
zincQuotaThreshold: import.meta.env.VITE_ZINC_QUOTA_THRESHOLD,
enableAnalytics: import.meta.env.VITE_ZINC_ANALYTICS_ENABLED,
isZincObserveCloud: import.meta.env.VITE_ZINC_OBSERVE_CLOUD,
isZincObserveCloud: import.meta.env.VITE_ZINCOBSERVE_CLOUD,
};
export default config;
+1 -1
View File
@@ -20,7 +20,7 @@
<img
v-if="!miniMode"
class="appLogo"
src="/src/assets/images/common/app_logo.png"
src="/src/assets/images/common/app_logo_zo.png"
@click="goToHome"
/>
<img
+1 -1
View File
@@ -47,7 +47,7 @@
},
"about": {
"name": "Zinc",
"introduction": "The modern open source search engine."
"introduction": "Observability simplified."
},
"login": {
"userid": "User ID",
+1 -1
View File
@@ -17,7 +17,7 @@ import { useLocalOrganization, useLocalCurrentUser } from "../utils/zincutils";
export default createStore({
state: {
API_ENDPOINT: import.meta.env.VITE_ZINC_OBSERVE_ENDPOINT,
API_ENDPOINT: import.meta.env.VITE_ZINCOBSERVE_ENDPOINT,
userInfo: {},
loggedIn: false,
loadingState: true,
+2 -2
View File
@@ -17,11 +17,11 @@
<q-page class="aboutPage">
<div class="about_head">
<img
src="/src/assets/images/common/app_logo.png"
src="/src/assets/images/common/app_logo_zo.png"
class="logo"
width="177"
/>
<div class="para">The modern open source search engine.</div>
<div class="para">Observability simplified.</div>
</div>
<q-separator class="separator" />