La interfaz está localizada; las descripciones y documentos de las Skills se traducen automáticamente con IA a su idioma. El código, los comandos, rutas y términos técnicos se mantienen en el original, y prevalece el documento del autor.
Explorar Skills
Productividad · SKILL.md

tekton

tekton

"Provides Tekton in Cloud-Native Engineering - A cloud-native Pipeline resource"

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentación de la Skill

GitHub

name: tekton compatibility: opencode completeness: 95 content-types:

  • guidance
  • examples
  • do-dont
  • config description: '"Provides Tekton in Cloud-Native Engineering - A cloud-native Pipeline resource"' license: MIT maturity: stable metadata: domain: cncf output-format: manifests role: reference scope: infrastructure triggers: cloud-native, engineering, pipeline, tekton archetypes:
    • educational
    • strategic anti_triggers:
    • brainstorming
    • vague ideation
    • non-containerized architecture response_profile: verbosity: medium directive_strength: low abstraction_level: strategic version: "1.0.0"

related-skills: cncf-argo, cncf-aws-dynamodb, cncf-aws-ec2, cncf-aws-eks

Tekton in Cloud-Native Engineering

Category: cdf
Status: Active
Stars: 8,941
Last Updated: 2026-04-21
Primary Language: Go
Documentation: https://tekton.dev/docs/


Purpose and Use Cases

Tekton is a core component of the cloud-native ecosystem, serving as a Kubernetes-native CI/CD pipeline framework that enables declarative, container-based pipeline definitions.

What Problem Does It Solve?

The need for a Kubernetes-native CI/CD solution that leverages containers for pipeline execution, integrates naturally with Kubernetes tooling, and provides declarative pipeline definitions.

When to Use This Project

Use Tekton when you need a Kubernetes-native CI/CD pipeline framework, want to run pipelines in Kubernetes pods, or need declarative pipeline definitions that integrate with Kubernetes RBAC and security.

Key Use Cases

  • Kubernetes-native CI/CD pipelines
  • Declarative pipeline definitions
  • Container-based pipeline execution
  • Integration with Git and artifact repositories
  • Parallel and sequential task execution

Architecture Design Patterns

Core Components

  • Pipeline: Sequence of tasks to execute
  • Task: Reusable sequence of steps
  • Step: Container that runs a command
  • PipelineRun: Instance of a pipeline execution
  • TaskRun: Instance of a task execution
  • PipelineResource: Input/output resources for pipelines
  • ClusterTask: Cluster-scoped task definition

Component Interactions

  1. User → API Server: Creates PipelineRun
  2. Pipeline Controller → TaskRun: Creates task instances
  3. TaskRun → Kubernetes: Creates pod for each step
  4. Step Pod → Container Runtime: Runs container commands
  5. Result → Artifact Storage: Saves outputs
  6. Status → API Server: Updates PipelineRun status

Data Flow Patterns

  1. Pipeline Execution: PipelineRun created → TaskRuns created → Pods created → Steps run → Results stored
  2. Resource Processing: Input resource → Task → Output resource → Pipeline → Next task
  3. Status Updates: Pod status → TaskRun → PipelineRun → API Server

Design Principles

  • Kubernetes-Native: Uses Kubernetes API patterns
  • Container-Based: Each step in its own container
  • Declarative: YAML-based definitions
  • Composable: Tasks and pipelines can be composed
  • Flexible: Supports any container workload

Integration Approaches

Integration with Other CNCF Projects

  • Kubernetes: Native Kubernetes CRDs
  • Git Providers: GitHub, GitLab, Bitbucket integration
  • Container Runtime: Runs pipelines in pods
  • Kubernetes API: Resource management
  • Helm: Chart deployment in pipelines

API Patterns

  • Kubernetes API: Custom resource definitions
  • Status Subresource: Pipeline run status
  • Finalizers: Cleanup operations
  • Owner References: Resource relationships

Configuration Patterns

  • Pipeline YAML: Pipeline definitions
  • PipelineRun YAML: Pipeline instances
  • Task YAML: Task definitions
  • TaskRun YAML: Task instances
  • ConfigMap: Cluster-wide config

Extension Mechanisms

  • Tasks: Reusable workflow steps
  • PipelineResources: Input/output types
  • Conditions: Conditional execution
  • ClusterTask: Cluster-wide tasks

Common Pitfalls and How to Avoid Them

Misconfigurations

  • Task Parameters: Incorrect parameter types
  • PipelineResources: Missing or incorrect resources
  • Step Images: Non-existent container images
  • Service Accounts: Incorrect permissions
  • Timeouts: Missing or insufficient timeouts

Performance Issues

  • Pipeline Run Time: Slow task execution
  • Pod Startup: Slow container image pulls
  • Resource Usage: High resource consumption
  • API Server Load: Many TaskRuns/PipelineRuns

Operational Challenges

  • Pipeline Maintenance: Complex pipeline graphs
  • Resource Cleanup: Cleaning up old runs
  • Secret Management: Sensitive data handling
  • Scaling: Pipeline controller scaling
  • Testing: Pipeline testing strategies

