Please go to the .github repository for more.
pulumiverse / pulumi-exoscale Goto Github PK
View Code? Open in Web Editor NEWPulumi provider for Exoscale
License: Apache License 2.0
Pulumi provider for Exoscale
License: Apache License 2.0
Please go to the .github repository for more.
The Link in the Readme to the URL https://www.pulumi.com/registry/packages/exoscale/api-docs/ ends up with an error 404.
Line 57 in 1928082
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.
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,
},
);
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.