raskyld / go-tektasker Goto Github PK
View Code? Open in Web Editor NEWA small tool to create, test and deploy Tekton tasks writing only Go code ๐
Home Page: https://go-tektasker.nocera.eu
License: Apache License 2.0
A small tool to create, test and deploy Tekton tasks writing only Go code ๐
Home Page: https://go-tektasker.nocera.eu
License: Apache License 2.0
Tektasker use GoDoc on marked structures to generate description
but because of GoDoc convention of starting the comment
with the name of the type or package documented, this lead to weird description in the generated manifests.
Describe the bug
If you go install go-tektasker, its version will be left to the default dev
version :(
To Reproduce
Steps to reproduce the behavior:
go install github.com/raskyld/go-tektasker@latest
go-tektasker version
will return dev
Expected behavior
The go build system seems to be able to get VCS information using the importpath, we should handle this case when users
will go install
tektasker and provides them with the tag that was resolved for the build system.
As of now, when generating go code, there is no way to customise the headers of the generated code.
This may be a problem for users licensing their code (e.g. wanting to add an apache 2.0 header).
Describe the solution you'd like
We should be able to generate documentation for this CLI in Markdown and Yaml using official cobra doc pkg.
This should be invokable in the help
subcommand if possible by passing an -o, --output <yaml|md>
and this would be used by the official documentation builder to keep up-to-date reference of the CLI.
Is your feature request related to a problem? Please describe.
Now that the project is really close to release, we should should update the readme.
Describe the solution you'd like
The README.md should makes people easily:
Describe the bug
When running a task generated by Tektasker with KO_DOCKER_REPO=ko.local
, the TaskRun fails with
a look-up failure on ko.local
, this is because Tekton Pipeline is trying to look-up the registry of the image of the Task when
the command
args is left empty in the steps.
To Reproduce
Steps to reproduce the behavior:
ko.local
task manifest
command
in the step of the Task generatedtask apply
Expected behavior
Tektasker try to guess the correct entrypoint and specify the command
accordingly to avoid a registry look-up as
described in the Container Contract.
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
The Taskfile and the opinionated development environment shipped with go-tektasker requires other tool:
ko
builderkubectl
and a valid context pointing to a cluster with tekton installedtask
to run the taskfileThis may hurt DX and create an useless barrier to use Tektasker.
Describe the solution you'd like
An installer that SHOULD install task
, ko
and propose to install Tekton Pipelines to the current Kubernetes
context if the CRDs are not found. It should be easy to maintain and to read so the user isn't
scared to launch it. (more likely a bash script right?)
It should be interactive (asks the user for permission) and use go install
for task
and ko
so we don't have to deal with
arch and OS specificities.
Is your feature request related to a problem? Please describe.
We should have a simple stupid documentation before we release Tektasker.
Describe the solution you'd like
A simple GitHub page with a docusaurus generated static website.
Once the project is mature enough, use GitHub Actions to release it on ghcr.
Is your feature request related to a problem? Please describe.
If you task apply
on a cluster without Tekton installed, this will fail.
Describe the solution you'd like
It may sound stupid but it's likely to happen in a developer environment, imagine you installed a fresh KinD cluster, you may have forgotten to install Tekton, let's make dev life simpler by linking them to the official documentation.
Describe alternatives you've considered
We could also add a new task "installTekton" but we need to maintain it and handle cross-platform (macOS, linux, ...)
Describe the solution you'd like
tektasker version
returns the version of the binary.
The version should be baked-in by the linker using the -X
ldflag during the build process that should be implemented in #14
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.