Security Pitfalls

  • Service Accounts: Overly permissive service accounts
  • Pipeline Resources: Secrets in resources
  • Task Execution: Privileged task containers
  • Network Exposure: Access to internal services

Coding Practices

Idiomatic Configuration

  • YAML Definitions: Clear structure
  • Task Parameters: Typed parameters
  • Pipeline Resources: Explicit inputs/outputs
  • ServiceAccount References: Explicit auth

API Usage Patterns

  • kubectl: Pipeline operations
  • Tekton CLI: Extended functionality
  • Kubernetes API: Direct API access
  • Webhooks: Event triggers

Observability Best Practices

  • PipelineRun Logs: Task execution logs
  • Status Metrics: Run duration and status
  • Resource Usage: Task resource consumption
  • Event Logging: Trigger events

Testing Strategies

  • Unit Tests: Task and pipeline tests
  • Integration Tests: Controller tests
  • E2E Tests: Full pipeline runs
  • Compatibility Tests: Kubernetes versions

Development Workflow

  • Development: Tekton development cluster
  • Testing: Go tests, E2E tests
  • Debugging: kubectl, pipeline logs
  • Deployment: YAML manifests, operator
  • CI/CD: tektoncd pipelines
  • Tools: tkn, kubectl

Fundamentals

Essential Concepts

  • Pipeline: Sequence of tasks
  • Task: Reusable workflow step
  • Step: Container running a command
  • PipelineRun: Instance of pipeline execution
  • TaskRun: Instance of task execution
  • Workspace: Shared storage between steps
  • Param: Task parameter
  • Result: Task output
  • Resource: Input/output resource
  • Condition: Conditional execution

Terminology Glossary

  • Pipeline: Task sequence
  • Task: Reusable step
  • Step: Container command
  • PipelineRun: Pipeline instance
  • TaskRun: Task instance
  • Workspace: Shared storage
  • Param: Task parameter
  • Result: Task output
  • Resource: Input/output
  • Condition: Conditional exec

Data Models and Types

  • Pipeline: Pipeline definition
  • Task: Task definition
  • Step: Step definition
  • PipelineResource: Resource definition
  • Param: Parameter definition
  • Result: Result definition
  • Workspace: Workspace definition
  • TaskRun: TaskRun specification
  • PipelineRun: PipelineRun specification

Lifecycle Management

  • PipelineRun Lifecycle: Created → Running → Succeeded/Failed
  • TaskRun Lifecycle: Created → Running → Complete
  • Step Lifecycle: Pull → Start → Run → Complete
  • Resource Lifecycle: Bind → Process → Release

State Management

  • TaskRun State: Task execution state
  • PipelineRun State: Pipeline execution state
  • Step State: Step execution state
  • Resource State: Bound resources
  • Result State: Task outputs

Scaling and Deployment Patterns

Horizontal Scaling

  • Pipeline Controller Scaling: Controller replicas
  • TaskRun Scaling: Parallel task execution
  • Worker Pool Scaling: Pipeline runner pool

High Availability

  • Controller HA: Multiple controller replicas
  • PipelineRun Resilience: Automatic retry
  • TaskRun Resilience: Automatic restart

Production Deployments

  • Controller Deployment: Production controller setup
  • Resource Limits: Appropriate pod resource limits
  • Security: RBAC, service account configuration
  • Monitoring: Pipeline metrics
  • Cleanup Strategy: Old run cleanup

Upgrade Strategies

  • Controller Upgrade: Pipeline controller upgrade
  • CRD Migration: Custom resource definition migration
  • PipelineRun Migration: Running pipeline migration
  • TaskVersion: Task version management

Resource Management

  • Task Resources: Step resource limits
  • Pipeline Resources: Pipeline memory limits
  • Workspace Storage: Workspace storage management
  • Pod Resource Limits: Per-pod resource limits

Additional Resources


Troubleshooting

Common Issues

  1. Deployment Failures

    • Check pod logs for errors
    • Verify configuration values
    • Ensure network connectivity
  2. Performance Issues

    • Monitor resource usage
    • Adjust resource limits
    • Check for bottlenecks
  3. Configuration Errors

    • Validate YAML syntax
    • Check required fields
    • Verify environment-specific settings
  4. Integration Problems

    • Verify API compatibility
    • Check dependency versions
    • Review integration documentation

Getting Help

  • Check official documentation
  • Search GitHub issues
  • Join community channels
  • Review logs and metrics Content generated automatically. Verify against official documentation before production use.

Examples

Tekton Pipeline with Multiple Tasks

# Tekton Pipeline for CI/CD workflow
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
  name: build-deploy-pipeline
