Giter Site home page Giter Site logo

pulumi-exoscale's Introduction

pulumi-exoscale's People

Contributors

dependabot[bot] avatar dirien avatar susanev avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

susanev

pulumi-exoscale's Issues

Pulumi Registry: Exoscale Listing is missing

The Link in the Readme to the URL https://www.pulumi.com/registry/packages/exoscale/api-docs/ ends up with an error 404.

For detailed reference documentation, please visit [the Pulumi registry](https://www.pulumi.com/registry/packages/exoscale/api-docs/).

Also, I get on a "non-pre-cached" system an error while installing the Exoscale plugin manually pulumi plugin install resource exoscale v0.1.2.

error: [resource plugin exoscale-0.1.2] downloading from: failed to download plugin: exoscale-0.1.2: 403 HTTP error fetching plugin from https://get.pulumi.com/releases/plugins/pulumi-resource-exoscale-v0.1.2-windows-amd64.tar.gz

Is there a misunderstanding on my side (changed URL)? Or is there something wrong?
Btw: I cannot find it here https://www.pulumi.com/registry/ too.

Thanks for checking.

`SKSNodepool` doesn't wait for the instance pool to become ready

When creating an SKSNodepool, pulumi doesn't wait for the instance pool to become ready. This leads to the problem that if I want to use the instance pools IP addresses later to configure the allowed IPs of my database, they are filled with an empty string.

This is an example of what I've tried:

const sksNodepool = new exoscale.SKSNodepool('nodepool-prd', {
  zone: 'at-vie-1',
  diskSize: 20,
  instanceType: 'standard.medium',
  size: 2,
  description: 'Instance pool for the production cluster',
  clusterId: sksCluster.id,
});

const instancePoolIps = sksNodepool.instancePoolId.apply(async (id) => {
  const instancePool = await exoscale.getInstancePool({ zone: 'at-vie-1', id });
    
  return instancePool.instances.map((i) => i.publicIpAddress);
});

const db = new exoscale.Database(
  'postgres',
  {
    name: 'postgres',
    zone: 'at-vie-1',
    type: 'pg',
    plan: 'hobbyist-2',
    pg: {
      ipFilters: instancePoolIps.apply((instances) => [
        ...instances.map(async (i) => `${await i}/32`),
        '62.240.134.67/32',
      ]),
    },
  },
  {
    dependsOn: sksNodepool,
  },
);

Exo SKS Nodepools: A failure has occurred: Unexpected TF output property value: 50

Hi guys

I tested this new plugin for the Exoscale provider with the SKS setup for Kubernetes.
When I run the below example only with the cluster itself (without any nodepool) then it works great and the cluster is created after a few seconds.
When I try to preview the complete example with the command pulumi -v3 up --stack my-stack I get the following error message and the Pulumi process stops:

Previewing update (exo-demo-01):
     Type                           Name                          Plan       Info
 +   pulumi:pulumi:Stack            my-stack-exo-demo-01  create     28 messages
     └─ exoscale:index:SKSNodepool  exo-demo-01-node-pool             1 error

Diagnostics:
  pulumi:pulumi:Stack (my-stack-exo-demo-01):
    panic: fatal: A failure has occurred: Unexpected TF output property value: 50
    goroutine 26 [running]:
    github.com/pulumi/pulumi/sdk/v3/go/common/util/contract.failfast(...)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/[email protected]/go/common/util/contract/failfast.go:23
    github.com/pulumi/pulumi/sdk/v3/go/common/util/contract.Failf({0x18f99b4?, 0x1698400?}, {0xc0001411f8?, 0x12?, 0x4?})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/[email protected]/go/common/util/contract/fail.go:30 +0xcd
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.MakeTerraformOutput.func1({0x1b2b1d8, 0xc0007004e0}, {0x1698400, 0x1b102d8}, {0x1b2cc20, 0xc0008032c0}, 0x0, 0xc00049e5a0, 0x0, 0x1)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/[email protected]/pkg/tfbridge/schema.go:974 +0x555
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.MakeTerraformOutput({0x1b2b1d8?, 0xc0007004e0?}, {0x1698400?, 0x1b102d8?}, {0x1b2cc20?, 0xc0008032c0?}, 0xc0001344e0?, 0xc000134508?, 0x78?, 0x1)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/[email protected]/pkg/tfbridge/schema.go:979 +0x70
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.MakeTerraformOutputs({0x1b2b1d8, 0xc0007004e0}, 0xc0008ac500?, {0x1b24848, 0xc000121080}, 0xc000467680?, 0x1b254b0?, 0x20?, 0xdb?)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/[email protected]/pkg/tfbridge/schema.go:852 +0x174
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.(*Provider).Check(0xc0008ac500, {0x1b1fba8, 0xc00049e480}, 0xc00051a0c0)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/[email protected]/pkg/tfbridge/provider.go:719 +0x8ea
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Check_Handler.func1({0x1b1fba8, 0xc00049e480}, {0x1813660?, 0xc00051a0c0})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/[email protected]/proto/go/provider.pb.go:3710 +0x78
    github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x1b1fba8, 0xc00049e390}, {0x1813660, 0xc00051a0c0}, 0xc00007c4e0, 0xc00041a0f0)
        /home/runner/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/go/otgrpc/server.go:57 +0x3f9
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Check_Handler({0x1886f00?, 0xc0008ac500}, {0x1b1fba8, 0xc00049e390}, 0xc000402000, 0xc000340340)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/[email protected]/proto/go/provider.pb.go:3712 +0x138
    google.golang.org/grpc.(*Server).processUnaryRPC(0xc0006581e0, {0x1b264c0, 0xc000504ea0}, 0xc0000ca360, 0xc0004fa090, 0x23e3af0, 0x0)
        /home/runner/go/pkg/mod/google.golang.org/[email protected]/server.go:1301 +0xb2b
    google.golang.org/grpc.(*Server).handleStream(0xc0006581e0, {0x1b264c0, 0xc000504ea0}, 0xc0000ca360, 0x0)
        /home/runner/go/pkg/mod/google.golang.org/[email protected]/server.go:1642 +0xa2f
    google.golang.org/grpc.(*Server).serveStreams.func1.2()
        /home/runner/go/pkg/mod/google.golang.org/[email protected]/server.go:938 +0x98
    created by google.golang.org/grpc.(*Server).serveStreams.func1
        /home/runner/go/pkg/mod/google.golang.org/[email protected]/server.go:936 +0x28a

  exoscale:index:SKSNodepool (exo-demo-01-node-pool):
    error: error reading from server: read tcp 127.0.0.1:49684->127.0.0.1:49682: wsarecv: An existing connection was forcibly closed by the remote host.

