Skip to content

docs(rfc): separate structural validation from component build#25848

Open
pront wants to merge 12 commits into
masterfrom
pront-rfc-split-transform-lifecycle
Open

docs(rfc): separate structural validation from component build#25848
pront wants to merge 12 commits into
masterfrom
pront-rfc-split-transform-lifecycle

Conversation

@pront

@pront pront commented Jul 15, 2026

Copy link
Copy Markdown
Member

Summary

Adds an RFC proposing a two-phase separation of structural validation from component build across TransformConfig and SinkConfig.

Motivation: build() conflates context-free structural checks (safe to run under vector validate --no-environment) with side-effecting construction (credentials, clients, healthcheck probes). This blocks --no-environment from catching config-level errors in sinks, and allows background tasks spawned in build() to leak on topology reload rollback.

Design:

  • validate_structure(&self) — context-free checks (no I/O, no spawning). Owned by ConfigBuilder compilation; all call sites inherit the result transitively.
  • validate_with_context(&self, context) — transforms only; compiles VRL/conditions against the assembled TransformContext. Mechanical rename of existing validate_env().
  • build() — unchanged signature; gains a no-spawn contract (task transforms excepted until a separate topology-builder change).
  • Healthchecks — side-effect-free probes (like Kubernetes readiness/liveness probes); must not share live workers with the component.

Scope: TransformConfig and SinkConfig. SourceConfig deferred to future work.

Rendered

Vector configuration

N/A — no configuration format changes.

How did you test this PR?

RFC only — no code changes.

Change Type

  • Bug fix
  • New feature
  • Dependencies
  • 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.

@github-actions github-actions Bot added domain: ci Anything related to Vector's CI environment domain: rfc labels Jul 15, 2026
@datadog-vectordotdev

This comment has been minimized.

@pront pront added the no-changelog Changes in this PR do not need user-facing explanations in the release changelog label Jul 16, 2026
@pront
pront force-pushed the pront-rfc-split-transform-lifecycle branch from 7563720 to 8ea1964 Compare July 20, 2026 18:33
@github-actions github-actions Bot removed the domain: ci Anything related to Vector's CI environment label Jul 20, 2026
@pront
pront force-pushed the pront-rfc-split-transform-lifecycle branch from 8ea1964 to 9d53fd9 Compare July 20, 2026 19:10
@pront pront changed the title docs(rfc): split TransformConfig build lifecycle into four phases docs(rfc): split build lifecycle into four phases Jul 20, 2026
@pront pront changed the title docs(rfc): split build lifecycle into four phases docs(rfc): split build lifecycle into distinct phases Jul 20, 2026
@pront
pront force-pushed the pront-rfc-split-transform-lifecycle branch from 9d53fd9 to e59f2fe Compare July 20, 2026 19:40
@pront pront changed the title docs(rfc): split build lifecycle into distinct phases docs(rfc): split component build lifecycle into four phases Jul 20, 2026
@pront
pront marked this pull request as ready for review July 20, 2026 19:41
@pront
pront requested a review from a team as a code owner July 20, 2026 19:41

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e59f2fe827

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b19af7cdd0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9da875cae3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
@pront
pront force-pushed the pront-rfc-split-transform-lifecycle branch from 706f0da to c92056b Compare July 22, 2026 18:52

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c92056b820

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6b5e5c1ec1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
@pront
pront force-pushed the pront-rfc-split-transform-lifecycle branch from 6b5e5c1 to 44eabd0 Compare July 23, 2026 13:34

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 44eabd01ce

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
Comment thread rfcs/2026-07-15-split-component-build-lifecycle.md Outdated
…cope contradiction, broaden transform tracking, fix sink schema claim
@pront pront changed the title docs(rfc): split component build lifecycle into four phases docs(rfc): separate structural validation from component build Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain: rfc no-changelog Changes in this PR do not need user-facing explanations in the release changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants