Commit Graph
139 Commits
Author SHA1 Message Date
Jordi van Liempt aa1e67547a chore(trustengine): Rename Trust Engine to System Trust in logs and docs (#5210)
* rename Trust Engine to System Trust

* Revert "rename Trust Engine to System Trust"

This reverts commit 66d4680324.

* rename Trust Engine to System Trust in logs and docs
2024-12-19 13:31:42 +00:00
ValentinandValentin dfd947b7e1 Update go version to 1.23 and removed some helper methods in favor of STD library (#5200)
* update go version

* fix go vet errors

* replaces stringutils with slices std package

* added slices package

* 1.22.4 to 1.23.4

---------

Co-authored-by: Valentin <valentin.uchkunev@sap.com>
2024-12-12 17:32:12 +02:00
maxcask 97049db02f fix passing default params to Central Build stage steps (#5199)
* duplicate config for Build name leave go changes only
2024-12-09 10:44:44 +04:00
Googlom 53838c0ecc disable trust engine lookup on missing token (#5196) 2024-12-02 17:38:53 +05:00
91823b9e08 fix(config): move Central Build stage config to Build stage for custom defaults (#5182)
* rename stage on ApplyAliasConfig func rename stage after applying alias

---------

Co-authored-by: maxcask <maxcask@gmail.com>
Co-authored-by: Googlom <alimovgb@gmail.com>
2024-11-27 11:48:54 +04:00
GooglomandChristopher Fenner 5c47be3f8f refactor(vault): Refactor vault package (#5148)
* move to old package

* go mod

* remove old

* refactor done

* Update pkg/vault/oidc.go

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* commit suggestions

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* commit suggestions

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* commit suggestions

---------

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2024-10-22 13:29:34 +05:00
4eb1756b54 fix(Central Build): Fix handling legacy stage name for Jenkins pipelines (#5151)
* add handle stageName

* some improvements

---------

Co-authored-by: maxcask <maxcask@gmail.com>
Co-authored-by: Googlom <alimovgb@gmail.com>
Co-authored-by: Googlom <36107508+Googlom@users.noreply.github.com>
2024-10-21 12:23:50 +04:00
Googlom af05acad58 feat(events): Publish events to GCP PubSub by each step (#5122)
* test

* test

* draft

* generator

* some polishing

* go mod tidy

* fix unit

* fix unit

* fix unit

* fix unit

* fix unit

* resolve review comments

* resolve review comments

* add debug message on successful publish

* refactor to use global vault client

* cleanup

* rename

* clenup

* refactor

* remove token revocation

* handle nil vaultClient and add comments

* feat(events): Publish events (generated part) (#5131)

* add generated

* add generated

* refactor vaultClient usage

* fix unit tests

* fix unit tests

* fix
2024-10-11 14:55:39 +05:00
Oliver Nocon ef25e31acb fix(vault): properly consider vault parameters & flags (#5118) 2024-10-04 09:33:53 +02:00
af5b738982 feat(trustengine): Integrate Trust Engine into step config resolver (#5032)
* trust engine config and handelling for vault

* add function for resolving trust engine reference

* refactor

* add basic test

* adapt to new trust engine response format

* remove accidental cyclic dependency

* move trust engine hook config

* refactor by separating code from vault

* move trust engine files to own pkg

* adapt to changes of previous commit

* log full error response of trust engine API

* enable getting multiple tokens from trustengine

* remove comment

* incorporate review comments

* go generate

* update unit tests

* apply suggested changes from code review

* fix unit tests

* add unit tests for config pkg

* make changes based on review comments

* make trust engine token available in GeneralConfig and minor fixes

* fix error logic when reading trust engine hook

* make getResponse more flexible and update logging

* update resource reference format

* improve URL handling

* improve logging

* use errors.Wrap() instead of errors.Join()

* update log messages based on suggestions

* remove trustengine resource ref from Sonar step

---------

Co-authored-by: Keshav <anil.keshav@sap.com>
Co-authored-by: jliempt <>
2024-09-11 15:20:28 +02:00
Googlom a564a121a6 fix vaultDisableOverwrite handling (#4990) 2024-07-23 15:43:24 +05:00
Christopher Fenner 0ca2f72699 chore(mockery): add mockery configuration (#4941)
* update mockery config

* update mockery config

* rename mockery config

* update existing mocks

* update mockery config

* update mockery config

* move cmd mocks to cmd pkg

* add hadolint mocks to config

* use moved files

* remove comment
2024-06-04 13:40:35 +02:00
Oliver NoconandJk1484 22ff5717b3 fix(vault): consider vault flags (#4486)
* fix(vault): consider vault flags

* fix problem introduced with merge conflict resolution

---------

Co-authored-by: Jk1484 <35270240+Jk1484@users.noreply.github.com>
2024-06-03 12:45:07 +05:00
Tilo Körner ac55ddf525 support trustedCerts for cloneGitRepo (#4909)
* support trustedCerts for cloneGitRepo

* some more steps

* Update sap_com_0948.go

* remove warning for config value type

* updated description for certificateNames

* go generate artifacts

* variable order and space in "[]interface {}"
2024-05-10 08:58:46 +02:00
f5fbb7e9d9 feat(vault): Facilitate Vault OIDC token (#4916)
* add functionality to retrieve Vault OIDC token

* fix tests for now

* update error

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* implement commented tests

* run mockery for config pkg

---------

Co-authored-by: jliempt <>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2024-05-07 12:19:39 +00:00
tiloKo 40693d30cd config.go, more space in warning (#4921) 2024-05-07 13:20:22 +02:00
Googlom 150560db9e feature(httpReadFile): Add headers to download from github release assets (#4826) 2024-02-20 09:35:41 +01:00
Vyacheslav Starostin 4e3fa38dd3 Clean-up checkIfStepActive (#4814)
* Clean-up checkIfStepActive

* Mark --useV1 deprecated

* Clean up tests

* Update test

* Add warning message

* Update warning msg
2024-02-08 15:43:26 +06:00
Anil Keshav c2343b19b8 including conditions when starting side cars docker containers (#4815)
* including conditions for side cars and also default context

* docu typo error
2024-02-06 14:54:49 +01:00
Jk1484 5b68fc6095 throw a warning if value of a config is of the wrong type (#4700) 2024-01-10 15:02:11 +05:00
Adam HoracekandMuhammadali Nazarov a5ea24dfb0 feat(configs): vaultCredentialEnvPrefix to support several prefixes (#4745)
* feat(configs): vaultCredentialEnvPrefix to support several prefixes

* minor refactoring

* docs

---------

Co-authored-by: Muhammadali Nazarov <muhammadalinazarov@gmail.com>
2024-01-09 13:07:53 +05:00
Jordi van Liempt 0b585ed932 Revert "Fix sidecar conditionals (#4672)" (#4727)
This reverts commit cd8c93ea6c.
2023-12-18 16:01:33 +01:00
cd8c93ea6c Fix sidecar conditionals (#4672)
* fix sidecar conditionals

Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>

* Fix unit tests

Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>

* Consider parameter used in conditions of sidecars

Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>

---------

Co-authored-by: Johannes Dillmann <j.dillmann@sap.com>
Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>
2023-12-18 16:03:58 +04:00
6efb21b30b Add support for volume mounts (#4673)
* Add support for volume mounts

* Adatpt unit test to include VolumeMounts

Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>

* Only accept volumeMounts with the name volume

---------

Co-authored-by: Johannes Dillmann <j.dillmann@sap.com>
Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>
Co-authored-by: Anil Keshav <anil.keshav@sap.com>
2023-12-01 13:33:08 +01:00
Christopher Fenner 20e1fb53aa chore(vault): structure vault logs (#4627)
* structure vault logs

* Update client.go
2023-10-11 10:14:31 +02:00
0ba4c2206c chore(deps): Replace io/ioutil package (#4494)
* update all deprecated ioutil usages

* forgotten changes

* add missing imports

* undo changing comment

* add missing 'os' import

* fix integration test

---------

Co-authored-by: I557621 <jordi.van.liempt@sap.com>
Co-authored-by: Gulom Alimov <gulomjon.alimov@sap.com>
2023-08-16 12:57:04 +02:00
8c863e457f sapCumulusUpload step deactivation if its the only active step in stage (#4476)
* implement deactivation logic

* add step condition field

* add unit test and fix evaluateConditions

* add unit test for v1 and fix evaluateConditionsV1

* rollback old evaluator

* rollback v1 evaluator

* move into notActiveCondition and fix unit tests

* add a comment about sapCumulusUpload step

* optimize evaluateConditionsV1 parameters and map memory allocation

* refactor unit tests and add more test cases

* evaluateConditionsV1 refactored

---------

Co-authored-by: Gulom Alimov <gulomjon.alimov@sap.com>
Co-authored-by: Jordi van Liempt <35920075+jliempt@users.noreply.github.com>
2023-08-10 16:11:33 +05:00
Christopher FennerandAnil Keshav 2be4461cde Update vault.go (#4464)
Co-authored-by: Anil Keshav <anil.keshav@sap.com>
2023-07-14 09:50:20 +02:00
Jk1484andJordi van Liempt 27c3c3c4c7 feat(vault): support for multiple general purpose credential paths (#4360)
* created wrapper

* tests added

* update documentation

* tests data race fix

---------

Co-authored-by: Jordi van Liempt <35920075+jliempt@users.noreply.github.com>
2023-05-22 10:49:28 +02:00
ffc931aad1 feat(golangBuild): use 'unit' build tag to include tests during test execution (#4345)
* Added unit tag as argument. Added description to runTests command. Changed code generator to have unit build tag in generated unit test files.

* Added unit build tag to all unit test files.

* added to new unit test unit build tag

* Update verify-go.yml

* small fix

---------

Co-authored-by: Muhammadali Nazarov <Muhammadali.Nazarov@acronis.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2023-05-03 21:02:11 +05:00
Christopher Fenner 99603cdee9 chore(tests): correct test assertions (#4276) 2023-04-11 23:15:00 +02:00
tiloKoandffeldmann 126fbbcc69 reduce Log Output (Info -> Debug) (#4322)
Co-authored-by: ffeldmann <f.feldmann@sap.com>
2023-04-06 08:31:22 +02:00
81d9a0ac8c feat(cnbBuild): support Vault general purpose secrets as a binding content source (#4281)
* feat(cnbBuild): support Vault general purpose secrets as a binding content source

Co-authored-by: Pavel Busko <pavel.busko@sap.com>

* fix npm project integration test

Co-authored-by: Pavel Busko <pavel.busko@sap.com>

---------

Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>
Co-authored-by: Sumit Kulhadia <sumit.kulhadia@sap.com>
2023-03-31 09:36:59 +02:00
402c6085c9 feat(checkIfStepActive): enhance with pipelineEnvironmentFilled condition (#3975)
* add CommonPipelineEnvironmentVariableExists to StepCondition

* add CPE variable existance check to checkIfStepActive

* refactor getCPEEntry()

* condition type -> string

* rename CPE filled condition

* rename CPE condition

Co-authored-by: I557621 <jordi.van.liempt@sap.com>
Co-authored-by: Anil Keshav <anil.keshav@sap.com>
2022-08-29 13:44:32 +02:00
Oliver Nocon 85b277c7c6 fix: register base64 encoded secret (#3973)
fixes #3908
2022-08-16 17:52:20 +02:00
Ashly MathewandRaman Susla 374cdb777b fix(checkIfStepActive): nested key logic (#3939)
* fix(checkIfStepActive): nested key logic

Co-authored-by: Raman Susla <raman_susla@epam.com>
Co-authored-by: Ashly Mathew <ashly.mathew@sap.com>
2022-08-12 09:02:15 +02:00
Oliver NoconandAnil Keshav 73f7d61743 fix: remove side-effects of #3875 (#3928)
with #3875 temp directory was created in current workspace.
This had negative side-effects: For example npm build packaged and published temporary files

Co-authored-by: Anil Keshav <anil.keshav@sap.com>
2022-08-04 09:20:59 +02:00
Eng Zer JunandOliver Nocon 0f4e30e9db test: use T.TempDir to create temporary test directory (#3721)
This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.

Prior to this commit, temporary directory created using `ioutil.TempDir`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
	defer func() {
		if err := os.RemoveAll(dir); err != nil {
			t.Fatal(err)
		}
	}
is also tedious, but `t.TempDir` handles this for us nicely.

Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2022-07-12 15:19:12 +02:00
raman-susla-epam 6bc96faba9 Update vault.go (#3875) 2022-07-05 16:20:53 +02:00
Martin ZuberandAnil Keshav 1cb1a203cb Support custom general purpose vault credentials without prefix. (#3779)
Co-authored-by: Anil Keshav <anil.keshav@sap.com>
2022-06-27 09:24:52 +02:00
eb73cae888 feat(getDefaults): add parameter for CRD-style config (#3736)
* export LoadConditionsV1() in config pkg

* getDefaults: read stage conditions as PipelineDefinitionV1

* add getDefaults useV1 tests

* add comment (pointed out by code climate analysis)

* small addition to comment (from previous commit)

Co-authored-by: I557621 <jordi.van.liempt@sap.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2022-04-19 12:34:40 +02:00
818636b048 feat (checkIfStepActive) including cpe conditions to check if a step is active / not active (#3642)
* including cpe struct

* evaluating types

* adding environment root path

* unit tests

Co-authored-by: anilkeshav27 <you@example.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2022-03-17 12:09:16 +01:00
Christian Volk 58b30cc99b fix(golangBuild): publishing of binaries (#3643) 2022-03-17 11:07:51 +01:00
Maurice BreitandOliver Nocon 9f2d8a70b1 (fix) match regexes in sliceContains to support vaultSecretNames (#3618)
* (fix) match regexes in sliceContains to support vaultSecretNames

* add test for regex matching in sliceContains

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2022-03-17 09:41:51 +01:00
Oliver Nocon 504f076613 feat: support cpe credentials for multiple repos (#3641) 2022-03-17 08:01:00 +01:00
157f6d4e35 feat (checkIfStepActive) enhance to include not active conditions (#3616)
* including negative conditions

* clean up and todos

* removing debug logging

* clean up

* fix unit test name

* fixing unit tests

* negative stage test

Co-authored-by: anilkeshav27 <you@example.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2022-03-10 13:35:28 +01:00
Christian Volk b9c0aa008f feat(piperExecuteBin): support running images from private docker registries (#3622) 2022-03-09 17:35:57 +01:00
Philipp StehleandRalf Pannemans 4c18f2a128 feat: Add support for deprecating step parameters (#3554)
this was already used in fortifyExecuteScan, but had no effect.

Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>

Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>
2022-02-23 15:16:05 +01:00
e7db09db12 feat(cnbBuild): added dockerimage to the telemetry data (#3501)
Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>
Co-authored-by: Sumit Kulhadia <sumit.kulhadia@sap.com>
Co-authored-by: Johannes Dillmann <j.dillmann@sap.com>
2022-02-16 13:28:51 +01:00
Oliver Nocon 2ae1d9dac1 feat(kanikoExecute): allow building multiple images (#3443)
* feat(kanikoExecute): allow building multiple images

* enhance tests

* chore: allow running tests in parallel

* small fixes

* fix: fix destination bug

* update formatting and defaults

* fix yml formatting

* chore: change cpe parameter names

* chore: improve variable naming
2022-02-07 07:58:41 +01:00