Releases: HomeDevopsLab/appchart
2.7.0
Added
SecurityContext
Adding k8s securityContext support. https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
Helpful, when certain app running inside a pod needs additional privileges.
securityContext:
runAsNonRoot: true
runAsUser: 1000
capabilities:
add: ["IPC_LOCK"]ConfigMap
With this version you can attach custom configMap object to helmrelease file
app configmap example
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-conf
namespace: default
data:
nginx.conf: |
worker_processes 1;
daemon off;
error_log nginx_error.log;
events {
worker_connections 1024;
}
http {
server {
listen 8008;
location / {
root /Users/bsergean/src/sandbox/json/jsoncpp;
}
}
}HelmRelease fragment example:
values:
configMap:
name: nginx-conf
mountPath: /etc/nginx.conf2.6.1
What's Changed
- fix: hardcoded namespace value replaced with
.Release.Namespace(helm doc) by @kkrolikowski in #15
Full Changelog: 2.6.0...2.6.1
2.6.0
Probes configuration (livenessProbe and startupProbe)
This change resolves issue #7, where some applications failed to start due to overly restrictive probe configurations. The problem was addressed by moving the startupProbe and livenessProbe sections directly into the HelmRelease files of specific applications. The Helm chart now imports this configuration to create the deployment objects.
Example
startupProbe:
httpGet:
path: /
port: 666
failureThreshold: 30
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 666
initialDelaySeconds: 10
periodSeconds: 2More info on: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
Pre hook: initWebsiteDir
In some situations hook returned non 0 status code, so applications deployment was distrupted. This was fixed by checking if application directory exists.
2.5.0
Use case
In some cases there's a need to share common shared storage space among more than one app or different app instances (i.e. server and worker instances). To solve this problem a new option was introduced: rootDir
This change was introduced in #9 issue.
How to use
rootDir configuration
values:
volumes:
rootDir: commonThis parameter is optional, so when no rootDir is specified, than HelmRelease name will be used to create parent folder on shared storage.
2.4.0
Liveness Probe
Ability to enable liveness probe on specified port. Liveness probes are TCP type
Hardcoded setup
initialDelaySeconds: 10
periodSeconds: 2Tolerations
When certain cluster node is not available
node.kubernetes.io/unreachable
node.kubernetes.io/not-ready
Pod should be killed and deployed on healthy node after 10 sec.
LoadBalancer
Ability to specify IP Address to be used in certain service.
Example
values:
services:
- name: ssh
type: LoadBalancer
protocol: "TCP"
loadBalancerIP: 10.0.0.1002.3.0
Changed
- removed liveness probes
- redefined startup probes
Added
- private container registries support (imagePullSecrets)
- support of multiple ingresses to single deployment
Container commands
Added option to run containers with custom commands and args.
image:
repository: imagename
tag: version
command:
- "cmd.sh"
args:
- "cmdarg"
Service Protocol Family
Added variable protocol in Values.services specitication. This allows to choose between protocol family which is used by application (i.e. named port 53)