jenkins: helm chart and cue configuration

Change-Id: I3398b0fab8af43c4a138112a258263153d3ab473
diff --git a/core/installer/app_test.go b/core/installer/app_test.go
index d3e4d3c..4524a30 100644
--- a/core/installer/app_test.go
+++ b/core/installer/app_test.go
@@ -164,6 +164,48 @@
 				"public":  "foo",
 				"private": "bar",
 			},
+			"sshPort": 22,
+		},
+	}
+	rendered, err := a.Render(d)
+	if err != nil {
+		t.Fatal(err)
+	}
+	for _, r := range rendered.Resources {
+		t.Log(string(r))
+	}
+}
+
+func TestJenkins(t *testing.T) {
+	r := NewInMemoryAppRepository(CreateAllApps())
+	a, err := r.Find("jenkins")
+	if err != nil {
+		t.Fatal(err)
+	}
+	if a == nil {
+		t.Fatal("returned app is nil")
+	}
+	d := Derived{
+		Release: Release{
+			Namespace: "foo",
+		},
+		Global: Values{
+			PCloudEnvName:   "dodo",
+			Id:              "id",
+			ContactEmail:    "foo@bar.ge",
+			Domain:          "bar.ge",
+			PrivateDomain:   "p.bar.ge",
+			PublicIP:        "1.2.3.4",
+			NamespacePrefix: "id-",
+		},
+		Values: map[string]any{
+			"subdomain": "jenkins",
+			"network": map[string]any{
+				"name":             "Private",
+				"ingressClass":     "id-ingress-private",
+				"domain":           "p.bar.ge",
+				"allocatePortAddr": "http://foo.bar/api/allocate",
+			},
 		},
 	}
 	rendered, err := a.Render(d)