Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions internal/templates/renderer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ func TestRenderTemplate(t *testing.T) {
},
UID: 2000,
Image: "ubuntu:22.04",
Namespace: "devenv-test",
Packages: config.PackageConfig{
Python: []string{"numpy", "pandas"},
APT: []string{"vim", "curl"},
Expand Down Expand Up @@ -57,7 +58,7 @@ func TestRenderTemplate(t *testing.T) {
},
}

templates := []string{"statefulset", "service", "env-vars", "startup-scripts"}
templates := []string{"statefulset", "service", "env-vars", "startup-scripts", "ingress"}

for _, templateName := range templates {
t.Run(templateName, func(t *testing.T) {
Expand Down Expand Up @@ -109,6 +110,7 @@ func TestRenderAll(t *testing.T) {
Name: "minimal",
BaseConfig: config.BaseConfig{
SSHPublicKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7... minimal@example.com",
Namespace: "devenv-test",
},
SSHPort: 30002,
}
Expand All @@ -121,7 +123,7 @@ func TestRenderAll(t *testing.T) {
require.NoError(t, err, "RenderAll should not return error")

// Verify all expected files were created
expectedFiles := []string{"statefulset.yaml", "service.yaml", "env-vars.yaml", "startup-scripts.yaml"}
expectedFiles := []string{"statefulset.yaml", "service.yaml", "env-vars.yaml", "startup-scripts.yaml", "ingress.yaml"}

for _, filename := range expectedFiles {
filePath := filepath.Join(tempDir, filename)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: env-vars-{{.Name}}
namespace: {{.Namespace}}
labels:
app: devenv-{{.Name}}
data:
Expand Down
3 changes: 2 additions & 1 deletion internal/templates/template_files/dev/manifests/ingress.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: devenv-ingress-{{.Name}}
namespace: {{.Namespace}}
annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt"
Expand All @@ -28,4 +29,4 @@ spec:
tls:
- hosts:
- "*.{{.HostName}}"
secretName: http-{{.Name}}-tls
secretName: http-{{.Name}}-tls
4 changes: 3 additions & 1 deletion internal/templates/template_files/dev/manifests/service.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: devenv-ssh-{{.Name}}
namespace: {{.Namespace}}
labels:
app: devenv-{{.Name}}
service: ssh
Expand All @@ -21,6 +22,7 @@ apiVersion: v1
kind: Service
metadata:
name: devenv-http-{{.Name}}
namespace: {{.Namespace}}
labels:
app: devenv-{{.Name}}
service: http
Expand All @@ -33,4 +35,4 @@ spec:
port: {{.HTTPPort}}
targetPort: {{.HTTPPort}}
protocol: TCP
{{- end}}
{{- end}}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: startup-scripts-{{.Name}}
namespace: {{.Namespace}}
labels:
app: devenv-{{.Name}}
data:
Expand All @@ -19,4 +20,4 @@ data:

# User setup script
setup.sh: |
{{getTemplatedScript "user-setup.sh" . | indent 4}}
{{getTemplatedScript "user-setup.sh" . | indent 4}}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: StatefulSet
metadata:
name: devenv-{{.Name}}
namespace: {{.Namespace}}
labels:
app: devenv-{{.Name}}
component: devenv
Expand Down Expand Up @@ -127,4 +128,4 @@ spec:
hostPath:
path: {{.LocalPath}}
type: DirectoryOrCreate
{{- end}}
{{- end}}
1 change: 1 addition & 0 deletions internal/templates/testdata/golden/env-vars.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: env-vars-testuser
namespace: devenv-test
labels:
app: devenv-testuser
data:
Expand Down
26 changes: 26 additions & 0 deletions internal/templates/testdata/golden/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: devenv-ingress-testuser
namespace: devenv-test
annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt"

spec:
ingressClassName: nginx
rules:
- host: testuser.
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: devenv-http-testuser
port:
name: http
tls:
- hosts:
- "*."
secretName: http-testuser-tls
4 changes: 3 additions & 1 deletion internal/templates/testdata/golden/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: devenv-ssh-testuser
namespace: devenv-test
labels:
app: devenv-testuser
service: ssh
Expand All @@ -20,6 +21,7 @@ apiVersion: v1
kind: Service
metadata:
name: devenv-http-testuser
namespace: devenv-test
labels:
app: devenv-testuser
service: http
Expand All @@ -31,4 +33,4 @@ spec:
- name: http
port: 8080
targetPort: 8080
protocol: TCP
protocol: TCP
3 changes: 2 additions & 1 deletion internal/templates/testdata/golden/startup-scripts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: startup-scripts-testuser
namespace: devenv-test
labels:
app: devenv-testuser
data:
Expand Down Expand Up @@ -355,4 +356,4 @@ data:
git config --global user.name "${GIT_USER_NAME}"
git config --global user.email "${GIT_USER_EMAIL}"

echo "User environment setup complete for testuser"
echo "User environment setup complete for testuser"
3 changes: 2 additions & 1 deletion internal/templates/testdata/golden/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: StatefulSet
metadata:
name: devenv-testuser
namespace: devenv-test
labels:
app: devenv-testuser
component: devenv
Expand Down Expand Up @@ -106,4 +107,4 @@ spec:
- name: config-volume
hostPath:
path: /mnt/config
type: DirectoryOrCreate
type: DirectoryOrCreate