Skip to content

Add Pipeline to deploy custom agent image for FIPS testing #8035

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 60 commits into from
Jun 9, 2025

Conversation

michel-laterman
Copy link
Contributor

@michel-laterman michel-laterman commented Apr 29, 2025

What does this PR do?

Add a new buildkite pipeline to build a custom agent image and use it in an ECH deployment for testing.

Why is it important?

FIPS integration tests will require a custom agent running in the CFT region.

Checklist

  • I have read and understood the pull request guidelines of this project.
  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in ./changelog/fragments using the changelog tool
  • I have added an integration test or an E2E test

Disruptive User Impact

N/A

@michel-laterman michel-laterman added enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team backport-8.19 Automated backport to the 8.19 branch labels Apr 29, 2025
@michel-laterman
Copy link
Contributor Author

buildkite test this

@michel-laterman
Copy link
Contributor Author

@v1v @pazone, can you take a look at this, we need permissions in order to push a custom image to use in the CFT region

denied: requested access to the resource is denied
--
  | Error: Failed pushing docker image: running "docker image push docker.elastic.co/observability-ci/elastic-agent-fips:git-b84b80343415" failed with exit code 1

@v1v
Copy link
Member

v1v commented May 8, 2025

| Error: Failed pushing docker image: running "docker image push docker.elastic.co/observability-ci/elastic-agent-fips:git-b84b80343415" failed with exit code 1

Can you share the URL link to the error?

I'm not familiar with the current user and namespace, but as far as I see, those details are stored at https://github.com/elastic/elastic-agent/blob/aa224536eadf49f8b9b962df240c0caa4861970e/.buildkite/hooks/pre-command#l17.

However, I think you need to configure the pre-command hook to run for the new BK pipelines:

  • if [[ "$BUILDKITE_PIPELINE_SLUG" == "elastic-agent-package" ]]; then
    if [[ "$BUILDKITE_STEP_KEY" == "package_elastic-agent" ]]; then
    docker_login
    fi
    if [[ "$BUILDKITE_STEP_KEY" == "dra-publish" || "$BUILDKITE_STEP_KEY" == "bk-api-publish-independent-agent" ]]; then
    release_manager_login
    fi
    fi
    is the settings for the elastic-agent-package BK pipeline.

I see you have enabled the pre-command for the new step

@michel-laterman michel-laterman marked this pull request as ready for review May 9, 2025 18:48
@v1v
Copy link
Member

v1v commented Jun 9, 2025

Updatecli tests

$ gh pr checkout 8035
$ git checkout -b test/fips-ech-updatecli
$ git push origin test/fips-ech-updatecli
$ # modify .ci/updatecli/values.d/scm.yml to use my fork
$ GITHUB_TOKEN=$(gh auth token) \                      
  GITHUB_ACTOR=v1v \
  BRANCH_NAME=test/fips-ech-updatecli updatecli apply \ 
    --config .ci/updatecli/updatecli-bump-vm-images.yml \
    --values .ci/updatecli/values.d/scm.yml
diff --git a/.ci/updatecli/values.d/scm.yml b/.ci/updatecli/values.d/scm.yml
index 2708262728..c01cb89d50 100644
--- a/.ci/updatecli/values.d/scm.yml
+++ b/.ci/updatecli/values.d/scm.yml
@@ -1,8 +1,8 @@
 scm:
   enabled: true
-  owner: elastic
+  owner: v1v

Produced v1v#9

Copy link
Member

@v1v v1v left a comment

Choose a reason for hiding this comment

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

LGTM, with some minor comments

Copy link
Member

@v1v v1v left a comment

Choose a reason for hiding this comment

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

LGTM, the questions I asked earlier are not blockers, but likely something to be done in follow-up

Copy link
Member

@v1v v1v left a comment

Choose a reason for hiding this comment

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

LGTM, the questions I asked earlier are not blockers, but likely something to be done in follow-up

@elasticmachine
Copy link
Collaborator

elasticmachine commented Jun 9, 2025

💛 Build succeeded, but was flaky

Failed CI Steps

History

cc @michel-laterman

Copy link

@michel-laterman michel-laterman merged commit 5908ed2 into elastic:main Jun 9, 2025
11 checks passed
mergify bot pushed a commit that referenced this pull request Jun 9, 2025
Add a new buildkite pipeline to build a custom agent image and use it in an ECH deployment for testing.
Run FIPS integration tests on VMs with a FIPS provider.

(cherry picked from commit 5908ed2)

# Conflicts:
#	testing/integration/fleetserver_fips_test.go
@michel-laterman michel-laterman deleted the fips-ech branch June 9, 2025 19:44
michel-laterman added a commit that referenced this pull request Jun 10, 2025
Add a new buildkite pipeline to build a custom agent image and use it in an ECH deployment for testing.
Run FIPS integration tests on VMs with a FIPS provider.

(cherry picked from commit 5908ed2)
michel-laterman added a commit that referenced this pull request Jun 10, 2025
… FIPS testing (#8415)

* Add Pipeline to deploy custom agent image for FIPS testing (#8035)

Add a new buildkite pipeline to build a custom agent image and use it in an ECH deployment for testing.
Run FIPS integration tests on VMs with a FIPS provider.

(cherry picked from commit 5908ed2)

* Fix pre-command to support extended testing (#8418)

(cherry picked from commit 97246c1)

---------

Co-authored-by: Michel Laterman <82832767+michel-laterman@users.noreply.github.com>
v1v added a commit that referenced this pull request Jun 12, 2025
…ts-oblt-cli

* feature/serverless-its-oblt-cli: (51 commits)
  as agreed let's move the group to the kb.integration pipeline
  Update .github/workflows/serverless-project.yml
  ci: invoke serverless integration tests package from BK
  github-actions: create a serverless project daily
  [tests] split up serverless and resource leaks integration tests (#8396)
  chore: Update to elastic/beats@dfdc12e33de0 (#8446)
  Lock upgrade marker (#8254)
  build(deps): bump github.com/elastic/elastic-agent-system-metrics from 0.11.12 to 0.11.13 (#8420)
  Add docker image name template and renamed fips cloud specs (#8429)
  buildkite(scripts): refactor common scripts (#8365)
  Use require.Eventually to try and address flakiness (#8421)
  Fix pre-command to support extended testing (#8418)
  [Automation] Bump Golang version to 1.24.4 (#8384)
  chore: Update to elastic/beats@aed2a8b768bd (#8423)
  [main][Automation] Update versions (#8425)
  Add Pipeline to deploy custom agent image for FIPS testing (#8035)
  ci: automatically update OTel components (#8288)
  [Automation] Bump VM Image version to 1749258065 (#8390)
  fix: increase context timeout to accommodate for slower machines in Test_checkForUnprivilegedVault (#8374)
  otel: add cumulativetodeltaprocessor to EDOT collector (#8372)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-8.19 Automated backport to the 8.19 branch enhancement New feature or request skip-changelog Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants