github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/transpiled_examples/kubernetes-pp/nodejs/kubernetes.ts (about) 1 import * as pulumi from "@pulumi/pulumi"; 2 import * as kubernetes from "@pulumi/kubernetes"; 3 4 const config = new pulumi.Config(); 5 const hostname = config.get("hostname") || "example.com"; 6 const nginxDemo = new kubernetes.core.v1.Namespace("nginx-demo", {}); 7 const app = new kubernetes.apps.v1.Deployment("app", { 8 metadata: { 9 namespace: nginxDemo.metadata.apply(metadata => metadata?.name), 10 }, 11 spec: { 12 selector: { 13 matchLabels: { 14 "app.kubernetes.io/name": "nginx-demo", 15 }, 16 }, 17 replicas: 1, 18 template: { 19 metadata: { 20 labels: { 21 "app.kubernetes.io/name": "nginx-demo", 22 }, 23 }, 24 spec: { 25 containers: [{ 26 name: "app", 27 image: "nginx:1.15-alpine", 28 }], 29 }, 30 }, 31 }, 32 }); 33 const service = new kubernetes.core.v1.Service("service", { 34 metadata: { 35 namespace: nginxDemo.metadata.apply(metadata => metadata?.name), 36 labels: { 37 "app.kubernetes.io/name": "nginx-demo", 38 }, 39 }, 40 spec: { 41 type: "ClusterIP", 42 ports: [{ 43 port: 80, 44 targetPort: 80, 45 protocol: "TCP", 46 }], 47 selector: { 48 "app.kubernetes.io/name": "nginx-demo", 49 }, 50 }, 51 }); 52 const ingress = new kubernetes.networking.v1.Ingress("ingress", { 53 metadata: { 54 namespace: nginxDemo.metadata.apply(metadata => metadata?.name), 55 }, 56 spec: { 57 rules: [{ 58 host: hostname, 59 http: { 60 paths: [{ 61 path: "/", 62 pathType: "Prefix", 63 backend: { 64 service: { 65 name: service.metadata.apply(metadata => metadata?.name), 66 port: { 67 number: 80, 68 }, 69 }, 70 }, 71 }], 72 }, 73 }], 74 }, 75 });