To configure a Tekton service account with a secret for basic authentication, follow these steps:

  1. Create a Secret: This secret will store the username and password needed for authentication.

    apiVersion: v1
    kind: Secret
    metadata:
      name: basic-user-pass
      annotations:
        tekton.dev/git-0: https://github.com  # Reference to the Git repository
    type: kubernetes.io/basic-auth
    stringData:
      username: <username>
      password: <password>
  2. Link the Secret to a Service Account: This allows the service account to use the secret for authentication when executing tasks.

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: build-bot
    secrets:
      - name: basic-user-pass

Explanation:

  • Service Account Secrets: Adding secrets to a service account allows it to access sensitive information securely. This is crucial for CI/CD processes that require authentication to external services.
  • Why Use Secrets: By associating secrets with a service account, you ensure that sensitive credentials are not hard-coded in your pipeline definitions, enhancing security.
  • Tekton's Requirement: Tekton requires these secrets to facilitate secure interactions with external systems, such as Git repositories, during pipeline execution.
  • Accessing Secrets: The Kubernetes API server and Tekton components will reference the secrets linked to the service account when executing tasks that require authentication.