diff --git a/.ci/scripts/update-integration-testdata.sh b/.ci/scripts/update-integration-testdata.sh new file mode 100755 index 00000000000..c53c01e86bf --- /dev/null +++ b/.ci/scripts/update-integration-testdata.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# +# This script is executed by the automation we are putting in place +# and it requires the git add/commit commands. +# +set -euo pipefail + +echo "~~~ Running mage integration:buildKubernetesTestData" +mage integration:buildKubernetesTestData diff --git a/.ci/updatecli/updatecli-bump-kube-stack.yml b/.ci/updatecli/updatecli-bump-kube-stack.yml new file mode 100644 index 00000000000..f20c9bc6344 --- /dev/null +++ b/.ci/updatecli/updatecli-bump-kube-stack.yml @@ -0,0 +1,62 @@ +--- +name: Bump OpenTelemetry Kube Stack Helm Chart to latest versions + +scms: + elastic-agent: + kind: github + spec: + user: '{{ requiredEnv "GITHUB_ACTOR" }}' + username: '{{ requiredEnv "GITHUB_ACTOR" }}' + owner: '{{ .scm.owner }}' + repository: '{{ .scm.repository }}' + token: '{{ requiredEnv "GITHUB_TOKEN" }}' + commitusingapi: true + branch: '{{ .scm.branch }}' + force: false + + +actions: + elastic-agent: + kind: github/pullrequest + scmid: elastic-agent + spec: + automerge: false + labels: + - backport-active-9 + - dependencies + - skip-changelog + - Team:Elastic-Agent-Control-Plane + title: '[otel/kube-stack] Update the OpenTelemetry Kube Stack Helm Chart to latest versions' + description: | + Update the versions of the OpenTelemetry Kube Stack Helm Chart being used in the OpenTelemetry Onboarding configuration. + +sources: + opentelemetry-kube-stack-helm: + name: "Get latest OpenTelemetry Kube Stack Helm Chart release" + kind: helmchart + spec: + url: https://open-telemetry.github.io/opentelemetry-helm-charts + name: opentelemetry-kube-stack + +targets: + update-tested-kube-stack: + name: "Update tested OpenTelemetry Kube Stack Helm Chart in k8s.go" + kind: file + scmid: elastic-agent + sourceid: opentelemetry-kube-stack-helm + spec: + file: "testing/integration/k8s/k8s.go" + matchpattern: '(KubeStackChartVersion\s*=\s)".*"' + replacepattern: '$1"{{ source "opentelemetry-kube-stack-helm" }}"' + + update-testdata: + name: 'Update local OpenTelemetry Kube Stack Helm Chart files' + dependson: + - update-tested-kube-stack + scmid: elastic-agent + kind: shell + spec: + command: /home/neck/Documents/github/rogercoll/elastic-agent/.ci/scripts/update-integration-testdata.sh + environments: + - name: PATH + - name: HOME diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0eb263b23d5..9cdfc153f25 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -13,6 +13,7 @@ changelog/fragments/ /.buildkite @elastic/elastic-agent-control-plane @elastic/observablt-ci /.ci @elastic/elastic-agent-control-plane @elastic/observablt-ci /.ci/scripts/ecp-internal-release.sh @elastic/elastic-agent-control-plane +/.ci/scripts/update-integration-testdata.sh @elastic/elastic-agent-control-plane /.ci/scripts/update-otel.sh @elastic/elastic-agent-control-plane /.github @elastic/elastic-agent-control-plane @elastic/observablt-ci /.github/CODEOWNERS @elastic/ingest-tech-lead diff --git a/.github/workflows/bump-kube-stack-version.yml b/.github/workflows/bump-kube-stack-version.yml new file mode 100644 index 00000000000..9394fb22c38 --- /dev/null +++ b/.github/workflows/bump-kube-stack-version.yml @@ -0,0 +1,42 @@ +--- +name: bump-kube-stack-version + +on: + workflow_dispatch: + schedule: + - cron: "0 20 * * 1-6" + +permissions: + contents: read + +env: + JOB_URL: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + +jobs: + bump: + permissions: + contents: write + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + + - name: Install mage + uses: magefile/mage-action@6f50bbb8ea47d56e62dee92392788acbc8192d0b # v3.1.0 + with: + version: v1.14.0 + install-only: true + + - uses: elastic/oblt-actions/updatecli/run@v1 + with: + command: apply --config .ci/updatecli/updatecli-bump-kube-stack.yml --values .ci/updatecli/values.d/scm.yml + version-file: .updatecli-version + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - if: ${{ failure() }} + uses: elastic/oblt-actions/slack/send@v1 + with: + bot-token: ${{ secrets.SLACK_BOT_TOKEN }} + channel-id: "#ingest-notifications" + message: ":traffic_cone: updatecli failed for `${{ github.repository }}@${{ github.ref_name }}`, `@agent-team` please look what's going on <${{ env.JOB_URL }}|here>"