Skip to content

Commit

Permalink
initial
Browse files Browse the repository at this point in the history
  • Loading branch information
kickthemooon committed Mar 27, 2023
0 parents commit 417a6e2
Show file tree
Hide file tree
Showing 9 changed files with 945 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.idea/
temp/
67 changes: 67 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Helm (Kubernetes) Interface

## What is this?

This is an opinionated helm chart. The goal is to cover a large amount of
helm/kubernetes use cases without having to deal with helm templating chaos,
many, mostly-duplicated helm charts and kubernetes resource
definition complexities.

Instead, we want to generate all the necessary definitions by only providing
a slimmed down configuration via helm values.

## Example

```
globals:
labels:
app: nginx
defaults:
image:
registry: nginx
tag: latest
workloads:
- name: nginx
enabled: true
deployment:
enabled: true
pod:
containers:
- name: nginx
ports:
- containerPort: 80
service:
enabled: true
ingress:
enabled: true
tlds:
- .com
hosts:
prefix: www.example
paths:
- value: /
```

Providing the above configuration will generate
deployment, service and ingress definitions.

## Available Resources

These are the currently available kubernetes resources:

- Deployment
- Service
- Ingress
- ServiceAccount
- HorizontalPodAutoscaler
- ConfigMaps
- Secrets
- Job
- CronJob
- DaemonSet

## Full Configuration

To see all available configuration options check out [values-full.yaml](examples/values-full.yaml)
23 changes: 23 additions & 0 deletions charts/helm-interface/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
24 changes: 24 additions & 0 deletions charts/helm-interface/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v2
name: helm-interface
description: An opinionated general purpose helm chart

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.0.1

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "0.0.1"
Empty file.
Empty file.
Loading

0 comments on commit 417a6e2

Please sign in to comment.