[ 
https://ovirt-jira.atlassian.net/browse/OVIRT-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35768#comment-35768
 ] 

Barak Korren commented on OVIRT-1867:
-------------------------------------

Here is an implementation scheme that can meet [~rm...@redhat.com]'s UX 
requirements while still allowing STDCI projects to be portable between CI 
systems.

First, we adopt or setup an online credentials storage service that has the 
following features:
# It has a UI where users can login and upload or download credentials
# It has functionality where it can generate key pairs while storing the 
private key and making the public key visible.
# It supports a oAuth-like flow where a system can request access to certain 
credentials and the user can confirm or deny it.

Second, we write a secrets provider that allows the user to refer to a set of 
credentials in the service above (As well as the service itself). When trying 
to provide the secrets, the system would request access via the credentials 
storage service.

Third, we write an STDCI service that encapsulates the special-case flow where 
we get a private key from the secrets provider and use it tio decrypt files 
from the Git repo.

> Allow embedded secrets inside the source repo for CI
> ----------------------------------------------------
>
>                 Key: OVIRT-1867
>                 URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1867
>             Project: oVirt - virtualization made easy
>          Issue Type: New Feature
>          Components: Standard CI (Pipelines), STDCI DSL
>            Reporter: Roman Mohr
>            Assignee: infra
>              Labels: credentials
>
> In order to improve the self-service capabilities of standard-ci it is
> important for projects, that they can add their own secrets to projects (to
> reach external services, e.g. docker hub, ...).
> Travis has a very nice system which helps engineers there:
> https://docs.travis-ci.com/user/encryption-keys/
> Basically the CI system needs to generate a public/private key pair for
> every enabled git repo. The engineer simply fetches the public key via a
> well know URL and encrypts the secrets. Then the encrypted secret can be
> made part of the source repo. Before the tests are run the CI system
> decrypts the secrets. Than can play together pretty well with Jenkinsfiles
> too.
> Benefit:
>  * Less manual intervention from CI team to add secrets to jobs
>  * Strengthen the config-in-code thinking



--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100079)
_______________________________________________
Infra mailing list
Infra@ovirt.org
http://lists.ovirt.org/mailman/listinfo/infra

Reply via email to