@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.

    Install

    npm i @rugal/pulumi-istio

    DownloadsWeekly Downloads

    981

    Version

    1.0.6

    License

    MIT

    Unpacked Size

    377 kB

    Total Files

    108

    Last publish

    Collaborators

    • rugal