https://github.com/mudler/charty
:volcano: Charty - runner for helm-style "charty" charts
https://github.com/mudler/charty
Last synced: 2 months ago
JSON representation
:volcano: Charty - runner for helm-style "charty" charts
- Host: GitHub
- URL: https://github.com/mudler/charty
- Owner: mudler
- Created: 2020-10-08T16:24:52.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2020-11-09T10:33:54.000Z (over 4 years ago)
- Last Synced: 2025-02-02T07:43:42.510Z (4 months ago)
- Language: Go
- Homepage:
- Size: 152 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Charty - Runnable helm-style charts runner
Charty is a dead-simple and no-frills chart runner expecially well-suited to package and release testsuites next to your software.
Why?
- Create portable and versioned charts that can be released and tracked next to your software
- Template in helm-style to allow override of values and runtime options when executing test
- Simple - does one thing and does it good, it is just a template/runner mechanism, nothing else
- Easy to embed - can be your entrypoint for docker images that run your test in a reproducible environment
- Syntax/usage inspired from helm, merge values and override easily from CLIHave you wondered to package and version set of blackbox commands in a templated-way, in a helm fashion?
Example:
```bash
charty run --set bar=fff --set foo=aa --run 'commands[0].run=bash test.sh' --run 'commands[0].name=clitest' test/fixture
charty run --set bar=fff --set foo=aa --run 'commands[0].run=bash test.sh' --run 'commands[0].name=clitest' https://...tgz
charty run --set bar=fff --set foo=aa --run 'commands[0].run=bash test.sh' --run 'commands[0].name=clitest' tests.tgz```
How a chart looks like?
```bash
chart/
templates/ #All files under this directory gets templated
file.sh
foo.yaml
bar.js
baz.rb
static/ # Files that are copied as-is in the execution runtime
notemplated.sh
metadata.yaml # Chart metadata
runtime.yaml # Runtime options that can be override from cli
values.yaml # Default values used for template interpolation
```## Run charts
Running a chart is as easy as executing `charty run`. It takes only one argument and it's the chart path (local directory, URLs, and `tar.gz` compressed archives are supported). The chart values can be override with ```--values-files``` and runtime options can be override with ```--run-files```. To note, each single value in the yamls can be override by cli, with ```--set key=value``` and ```--run key=value```
## Package charts
Charty can be used to package a chart, although it's a merely compression of a chart folder.
You can run
```
charty package
```To generate a new chart.
### Generate templated charts for debugging
You can run
```
charty template
```to write a generated version of the local chart for local inspection