better-queen-89787
03/09/2022, 3:42 PMTargetGroupAssociationLimit: The following target groups cannot be associated with more than one load balancer
when running
const listener = new awsx.lb.NetworkLoadBalancer(nameFor("lb"))
.createTargetGroup(nameFor("group"), { port: 80, protocol: "TCP" })
.createListener(nameFor("listener"), { port: 443, protocol: "TLS", certificateArn: certificate.arn})
It work locally when ran pulumi up but not via GH action with same command.
GH Action version: 3.15.0
Pulumi version on GH action: v3.25.1
Local Pulumi version: v3.25.1polite-motherboard-91774
03/09/2022, 4:12 PMYou should then export and import your stack. This will clear your state's stack of all pending operations.
[...]
For every [pending_operation] you should verify with your cloud provider whether or not this operation was successful. If the operation was successful, and a resource was created, you should delete that resource using your cloud provider's console, CLI, or SDK.
https://www.pulumi.com/docs/troubleshooting/#interrupted-update-recovery
To me this sounds like one source saying I should remove any created resources listed in pending_operations while the other source says that I should leave them be. Or am I misreading it?melodic-horse-69239
03/09/2022, 4:14 PMbig-psychiatrist-43588
03/09/2022, 4:33 PMlet resourceId : pulumi.Input<string> = "thx/".concat(sharedSecret.name); //"namespace/shared-keystore-jks-ksa" ;
let secrets: pulumi.Output<output.core.v1.ObjectReference[]> = k8s.core.v1.ServiceAccount.get("ksa-".concat(sharedSecret.name),resourceId).secrets;
Post retrieving the secret, i am trying to find the secret name and use the name to supply for further use
//works asynchronously
secrets.apply(v => {
console.log("Secret Name ", v[0].name);
secretName_list.push(v[0].name);
});
console.log(secretName);//print secret name
Complete program
1. var serviceAccountArray = [];
2. var secretName_list=[];
3.
4. serviceAccountArray.forEach(ksa => {
5. let resourceId : pulumi.Input<string> = "thx/".concat(ksa.name); //"namespace/shared-keystore-jks-ksa" ;
6. let secrets: pulumi.Output<output.core.v1.ObjectReference[]> = k8s.core.v1.ServiceAccount.get("ksa-".concat(ksa.name),resourceId).secrets;
7. //running asynchronously
8. secrets.apply(v => {
9. console.log("Secret Name ", v[0].name);
10. secretName_list.push(v[0].name);
11. });
12. console.log(secretName_list); //print secret name empty because of apply
13. });
Line no. 10 get executed after line no. 12 at the end of the program while i wanted to wait for the execution to get it complete.
Any idea how this can be sort out. Thanks!faint-whale-905
03/09/2022, 5:05 PMreplicate_source_db
must be provided in ARN format. e.g. arn:aws:rds:us-east-1:12345890:db:my-primary-database-1
. However, once the instance is created, RDS stores the replicate_source_db
as a simple name. arn:aws:rds:us-east-1:12345890:db:my-primary-database-1
-> my-primary-database-1
. Any further attempts to modify the instance will fail because arn:aws:rds:us-east-1:12345890:db:my-primary-database-1
!= my-primary-database-1,
RDS interprets this as an attempt to change the replicate database (which isn't allowed). Our attempt to work around this:
1. Create instance with ARN
2. Manually refresh Pulumi state to capture the short name from RDS
3. Update Pulumi to use short name.
4. Manage instance via Pulumi as usual.
The problematic scenario that is what actually happens and brought me here.
1. Create instance with ARN
2. Manually refresh Pulumi state to capture the short name from RDS
3. Update Pulumi to use short name.
4. An attempt to manage the instance (pulumi up) fails with the arn:aws:rds:us-east-1:12345890:db:my-primary-database-1
!= my-primary-database-1
mismatch despite that fact that the ARN doesn't exist in the state file or in RDS at the time of execution.
5. The Pulumi state file value goes back to the ARN.
6. Cycle continues
Any ideas how this is happening?famous-parrot-52821
03/09/2022, 6:52 PMlittle-library-54601
03/09/2022, 8:44 PMpulumi-resource-azure-native.exe
??
I couldn't figure out why I couldn't rename a folder. Process Explorer found that this .exe was running and in the folder in question. I killed the process, and then I was able to rename the folder.
Just wondering. Thanks.millions-journalist-34868
03/09/2022, 9:32 PMechoing-motherboard-16358
03/09/2022, 9:56 PMversion
command of 3.26.0
is not returning a version number. Since updating to 3.26.0
, Homebrew thinks the version is 0.0.0
and keeps prompting for an update.thankful-coat-47937
03/09/2022, 11:05 PMimport * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";
// Create an ECS cluster explicitly, and give it a name tag.
const vpc = awsx.ec2.Vpc.getDefault();
const cluster = new awsx.ecs.Cluster("cluster", {
vpc,
});
const zone = aws.route53.getZone({ name: "zone." });
// Create a load balancer on port 80 and spin up two instances of Nginx.
const lb = new awsx.lb.ApplicationLoadBalancer("alb");
const httpListener = lb.createListener("http", {
port: 80,
protocol: "HTTP",
defaultAction: {
type: "redirect",
redirect: { protocol: "HTTPS", port: "443", statusCode: "HTTP_301" },
},
});
const httpsListener = lb.createListener("https", {
port: 443,
protocol: "HTTPS",
certificateArn,
});
const record = new aws.route53.Record("api-route", {
zoneId: zone.then((zone) => zone.id),
name,
type: "A",
aliases: [
{
name: lb.loadBalancer.dnsName,
zoneId: lb.loadBalancer.zoneId,
evaluateTargetHealth: false,
},
],
});
const app = new awsx.ecs.FargateService("service", {
cluster,
taskDefinitionArgs: {
containers: {
nginx: {
image: "nginx",
portMappings: [httpsListener]
},
},
},
desiredCount: 2,
});
this makes all the requests go to the target group on port 443, but the target group is a service listening on port 80, so it 502salert-crayon-18838
03/10/2022, 5:19 AMalert-crayon-18838
03/10/2022, 5:19 AMagreeable-terabyte-59853
03/10/2022, 9:35 AMechoing-postman-88590
03/10/2022, 11:48 AMkubernetes.helm.v3.Release
does the same API calls as helm
. So my expectation is that, after a pulumi deployment, I should be able to list the helm deployments with helm list
. Am I wrong? Thankswonderful-twilight-70958
03/10/2022, 1:40 PMquiet-wolf-18467
quick-airport-30353
03/10/2022, 2:32 PMthousands-hairdresser-72380
03/10/2022, 2:33 PM[org]/prod
stack for a project never gets deleted (or has some relatively difficult guard against it)?polite-motherboard-91774
03/10/2022, 3:20 PMminiature-piano-36287
03/10/2022, 4:37 PMexport const iotRule = new aws.iot.TopicRule("sampleRule", {
enabled: true,
sqlVersion: "2016-03-23",
sql: config.require("query"),
kinesis: {
streamName: stream.name,
roleArn: role.arn,
partitionKey: '${partitionKey}'
},
errorAction: {
republish: {
topic: 'stage/iot/errors',
roleArn: iotErrorRole.arn,
}
},
})
agreeable-king-2755
03/10/2022, 4:48 PMimport pulumi_docker as docker
I need to follow both below two steps?
Step One:
pulumi plugin install package docker 3.1.0
Step Two:
source venv/bin/activate
pip install pulumi_docker
It's not clear from Lee's message how the automatic thing can happen for Node/Python. He points to a Go script which I can't interpret.brainy-cartoon-38510
03/10/2022, 4:57 PMmysterious-area-77666
03/10/2022, 5:02 PMproud-pizza-80589
03/10/2022, 6:11 PMDiagnostics:
cloudflare:index:Record (staging-upload-1-1cd4):
error: could not validate provider configuration: 1 error occurred:
* invalid value for api_key (API key must only contain characters 0-9 and a-f (all lowercased))
The config is set in the automation api with these values:
'cloudflare:accountId': {
value: config.cloudflareAccountId,
},
'cloudflare:apiKey': {
value: config.cloudflareApiKey,
secret: true,
},
'cloudflare:email': {
value: config.cloudflareEmail,
},
and config.cloudflareApiKey contains the correct key.stale-toothbrush-17048
03/10/2022, 7:04 PMbusy-island-31180
03/10/2022, 9:02 PM// GetOpenIdConnectProvider gets an existing OpenIdConnectProvider resource's state with the given name, ID, and optional
// state properties that are used to uniquely qualify the lookup (nil if not required).
func GetOpenIdConnectProvider(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *OpenIdConnectProviderState, opts ...pulumi.ResourceOption) (*OpenIdConnectProvider, error) {
var resource OpenIdConnectProvider
err := ctx.ReadResource("aws:iam/openIdConnectProvider:OpenIdConnectProvider", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
If feels like the state
argument is redundant… since this function requires the resource id
which I’m assuming this would make this unique. What’s the point of the state
arg?busy-island-31180
03/10/2022, 9:03 PMGo
(even though I’m presenting this question from the Go provider)busy-island-31180
03/10/2022, 9:03 PMcrooked-king-6351
03/10/2022, 9:25 PMadorable-waitress-13708
03/11/2022, 9:47 AM