You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
onError=flag.String("on_error", "", "Set to \"continue\" to ignore an error and continue when a container terminates with a non-zero exit code."+
60
57
" Set to \"stopAndFail\" to declare a failure with a step error and stop executing the rest of the steps.")
61
58
stepMetadataDir=flag.String("step_metadata_dir", "", "If specified, create directory to store the step metadata e.g. /tekton/steps/<step-name>/")
62
-
enableSpire=flag.Bool("enable_spire", false, "If specified by configmap, this enables spire signing and verification")
63
-
socketPath=flag.String("spire_socket_path", "unix:///spiffe-workload-api/spire-agent.sock", "Experimental: The SPIRE agent socket for SPIFFE workload API.")
64
-
resultExtractionMethod=flag.String("result_from", featureFlags.ResultExtractionMethodTerminationMessage, "The method using which to extract results from tasks. Default is using the termination message.")
59
+
resultExtractionMethod=flag.String("result_from", entrypoint.ResultExtractionMethodTerminationMessage, "The method using which to extract results from tasks. Default is using the termination message.")
FIPS compliance requires compiling the project with a Go FIPS-compliant compiler (e.g., golang-fips) and using dynamic linking.
3
+
4
+
This approach works for most binaries in tektoncd/pipeline, except for the entrypoint, which must be statically compiled to ensure it runs in any environment, regardless of library locations or versions. To mark a statically compiled binary as FIPS compliant, we must eliminate cryptographic symbols (crypto/*, golang.org/x/crypto, etc.).
5
+
6
+
To achieve this, we need compile-time options to disable TLS, SPIRE, and any network-related functionality.
7
+
8
+
This document provides instructions on compiling the entrypoint command to ensure FIPS compliance.
9
+
10
+
## Disable SPIRE during Build
11
+
To disable SPIRE during the build process, use the following command
12
+
13
+
```shell
14
+
CGO_ENABLED=0 go build -tags disable_spire -o bin/entrypoint ./cmd/entrypoint
Copy file name to clipboardexpand all lines: go.mod
+6-7
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,14 @@
1
1
modulegithub.com/tektoncd/pipeline
2
2
3
3
go1.22.7
4
-
5
4
toolchaingo1.23.4
6
5
7
6
require (
8
7
github.com/Microsoft/go-winiov0.6.2// indirect
9
8
github.com/ahmetb/gen-crd-api-reference-docsv0.3.1-0.20220720053627-e327d0730470// Waiting for https://github.com/ahmetb/gen-crd-api-reference-docs/pull/43/files to merge
0 commit comments