Skip to content
New issue

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

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

Already on GitHub? # to your account

Added multiarch build support for Teleport #17597

Merged
merged 65 commits into from
Oct 31, 2022

Conversation

fheinecke
Copy link
Contributor

@fheinecke fheinecke commented Oct 19, 2022

This is part two of a series of PRs updating drone/dronegen to support multiarch builds.

The primary purpose of this PR is to add multiarch Teleport container images. This includes amd64, arm, and arm64 images under the $MAJOR_VERSION tag on each release.

Due to the complexity of how we handle building and publishing container images this PR includes a number of other changes:

  • Removed old/unneeded Makefile targets that pertain to building images.
  • Reduced the number of Dockerfiles that are involved with building images from four to one consistent, unified file.
  • Moved all Teleport OSS/Enterprise/FIPS CI/CD related image building logic into dronegen and the new "unified" Dockerfile. Previously this logic was spread across two repos, two makefiles, a few dozen makefile targets, four Dockerfiles, Dronegen, and lots of manual entries in .drone.yml
  • Updated makefiles to use the new Dockerfile
  • Refactored several makefile targets to support local archive building, deb building, and image building from source

After this PR is merged I will open a final PR for Teleport Lab.

Related PR:

Test runs prior to merging PR:

@github-actions
Copy link

@fheinecke - this PR is large and will require admin approval to merge. Consider breaking it up into a series smaller changes.

@fheinecke fheinecke linked an issue Oct 19, 2022 that may be closed by this pull request
@fheinecke
Copy link
Contributor Author

fheinecke commented Oct 19, 2022

Note to reviewers: I'll be deploying a series of commits to test this PR in Drone itself. For now please ignore any commits after d288768.

This also removes the following pipelines:

  • build-docker-images
  • promote-docker-ecr
  • promote-docker-quay

The following pipelines have been manually edited (not in dronegen):

  • teleport-docker-cron-ecr
  • teleport-docker-cron

@fheinecke fheinecke requested review from r0mant and logand22 October 19, 2022 20:03
@fheinecke fheinecke force-pushed the fred/multiarch-teleport-actual-container-images branch 2 times, most recently from 6c9f4d9 to d288768 Compare October 19, 2022 20:17
@fheinecke
Copy link
Contributor Author

fheinecke commented Oct 19, 2022

Found at least one logic bug related to building image at tag time. Working on it now. Fixed

@fheinecke
Copy link
Contributor Author

@wadells @r0mant @logand22 This is ready for a (hopefully) final review. All testing changes have been reverted. See PR main comment for a link to drone test runs. Images are also available for testing here:

@fheinecke fheinecke enabled auto-merge (squash) October 31, 2022 03:49
@fheinecke fheinecke requested a review from wadells October 31, 2022 03:53
@r0mant r0mant dismissed wadells’s stale review October 31, 2022 15:11

Walt is on leave and his feedback was implemented.

@fheinecke fheinecke merged commit 1472e9c into master Oct 31, 2022
fheinecke added a commit that referenced this pull request Nov 8, 2022
* Added multiarch build support for teleport-operator (#16688)

* Added multiarch build support for Teleport (#17597)

* Added product min version
fheinecke added a commit that referenced this pull request Nov 14, 2022
* Added multiarch build support for teleport-operator (#16688)

* Added multiarch build support for Teleport (#17597)

* Fix cron jobs updating teleport operator on v9

* Linter fix

* Disabled promote prerelease check

* Linter fix

* Resigned drone.yml after merge

* Removed accidentally added pipline due to branch merge
fheinecke added a commit that referenced this pull request Nov 14, 2022
* Added multiarch build support for teleport-operator (#16688)

* Added multiarch build support for Teleport (#17597)

* Added product min version

* Linter fix

* Disabled promote prerelease check

* Linter fix

* Resigned .drone.yml after merge
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Request: ARM container builds
4 participants