Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't set IP rules #265

Open
mastoj opened this issue Dec 22, 2024 · 0 comments
Open

Can't set IP rules #265

mastoj opened this issue Dec 22, 2024 · 0 comments

Comments

@mastoj
Copy link

mastoj commented Dec 22, 2024

I have a very simple program where I try to experiment with the firewall config, but it fails with some weird error.

The program:

import * as pulumi from "@pulumi/pulumi";
import {
  FirewallConfig,
  ProjectEnvironmentVariable,
  Provider as VercelProvider,
} from "@pulumiverse/vercel";

const config = new pulumi.Config();
const projectId = config.require("projectId");

new VercelProvider("vercel");

// Environment examples (custom environments are not supported yet)
new ProjectEnvironmentVariable("exampleProjectEnvironmentVariable", {
  projectId: projectId,
  key: "foo",
  value: "bar",
  targets: ["production"],
});

// Firewall
const whiteListedIps: string[] = [];
const blackListedIps = ["127.0.0.1"];

new FirewallConfig("exampleFirewallConfig", {
  projectId: projectId,
  ipRules: {
    rules: [
      ...whiteListedIps.map((ip) => ({
        action: "bypass",
        ip: ip,
        hostname: "*",
      })),
      ...blackListedIps.map((ip) => ({
        action: "deny",
        ip: ip,
        hostname: "*",
      })),
    ],
  },
});

And the resulting error:

Diagnostics:
pulumi:pulumi:Stack (vercelpulumidemo.infra-dev):
error: update failed

panic: interface conversion: interface {} is nil, not string
goroutine 125 [running]:
github.com/pulumi/pulumi/sdk/v3/go/common/resource.PropertyValue.StringValue(...)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties.go:450
github.com/pulumiverse/pulumi-vercel/provider.Provider.func3({0x1069fe2f8?, 0x106630cc0?}, 0x14000fb6ae0)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/resources.go:89 +0x10c
github.com/pulumi/pulumi-terraform-bridge/pf/tfbridge.extractID({0x1069f17a8?, 0x14000a77110?}, {0x105fe159a?, 0x14000fa7530?}, 0x0?, 0x14000fb6ae0)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/github.com/pulumi/pulumi-terraform-bridge/pf/tfbridge/ids.go:34 +0x44
github.com/pulumi/pulumi-terraform-bridge/pf/tfbridge.(*provider).CreateWithContext(0x14000b8dc08, {0x1069f17a8?, 0x14000a76ba0?}, {0x14000edb1f0, 0x69}, 0x14000a76bd0, 0x0?, 0x0)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/github.com/pulumi/pulumi-terraform-bridge/pf/tfbridge/provider_create.go:125 +0x5a0
github.com/pulumi/pulumi-terraform-bridge/pf/internal/plugin.(*providerServer).Create(0x14000e1b650, {0x1069f17a8, 0x14000a76ba0}, 0x14000c5b3b0)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/github.com/pulumi/pulumi-terraform-bridge/pf/internal/plugin/provider_server.go:389 +0x12c
github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Create_Handler.func1({0x1069f17a8?, 0x14000a76ba0?}, {0x1068bf540?, 0x14000c5b3b0?})
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider_grpc.pb.go:663 +0xd0
github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x1069f17a8, 0x14000a767b0}, {0x1068bf540, 0x14000c5b3b0}, 0x14000b586a0, 0x14000c07818)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc/server.go:57 +0x2d4
github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Create_Handler({0x10696d1a0, 0x14000e1b650}, {0x1069f17a8, 0x14000a767b0}, 0x140002a6080, 0x14000ae7f00)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider_grpc.pb.go:665 +0x148
google.golang.org/grpc.(*Server).processUnaryRPC(0x140008dce00, {0x1069f17a8, 0x14000a76720}, {0x106a03fc0, 0x14000b341a0}, 0x14000a759e0, 0x14000e1b6e0, 0x107afca98, 0x0)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/google.golang.org/grpc/server.go:1394 +0xb64
google.golang.org/grpc.(*Server).handleStream(0x140008dce00, {0x106a03fc0, 0x14000b341a0}, 0x14000a759e0)
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/google.golang.org/grpc/server.go:1805 +0xb20
google.golang.org/grpc.(*Server).serveStreams.func2.1()
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/google.golang.org/grpc/server.go:1029 +0x84
created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 39
    /home/runner/work/pulumi-vercel/pulumi-vercel/provider/vendor/google.golang.org/grpc/server.go:1040 +0x13c

vercel:index:FirewallConfig (exampleFirewallConfig):
error: error reading from server: EOF

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant