-
Notifications
You must be signed in to change notification settings - Fork 90
Add docker images built using FIPS binaries #897
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
base: master
Are you sure you want to change the base?
Conversation
🔍 Code Analysis Results1. Change Impact AnalysisWhat this PR accomplishesThis pull request introduces the capability to build and release FIPS-compliant, multi-architecture Docker images for Key Technical ChangesThe core of the changes lies in the CI/CD configuration files:
Affected System Components
2. Architecture VisualizationThe following diagram illustrates the updated build and release process for FIPS-compliant Docker images. flowchart TD
subgraph "GoReleaser Build Process"
A[Trigger Release] --> B{Build Binaries};
B --> C1[Build fips-amd64];
B --> C2[Build fips-arm64];
B --> C3[Build fips-s390x];
end
subgraph "Docker Image Creation (via buildx)"
C1 --> D1[Create tyk-pump-fips:tag-fips-amd64 Image];
C2 --> D2[Create tyk-pump-fips:tag-fips-arm64 Image];
C3 --> D3[Create tyk-pump-fips:tag-fips-s390x Image];
end
subgraph "Docker Manifest Publication"
D1 --> E{Combine into Multi-Arch Manifest};
D2 --> E;
D3 --> E;
E -- "tykio/tyk-pump-fips:tag-fips" --> F[Push to Container Registry];
end
subgraph "End User"
G[User on amd64] -- "docker pull" --> F;
H[User on arm64] -- "docker pull" --> F;
I[User on s390x] -- "docker pull" --> F;
end
style F fill:#cde4ff,stroke:#333,stroke-width:2px
This diagram shows how GoReleaser now builds binaries for three different architectures in parallel. Each binary is then used to create a platform-specific Docker image. Finally, these individual images are linked together by a single multi-architecture manifest, which is pushed to the container registry. This allows users on any of the supported platforms to pull the correct image using a single, consistent tag. Powered by Visor from Probelabs Last updated: 2025-10-01T08:24:02.596Z | Triggered by: opened | Commit: 2bf9ec9 |
🔍 Code Analysis ResultsSecurity Issues (1)
Performance Issues (2)
Quality Issues (1)
Style Issues (1)
|
Description
Auto generated changes by gromit to add fips compliant docker images to releases. These changes are in response to a customer request for fips compliant docker images. These are provided by using our existing fips binaries in a distroless image. THESE ARE NOT FIPS VALIDATED IMAGES. Tyk's FIPS documentation has been updated as a result of this request.
Related Issue
see this ticket. A PR has also been made against branch
masterontyk-sinkMotivation and Context
These images were request to be included in regular releases by a client.
How This Has Been Tested
goreleaser was run locally, everything seems okay a fips image is built using the fips binary. More end to end testing is needed with the other fips components.
Types of changes
Checklist
fork, don't request your
master!masterbranch (left side). Also, you should startyour branch off our latest
master.go mod tidy && go mod vendorgo fmt -sgo vet