Go to file
wayne warren 17b22894e1 feat: add BooleanValue::Toggle and FloatValue::SequentialWithInc 2025-03-20 18:37:37 -06:00
.cargo chore: Upgrade to Rust 1.78.0 (#24953) 2024-05-02 13:39:20 -04:00
.circleci Merge remote-tracking branch 'OSS/main' into chore/core-sync-20250320 2025-03-20 21:09:44 +00:00
.github chore: Remove dependabot for our repo (#24693) 2024-02-26 13:38:20 -05:00
assets chore: Update README for InfluxDB main repo (#25101) 2024-06-27 12:50:05 -04:00
docker Revert "chore: fix shellcheck lints (#25956)" (#26067) 2025-02-26 16:29:05 -05:00
influxdb3 Merge remote-tracking branch 'core/main' into jnewhouse/oss-20250320 2025-03-20 09:56:18 -07:00
influxdb3_cache fix: remove sleeps in cache tests 2025-03-17 21:10:34 -04:00
influxdb3_catalog Merge remote-tracking branch 'OSS/main' into chore/core-sync-20250319 2025-03-19 15:48:57 +00:00
influxdb3_clap_blocks Merge remote-tracking branch 'core/main' into tjh/core-sync-a455598be6 2025-03-11 19:50:38 -04:00
influxdb3_client chore: clean up TriggerSpecification usage a little 2025-03-15 17:26:27 -06:00
influxdb3_config chore: cargo fmt, 2024 edition 2025-02-21 15:34:57 -07:00
influxdb3_enterprise feat: different chunk types for enterprise 2025-03-20 16:36:29 -04:00
influxdb3_id refactor: use repositories in catalog (#26135) 2025-03-13 22:42:18 -04:00
influxdb3_internal_api chore: bring back enterprise changes (#25858) 2025-01-17 13:24:32 -05:00
influxdb3_license/service fix: existing user not getting second license 2025-01-26 17:12:54 -05:00
influxdb3_load_generator feat: add BooleanValue::Toggle and FloatValue::SequentialWithInc 2025-03-20 18:37:37 -06:00
influxdb3_process chore: 3.0.0-beta.1 release ready (#26167) 2025-03-19 22:24:32 +00:00
influxdb3_processing_engine chore: fix tests after core sync 2025-03-17 20:57:48 -04:00
influxdb3_py_api feat(processing_engine): proper escaping of LineBuilder arguments. (#26134) 2025-03-14 09:31:58 -07:00
influxdb3_server Merge remote-tracking branch 'core/main' into tjh/core-sync-863a6d0b4a 2025-03-17 20:30:52 -04:00
influxdb3_sys_events Merge remote-tracking branch 'core/main' into ww/oss-sync 2025-02-21 15:17:59 -07:00
influxdb3_telemetry Merge remote-tracking branch 'core/main' into ww/oss-sync 2025-02-21 15:17:59 -07:00
influxdb3_test_helpers feat: Update to Rust 1.85 and 2024 Edition (#26046) 2025-02-20 14:58:07 -05:00
influxdb3_types chore: clean up TriggerSpecification usage a little 2025-03-15 17:26:27 -06:00
influxdb3_wal chore: back-port catalog debug log cleanup from enterprise (#26128) 2025-03-12 13:20:21 -04:00
influxdb3_write feat: different chunk types for enterprise 2025-03-20 16:36:29 -04:00
iox_query_influxql_rewrite feat: Update to Rust 1.85 and 2024 Edition (#26046) 2025-02-20 14:58:07 -05:00
.editorconfig chore: editor config spacing for shell scripts 2022-12-13 11:12:11 +01:00
.gitattributes feat: implement jaeger-agent protocol directly (#2607) 2021-09-22 17:30:37 +00:00
.gitignore Merge remote-tracking branch 'core/main' into jdstrand/oss-sync 2025-03-16 14:22:26 -05:00
.kodiak.toml chore: Set default to squash 2022-01-25 15:57:10 +01:00
CONTRIBUTING.md chore: add justfile for quickly reproducing compactor workloads 2025-02-13 11:33:27 -07:00
Cargo.lock chore: 3.0.0-beta.1 release ready (#26167) 2025-03-19 22:24:32 +00:00
Cargo.toml chore: 3.0.0-beta.1 release ready (#26167) 2025-03-19 22:24:32 +00:00
Dockerfile chore: merge 'core/main' into tjh/core-5fa417c3f0 2025-03-10 14:39:33 -04:00
Dockerfile.dockerignore feat: build and use python-build-standalone with official builds (#25969) 2025-02-13 16:16:05 -06:00
LICENSE-APACHE fix: Add LICENSE (#430) 2020-11-10 12:10:07 -05:00
LICENSE-MIT fix: Add LICENSE (#430) 2020-11-10 12:10:07 -05:00
PROFILING.md docs: `PROFILING.md` (#25075) 2024-07-24 11:01:36 -04:00
README.md feat: Update README with beta info (#26151) 2025-03-17 10:33:13 -04:00
README_processing_engine.md fix: updates for package validation with portable glibc builds (#26131) 2025-03-13 12:25:31 -05:00
RELEASE.md chore: create release doc (#26171) 2025-03-20 20:06:28 +00:00
SECURITY.md chore: tweak wording and don't reference gpg key in SECURITY.md (#24838) 2024-03-25 14:34:36 -05:00
deny.toml Merge remote-tracking branch 'core/main' into tjh/core-sync-72dc4458fd 2025-03-11 12:35:44 -04:00
install_influxdb.sh chore: Update install script for Docker with cluster changes (#26149) 2025-03-17 14:45:34 -05:00
justfile chore: update justfile for new --mode flag interpretation 2025-03-11 12:34:09 -06:00
run-tests.sh fix: check num items to prune before pruning parquet cache (#25447) 2024-10-10 14:03:26 +01:00
rust-toolchain.toml feat: allow new tags in schema again (#26108) 2025-03-06 13:59:15 -05:00
rustfmt.toml feat: Update to Rust 1.85 and 2024 Edition (#26046) 2025-02-20 14:58:07 -05:00

README.md

InfluxDB Enterprise

This is a fork of Core with all the Enterprise functionality. To bring in the latest changes from Core, clone this repo then do:

Core to Enterprise Code Sync

# add the Core repo as a remote
git remote add core git@github.com:influxdata/influxdb.git
git fetch core
git checkout -b pd/oss-sync
git merge core/main
# fix any conflicts and commit
git push --set-upstream origin pd/oss-sync

Then create a PR to merge pd/oss-sync into main. Use a merge PR that pulls over the commits.

Reducing merge conflicts with code from core

When writing new code for Enterprise (this repository), it is ideal to keep as much of it separated from core code as possible, so when performing the above Core to Enterprise Code Sync, you reduce the chance of code conflicts. These can sometimes be difficult to reason about, so is best to avoid them if at all possible.

Here are some strategies for minimizing conflicts.

Create a new crate

If the code you are writing can stand on its own, then create a new crate for it in the influxdb3_enterprise folder.

In its Cargo.toml, the package name should be of the following form.

[package]
name = "influxdb3_enterprise_compactor"

Then, add that crate's package name to the [workspace.members] list in the workspace Cargo.toml file at the root of the repository.

Extend an existing core crate with an enterprise.rs module

If the code needs to be written in one of the existing core crates, because, e.g., you are relying on crate public APIs in that code that is not visible from other crates, then use this strategy.

Create a module called enterprise.rs at whatever level is appropriate for the module you are extending and include it at the top of that module.

For example, if you are extending the MyStruct type with enterprise-specific methods, then, in the module MyStruct is defined in, add the enterprise module:

// my_module/mod.rs
pub mod enterprise;

pub struct MyStruct;

impl MyStruct {
  /* methods available in core */
}

Then in the new enterprise.rs module you created, add the enterprise-specific code:

// my_module/enterprise.rs

impl MyStruct {
  pub fn fancy_paid_feature() {
    /* ... */
  }
}

Now, MyStruct::fancy_paid_feature can be called from the enterprise codebase.

You can see several examples of this throughout the codebase:

  • In the Query Executor (link)
  • In the Catalog (link)
  • In the HTTP server (link)
  • in the Write Buffer (link)

influxdb3_core_internal dependency

Enterprise depends on both influxdb3_core and influxdb3_core_internal (closed source crates). And also, influxdb3_core_internal itself depends on influxdb3_core for common utils (like iox_time). When amending influxdb3_core version/revision influxdb3_core_internal needs to be on the same version/revision as well.

CircleCI

  • To be able to pull influxdb3_core_internal crates, SSH key has been added to CircleCI. Public key is added to influxdb3_core_internal repo. The private key is added to the engineering vault in 1password.

  • In order to revoke or rotate the keys, it should be as simple as deleting the keys in CircleCI and in Github and reinstating new keys following the docs