Are there any ideas around what that exception could possibly mean?
For me, I was not able to get more logs with the verbose flag in Pulumi.

May there is an issue with a local thing? Maybe the tfbridge?

Thank you.


dependencies

{
    "@pulumi/pulumi": "^3.0.0",
    "@pulumiverse/exoscale": "^0.1.2"
}

index.ts

import * as pulumi from '@pulumi/pulumi';
import * as exo from '@pulumiverse/exoscale';

const config = new pulumi.Config();

const sksClusters: any[] = config.getObject('sksClusters') || [];

sksClusters.forEach((sksCluster: any) => {
    const c: exo.SKSCluster = new exo.SKSCluster(sksCluster.name, {
        name: sksCluster.name,
        description: sksCluster.description,
        zone: sksCluster.zone,
        version: sksCluster.version,
    });

    sksCluster.nodepools.forEach((nodepool: any) => {
        new exo.SKSNodepool(`${sksCluster.name}-node-pool`, {
            clusterId: c.id,
            name: `${sksCluster.name}-node-pool`,
            description: `${sksCluster.name}-node-pool`,
            zone: sksCluster.zone,
            size: nodepool.size,
            instanceType: nodepool.instanceType,
            diskSize: nodepool.diskSize,
            instancePrefix: sksCluster.name,
        });
    });
});

Pulumi.my-stack.yaml

config:
  my-stack:sksClusters:
    - name: exo-demo-01
      description: exo-demo-01
      zone: ch-gva-2
      version: 1.24.4
      nodepools:
        - name: exo-demo-01
          instanceType: standard.small
          size: 1
          disksize: 10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.