projectsyn / commodore-component-template Goto Github PK
View Code? Open in Web Editor NEWCommodore component cookiecutter/cruft template
License: BSD 3-Clause "New" or "Revised" License
Commodore component cookiecutter/cruft template
License: BSD 3-Clause "New" or "Revised" License
Recent versions of Docker Engine (20.10) and Podman (at least v2 and newer) support flag --pull always
to specify that images should always be pulled. We should use this, as long as we're using :latest
image tags for the container images we use in the component's Makefile.vars.mk`:
We may want to add a make target which lints golden test outputs with kubeval
to the component template.
This was originally discussed in projectsyn/modulesync-control#25.
We currently mark the make target for component compile
as phony. This causes the component to be recompiled, regardless of whether that's necessary. By changing the target to a non-phony target we could leverage make's smart rebuilding for targets which need the compiled component (tests/golden diff/kubent/custom targets operating on the golden test outputs).
While this is not providing a big benefit for many components as we mainly use the targets based on .compile
when making changes to the component implementation, there are some cases (e.g. rendering documentation from compiled manifests) where we save some time by reusing the compiled component manifests if no inputs have changed.
The original PR on the modulesync-control repo (projectsyn/modulesync-control#58) keeps the phony `.compile target, so that components which have custom make rules which depend on that target continue to work unchanged.
The current template only has a minimal .editorconfig
configuration for golden test outputs:
commodore-component-template/{{ cookiecutter.slug }}/.editorconfig
Lines 28 to 30 in f104a5f
We had a more comprehensive config in the modulesync template:
Additionally, because we've migrated existing components for which golden tests were disabled/didn't exist yet at creation time to a template version which unconditionally added the minimal config, we'll probably run into some merge conflicts after updating the template to use the more comprehensive configuration which was present in modulesync.
Editorconfig linting fails after enabling golden tests for a component which was originally templated without golden tests (see e.g. projectsyn/component-grafana-helm#26)
Editorconfig linting passes after enabling golden tests for a component which was originally templated without golden tests.
We may want to make the YAML linting more strict, disallowing warnings emitted by yamllint
. Additionally, we may want to run YAML linting for the yaml files which are part of the template management (e.g. GitHub actions for this repository).
Originally submitted in projectsyn/modulesync-control#73
See also projectsyn/commodore#468
The Commodore command component sync
doesn't require that all managed repositories use the same default branch name. We can now add main
as a supported default branch to the component template.
Originally requested in projectsyn/commodore#334
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.