Code Monkey home page Code Monkey logo

generic-app-helm's Introduction

Generic App Helm Chart

This is a helm chart for a generic Kubernetes Application.

TLDR

helm repo add generic-app https://small-hack.github.io/generic-app-helm
helm install generic-app/generic-app --generate-name

Why?

Because sometimes you don't want to write a whole helm chart for a simple app. The default chart generated with helm create my-new-chart-name is pretty good, but it's missing a couple of features. This chart can be used as a base chart for that docker container you have that you want on Kubernetes, but don't feel like writing a helm chart to make it accessible to others. Now you have no excuse :) Tip: Use this as a cheap way to get going with Argo CD Applications/ApplicationSets faster.

How?

Because this chart is basically just the stock helm chart, you can use it like any other. It defaults to just deploying the nginx container, but you can change that. In fact, you can change basically everything. We even let you disable the default service, and have an option to deploy a Job instead of (or in addition to) a Deployment.

Changing the default deployment

Here's how to get started using your own docker container

deployment:
  image:
    # -- provide this only if you're not hosting on hub.docker.com (docker.io)
    registry: ""
    # -- this can be set to any docker repo
    repository: "mydockercontainer"
    # -- docker image tag to pull
    tag: "latest"

Disabling the deployment

Sometimes you just need a job...

deployment:
  enabled: false

Enabling a job

job:
  enabled: true
  image:
    # -- provide this only if you're not hosting on hub.docker.com (docker.io)
    registry: ""
    # -- this can be set to any docker repo
    repository: "mydockercontainer"
    # -- docker image tag to pull
    tag: "latest"

Enabling the ingress

ingress:
  enabled: true

Disabling the service

service:
  enabled: false

Tips

Want to deploy on Argo CD? Checkout our example ApplicationSet.

Status

Submit any PRs you may have and please feel free to submit issues if you have a generic feature :P

generic-app-helm's People

Contributors

jessebot avatar renovate[bot] avatar

Stargazers

Moritz Schlarb avatar

Watchers

 avatar  avatar

generic-app-helm's Issues

Add Generic cronjob

It should look similar to the generic job template, only it needs to have a schedule parameter that should be passed in as a value from values.yaml.

For the values.yaml, you can basically just copy this under a new section called cronjob:

job:
# -- enable a job
enabled: false
# -- replica count if not using autoscaling
replicaCount: 1
# -- restart policy if the job fails; can be never, or always
restartPolicy: never
image:
# -- docker registry if not using docker.io
registry: "docker.io"
# -- docker repo
repository: nginx
# -- image pull policy, set to Always if using latest and it changes frequently
pullPolicy: IfNotPresent
# -- Overrides the image tag whose default is latest
tag: "latest"
# -- optional image pull secrets
imagePullSecrets: []
# -- command to pass to docker container
containerCommand: []
# -- env list for job main container
env: []
# -- env from list for job main container
envFrom: []
# -- extra init containers for the default job
initcontainers: {}
# -- extra pod annotations for the job
podAnnotations: {}
# -- extra pod labels for the job
podLabels: {}
# -- pod securityContext job's main container
podSecurityContext: {}
# fsGroup: 2000
# -- securityContext whole job
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# -- Additional volumes on the output job definition.
volumes: []
# - name: foo
# secret:
# secretName: mysecret
# optional: false
# -- Additional volumeMounts on the output job definition.
volumeMounts: []
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
# -- node selector for job
nodeSelector: {}
# -- tolerations of taints on a node
tolerations: []
# -- affinity settings for the job
affinity: {}
# -- resources for the job
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/ci-helm-lint-test.yml
  • actions/checkout v4
  • azure/setup-helm v4
  • helm/chart-testing-action v2.6.1
  • helm/kind-action v1.10.0
.github/workflows/release.yml
  • actions/checkout v4
  • azure/setup-helm v4
  • helm/chart-releaser-action v1.6.0
  • ubuntu 22.04
helm-values
charts/generic-app/values.yaml

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.