Ingress: clear X-Frame-Options header from responses.
This enables applications to be loaded in iframes. Although it does
sacrifice security a bit.
https: //developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
Change-Id: Ibb5568b5461bbe001106724a0cf64ec25e7fd4ce
diff --git a/core/installer/app_test.go b/core/installer/app_test.go
index a979342..0d7bd6a 100644
--- a/core/installer/app_test.go
+++ b/core/installer/app_test.go
@@ -187,3 +187,71 @@
t.Log(string(r))
}
}
+
+func TestIngressPublic(t *testing.T) {
+ r := NewInMemoryAppRepository(CreateAllApps())
+ a, err := FindInfraApp(r, "ingress-public")
+ if err != nil {
+ t.Fatal(err)
+ }
+ if a == nil {
+ t.Fatal("returned app is nil")
+ }
+ release := Release{
+ Namespace: "foo",
+ }
+ env := InfraConfig{
+ Name: "dodo",
+ PublicIP: []net.IP{net.ParseIP("1.2.3.4")},
+ InfraNamespacePrefix: "id-",
+ InfraAdminPublicKey: []byte("foo"),
+ }
+ values := map[string]any{
+ "sshPrivateKey": "private",
+ }
+ rendered, err := a.Render(release, env, values)
+ if err != nil {
+ t.Fatal(err)
+ }
+ for _, r := range rendered.Resources {
+ t.Log(string(r))
+ }
+}
+
+func TestPrivateNetwork(t *testing.T) {
+ r := NewInMemoryAppRepository(CreateAllApps())
+ a, err := FindEnvApp(r, "private-network")
+ if err != nil {
+ t.Fatal(err)
+ }
+ if a == nil {
+ t.Fatal("returned app is nil")
+ }
+ release := Release{
+ Namespace: "foo",
+ }
+ env := AppEnvConfig{
+ InfraName: "dodo",
+ Id: "id",
+ ContactEmail: "foo@bar.ge",
+ Domain: "bar.ge",
+ PrivateDomain: "p.bar.ge",
+ PublicIP: []net.IP{net.ParseIP("1.2.3.4")},
+ NamespacePrefix: "id-",
+ }
+ values := map[string]any{
+ "privateNetwork": map[string]any{
+ "hostname": "foo",
+ "username": "bar",
+ "ipSubnet": "123123",
+ },
+ "sshPrivateKey": "private",
+ }
+ rendered, err := a.Render(release, env, values)
+ if err != nil {
+ t.Fatal(err)
+ }
+ for _, r := range rendered.Resources {
+ t.Log(string(r))
+ }
+}