https://github.com/isan-rivkin/kubefigure
https://github.com/isan-rivkin/kubefigure
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/isan-rivkin/kubefigure
- Owner: Isan-Rivkin
- License: mit
- Created: 2021-12-17T10:07:33.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-02-18T18:17:42.000Z (almost 4 years ago)
- Last Synced: 2024-06-20T19:37:08.224Z (over 1 year ago)
- Language: Go
- Size: 212 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KubeFigure
Render configurations and secrets directly into your YAML's during runtime.
k apply -> mutatingWebHook -> fetch data source -> render -> deploy
# Supported Data Sources:
* Terraform (S3)
* Vault
* Consul
# Usage example:
In terminal run with the file `example.yaml`:
```bash
$go run main.go input --input=example.yaml
```
This config pulls data from vault, consul and terraform:
```yaml
sources:
- sourceType: vault
vault:
address:
authType: approle
auth:
approle:
value:
path:
# optional: jsonpath to extract a key if the secret is a json file
valPath: $.token
- sourceType: terraform
terraform:
storageType: s3
storage:
bucket:
region:
value:
key:
# jsonpath to extract some output from the remote state, same as remote_state stanza in terraform
stateValuePath: $.outputs.ec2_instance_security_group_id.value
- sourceType: consulkv
consul:
authType: http
auth:
address:
port:
value:
key:
# optional: jsonpath to extract a key if the kv value is a json file
valPath: $.project_id
# optional to filter kv
options:
datacenter:
```