Skip to content

Commit b60307e

Browse files
committed
Merge master into dependabot/cargo/sha2-0.11.0
2 parents 47a76e9 + 403f671 commit b60307e

11,525 files changed

Lines changed: 128262 additions & 100634 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.cargo/config.toml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ vdev = "run --quiet --package vdev --"
77
# coarsens jemalloc's allocation granularity; no regression was measured in
88
# https://github.com/vectordotdev/vector/pull/18481.
99
JEMALLOC_SYS_WITH_LG_PAGE = "16"
10+
# Zero out timestamps in macOS static archives so vendored C libraries (openssl,
11+
# curl, librdkafka) produce deterministic artifacts. Ignored on Linux.
12+
ZERO_AR_DATE = "1"
13+
# OpenSSL embeds the exact compile time ("built on: ...") in libcrypto.a.
14+
# Setting SOURCE_DATE_EPOCH to a fixed epoch makes OpenSSL 3.x use a
15+
# reproducible timestamp instead, producing identical artifacts across builds.
16+
SOURCE_DATE_EPOCH = "0"
1017

1118
[target.'cfg(all())']
1219
rustflags = [

‎.github/CODEOWNERS‎

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
* @vectordotdev/vector
22

3-
.github/workflows/regression.yml @vectordotdev/vector @vectordotdev/single-machine-performance
4-
regression/config.yaml @vectordotdev/vector @vectordotdev/single-machine-performance
3+
/.github/workflows/regression.yml @vectordotdev/vector @vectordotdev/single-machine-performance
4+
/regression/config.yaml @vectordotdev/vector @vectordotdev/single-machine-performance
55

6-
# Keep documentation team paths in sync with .github/workflows/add_docs_review_label.yml
7-
docs/ @vectordotdev/vector @vectordotdev/documentation
8-
website/ @vectordotdev/vector
9-
website/content @vectordotdev/vector @vectordotdev/documentation
10-
website/cue/reference @vectordotdev/vector @vectordotdev/documentation
6+
/tests/antithesis/ @vectordotdev/vector @vectordotdev/single-machine-performance
117

12-
website/js @vectordotdev/vector @vectordotdev/vector-website
13-
website/layouts @vectordotdev/vector @vectordotdev/vector-website
14-
website/scripts @vectordotdev/vector @vectordotdev/vector-website
15-
website/data @vectordotdev/vector @vectordotdev/vector-website
16-
website/* @vectordotdev/vector @vectordotdev/vector-website
8+
# Keep documentation team paths in sync with .github/workflows/add_docs_review_label.yml
9+
/*.md @vectordotdev/vector @vectordotdev/documentation
10+
/docs/ @vectordotdev/vector @vectordotdev/documentation
11+
/deprecation.d/ @vectordotdev/vector @vectordotdev/documentation
12+
/website/content/ @vectordotdev/vector @vectordotdev/documentation
13+
/website/cue/reference/ @vectordotdev/vector @vectordotdev/documentation

‎.github/ISSUE_TEMPLATE/minor-release.md‎

Lines changed: 40 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -5,101 +5,52 @@ title: "Vector [version] release"
55
labels: "domain: releasing"
66
---
77

8+
# Prepare the release
89

9-
# Setup and Automation
10-
11-
Note the preparation steps are now automated. First, alter/create release.env
10+
This checklist is for stable minor releases. Set the version for the commands below:
1211

1312
```shell
14-
#!/usr/bin/env bash
15-
export NEW_VECTOR_VERSION=<new Vector version> # replace this with the actual new version (e.g.: 0.50.0)
16-
export NEW_VRL_VERSION=<new VRL version> # replace this with the actual new VRL version (e.g.: 0.30.0)
17-
export MINOR_VERSION=$(echo "$NEW_VECTOR_VERSION" | cut -d. -f2)
18-
export PREP_BRANCH=prepare-v-"${NEW_VECTOR_VERSION//./-}"-website
19-
export RELEASE_BRANCH=v0."${MINOR_VERSION}"
13+
export NEW_VECTOR_VERSION=0.59.0 # Replace with the version being released.
14+
export RELEASE_BRANCH="v${NEW_VECTOR_VERSION%.*}"
2015
```
2116

22-
and then source it by running `source ./release.env`
23-
24-
# The week before the release
25-
26-
## 1. Manual Steps
27-
2817
- [ ] Cut a new release of [VRL](https://github.com/vectordotdev/vrl) if needed.
2918
- VRL release steps: https://github.com/vectordotdev/vrl/blob/main/release/README.md
19+
- [ ] Run the [Prepare release](https://github.com/vectordotdev/vector/actions/workflows/release_prepare.yml)
20+
workflow from `master` with `version` set to the stable Vector version and `vrl_version` to the exact released VRL version.
21+
- The workflow activates the `RELEASE_FREEZE_RULESET_ID` ruleset and grants `vectordotdev-bot` an **Always** bypass
22+
to some of `master`'s rulesets (`RELEASE_FREEZE_BOT_BYPASS`).
23+
- If preparation fails after activation, the freeze remains active. Retry, or run
24+
[Unfreeze master](https://github.com/vectordotdev/vector/actions/workflows/release_unfreeze.yml)
25+
with `workflow_dispatch` to unfreeze the repository.
26+
- [ ] Review the bot-authored `prepare-v-<major>-<minor>-<patch>-website` PR: edit the release description,
27+
changelog, upgrade guidance, and release date as needed. Review deprecations with
28+
`cargo vdev deprecation show --version "${NEW_VECTOR_VERSION}"`.
29+
30+
Keep the freeze active until **both** the release workflow has pushed its post-release housekeeping
31+
to `master` **and** the Kubernetes manifests push below has completed. Maintainers with
32+
bypass access must also respect this window: do not merge unrelated PRs into `master`.
33+
[Unfreeze master](https://github.com/vectordotdev/vector/actions/workflows/release_unfreeze.yml)
34+
closes the window automatically once both are done.
35+
36+
# Publish the release
37+
38+
- [ ] On release day, squash-merge the approved preparation PR directly into `master` using admin
39+
permissions (`Merge without waiting for requirements to be met (bypass rules)`). Do not use the merge queue.
40+
41+
The merge kicks off the [Tag approved release](https://github.com/vectordotdev/vector/actions/workflows/release_autotag.yml)
42+
workflow, which creates the version tag and release branch at that exact commit.
43+
The tag starts the release workflow; do not create the tag or release branch manually.
44+
45+
- [ ] Wait for [release workflow](https://github.com/vectordotdev/vector/actions/workflows/release.yml) to complete.
46+
- If it fails, use **Re-run failed jobs** to continue the release.
47+
- [ ] Confirm that the release changelog was published to https://vector.dev/releases/
48+
- Refer to the internal releasing doc to monitor the deployment.
49+
- [ ] Confirm that [Homebrew](https://github.com/vectordotdev/homebrew-brew) was released ([workflow](https://github.com/vectordotdev/homebrew-brew/actions/workflows/release.yml))
50+
- [ ] Release Linux packages. Refer to the internal releasing doc.
3051

31-
## 2. Automated Steps
32-
33-
Run the following:
34-
35-
```shell
36-
cargo vdev release prepare --version "${NEW_VECTOR_VERSION}" --vrl-version "${NEW_VRL_VERSION}"
37-
```
38-
39-
Automated steps include:
40-
41-
- Create a new release branch from master to freeze commits
42-
- `git fetch && git checkout origin/master && git checkout -b "${RELEASE_BRANCH}" && git push -u`
43-
- Create a new release preparation branch from `master`
44-
- `git checkout -b "${PREP_BRANCH}" && git push -u`
45-
- Pin VRL to latest released version rather than `main`
46-
- Check if there is a newer version of [Alpine](https://alpinelinux.org/releases/) or [Debian](https://www.debian.org/releases/) available to update the release images in
47-
`distribution/docker/`. Update if so.
48-
- Generate a new cue file for the release in `website/cue/reference/releases/`
49-
- Copy VRL changelogs from the VRL version in the last Vector release as a new changelog entry
50-
([example](https://github.com/vectordotdev/vector/blob/9c67bba358195f5018febca2f228dfcb2be794b5/website/cue/reference/releases/0.41.0.cue#L33-L64))
51-
- Update version number in `website/cue/reference/administration/interfaces/kubectl.cue`
52-
- Update version number in `distribution/install.sh`
53-
- Add new version to `website/cue/reference/versions.cue`
54-
- Create new release md file by copying an existing one in `./website/content/en/releases/` and
55-
updating version number
56-
- Commit these changes
57-
- Open PR against the release branch (`"${RELEASE_BRANCH}"`) for review
58-
59-
## 3. Manual Steps
60-
61-
- [ ] Edit `website/cue/reference/releases/"${NEW_VECTOR_VERSION}".cue`
62-
- [ ] Add description key to the generated cue file with a description of the release (see
63-
previous releases for examples).
64-
- [ ] Ensure any breaking changes are highlighted in the release upgrade guide.
65-
- [ ] Ensure any deprecations are highlighted in the release upgrade guide.
66-
- [ ] Review generated changelog entries to ensure they are understandable to end-users.
67-
- [ ] Ensure the date matches the scheduled release date.
68-
- [ ] Add a link to pending deprecation items from [DEPRECATIONS.md](https://github.com/vectordotdev/vector/blob/master/docs/DEPRECATIONS.md).
69-
- [ ] PR review & approval.
70-
71-
# On the day of release
72-
73-
- [ ] Make sure the release branch is in sync with origin/master and has only one squashed commit with all commits from the prepare branch. If you made a PR from the prepare branch into the release branch this should already be the case.
74-
- [ ] `git fetch origin`
75-
- [ ] `git checkout "${RELEASE_BRANCH}" && git pull --ff-only origin "${RELEASE_BRANCH}"`
76-
- [ ] `git show --stat HEAD` - This should show the squashed prepare commit.
77-
- [ ] Ensure release date in `website/cue/reference/releases/0.XX.Y.cue` matches current date.
78-
- If this needs to be updated commit and squash it in the release branch.
79-
- Follow these steps if the release branch needs to be updated
80-
- [ ] Rebase the release preparation branch on the release branch.
81-
- [ ] Squash the release preparation commits (but not the cherry-picked commits!) to a single
82-
commit. This makes it easier to cherry-pick to master after the release.
83-
- [ ] Merge release preparation branch into the release branch.
84-
- `git switch "${RELEASE_BRANCH}" && git merge --ff-only "${PREP_BRANCH}"`
52+
- [ ] Wait for the Helm chart [Post Release](https://github.com/vectordotdev/helm-charts/actions/workflows/release-post.yml) to complete.
53+
- See [releasing Helm chart](https://github.com/vectordotdev/helm-charts/blob/develop/RELEASING.md).
8554

86-
- [ ] Tag new release
87-
- [ ] `git tag v"${NEW_VECTOR_VERSION}" -a -m v"${NEW_VECTOR_VERSION}"`
88-
- [ ] `git push origin v"${NEW_VECTOR_VERSION}"`
89-
- [ ] Wait for release workflow to complete.
90-
- Discoverable via [release.yml](https://github.com/vectordotdev/vector/actions/workflows/release.yml)
91-
- [ ] Reset the `website` branch to the `HEAD` of the release branch to update https://vector.dev
92-
- [ ] `git fetch origin && git switch website && git reset --hard origin/"${RELEASE_BRANCH}" && git push --force-with-lease`
93-
- [ ] Confirm that the release changelog was published to https://vector.dev/releases/
94-
- Refer to the internal releasing doc to monitor the deployment.
95-
- [ ] Release Linux packages. Refer to the internal releasing doc.
96-
- [ ] Release updated Helm chart. See [releasing Helm chart](https://github.com/vectordotdev/helm-charts/blob/develop/RELEASING.md).
97-
- [ ] Release Homebrew. Refer to the internal releasing doc.
98-
- [ ] Create internal Docker images. Refer to the internal releasing doc.
99-
- [ ] Update the latest [release tag](https://github.com/vectordotdev/vector/releases) description with the release announcement.
100-
- [ ] Create a new PR with title starting as `chore(releasing):`
101-
- [ ] Cherry-pick any release commits from the release branch that are not on `master`, to `master`.
102-
- [ ] Run `cargo vdev build manifests` and commit changes.
103-
- [ ] Bump the release number in the `Cargo.toml` on master to the next minor release.
104-
- [ ] Also, update `Cargo.lock` with: `cargo update -p vector`.
105-
- [ ] If there is a VRL version update, revert it and make it track the git `main` branch and then run `cargo update -p vrl`.
55+
- [ ] Wait for the Helm chart release to push the Kubernetes manifests directly to `master` ([workflow](https://github.com/vectordotdev/vector/actions/workflows/release_manifests.yml)).
56+
- [ ] Wait for the [Unfreeze master](https://github.com/vectordotdev/vector/actions/workflows/release_unfreeze.yml) workflow to finalize the release.

‎.github/ISSUE_TEMPLATE/patch-release.md‎

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,27 @@ export PREP_BRANCH=prepare-v-0-"${CURRENT_MINOR_VERSION}"-"${NEW_PATCH_VERSION}"
5757
- [ ] Manually trigger the `trigger-package-release-pipeline-prod-stable` job.
5858
- [ ] Push the release branch to update the remote (This should close the preparation branch PR).
5959
- `git checkout "${RELEASE_BRANCH}" && git push`
60-
- [ ] Release updated Helm chart. See [releasing Helm chart](https://github.com/vectordotdev/helm-charts#releasing).
61-
- [ ] Once Helm chart is released, updated Vector manifests
62-
- Run `cargo vdev build manifests` and open a PR with changes
63-
- [ ] Add docker images to [https://github.com/DataDog/images](https://github.com/DataDog/images/tree/master/vector) to have them available internally.
64-
- Follow the [instructions at the top of the mirror.yaml file](https://github.com/DataDog/images/blob/fbf12868e90d52e513ebca0389610dea8a3c7e1a/mirror.yaml#L33-L49).
60+
- [ ] Review and squash-merge the Helm release PR, then wait for the chart release.
61+
- The Vector release workflow starts [Helm release preparation](https://github.com/vectordotdev/helm-charts/actions/workflows/release-prepare.yml)
62+
automatically for the latest stable Vector release.
63+
- See [releasing Helm chart](https://github.com/vectordotdev/helm-charts/blob/develop/RELEASING.md) for the review steps.
64+
- [ ] Once the Helm chart is released, wait for the Kubernetes manifests push to `master`.
65+
- The chart release triggers [Refresh Kubernetes manifests](https://github.com/vectordotdev/vector/actions/workflows/release_manifests.yml),
66+
which runs `cargo vdev build manifests` and, when the generated manifests differ,
67+
commits and pushes them to `master` itself as the `vectordotdev-bot` — no PR, no review,
68+
no merge queue. If the run reports no changes, the manifests already match the chart.
69+
- [ ] Wait for the [Unfreeze master](https://github.com/vectordotdev/vector/actions/workflows/release_unfreeze.yml)
70+
workflow to close the direct-push window after the manifests run succeeds.
71+
- It removes the temporary `vectordotdev-bot` **Always** bypass from every ruleset in
72+
`RELEASE_FREEZE_BOT_BYPASS`, then sets the `RELEASE_FREEZE_RULESET_ID` ruleset back to **Disabled**.
73+
It waits for any pending release or manifests run and for open `vectordotdev-bot` PRs first,
74+
and gives up after ten minutes, leaving the freeze active.
75+
- Run it manually with `workflow_dispatch` if the release never starts the manifests workflow, if that
76+
run fails, or to retry a failed closeout.
77+
A manual run makes the same checks unless you set `force`, which closes the window anyway.
78+
6579
- [ ] Cherry-pick any release commits from the release branch that are not on `master`, to `master`
66-
- [ ] Reset the `website` branch to the `HEAD` of the release branch to update https://vector.dev
67-
- [ ] `git fetch origin && git checkout website && git reset --hard origin/"${RELEASE_BRANCH}" && git push --force-with-lease`
80+
- [ ] Wait for the release workflow to reset the `website` branch to the release commit
81+
(`refs/heads/website` is force-pushed to the release branch HEAD) to update
82+
https://vector.dev with the patch release notes
6883
- [ ] Kick-off post-mortems for any regressions resolved by the release

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 6 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,73 +2,28 @@
22
<!-- Please provide a brief summary about what this PR does.
33
This should help the reviewers give feedback faster and with higher quality. -->
44

5+
### References
6+
<!-- Closes: <#issue/#PR or full link> -->
7+
<!-- Related: <#issue/#PR or full link> -->
8+
59
## Vector configuration
610
<!-- Include Vector configuration(s) you used to test and debug your changes. -->
711

812
## How did you test this PR?
913
<!-- Please describe how you tested your changes. Also include any information about your setup. -->
1014

11-
## Change Type
12-
13-
- [ ] Bug fix
14-
- [ ] New feature
15-
- [ ] Dependencies
16-
- [ ] Non-functional (chore, refactoring, docs)
17-
- [ ] Performance
18-
19-
## Is this a breaking change?
20-
21-
- [ ] Yes
22-
- [ ] No
23-
2415
## Does this PR include user facing changes?
2516
<!-- If this PR alters Vector behavior in any way, for example, it adds a new config field or changes internal metrics it is considered a user facing change.
2617
Changes to CI, website, playground and similar are generally not considered user facing -->
2718

2819
- [ ] Yes. Please add a changelog fragment based on our [guidelines](https://github.com/vectordotdev/vector/blob/master/changelog.d/README.md).
2920
- [ ] No. A maintainer will apply the `no-changelog` label to this PR.
3021

31-
## References
32-
33-
<!--
34-
- Closes: #<issue/PR number or link>
35-
-->
36-
<!--
37-
- Related: #<issue/PR number or link>
38-
-->
39-
40-
## Notes
22+
## Contributor Guidelines
4123

4224
- Please read our [Vector contributor resources](https://github.com/vectordotdev/vector/tree/master/docs#getting-started).
4325
- Do not hesitate to use `@vectordotdev/vector` to reach out to us regarding this PR.
44-
- Some CI checks run only after we manually approve them.
45-
- We recommend adding a `pre-push` hook, please see [this template](https://github.com/vectordotdev/vector/blob/master/CONTRIBUTING.md#Pre-push).
46-
- Alternatively, we recommend running the following locally before pushing to the remote branch:
47-
- `make fmt`
48-
- `make check-clippy` (if there are failures it's possible some of them can be fixed with `make clippy-fix`)
49-
- `make test`
26+
- Before pushing, follow our [pre-push guidance](https://github.com/vectordotdev/vector/blob/master/CONTRIBUTING.md#pre-push).
5027
- After a review is requested, please avoid force pushes to help us review incrementally.
5128
- Feel free to push as many commits as you want. They will be squashed into one before merging.
5229
- For example, you can run `git merge origin master` and `git push`.
53-
- If this PR introduces changes Vector dependencies (modifies `Cargo.lock`), please
54-
run `make build-licenses` to regenerate the [license inventory](https://github.com/vectordotdev/vrl/blob/main/LICENSE-3rdparty.csv) and commit the changes (if any). More details on the [dd-rust-license-tool](https://crates.io/crates/dd-rust-license-tool).
55-
56-
57-
<!--
58-
Your PR title must conform to the conventional commit spec:
59-
https://www.conventionalcommits.org/en/v1.0.0/
60-
61-
<type>(<scope>)!: <description>
62-
63-
* `type` = chore, enhancement, feat, fix, docs, revert
64-
* `!` = OPTIONAL: signals a breaking change
65-
* `scope` = Optional when `type` is "chore" or "docs", available scopes https://github.com/vectordotdev/vector/blob/master/.github/workflows/semantic.yml#L31
66-
* `description` = short description of the change
67-
68-
Examples:
69-
70-
* enhancement(file source): Add `sort` option to sort discovered files
71-
* feat(new source): Initial `statsd` source
72-
* fix(file source): Fix a bug discovering new files
73-
* chore(external docs): Clarify `batch_size` option
74-
-->

0 commit comments

Comments
 (0)