tektoncd / catlin Goto Github PK
View Code? Open in Web Editor NEWCatlin is a command-line tool that Lints Tekton Resources and Catalogs.
License: Apache License 2.0
Catlin is a command-line tool that Lints Tekton Resources and Catalogs.
License: Apache License 2.0
tektoncd/pipeline
now ships with a v1
API. Catlin should support validating them.
Support the newest api version (and the stable / ga version)
tkn
CLI)tkn task sign
only mutates the tekton.dev/signature
annotation.
tkn
CLI)tkn task sign
mutates any block scalar field that has lines ending with spaces. These fields are replaced with flow (quoted) scalars.
tkn task sign ... <task yaml file>
I traced this to known behaviour in YAML serialization libraries (1, 2). Specifically, if trailing whitespace exists in lines of a block scalar, the libraries implicitly change the scalar from "block" to "quoted". Quoted mode is much harder to read for things like script fields.
We 'resolved' this by enforcing YAML style. Specifically, using yamllint, which throws errors on trailing spaces by default.
However, I just wanted to open this bug to see if maybe this could be something catlin does directly, which might be easier to accomplish then modifying the tekton CLI. Though I'm happy to open the issue over there (Tekton CLI) since it would be a more direct bug report.
As of today, lintking a tekton resource in a yaml file, not in a catalog, will fail saying the resource path is wrong.
FILE: ../tmp/task/go-ko-image/go-ko-image.yaml
ERROR: Resource path is invalid; expected path: task/go-ko-image/0.2.1/go-ko-image.yaml
It shouldn't be the case. We should be able to validate the layout of a catalog (task/{name}/{version}/โฆ
) and the content of the file independently.
It could be 2 different commands catlin validate-resource path/to/file
and catlin validate-catalog path/to/catalog
.
As of today, "rules" in catlin
are hardcoded in go code. Ideally, we should be able to extend / modify rules based independently of the code. One idea would be to use rego and possibly opa as a library to be able to define rules "dynamically".
See, for example, https://github.com/enterprise-contract/ec-policies/blob/main/policy/lib/bundles.rego
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.