1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-02-15 14:04:04 +02:00
sap-jenkins-library/resources/metadata/abapAddonAssemblyKitReserveNextPackages.yaml
tiloKo 1259a32de1
Enable logon to AAKaaS via Certificate (mTLS) (#4860)
* originHash

* analysis output

* first shot

* add cert logon to piper http client

* allow initial user/pw for certificate logon

* credentials -> parameters

* encode user cert in pem

* key as well

* fix unit tests after merge

* other aakaas steps

* 2nd conn in register packages
2024-03-12 14:27:00 +01:00

118 lines
4.9 KiB
YAML

metadata:
name: abapAddonAssemblyKitReserveNextPackages
description: This step determines the ABAP delivery packages (name and type), which are needed to deliver Software Component Versions.
longDescription: |
This step takes the list of Software Component Versions from the addonDescriptor in the commonPipelineEnvironment and determines the ABAP delivery packages.
If a package does not exist yet in the package registry, it is created there. The response contains detail information for this package and a package status, which determines the next actions:
"P": Package was created in the registry; production can be started / continued
"R": Package exists and is already released; production is not needed and will be skipped.
The step waits until the status "P" or "R" is achieved.
The name, type and namespace of each package is written back to the addonDescriptor in the commonPipelineEnvironment.
<br />
For logon you can either provide a credential with basic authorization (username and password) or two secret text credentials containing the technical s-users certificate (see note [2805811](https://me.sap.com/notes/2805811) for download) as base64 encoded string and the password to decrypt the file
<br />
For Terminology refer to the [Scenario Description](https://www.project-piper.io/scenarios/abapEnvironmentAddons/).
spec:
inputs:
secrets:
- name: abapAddonAssemblyKitCredentialsId
description: Credential stored in Jenkins for the Addon Assembly Kit as a Service (AAKaaS) system
type: jenkins
- name: abapAddonAssemblyKitCertificateFileCredentialsId
description: Jenkins secret text credential ID containing the base64 encoded certificate pfx file (PKCS12 format) see note [2805811](https://me.sap.com/notes/2805811)
type: jenkins
- name: abapAddonAssemblyKitCertificatePassCredentialsId
description: Jenkins secret text credential ID containing the password to decrypt the certificate file stored in abapAddonAssemblyKitCertificateFileCredentialsId
type: jenkins
params:
- name: abapAddonAssemblyKitCertificateFile
type: string
description: base64 encoded certificate pfx file (PKCS12 format) see note [2805811](https://me.sap.com/notes/2805811)
scope:
- PARAMETERS
mandatory: false
secret: true
resourceRef:
- name: abapAddonAssemblyKitCertificateFileCredentialsId
type: secret
param: abapAddonAssemblyKitCertificateFile
- name: abapAddonAssemblyKitCertificatePass
type: string
description: password to decrypt the certificate file
scope:
- PARAMETERS
mandatory: false
secret: true
resourceRef:
- name: abapAddonAssemblyKitCertificatePassCredentialsId
type: secret
param: abapAddonAssemblyKitCertificatePass
- name: abapAddonAssemblyKitEndpoint
type: string
description: Base URL to the Addon Assembly Kit as a Service (AAKaaS) system
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
mandatory: true
default: https://apps.support.sap.com
- name: username
type: string
description: User for the Addon Assembly Kit as a Service (AAKaaS) system
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: false
secret: true
- name: password
type: string
description: Password for the Addon Assembly Kit as a Service (AAKaaS) system
scope:
- PARAMETERS
mandatory: false
secret: true
- name: addonDescriptor
type: string
description: Structure in the commonPipelineEnvironment containing information about the Product Version and corresponding Software Component Versions
mandatory: true
scope:
- PARAMETERS
- STAGES
- STEPS
resourceRef:
- name: commonPipelineEnvironment
param: abap/addonDescriptor
- name: maxRuntimeInMinutes
type: int
description: Maximum runtime for status polling in minutes
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
default: 5
- name: pollingIntervalInSeconds
type: int
description: Wait time in seconds between polling calls
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
default: 30
- name: abapAddonAssemblyKitOriginHash
type: string
description: Origin Hash for restricted AAKaaS scenarios
scope:
- PARAMETERS
mandatory: false
secret: true
outputs:
resources:
- name: commonPipelineEnvironment
type: piperEnvironment
params:
- name: abap/addonDescriptor