Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ test:
test/verbose:
RETAIN_TEMP_DIR=1 go test -v ./...

.PHONY: build
build:
go build -o chartify ./cmd/chartify

.PHONY: build/chartreposerver
build/chartreposerver:
go build -o chartreposerver ./cmd/chartreposerver

.PHONY: act
act:
act
45 changes: 45 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,40 @@

`chartify` is intended to be run immediately before running `helm upgrade --install`. For example, instead of forking a helm chart, you should be able to prepend a `chartify` step into your deployment job in your CD pipeline. `chartify` isn't intended to create a fork of a chart. The output of `chartify` is a helm chart that is pre-rendered with all the helm values provided to `chartify`.

## Installation

### Build from source

Build the CLI tool:

```bash
make build
```

Or build manually:

```bash
go build -o chartify ./cmd/chartify
```

Build the chart repo server:

```bash
make build/chartreposerver
```

Or build manually:

```bash
go build -o chartreposerver ./cmd/chartreposerver
```

### Prerequisites

- Go 1.25.4+
- Helm v4.1.0 (helm command)
- Kustomize v5.8.0+ (kustomize command, optional, for kustomize integration)

## CLI

Beyond it's usage with helmfile, it also provides a basic CLI application that can be run independently.
Expand All @@ -16,4 +50,15 @@ The simplest usage of the command is:
$ chartify $RELEASE $CHART -o $OUTPUT_DIR
```

Examples:

```bash
# Build and run with a Helm chart
make build
./chartify -o /tmp/output test-release testdata/charts/log

# Build and run with Kubernetes manifests
./chartify -o /tmp/output test-release testdata/kube_manifest_yml
```

See `chartify -h` or `go run ./cmd/chartify -h` for more information.