@rugal/pulumi-istio
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

Istio custom resource definition generated for Typescript

Usage

installation

yarn add @rugal/pulumi-istio

create CRD just like K8S

import * as istio from "@rugal/pulumi-istio";

const vs = new istio.networking.v1beta1.VirtualService(name, {
      metadata: {
        name,
        namespace: args.namespace,
      },
      spec: {
        gateways: args.gateway,
        hosts: args.hosts,
        http: [
          {
            match: [
              {
                uri: { prefix: "/" },
              },
            ],
            route: [
              {
                destination: {
                  host: this.service.metadata.name,
                  port: {
                    number: 80,
                  },
                },
              },
            ],
          },
        ],
      },
    }, {
      parent: this,
    });

Contribution

  1. Generate the base

    crd2pulumi --nodejsPath src istio/manifests/charts/base/crds/crd-all.gen.yaml
  2. Replace | undefined> with >

    sed -i 's/ | undefined>/>/g' src/*
  3. Replace pulumi.Output<ObjectMeta> with pulumi.Output<k8s.types.output.meta.v1.ObjectMeta>;
    Also add import * as k8s from "@pulumi/kubernetes"; on the top of the changed files.
    The later part is tedious, one must manually add it.

Readme

Keywords

Package Sidebar

Install

npm i @rugal/pulumi-istio

Weekly Downloads

656

Version

1.0.6

License

MIT

Unpacked Size

377 kB

Total Files

108

Last publish

Collaborators

  • rugal