Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions .github/workflows/coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,6 @@ env:
NEXT_ASSETS_PATH: ${{ github.workspace }}/frontend/dist

jobs:
community-ui:
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '24'
- name: Test community UI overlay
run: node --test scripts/test-community-ui.mjs

clippy:
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 45
Expand Down
111 changes: 2 additions & 109 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 0 additions & 13 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -207,22 +207,13 @@ tikv-jemallocator = { version = "0.7.0", features = [
tikv-jemalloc-ctl = { version = "0.7.0", features = ["stats"] }

[build-dependencies]
regex = "1"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
sha2 = "0.10.8"
cargo_toml = "0.22.3"
sha1_smol = { version = "1.0", features = ["std"] }
static-files = "0.2"
ureq = "2.12"
url = "2.5"
vergen-gitcl = { version = "9.1.0", features = [
"build",
"cargo",
"rustc",
"si",
] }
zip = { version = "8.6.0", default-features = false, features = ["deflate"] }
anyhow = "1.0"

[target.'cfg(target_os = "linux")'.dependencies]
Expand All @@ -233,10 +224,6 @@ rstest = "0.26.1"
arrow = "59.2.0"
temp-dir = "0.1.14"

[package.metadata.parseable_ui]
assets-url = "https://parseableprismbuild.blob.core.windows.net/parseable-prism-build/v3.2.5/build.zip"
assets-sha1 = "cbaf98f0431844677d30f519b3da941599eb2e0a"

[features]
debug = []
hotpath = [
Expand Down
8 changes: 4 additions & 4 deletions Dockerfile.debug
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,17 @@ WORKDIR /parseable
# Cache dependencies
COPY Cargo.toml Cargo.lock build.rs ./
COPY build_support ./build_support
COPY scripts/community-ui-overlay.json scripts/community-promql-capabilities.js ./scripts/
RUN mkdir src && echo "fn main() {}" > src/main.rs && cargo build && rm -rf src

# Embed frontend assets after compiling dependencies so UI edits reuse them.
# The build script requires native assets, including during dependency warmup.
COPY --from=frontend /frontend/dist /parseable/frontend/dist
ENV NEXT_ASSETS_PATH=/parseable/frontend/dist
RUN mkdir src && echo "fn main() {}" > src/main.rs && cargo build && rm -rf src

# Build the actual binary
COPY src ./src
COPY resources ./resources
RUN cargo build
# Invalidate the dummy crate even when COPY preserves older source timestamps.
RUN touch src/main.rs src/lib.rs && cargo build

# final stage
FROM docker.io/debian:bookworm-slim
Expand Down
12 changes: 6 additions & 6 deletions Dockerfile.kafka
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,10 @@ RUN apt-get update && \
WORKDIR /parseable
COPY Cargo.toml Cargo.lock build.rs ./
COPY build_support ./build_support
COPY scripts/community-ui-overlay.json scripts/community-promql-capabilities.js ./scripts/

# The build script requires native assets, including during dependency warmup.
COPY --from=frontend /frontend/dist /parseable/frontend/dist
ENV NEXT_ASSETS_PATH=/parseable/frontend/dist

# Fix librdkafka CMakeLists.txt before building
RUN mkdir -p src && echo "fn main() {}" > src/main.rs && \
Expand All @@ -68,16 +71,13 @@ RUN mkdir -p src && echo "fn main() {}" > src/main.rs && \
RUN cargo build --release --features kafka && \
rm -rf src

# Embed frontend assets after compiling dependencies so UI edits reuse them.
COPY --from=frontend /frontend/dist /parseable/frontend/dist
ENV NEXT_ASSETS_PATH=/parseable/frontend/dist

# Copy the actual source code
COPY src ./src
COPY resources ./resources

# Build the actual binary with kafka feature
RUN cargo build --release --features kafka
# Invalidate the dummy crate even when COPY preserves older source timestamps.
RUN touch src/main.rs src/lib.rs && cargo build --release --features kafka

# final stage
FROM gcr.io/distroless/cc-debian12:latest
Expand Down
43 changes: 29 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,23 +114,38 @@ gh attestation verify PATH/TO/YOUR/PARSEABLE/ARTIFACT-BINARY -R parseablehq/pars

### Editable frontend

An initial React/TypeScript frontend and reusable component library live in
[`frontend/`](frontend/README.md), with Logs Explore, SQL, datasets, local
dashboards, Storybook, and browser tests. Billing and payment collection are
excluded.

Parseable serves it at `/`, and links to its earlier `/next/` mount redirect
there. For one release, `P_UI_ROOT=classic` restores the classic UI at `/` and
mounts the new frontend beside it at `/next/`, sharing the same session. Docker
images and build/release workflows build it with Node 24 and embed
`frontend/dist` through `NEXT_ASSETS_PATH`. To build locally from the
repository root:
The React/TypeScript frontend and reusable component library live in
[`frontend/`](frontend/README.md), with Logs Explore, SQL, datasets, dashboards,
Storybook, and browser tests. Billing and payment collection are excluded.

Parseable embeds only this native frontend and serves it at `/`. Links to the
earlier `/next/` mount redirect to the same path at the root. Classic Prism assets
are no longer downloaded or embedded; `P_UI_ROOT=classic` is rejected with
migration instructions. Docker images and build/release workflows build native
assets with Node 24 and embed `frontend/dist` through `NEXT_ASSETS_PATH`.
To build locally from the repository root:

```sh
(cd frontend && npm ci && npm run build)
NEXT_ASSETS_PATH="$PWD/frontend/dist" cargo build --release
```

Then open `/`. See the
[frontend README](frontend/README.md#build-and-embed-in-parseable) for build
details, PowerShell instructions, and the classic UI's rollback setting.
Missing native assets fail the build. For backend-only debug development, explicitly
use `P_BUILD_NO_UI=1 cargo run -- local-store` with `NEXT_ASSETS_PATH` unset; UI
requests then explain that the UI is disabled. This mode cannot be used for release
builds. `/api/v1/about` reports `native-<server version>` or `disabled` as the UI
version, alongside the server commit/build metadata.

To run this checkout in Docker:

```sh
docker compose -f compose.yaml -f compose.source.yaml up -d --build
```

`docker compose up` alone uses the prebuilt upstream image from `compose.yaml`;
it does not build this checkout and can still show the old UI. The source override
uses the existing named data/staging volumes.

See the [native UI retirement notes](docs/native-ui.md) and
[frontend build instructions](frontend/README.md#build-and-embed-in-parseable)
for compatibility, backend development and PowerShell details.
Loading
Loading