diff --git a/docker/influxdb3/README.md b/docker/influxdb3/README.md new file mode 100644 index 00000000..46ae86d0 --- /dev/null +++ b/docker/influxdb3/README.md @@ -0,0 +1,37 @@ +# InfluxDB v3 (alpha) + +This sample demonstrates how to deploy and use InfluxDB v3 as a time series database in your Quix Cloud pipeline. + +Please note: this image is provided by Influx and is offered as-is, with no specific support from Quix. For any support, contact Influx directly. + +[!WARNING] +This offering is currently in alpha and intended only for simple testing/validation, +especially since authentication is not set up. +Only local file storage is supported in this implementation. + +You can learn more about InfluxDB3 [from their documentation](https://docs.influxdata.com/influxdb3/core/). + +## How to Run + +1. Create an account or log in to your [Quix](https://portal.platform.quix.io/signup?xlink=github) account and navigate to the Code Samples section. +2. Click `Deploy` to launch a pre-built container in Quix. +3. Enable state, otherwise changes will be lost on restart. Please note, the necessary storage type may not be supported on all Quix Platforms. + +## How to Use +To interact with InfluxDB v3 from your pipeline, either use one of the no-code [influxdb3 connectors](https://quix.io/integrations?category=Time+series+DB) +in Quix Cloud or use a Quix Streams [InfluxDBSource](https://quix.io/docs/quix-streams/connectors/sources/influxdb3-source.html) or [InfluxDB3Sink](https://quix.io/docs/quix-streams/connectors/sinks/influxdb3-sink.html) directly. + +Use the following values to connect: +```shell +host="http://influxdb3" +organization_id="" # required, but not used +token="" # required, but not used +``` + +## Contribute + +Feel free to fork this project on the [GitHub](https://github.com/quixio/quix-samples) repository and contribute your enhancements. Any accepted contributions will be attributed accordingly. + +## License & Support + +This project is open source under the Apache 2.0 license and available in our [GitHub](https://github.com/quixio/quix-samples) repo. Remember, this image is provided by Influx and is offered as-is, with no InfluxDB specific support from Quix. \ No newline at end of file diff --git a/docker/influxdb3/dockerfile b/docker/influxdb3/dockerfile new file mode 100644 index 00000000..832b83f8 --- /dev/null +++ b/docker/influxdb3/dockerfile @@ -0,0 +1,27 @@ +FROM quay.io/influxdb/influxdb3-core + +USER root + +# Create the data directory and set permissions +RUN mkdir -p /app/state \ + && chown -R influxdb3:influxdb3 /app/state \ + && chmod -R 700 /app/state + +RUN cat <<'ENTRYPOINT_SCRIPT' > /entrypoint.sh +#!/bin/bash + +# Ensure the data directory exists +mkdir -p /app/state/influxdb3 + +# Run influxdb3 with passed args +exec influxdb3 "$@" +ENTRYPOINT_SCRIPT + +RUN chmod +x /entrypoint.sh + +USER influxdb3 + +EXPOSE 8181 + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["serve", "--without-auth", "--node-id", "node0", "--object-store", "file", "--data-dir", "/app/state/influxdb3"] \ No newline at end of file diff --git a/docker/influxdb3/icon.png b/docker/influxdb3/icon.png new file mode 100644 index 00000000..1b950bf3 Binary files /dev/null and b/docker/influxdb3/icon.png differ diff --git a/docker/influxdb3/library.json b/docker/influxdb3/library.json new file mode 100644 index 00000000..4d40df3f --- /dev/null +++ b/docker/influxdb3/library.json @@ -0,0 +1,30 @@ +{ + "libraryItemId": "influxdb3", + "name": "InfluxDB v3 (alpha)", + "language": "docker", + "tags": { + "Category": ["Time series DB"], + "Type": ["Auxiliary Services"] + }, + "shortDescription": "Run InfluxDB v3 alpha in your pipeline.", + "DefaultFile": "dockerfile", + "EntryPoint": "dockerfile", + "IconFile": "icon.png", + "DeploySettings": { + "DeploymentType": "Service", + "CpuMillicores": 1000, + "MemoryInMb": 8000, + "Replicas": 1, + "Network": { + "ServiceName": "influxdb3", + "Ports": + [ + { + "Port": 80, + "TargetPort": 8181 + } + ] + } + }, + "Variables": [] +}