Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package helmify for openSUSE:Factory checked in at 2023-04-28 16:24:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/helmify (Old) and /work/SRC/openSUSE:Factory/.helmify.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "helmify" Fri Apr 28 16:24:58 2023 rev:9 rq:1083531 version:0.4.2 Changes: -------- --- /work/SRC/openSUSE:Factory/helmify/helmify.changes 2023-04-13 14:11:07.488426546 +0200 +++ /work/SRC/openSUSE:Factory/.helmify.new.1533/helmify.changes 2023-04-28 16:26:12.215003219 +0200 @@ -1,0 +2,6 @@ +Fri Apr 28 08:42:07 UTC 2023 - ka...@b1-systems.de + +- Update to version 0.4.2: + * Add support for extracting args from containers. + +------------------------------------------------------------------- Old: ---- helmify-0.4.1.obscpio New: ---- helmify-0.4.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ helmify.spec ++++++ --- /var/tmp/diff_new_pack.yJgRdb/_old 2023-04-28 16:26:17.123032018 +0200 +++ /var/tmp/diff_new_pack.yJgRdb/_new 2023-04-28 16:26:17.131032065 +0200 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: helmify -Version: 0.4.1 +Version: 0.4.2 Release: 0 Summary: Creates Helm chart from Kubernetes yaml License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.yJgRdb/_old 2023-04-28 16:26:17.163032253 +0200 +++ /var/tmp/diff_new_pack.yJgRdb/_new 2023-04-28 16:26:17.163032253 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/arttor/helmify/</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.4.1</param> + <param name="revision">v0.4.2</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.yJgRdb/_old 2023-04-28 16:26:17.183032370 +0200 +++ /var/tmp/diff_new_pack.yJgRdb/_new 2023-04-28 16:26:17.187032393 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/arttor/helmify/</param> - <param name="changesrevision">9e709ee1587ab637bf811837213670c1f1125ba4</param></service></servicedata> + <param name="changesrevision">3e87d86d3c6468ec33150d57f6f2c37de00b86da</param></service></servicedata> (No newline at EOF) ++++++ helmify-0.4.1.obscpio -> helmify-0.4.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmify-0.4.1/examples/app/templates/deployment.yaml new/helmify-0.4.2/examples/app/templates/deployment.yaml --- old/helmify-0.4.1/examples/app/templates/deployment.yaml 2023-04-10 19:47:21.000000000 +0200 +++ new/helmify-0.4.2/examples/app/templates/deployment.yaml 2023-04-28 09:50:13.000000000 +0200 @@ -18,10 +18,7 @@ {{- include "app.selectorLabels" . | nindent 8 }} spec: containers: - - args: - - --health-probe-bind-address=:8081 - - --metrics-bind-address=127.0.0.1:8080 - - --leader-elect + - args: {{- toYaml .Values.myapp.app.args | nindent 8 }} command: - /manager env: @@ -65,9 +62,7 @@ name: props - mountPath: /usr/share/nginx/html name: sample-pv-storage - - args: - - --secure-listen-address=0.0.0.0:8443 - - --v=10 + - args: {{- toYaml .Values.myapp.proxySidecar.args | nindent 8 }} env: - name: KUBERNETES_CLUSTER_DOMAIN value: {{ quote .Values.kubernetesClusterDomain }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmify-0.4.1/examples/app/values.yaml new/helmify-0.4.2/examples/app/values.yaml --- old/helmify-0.4.1/examples/app/values.yaml 2023-04-10 19:47:21.000000000 +0200 +++ new/helmify-0.4.2/examples/app/values.yaml 2023-04-28 09:50:13.000000000 +0200 @@ -53,6 +53,10 @@ var2: "" myapp: app: + args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect containerSecurityContext: allowPrivilegeEscalation: false image: @@ -69,6 +73,9 @@ region: east type: user-node proxySidecar: + args: + - --secure-listen-address=0.0.0.0:8443 + - --v=10 image: repository: gcr.io/kubebuilder/kube-rbac-proxy tag: v0.8.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmify-0.4.1/examples/operator/templates/deployment.yaml new/helmify-0.4.2/examples/operator/templates/deployment.yaml --- old/helmify-0.4.1/examples/operator/templates/deployment.yaml 2023-04-10 19:47:21.000000000 +0200 +++ new/helmify-0.4.2/examples/operator/templates/deployment.yaml 2023-04-28 09:50:13.000000000 +0200 @@ -25,11 +25,7 @@ {{- include "operator.selectorLabels" . | nindent 8 }} spec: containers: - - args: - - --secure-listen-address=0.0.0.0:8443 - - --upstream=http://127.0.0.1:8080/ - - --logtostderr=true - - --v=10 + - args: {{- toYaml .Values.controllerManager.kubeRbacProxy.args | nindent 8 }} env: - name: KUBERNETES_CLUSTER_DOMAIN value: {{ quote .Values.kubernetesClusterDomain }} @@ -40,10 +36,7 @@ - containerPort: 8443 name: https resources: {} - - args: - - --health-probe-bind-address=:8081 - - --metrics-bind-address=127.0.0.1:8080 - - --leader-elect + - args: {{- toYaml .Values.controllerManager.manager.args | nindent 8 }} command: - /manager env: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmify-0.4.1/examples/operator/values.yaml new/helmify-0.4.2/examples/operator/values.yaml --- old/helmify-0.4.1/examples/operator/values.yaml 2023-04-10 19:47:21.000000000 +0200 +++ new/helmify-0.4.2/examples/operator/values.yaml 2023-04-28 09:50:13.000000000 +0200 @@ -2,10 +2,19 @@ var4: value for var4 controllerManager: kubeRbacProxy: + args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=10 image: repository: gcr.io/kubebuilder/kube-rbac-proxy tag: v0.8.0 manager: + args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect containerSecurityContext: allowPrivilegeEscalation: false capabilities: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmify-0.4.1/pkg/processor/deployment/deployment.go new/helmify-0.4.2/pkg/processor/deployment/deployment.go --- old/helmify-0.4.1/pkg/processor/deployment/deployment.go 2023-04-10 19:47:21.000000000 +0200 +++ new/helmify-0.4.2/pkg/processor/deployment/deployment.go 2023-04-28 09:50:13.000000000 +0200 @@ -2,11 +2,12 @@ import ( "fmt" - "github.com/arttor/helmify/pkg/processor/pod" "io" "strings" "text/template" + "github.com/arttor/helmify/pkg/processor/pod" + "github.com/arttor/helmify/pkg/helmify" "github.com/arttor/helmify/pkg/processor" yamlformat "github.com/arttor/helmify/pkg/yaml" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmify-0.4.1/pkg/processor/pod/pod.go new/helmify-0.4.2/pkg/processor/pod/pod.go --- old/helmify-0.4.1/pkg/processor/pod/pod.go 2023-04-10 19:47:21.000000000 +0200 +++ new/helmify-0.4.2/pkg/processor/pod/pod.go 2023-04-28 09:50:13.000000000 +0200 @@ -48,14 +48,30 @@ if err != nil { return nil, nil, err } - if !exists || len(res) == 0 { - continue + if exists && len(res) > 0 { + err = unstructured.SetNestedField(containers[i].(map[string]interface{}), fmt.Sprintf(`{{- toYaml .Values.%s.%s.resources | nindent 10 }}`, objName, containerName), "resources") + if err != nil { + return nil, nil, err + } } - err = unstructured.SetNestedField(containers[i].(map[string]interface{}), fmt.Sprintf(`{{- toYaml .Values.%s.%s.resources | nindent 10 }}`, objName, containerName), "resources") + + args, exists, err := unstructured.NestedStringSlice(containers[i].(map[string]interface{}), "args") if err != nil { return nil, nil, err } + if exists && len(args) > 0 { + err = unstructured.SetNestedField(containers[i].(map[string]interface{}), fmt.Sprintf(`{{- toYaml .Values.%[1]s.%[2]s.args | nindent 8 }}`, objName, containerName), "args") + if err != nil { + return nil, nil, err + } + + err = unstructured.SetNestedStringSlice(values, args, objName, containerName, "args") + if err != nil { + return nil, nil, fmt.Errorf("%w: unable to set deployment value field", err) + } + } } + err = unstructured.SetNestedSlice(specMap, containers, "containers") if err != nil { return nil, nil, err diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmify-0.4.1/pkg/processor/pod/pod_test.go new/helmify-0.4.2/pkg/processor/pod/pod_test.go --- old/helmify-0.4.1/pkg/processor/pod/pod_test.go 1970-01-01 01:00:00.000000000 +0100 +++ new/helmify-0.4.2/pkg/processor/pod/pod_test.go 2023-04-28 09:50:13.000000000 +0200 @@ -0,0 +1,152 @@ +package pod + +import ( + "testing" + + "github.com/arttor/helmify/pkg/helmify" + "github.com/arttor/helmify/pkg/metadata" + appsv1 "k8s.io/api/apps/v1" + "k8s.io/apimachinery/pkg/runtime" + + "github.com/arttor/helmify/internal" + "github.com/stretchr/testify/assert" +) + +const ( + strDeployment = ` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-deployment + labels: + app: nginx +spec: + replicas: 3 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.14.2 + args: + - --test + - --arg + ports: + - containerPort: 80 +` + + strDeploymentWithNoArgs = ` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-deployment + labels: + app: nginx +spec: + replicas: 3 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.14.2 + ports: + - containerPort: 80 +` +) + +func Test_pod_Process(t *testing.T) { + t.Run("deployment with args", func(t *testing.T) { + var deploy appsv1.Deployment + obj := internal.GenerateObj(strDeployment) + err := runtime.DefaultUnstructuredConverter.FromUnstructured(obj.Object, &deploy) + specMap, tmpl, err := ProcessSpec("nginx", &metadata.Service{}, deploy.Spec.Template.Spec) + assert.NoError(t, err) + + assert.Equal(t, map[string]interface{}{ + "containers": []interface{}{ + map[string]interface{}{ + "args": "{{- toYaml .Values.nginx.nginx.args | nindent 8 }}", + "env": []interface{}{ + map[string]interface{}{ + "name": "KUBERNETES_CLUSTER_DOMAIN", + "value": "{{ quote .Values.kubernetesClusterDomain }}", + }, + }, + "image": "{{ .Values.nginx.nginx.image.repository }}:{{ .Values.nginx.nginx.image.tag | default .Chart.AppVersion }}", + "name": "nginx", "ports": []interface{}{ + map[string]interface{}{ + "containerPort": int64(80), + }, + }, + "resources": map[string]interface{}{}, + }, + }, + }, specMap) + + assert.Equal(t, helmify.Values{ + "nginx": map[string]interface{}{ + "nginx": map[string]interface{}{ + "image": map[string]interface{}{ + "repository": "nginx", + "tag": "1.14.2", + }, + "args": []interface{}{ + "--test", + "--arg", + }, + }, + }, + }, tmpl) + }) + + t.Run("deployment with no args", func(t *testing.T) { + var deploy appsv1.Deployment + obj := internal.GenerateObj(strDeploymentWithNoArgs) + err := runtime.DefaultUnstructuredConverter.FromUnstructured(obj.Object, &deploy) + specMap, tmpl, err := ProcessSpec("nginx", &metadata.Service{}, deploy.Spec.Template.Spec) + assert.NoError(t, err) + + assert.Equal(t, map[string]interface{}{ + "containers": []interface{}{ + map[string]interface{}{ + "env": []interface{}{ + map[string]interface{}{ + "name": "KUBERNETES_CLUSTER_DOMAIN", + "value": "{{ quote .Values.kubernetesClusterDomain }}", + }, + }, + "image": "{{ .Values.nginx.nginx.image.repository }}:{{ .Values.nginx.nginx.image.tag | default .Chart.AppVersion }}", + "name": "nginx", "ports": []interface{}{ + map[string]interface{}{ + "containerPort": int64(80), + }, + }, + "resources": map[string]interface{}{}, + }, + }, + }, specMap) + + assert.Equal(t, helmify.Values{ + "nginx": map[string]interface{}{ + "nginx": map[string]interface{}{ + "image": map[string]interface{}{ + "repository": "nginx", + "tag": "1.14.2", + }, + }, + }, + }, tmpl) + }) + +} ++++++ helmify.obsinfo ++++++ --- /var/tmp/diff_new_pack.yJgRdb/_old 2023-04-28 16:26:17.335033262 +0200 +++ /var/tmp/diff_new_pack.yJgRdb/_new 2023-04-28 16:26:17.339033286 +0200 @@ -1,5 +1,5 @@ name: helmify -version: 0.4.1 -mtime: 1681148841 -commit: 9e709ee1587ab637bf811837213670c1f1125ba4 +version: 0.4.2 +mtime: 1682668213 +commit: 3e87d86d3c6468ec33150d57f6f2c37de00b86da ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/helmify/vendor.tar.gz /work/SRC/openSUSE:Factory/.helmify.new.1533/vendor.tar.gz differ: char 5, line 1