Add containerPort label

This commit is contained in:
2022-06-10 14:36:03 +02:00
parent 8860bb01be
commit b7c867a963
2 changed files with 67 additions and 37 deletions

View File

@@ -852,6 +852,33 @@ func newContainerForDeployment(
prepareInitContainers(containerName, s, container)..., prepareInitContainers(containerName, s, container)...,
) )
// check if there is containerPort assigned in label, add it, and do
// not create service for this.
if ports, ok := s.Labels[helm.LABEL_CONTAINER_PORT]; ok {
for _, port := range strings.Split(ports, ",") {
func(port string, container *helm.Container, s *types.ServiceConfig) {
port = strings.TrimSpace(port)
if port == "" {
return
}
portNumber, err := strconv.Atoi(port)
if err != nil {
return
}
// avoid already declared ports
for _, p := range s.Ports {
if int(p.Target) == portNumber {
return
}
}
container.Ports = append(container.Ports, &helm.ContainerPort{
Name: deployName + "-" + port,
ContainerPort: portNumber,
})
}(port, container, s)
}
}
return container return container
} }

View File

@@ -10,6 +10,7 @@ const (
LABEL_MAP_ENV = K + "/mapenv" LABEL_MAP_ENV = K + "/mapenv"
LABEL_ENV_SECRET = K + "/secret-envfiles" LABEL_ENV_SECRET = K + "/secret-envfiles"
LABEL_PORT = K + "/ports" LABEL_PORT = K + "/ports"
LABEL_CONTAINER_PORT = K + "/container-ports"
LABEL_INGRESS = K + "/ingress" LABEL_INGRESS = K + "/ingress"
LABEL_VOL_CM = K + "/configmap-volumes" LABEL_VOL_CM = K + "/configmap-volumes"
LABEL_HEALTHCHECK = K + "/healthcheck" LABEL_HEALTHCHECK = K + "/healthcheck"
@@ -30,8 +31,9 @@ func GetLabelsDocumentation() string {
{{.LABEL_IGNORE | printf "%-33s"}}: ignore the container, it will not yied any object in the helm chart (bool) {{.LABEL_IGNORE | printf "%-33s"}}: ignore the container, it will not yied any object in the helm chart (bool)
{{.LABEL_SECRETVARS | printf "%-33s"}}: secret variables to push on a secret file (coma separated) {{.LABEL_SECRETVARS | printf "%-33s"}}: secret variables to push on a secret file (coma separated)
{{.LABEL_ENV_SECRET | printf "%-33s"}}: set the given file names as a secret instead of configmap (coma separated) {{.LABEL_ENV_SECRET | printf "%-33s"}}: set the given file names as a secret instead of configmap (coma separated)
{{.LABEL_MAP_ENV | printf "%-33s"}}: map environment variable to a template string (yaml style, object) contaienr in {{.LABEL_MAP_ENV | printf "%-33s"}}: map environment variable to a template string (yaml style, object)
{{.LABEL_PORT | printf "%-33s"}}: set the ports to expose as a service (coma separated) {{.LABEL_PORT | printf "%-33s"}}: set the ports to assign on the container in pod + expose as a service (coma separated)
{{.LABEL_CONTAINER_PORT | printf "%-33s"}}: set the ports to assign on the contaienr in pod but avoid service (coma separated)
{{.LABEL_INGRESS | printf "%-33s"}}: set the port to expose in an ingress (coma separated) {{.LABEL_INGRESS | printf "%-33s"}}: set the port to expose in an ingress (coma separated)
{{.LABEL_VOL_CM | printf "%-33s"}}: specifies that the volumes points on a configmap (coma separated) {{.LABEL_VOL_CM | printf "%-33s"}}: specifies that the volumes points on a configmap (coma separated)
{{.LABEL_SAMEPOD | printf "%-33s"}}: specifies that the pod should be deployed in the same pod than the {{.LABEL_SAMEPOD | printf "%-33s"}}: specifies that the pod should be deployed in the same pod than the
@@ -56,6 +58,7 @@ func GetLabelsDocumentation() string {
t.Execute(buff, map[string]string{ t.Execute(buff, map[string]string{
"LABEL_ENV_SECRET": LABEL_ENV_SECRET, "LABEL_ENV_SECRET": LABEL_ENV_SECRET,
"LABEL_PORT": LABEL_PORT, "LABEL_PORT": LABEL_PORT,
"LABEL_CONTAINER_PORT": LABEL_CONTAINER_PORT,
"LABEL_INGRESS": LABEL_INGRESS, "LABEL_INGRESS": LABEL_INGRESS,
"LABEL_VOL_CM": LABEL_VOL_CM, "LABEL_VOL_CM": LABEL_VOL_CM,
"LABEL_HEALTHCHECK": LABEL_HEALTHCHECK, "LABEL_HEALTHCHECK": LABEL_HEALTHCHECK,