From 974929ab78a9e1189c6f94250848416b671b605f Mon Sep 17 00:00:00 2001 From: Nitish Tiwari Date: Mon, 9 Sep 2024 15:15:50 +0530 Subject: [PATCH] Add dockerfile for using custom console build (#920) Also update readme and remove unnecessary sections --- Dockerfile.dev | 40 ++++++++++++++++++++++++++++++++++++++++ README.md | 41 ++++++++++------------------------------- 2 files changed, 50 insertions(+), 31 deletions(-) create mode 100644 Dockerfile.dev diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 000000000..5568dca12 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,40 @@ +# Parseable Server (C) 2022 - 2024 Parseable, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +# build stage +FROM rust:1.77.1-bookworm AS builder + +LABEL org.opencontainers.image.title="Parseable" +LABEL maintainer="Parseable Team " +LABEL org.opencontainers.image.vendor="Parseable Inc" +LABEL org.opencontainers.image.licenses="AGPL-3.0" + +WORKDIR /parseable +COPY . . + +## Ensure that you build the console assests https://github.com/parseablehq/console?tab=readme-ov-file#trophy-development-and-contributing +## Then create a dist folder in the root of the this directory and copy the contents of the console/dist folder into the dist folder +ENV LOCAL_ASSETS_PATH=/parseable/dist +RUN cargo build --release + +# final stage +FROM gcr.io/distroless/cc-debian12:latest + +WORKDIR /parseable + +# Copy the static shell into base image. +COPY --from=builder /parseable/target/release/parseable /usr/bin/parseable + +CMD ["/usr/bin/parseable"] diff --git a/README.md b/README.md index d6ff8a5a0..651722462 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Parseable
- Log Lake for the cloud-native world + The versatile log database for search, analysis, and monitoring
@@ -19,7 +19,7 @@
-Parseable is a **cloud native, log analytics platform, with a focus on performance & resource efficiency**. Parseable is useful for use cases where **complete data ownership, security and privacy are paramount**. +Parseable is a **cloud native log analytics platform, with a focus on simplicity & resource efficiency**. Parseable is useful for use cases where **complete data ownership, security and privacy are paramount**. To experience Parseable UI, checkout [demo.parseable.com ↗︎](https://demo.parseable.com/login?q=eyJ1c2VybmFtZSI6ImFkbWluIiwicGFzc3dvcmQiOiJhZG1pbiJ9). You can also view the [demo video ↗︎](https://www.parseable.com/video.mp4). @@ -97,40 +97,24 @@ curl --location --request POST 'http://localhost:8000/api/v1/ingest' \

-## Why Parseable :question: +## Features :rocket: -### Performance & resource efficiency - -Parseable is written in Rust, with a clear focus on performance while ensuring a much lower CPU and memory footprint (compared to Java, Go based systems). When compared with Elastic, Parseable uses ~80% lesser memory and ~50% lesser CPU, while offering a better ingestion rate. This means you can run Parseable on smaller instances, saving costs. - -### Easy of use - -One of the key challenges users said they face today is the complexity of setting a logging system like Elastic. There are so many moving parts, and it's hard to get started. Parseable is designed to be simple to use, with a single binary that can be run on almost anywhere. The Console is built in the binary itself, so you can start using it without any additional setup. - -### Take control of your data - -With Apache Arrow and Apache Parquet as the underlying data formats, Parseable stores log data in an optimized, compressed manner as Parquet files. This means you get complete control and access to your data. You can use Parseable query and analysis, but also can plugin tools from wider Parquet ecosystem for further processing, analysis, and visualization. - -### Enterprise ready - -- High availability & Cluster mode -- Local cache & storage -- [OpenTelemetry support ↗︎](https://opentelemetry.io/) +- [High availability & Cluster mode ↗︎](https://www.parseable.com/docs/concepts/distributed-architecture) +- [Local cache ↗︎](https://www.parseable.com/docs/features/tiering) - [Alerts ↗︎](https://www.parseable.io/docs/alerts) - [Role based access control ↗︎](https://www.parseable.io/docs/rbac) - [OAuth2 support ↗︎](https://www.parseable.io/docs/oidc) -- [Grafana based visualization ↗︎](https://github.com/parseablehq/parseable-datasource) -- [LLM ↗︎](https://www.parseable.io/docs/llm) -- [Stats ↗︎](https://www.postman.com/parseable/workspace/parseable/request/22353706-b32abe55-f0c4-4ed2-9add-110d265888c3) +- [LLM integration ↗︎](https://www.parseable.io/docs/llm) +- [OpenTelemetry support ↗︎](https://www.parseable.com/docs/opentelemetry) ## How do people use Parseable :bulb: +- **Log Analytics** - Not all logs are created equal. For example application logs are seldom useful after a few days pass, but if same application also logs all the user interactions, that data is very valuable for product managers, and can be stored for a longer period. Several businesses store such high value logs and slice / dice them as needed. + - **Audit & Compliance** - Organizations that need to store logs in a secure, compliant manner. Parseable's direct to S3 bucket storage mode ensures that logs are stored in a secure, cost effective manner, and can be accessed only by authorized users, while all the data is queryable in real-time. - **Observability & Monitoring** - A very large chunk of observability data is logs. Organizations that need to monitor their systems, applications, and infrastructure in real-time use Parseable as the primary log storage system so they get timely alerts, and can analyze logs in real-time. -- **Log Analytics** - Not all logs are created equal. For example application logs are seldom useful after a few days pass, but if same application also logs all the user interactions, that data is very valuable for product managers, and can be stored for a longer period. Several businesses store such high value logs and slice / dice them as needed. - ## Motivation :dart: Traditionally, logging has been seen as a text search problem. Log volumes were not high, and data ingestion or storage were not really issues. This led us to today, where all the logging platforms are primarily text search engines. @@ -139,11 +123,6 @@ But with log data growing exponentially, today's log data challenges involve who ## Contributing :trophy: -[Contribution guide ↗︎](https://www.parseable.io/docs/contributing). - -### Supported by - - - +[Contribution guide ↗︎](https://www.parseable.com/docs/contributing) \ No newline at end of file