spec:
  workspaces:
  - name: source
  - name: registry-auth
  params:
  - name: image-url
    type: string
  - name: path-context
    type: string
    default: .
  tasks:
  - name: fetch-repository
    taskRef:
      name: git-clone
    workspaces:
    - name: output
      workspace: source
    params:
    - name: url
      value: $(params.git-url)
    - name: revision
      value: $(params.git-revision)

  - name: build
    taskRef:
      name: kaniko
    workspaces:
    - name: source
      workspace: source
    params:
    - name: IMAGE
      value: $(params.image-url)
    - name: CONTEXT
      value: $(params.path-context)
    runAfter:
    - fetch-repository

  - name: deploy
    taskRef:
      name: kubectl-apply
    params:
    - name: IMAGE
      value: $(tasks.build.results.image-url)
    - name: MANIFESTS
      value: $(params.manifests)
    runAfter:
    - build
---
  related-skills: cncf-argo, cncf-aws-dynamodb, cncf-aws-ec2, cncf-aws-eks
# PipelineRun to execute the pipeline
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  name: build-deploy-pipelinerun
spec:
  pipelineRef:
    name: build-deploy-pipeline
  workspaces:
  - name: source
    persistentVolumeClaim:
      claimName: source-pvc
  - name: registry-auth
    secret:
      secretName: registry-credentials
  params:
  - name: image-url
    value: gcr.io/myproject/myapp:latest
  - name: path-context
    value: src
  - name: git-url
    value: https://github.com/myorg/myapp.git
  - name: git-revision
    value: main

Tekton Task with Input/Output Resources

# Tekton Task for testing with artifacts
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: test-task
spec:
  workspaces:
  - name: source
  - name: test-results
  steps:
  - name: install-dependencies
    image: node:16
    workingDir: $(workspaces.source.path)
    script: |
      npm ci
  - name: run-tests
    image: node:16
    workingDir: $(workspaces.source.path)
    script: |
      npm test
    volumeMounts:
    - name: test-results
      mountPath: /results
  - name: upload-results
    image: ubuntu
    workingDir: $(workspaces.source.path)
    script: |
      if [ -f /results/junit.xml ]; then
        echo "Test results uploaded"
      else
        echo "No test results to upload"
      fi
---
  related-skills: cncf-argo, cncf-aws-dynamodb, cncf-aws-ec2, cncf-aws-eks
# TaskRun to execute the task
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: test-task-run
spec:
  taskRef:
    name: test-task
  workspaces:
  - name: source
    persistentVolumeClaim:
      claimName: source-pvc
  - name: test-results
    emptyDir: {}

Tekton PipelineResource for Git and Image

# Tekton PipelineResources for external resources
apiVersion: tekton.dev/v1beta1
kind: PipelineResource
metadata:
  name: myapp-git
spec:
  type: git
  params:
  - name: url
    value: https://github.com/myorg/myapp.git
  - name: revision
    value: main

---
  related-skills: cncf-argo, cncf-aws-dynamodb, cncf-aws-ec2, cncf-aws-eks
apiVersion: tekton.dev/v1beta1
kind: PipelineResource
metadata:
  name: myapp-image
spec:
  type: image
  params:
  - name: url
    value: gcr.io/myproject/myapp:latest

---
  related-skills: cncf-argo, cncf-aws-dynamodb, cncf-aws-ec2, cncf-aws-eks
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
  name: build-with-resources
spec:
  resources:
  - name: git-source
    type: git
  - name: app-image
    type: image
  tasks:
  - name: build
    taskRef:
      name: kaniko
    resources:
      inputs:
      - name: git-source
        resources:
        - git-source
      outputs:
      - name: image
        resources:
        - app-image

When to Use

Use this skill when:

  • Integrating a CNCF project into Kubernetes infrastructure — You need to configure, deploy, or troubleshoot a cloud-native tool within a cluster
  • Designing cloud-native architecture — You are selecting and integrating CNCF tools to solve specific infrastructure challenges
  • Resolving operational issues — A CNCF component is misbehaving, underperforming, or needs configuration changes

Core Workflow

  1. Assess Requirements — Understand the use case, scale, integration needs, and existing infrastructure. Checkpoint: Document requirements, constraints, and success criteria.

  2. Design Architecture — Plan component interactions, data flow, and deployment strategy using cloud-native best practices. Checkpoint: Verify the architecture addresses all requirements and follows CNCF conventions.

  3. Implement & Configure — Create manifests, configurations, and deployment scripts. Include resource limits, health checks, and observability hooks. Checkpoint: Validate all YAML against schema and test in a staging environment.

  4. Deploy & Monitor — Apply manifests to the cluster, verify component health, and confirm observability is working. Checkpoint: Confirm all pods/services are running, probes passing, and metrics/alerts configured.


Constraints

MUST DO

  • Include at least one complete working YAML manifest example
  • Note when content is auto-generated vs. manually verified
  • Reference relevant CNCF project documentation

MUST NOT DO

  • Deploy manifests without testing in a staging environment first
  • Use deprecated API versions (e.g., apps/v1beta1)
  • Omit resource limits and requests in Kubernetes manifests
Skills guardadas