# typescript


06/28/2019, 11:07 PM
i've been trying very hard to get this sample envoy sidecar deployment to work that's highlighted on the site.
Copy code
import * as k8s from '@pulumi/kubernetes';
import * as k8sInput from '@pulumi/kubernetes/types/input';
import * as pulumi from '@pulumi/pulumi';

export class EnvoyDeployment extends k8s.apps.v1.Deployment {
    constructor(name: string,
                args: k8stypes.apps.v1.Deployment,
                opts?: pulumi.CustomResourceOptions) {
        const pod = args.spec.template.spec;

        // Add an Envoy sidecar container.
        pod.containers = pod.containers || [];
            name: "envoy",
            image: "lyft/envoy:latest",
            command: ["/usr/local/bin/envoy"],
            args: [
                "--concurrency 4",
                "--config-path /etc/envoy/envoy.json",
                "--mode serve"
            ports: [{ containerPort: 80, protocol: "TCP" }],
            resources: {
                limits: { cpu: "1000m", memory: "512Mi" },
                requests: { cpu: "100m", memory: "64Mi" }
            volumeMounts: [{ name: "envoy-conf", mountPath: "/etc/envoy" }]

        // Add an associated Volume for Envoy's config, mounted as a ConfigMap.
        pod.volumes = pod.volumes || [];
            name: "envoy-conf", configMap: { name: "envoy" },

        super(name, args, opts);
but the compiler is giving my fits
Copy code
Property 'template' does not exist on type 'Input<DeploymentSpec>'.
  Property 'template' does not exist on type 'Promise<DeploymentSpec>'.
const pod = args.spec.template.spec;
Is this no longer a valid example? Could anyone help point out what I'm missing here?