50 lines
1.2 KiB
HCL
50 lines
1.2 KiB
HCL
resource "kubectl_manifest" "sn-my-app-service-deployment" {
|
|
depends_on = [
|
|
kubectl_manifest.sn-my-simple-app-persistence
|
|
]
|
|
|
|
yaml_body = <<YAML
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: nginx-deployment
|
|
namespace: ${var.sn_namespace_name}
|
|
labels:
|
|
app: nginx
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: nginx
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: nginx
|
|
spec:
|
|
containers:
|
|
- name: nginx
|
|
image: nginx:stable-alpine
|
|
ports:
|
|
- containerPort: 80
|
|
volumeMounts:
|
|
- mountPath: "/usr/share/nginx/html"
|
|
name: nginx-data
|
|
volumes:
|
|
- name: nginx-data
|
|
persistentVolumeClaim:
|
|
claimName: nginx-data
|
|
YAML
|
|
}
|
|
|
|
#resource "null_resource" "update_index_html" {
|
|
# depends_on = [kubectl_manifest.sn-my-app-service-deployment] # if defined
|
|
#
|
|
# provisioner "local-exec" {
|
|
# command = <<-EOT
|
|
# kubectl exec deployment/nginx-deployment \
|
|
# --namespace=ingress-nginx -- \
|
|
# /bin/sh -c 'echo "<!DOCTYPE html><html><body><h1>My simple App</h1><p>Made be possible by Opentofu</p></body></html>" > /usr/share/nginx/html/index.html'
|
|
# EOT
|
|
# }
|
|
#
|
|
#} |