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:
- Validates Kubernetes manifests: Checks that your YAML files conform to the official Kubernetes schemas
- Uses multiple schema sources:
- Various VT Curated schemas
- Default Kubernetes schemas
- Community-curated CRD schemas from Datree
- Ignores specific files: Excludes
.gitlab-ci.yml
andrenovate.json
from validation - 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:
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.