Skip to content

chore!(flags): consolidate features and remove default-no-vrl-cli#24637

Open
thomasqueirozb wants to merge 8 commits intomasterfrom
feature-flags-consolidation
Open

chore!(flags): consolidate features and remove default-no-vrl-cli#24637
thomasqueirozb wants to merge 8 commits intomasterfrom
feature-flags-consolidation

Conversation

@thomasqueirozb
Copy link
Contributor

@thomasqueirozb thomasqueirozb commented Feb 10, 2026

Summary

Consolidate Cargo.toml features. Also remove default-no-vrl-cli which was most likely unused and didn't even remove the VRL cli.

Vector configuration

NA

How did you test this PR?

make test. The number of tests ran now and in master is the same (2636)

Change Type

  • Bug fix
  • New feature
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the no-changelog label to this PR.

References


LLM generated script to test out flags with master:

#!/usr/bin/env python3

# Master flags
master_flags = {
    "default": ["api", "api-client", "enrichment-tables", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi-vendored", "secrets"],
    "docs": ["api", "api-client", "enrichment-tables", "sinks", "sources", "sources-dnstap", "transforms", "unix", "secrets"],
    "default-cmake": ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi-vendored", "secrets"],
    "default-msvc": ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "transforms", "secrets"],
    "default-musl": ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi-vendored", "secrets"],
    "default-no-api-client": ["api", "enrichment-tables", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi-vendored", "secrets"],
    "target-aarch64-unknown-linux-gnu": ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "sources-dnstap", "transforms", "unix", "secrets"],
    "target-aarch64-unknown-linux-musl": ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "sources-dnstap", "transforms", "unix", "secrets"],
    "target-armv7-unknown-linux-gnueabihf": ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "sources-dnstap", "transforms", "unix", "secrets"],
    "target-armv7-unknown-linux-musleabihf": ["api", "api-client", "rdkafka?/cmake_build", "enrichment-tables", "sinks", "sources", "sources-dnstap", "transforms", "secrets"],
    "target-arm-unknown-linux-gnueabi": ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "sources-dnstap", "transforms", "unix", "secrets"],
    "target-arm-unknown-linux-musleabi": ["api", "api-client", "rdkafka?/cmake_build", "enrichment-tables", "sinks", "sources", "sources-dnstap", "transforms", "secrets"],
    "target-x86_64-unknown-linux-gnu": ["api", "api-client", "rdkafka?/cmake_build", "enrichment-tables", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi-vendored", "secrets"],
    "target-x86_64-unknown-linux-musl": ["api", "api-client", "rdkafka?/cmake_build", "enrichment-tables", "sinks", "sources", "sources-dnstap", "transforms", "unix", "secrets"],
}

# Branch flags (with helper expansions)
_default_base = ["api", "enrichment-tables", "sinks", "sources", "transforms", "secrets"]
_default_api_client = _default_base + ["api-client"]
_default_unix = _default_api_client + ["sources-dnstap", "unix"]
_target_default = _default_api_client + ["rdkafka?/cmake_build", "sources-dnstap"]

branch_flags = {
    "default": _default_unix + ["rdkafka?/gssapi-vendored"],
    "docs": _default_unix,
    "default-cmake": _default_unix + ["rdkafka?/gssapi-vendored", "rdkafka?/cmake_build"],
    "default-msvc": _default_api_client + ["rdkafka?/cmake_build"],
    "default-musl": _default_unix + ["rdkafka?/gssapi-vendored", "rdkafka?/cmake_build"],
    "default-no-api-client": _default_base + ["sources-dnstap", "unix", "rdkafka?/gssapi-vendored"],
    "target-aarch64-unknown-linux-gnu": _target_default + ["unix"],
    "target-aarch64-unknown-linux-musl": _target_default + ["unix"],
    "target-armv7-unknown-linux-gnueabihf": _target_default + ["unix"],
    "target-armv7-unknown-linux-musleabihf": _target_default,
    "target-arm-unknown-linux-gnueabi": _target_default + ["unix"],
    "target-arm-unknown-linux-musleabi": _target_default,
    "target-x86_64-unknown-linux-gnu": _target_default + ["unix", "rdkafka?/gssapi-vendored"],
    "target-x86_64-unknown-linux-musl": _target_default + ["unix"],
}

print("=" * 80)
print("FEATURE FLAG VERIFICATION: Master vs Branch")
print("=" * 80)
print()

all_match = True
matches = []
mismatches = []

for flag_name in sorted(master_flags.keys()):
    if flag_name not in branch_flags:
        print(f"❌ {flag_name}: MISSING in branch")
        mismatches.append(flag_name)
        all_match = False
        continue

    master_set = set(master_flags[flag_name])
    branch_set = set(branch_flags[flag_name])

    if master_set == branch_set:
        matches.append(flag_name)
    else:
        mismatches.append(flag_name)
        all_match = False

# Print results
print("✅ MATCHING FLAGS:")
print("-" * 80)
for flag_name in matches:
    print(f"  • {flag_name}")
print()

if mismatches:
    print("❌ MISMATCHED FLAGS:")
    print("-" * 80)
    for flag_name in mismatches:
        if flag_name not in branch_flags:
            print(f"  • {flag_name}: MISSING in branch")
        else:
            master_set = set(master_flags[flag_name])
            branch_set = set(branch_flags[flag_name])
            print(f"  • {flag_name}:")
            if master_set - branch_set:
                print(f"      Missing: {sorted(master_set - branch_set)}")
            if branch_set - master_set:
                print(f"      Extra: {sorted(branch_set - master_set)}")
    print()

print("=" * 80)
print(f"RESULT: {'✅ ALL FLAGS MATCH!' if all_match else '❌ SOME FLAGS DIFFER!'}")
print("=" * 80)
print(f"\nTotal flags checked: {len(master_flags)}")
print(f"Matching: {len(matches)}")
print(f"Mismatched: {len(mismatches)}")

# Exit with appropriate code
exit(0 if all_match else 1)

@thomasqueirozb thomasqueirozb requested a review from a team as a code owner February 10, 2026 22:04
@thomasqueirozb thomasqueirozb changed the title chore!(flags): consolidate Cargo.toml features and remove default-no-vrl-cli chore!(flags): consolidate features and remove default-no-vrl-cli Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant