Skip to content

Default Gitlab Pipeline#

This guide explains the default CI/CD pipeline we provide for simple tasks and basic Kubernetes manifest validation.

Overview#

We provide a default pipeline template that you can use to validate your Kubernetes manifests before they are deployed to the platform. This pipeline is designed for simple use cases and basic validation needs and runs on our platform default runner.

Default Pipeline#

The default pipeline includes a single job that validates your Kubernetes manifests using kubeconform:

stages:
  - validate

lint-kubeconform:
  stage: validate
  image:
    name: ghcr.io/yannh/kubeconform:latest-alpine
    entrypoint: [""]
  script:
    - |
      /kubeconform  \
        -schema-location https://code.vt.edu/devcom/kubernetes-json-schema/-/raw/main/{{.ResourceKind}}.json \
        -schema-location default \
        -schema-location 'https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceAPIVersion}}.json'\
        -ignore-filename-pattern .gitlab-ci.yml \
        -ignore-filename-pattern renovate.json \
        -summary \
        "${CI_PROJECT_DIR}"

What This Pipeline Does#

The lint-kubeconform job performs the following actions:

  1. Validates Kubernetes manifests: Checks that your YAML files conform to the official Kubernetes schemas
  2. Uses multiple schema sources:
  3. Various VT Curated schemas
  4. Default Kubernetes schemas
  5. Community-curated CRD schemas from Datree
  6. Ignores specific files: Excludes .gitlab-ci.yml and renovate.json from validation
  7. Provides summary output: Shows a summary of validation results

When to Use This Pipeline#

This default pipeline is suitable for:

  • Simple applications with basic Kubernetes manifests
  • Quick validation of YAML syntax and structure
  • Projects that don't require complex build or deployment processes
  • Getting started with the platform

Limitations and Considerations#

⚠️ Important: This pipeline is designed for simple tasks only and runs on our platform default runner as a courtesy. If you have:

  • Complex multi-stage builds
  • Custom deployment processes
  • Advanced security scanning requirements
  • Integration with external systems
  • Need for environment-specific deployments
  • Pipelines that might consume significant resources

...then you should provide your own runner. We welcome support requests to discuss supporting pipelines and if the pipeline is appropriate to use on our runner.

Getting Help#

If you have questions about this default pipeline or want to discuss if your pipeline is appropriate for our runner, please submit a request through our support system:

Request Support

Our team can help you determine the best approach for your CI/CD needs and discuss whether your pipeline is appropriate for our platform runner.