diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 51dfa0d..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -test_values/ \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 9306a7e..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2024 Romain Pluciennik - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/charts/it-tools/.helmignore b/charts/it-tools/.helmignore deleted file mode 100644 index 0e8a0eb..0000000 --- a/charts/it-tools/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# 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/ diff --git a/charts/it-tools/Chart.yaml b/charts/it-tools/Chart.yaml deleted file mode 100644 index 2e47763..0000000 --- a/charts/it-tools/Chart.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: v2 -name: it-tools -description: Collection of handy online tools for developers, with great UX. -icon: https://raw.githubusercontent.com/CorentinTh/it-tools/main/public/mstile-310x310.png -sources: - - https://github.com/CorentinTh/it-tools -maintainers: - - name: Romain Pluciennik - email: romain.pluciennik@gmail.com - -# 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.1.0 - -# 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: "2024.5.13-a0bc346" diff --git a/charts/it-tools/README.md b/charts/it-tools/README.md deleted file mode 100644 index 8b479b4..0000000 --- a/charts/it-tools/README.md +++ /dev/null @@ -1,109 +0,0 @@ -# it-tools - -Helm chart for deploying [it-tools](https://it-tools.tech/). - -it-tools is a collection of handy online tools for developers, with great UX. - -> [!NOTE] -> This chart is not maintained by the original author of it-tools and any problems with this chart should be submitted [here](https://github.com/plcnk/charts/issues/new). - -## Source code - -* - -## Get repo - -```console -helm repo add plcnk https://charts.plcnk.net -helm repo update -``` - -## Install chart - -```console -helm install [RELEASE_NAME] plcnk/it-tools -``` - -## Uninstall chart - -```console -helm uninstall [RELEASE_NAME] -``` - -## Parameters - -### Global parameters - -| Name | Description | Value | -| ------------------ | ---------------------------------------------- | ----- | -| `replicaCount` | Number of replicas for the it-tools Deployment | `1` | -| `imagePullSecrets` | Docker registry pull secrets | `[]` | -| `nameOverride` | Name override | `""` | -| `fullnameOverride` | Full name override | `""` | -| `podAnnotations` | Additional annotations for the Pod resource | `{}` | -| `podLabels` | Additional labels for the Pod resource | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Tolerations for pod assignment | `[]` | -| `affinity` | Affinity for pod assignment | `{}` | - -### Image parameters - -| Name | Description | Value | -| ------------------ | ------------------------------------------------------------- | ----------------------------- | -| `image.repository` | Docker image repository | `ghcr.io/corentinth/it-tools` | -| `image.pullPolicy` | Docker image pull policy | `IfNotPresent` | -| `image.tag` | Overrides the image tag whose default is the chart appVersion | `""` | - -### Service account parameters - -| Name | Description | Value | -| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------- | -| `serviceAccount.create` | Specifies whether a service account should be created | `false` | -| `serviceAccount.automount` | Automatically mount a ServiceAccount's API credentials? | `true` | -| `serviceAccount.annotations` | Additional annotations for the ServiceAccount resource | `{}` | -| `serviceAccount.name` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | `""` | - -### Security context parameters - -| Name | Description | Value | -| ------------------------------------------ | ----------------------------------------- | ---------------- | -| `securityContext.capabilities.drop` | Capabilities to drop | `["ALL"]` | -| `securityContext.readOnlyRootFilesystem` | If root filesystem should be read-only | `true` | -| `securityContext.runAsNonRoot` | If pod should be run as non-root | `true` | -| `securityContext.runAsUser` | User to run pod as | `10099` | -| `securityContext.runAsGroup` | Group to run pod as | `10099` | -| `securityContext.allowPrivilegeEscalation` | If privilege escalation should be allowed | `false` | -| `securityContext.seccompProfile.type` | seccomp profile type | `RuntimeDefault` | - -### Service parameters - -| Name | Description | Value | -| -------------- | ---------------------- | ----------- | -| `service.type` | Service type to create | `ClusterIP` | -| `service.port` | Service port to use | `80` | - -### Ingress parameters - -| Name | Description | Value | -| --------------------- | ------------------------------------------------------------------------ | ------- | -| `ingress.enabled` | Enable ingress record generation | `false` | -| `ingress.className` | IngressClass that will be be used to implement the Ingress | `""` | -| `ingress.annotations` | Additional annotations for the Ingress resource | `{}` | -| `ingress.hosts` | An array with hostname(s) to be covered with the ingress record | `[]` | -| `ingress.tls` | TLS configuration for hostname(s) to be covered with this ingress record | `[]` | - -### Resources parameters - -| Name | Description | Value | -| ----------- | -------------------- | ----- | -| `resources` | Kubernetes resources | `{}` | - -### Autoscaling parameters - -| Name | Description | Value | -| ----------------------------------------------- | ------------------------------------ | ------- | -| `autoscaling.enabled` | Enable Horizontal POD autoscaling | `false` | -| `autoscaling.minReplicas` | Minimum number of replicas | `1` | -| `autoscaling.maxReplicas` | Maximum number of replicas | `100` | -| `autoscaling.targetCPUUtilizationPercentage` | Target CPU utilization percentage | `80` | -| `autoscaling.targetMemoryUtilizationPercentage` | Target Memory utilization percentage | `80` | diff --git a/charts/it-tools/templates/_helpers.tpl b/charts/it-tools/templates/_helpers.tpl deleted file mode 100644 index 2597e2b..0000000 --- a/charts/it-tools/templates/_helpers.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "it-tools.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "it-tools.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "it-tools.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "it-tools.labels" -}} -helm.sh/chart: {{ include "it-tools.chart" . }} -{{ include "it-tools.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "it-tools.selectorLabels" -}} -app.kubernetes.io/name: {{ include "it-tools.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "it-tools.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "it-tools.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} diff --git a/charts/it-tools/templates/configmap.yaml b/charts/it-tools/templates/configmap.yaml deleted file mode 100644 index f239dfc..0000000 --- a/charts/it-tools/templates/configmap.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: nginx-conf -data: - nginx.conf: | - worker_processes auto; - - error_log /tmp/nginx/error.log warn; - pid /tmp/nginx/nginx.pid; - - events { - worker_connections 1024; - } - - http { - include /etc/nginx/mime.types; - - server { - listen 80; - server_name _; - root /usr/share/nginx/html; - index index.html; - - location / { - try_files $uri $uri/ /index.html; - } - } - } diff --git a/charts/it-tools/templates/deployment.yaml b/charts/it-tools/templates/deployment.yaml deleted file mode 100644 index 9bb2dd8..0000000 --- a/charts/it-tools/templates/deployment.yaml +++ /dev/null @@ -1,82 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "it-tools.fullname" . }} - labels: - {{- include "it-tools.labels" . | nindent 4 }} -spec: - {{- if not .Values.autoscaling.enabled }} - replicas: {{ .Values.replicaCount }} - {{- end }} - selector: - matchLabels: - {{- include "it-tools.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "it-tools.labels" . | nindent 8 }} - {{- with .Values.podLabels }} - {{- toYaml . | nindent 8 }} - {{- end }} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - serviceAccountName: {{ include "it-tools.serviceAccountName" . }} - containers: - - name: {{ .Chart.Name }} - securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: http - containerPort: {{ .Values.service.port }} - protocol: TCP - livenessProbe: - httpGet: - path: / - port: http - periodSeconds: 30 - timeoutSeconds: 30 - readinessProbe: - httpGet: - path: / - port: http - periodSeconds: 30 - timeoutSeconds: 30 - resources: - {{- toYaml .Values.resources | nindent 12 }} - volumeMounts: - - name: cache - mountPath: "/var/cache/nginx" - - name: tmp - mountPath: "/tmp/nginx" - - name: conf - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - volumes: - - name: cache - emptyDir: {} - - name: tmp - emptyDir: {} - - name: conf - configMap: - name: nginx-conf - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} diff --git a/charts/it-tools/templates/hpa.yaml b/charts/it-tools/templates/hpa.yaml deleted file mode 100644 index 436e6a3..0000000 --- a/charts/it-tools/templates/hpa.yaml +++ /dev/null @@ -1,32 +0,0 @@ -{{- if .Values.autoscaling.enabled }} -apiVersion: autoscaling/v2 -kind: HorizontalPodAutoscaler -metadata: - name: {{ include "it-tools.fullname" . }} - labels: - {{- include "it-tools.labels" . | nindent 4 }} -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: {{ include "it-tools.fullname" . }} - minReplicas: {{ .Values.autoscaling.minReplicas }} - maxReplicas: {{ .Values.autoscaling.maxReplicas }} - metrics: - {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} - {{- end }} - {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} - - type: Resource - resource: - name: memory - target: - type: Utilization - averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} - {{- end }} -{{- end }} diff --git a/charts/it-tools/templates/ingress.yaml b/charts/it-tools/templates/ingress.yaml deleted file mode 100644 index 5c47a29..0000000 --- a/charts/it-tools/templates/ingress.yaml +++ /dev/null @@ -1,61 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "it-tools.fullname" . -}} -{{- $svcPort := .Values.service.port -}} -{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} - {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} - {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} - {{- end }} -{{- end }} -{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1 -{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1beta1 -{{- else -}} -apiVersion: extensions/v1beta1 -{{- end }} -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - {{- include "it-tools.labels" . | nindent 4 }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} - ingressClassName: {{ .Values.ingress.className }} - {{- end }} - {{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} - pathType: {{ .pathType }} - {{- end }} - backend: - {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} - service: - name: {{ $fullName }} - port: - number: {{ $svcPort }} - {{- else }} - serviceName: {{ $fullName }} - servicePort: {{ $svcPort }} - {{- end }} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/it-tools/templates/service.yaml b/charts/it-tools/templates/service.yaml deleted file mode 100644 index 81d1fb7..0000000 --- a/charts/it-tools/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "it-tools.fullname" . }} - labels: - {{- include "it-tools.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: http - protocol: TCP - name: http - selector: - {{- include "it-tools.selectorLabels" . | nindent 4 }} diff --git a/charts/it-tools/templates/serviceaccount.yaml b/charts/it-tools/templates/serviceaccount.yaml deleted file mode 100644 index 620dc4d..0000000 --- a/charts/it-tools/templates/serviceaccount.yaml +++ /dev/null @@ -1,13 +0,0 @@ -{{- if .Values.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "it-tools.serviceAccountName" . }} - labels: - {{- include "it-tools.labels" . | nindent 4 }} - {{- with .Values.serviceAccount.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -automountServiceAccountToken: {{ .Values.serviceAccount.automount }} -{{- end }} diff --git a/charts/it-tools/templates/tests/test-connection.yaml b/charts/it-tools/templates/tests/test-connection.yaml deleted file mode 100644 index b5b3798..0000000 --- a/charts/it-tools/templates/tests/test-connection.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "it-tools.fullname" . }}-test-connection" - labels: - {{- include "it-tools.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['{{ include "it-tools.fullname" . }}:{{ .Values.service.port }}'] - restartPolicy: Never diff --git a/charts/it-tools/values.yaml b/charts/it-tools/values.yaml deleted file mode 100644 index 892dc0e..0000000 --- a/charts/it-tools/values.yaml +++ /dev/null @@ -1,128 +0,0 @@ -# Default values for it-tools. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -## @section Global parameters -## @param replicaCount Number of replicas for the it-tools Deployment -replicaCount: 1 - -## @param imagePullSecrets Docker registry pull secrets -## @param nameOverride Name override -## @param fullnameOverride Full name override -imagePullSecrets: [] -nameOverride: "" -fullnameOverride: "" - -## @param podAnnotations Additional annotations for the Pod resource -## @param podLabels Additional labels for the Pod resource -podAnnotations: {} -podLabels: {} - -## @param nodeSelector Node labels for pod assignment -## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ -nodeSelector: {} - -## @param tolerations Tolerations for pod assignment -## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -tolerations: [] - -## @param affinity Affinity for pod assignment -## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -affinity: {} - -## @section Image parameters -## @param image.repository Docker image repository -## @param image.pullPolicy Docker image pull policy -## @param image.tag Overrides the image tag whose default is the chart appVersion -image: - repository: ghcr.io/corentinth/it-tools - pullPolicy: IfNotPresent - tag: "" - -## @section Service account parameters -## @param serviceAccount.create Specifies whether a service account should be created -## @param serviceAccount.automount Automatically mount a ServiceAccount's API credentials? -## @param serviceAccount.annotations Additional annotations for the ServiceAccount resource -## @param serviceAccount.name The name of the service account to use. If not set and create is true, a name is generated using the fullname template -serviceAccount: - create: false - automount: true - annotations: {} - name: "" - -## @section Security context parameters -## @param securityContext.capabilities.drop Capabilities to drop -## @param securityContext.readOnlyRootFilesystem If root filesystem should be read-only -## @param securityContext.runAsNonRoot If pod should be run as non-root -## @param securityContext.runAsUser User to run pod as -## @param securityContext.runAsGroup Group to run pod as -## @param securityContext.allowPrivilegeEscalation If privilege escalation should be allowed -## @param securityContext.seccompProfile.type seccomp profile type -securityContext: - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 10099 - runAsGroup: 10099 - allowPrivilegeEscalation: false - seccompProfile: - type: RuntimeDefault - -## @section Service parameters -## @param service.type Service type to create -## @param service.port Service port to use -service: - type: ClusterIP - port: 80 - -## @section Ingress parameters -## Configure the ingress resource that allows you to access the installation -## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/ -## -## @param ingress.enabled Enable ingress record generation -## @param ingress.className IngressClass that will be be used to implement the Ingress -## @param ingress.annotations Additional annotations for the Ingress resource -## @param ingress.hosts An array with hostname(s) to be covered with the ingress record -## @param ingress.tls TLS configuration for hostname(s) to be covered with this ingress record -ingress: - enabled: false - className: "" - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: [] - # - host: it-tools.example.local - # paths: - # - path: / - # pathType: Prefix - tls: [] - # - secretName: it-tools-tls - # hosts: - # - it-tools.example.local - -## @section Resources parameters -## @param resources Kubernetes resources -resources: {} - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -## @section Autoscaling parameters -## Autoscaling parameters -## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ -## @param autoscaling.enabled Enable Horizontal POD autoscaling -## @param autoscaling.minReplicas Minimum number of replicas -## @param autoscaling.maxReplicas Maximum number of replicas -## @param autoscaling.targetCPUUtilizationPercentage Target CPU utilization percentage -## @param autoscaling.targetMemoryUtilizationPercentage Target Memory utilization percentage -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 80