Skip to content

Commit

Permalink
doc(konflux-5673): document process for accessing private repo
Browse files Browse the repository at this point in the history
There has been lots of user confusion about how to access pipelines in
private repos from the Integration Test Scenarios.  This document
outlines the process on how to do it and links to the Tekton Git
Resolver documentation, which contains a bit more information on how Git
Resolvers work

Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
  • Loading branch information
14rcole committed Jan 29, 2025
1 parent 4ab00e1 commit 508f3ba
Showing 1 changed file with 71 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
= Access Pipelines and Tasks in Private Repositories

Integration Test Scenarios point to their corresponding pipeline with a link:https://tekton.dev/docs/pipelines/git-resolver/[Git Resolver]. The Git Resolver schema is inherited from Tekton and functions in the same way. Users should create an access token for their repository in link:https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens[Github] or link:https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html[Gitlab] then store that token in a secret in their namespace.

Check failure on line 3 in docs/modules/ROOT/pages/advanced-how-tos/accessing-private-repositories.adoc

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spacing] Keep one space between words in 'way. Users'. Raw Output: {"message": "[RedHat.Spacing] Keep one space between words in 'way. Users'.", "location": {"path": "docs/modules/ROOT/pages/advanced-how-tos/accessing-private-repositories.adoc", "range": {"start": {"line": 3, "column": 217}}}, "severity": "ERROR"}

Once this is done, the Resolver should be updated with the fields `token` and `tokenKey`, which provide the name of the secret and the key within that secret in which the access token is stored.

== Example of Resolver in IntegrationTestScenario

[source,yaml]
.its.yaml

----
apiVersion: appstudio.redhat.com/v1beta2
kind: IntegrationTestScenario
metadata:
name: example-pass
namespace: default
spec:
application: application-sample
contexts:
- description: Application testing
name: application
resolverRef:
resolver: git
params:
- name: url
value: https://github.com/konflux-ci/sample-private-repo
- name: revision
value: main
- name: pathInRepo
value: pipelines/integration_pipeline_pass.yaml
- name: token
value: my-token-secret
- name: tokenKey
value: password
----

== Example of Resolver in Pipeline

This is an example of how tasks in private repos can be accessed with the Git Resolver using the same method as above.

[source,yaml]
.pipeline.yaml

----
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: deploy-and-test
spec:
description: |
Demonstrates the use of Git Resolvers to access tasks in private repos
tasks:
- name: parse-metadata
taskRef:
resolver: git
params:
- name: url
value: https://github.com/konflux-ci/sample-private-repo
- name: revision
value: main
- name: pathInRepo
value: tasks/test_metadata.yaml
- name: token
value: my-token-secret
- name: tokenKey
value: password
params:
- name: SNAPSHOT
value: $(params.SNAPSHOT)
----

0 comments on commit 508f3ba

Please sign in to comment.