rhythmic-camera-25993
01/13/2020, 10:01 PMrhythmic-camera-25993
01/13/2020, 10:03 PMrhythmic-camera-25993
01/13/2020, 10:04 PMSecret
with a value, you can use the secret in your taskDefinition's container definition, eg:
// secrets can be passed in as env variables too!
secrets: dbPassword.arn.apply(arn =>[
{ name: "PGPASSWORD", valueFrom: arn }
]),
where dbPassword
is a SecretValue
resource that I used to set a password on a dbPassword
Secret
colossal-tent-75408
01/14/2020, 5:36 PMimport * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";
// CORE CONFIGURATION
const cluster = new awsx.ecs.Cluster("stack-cluster");
const lb = new awsx.lb.ApplicationLoadBalancer("loadbalancer", { external: true });
const web = lb.createListener("web", { protocol: "HTTP", defaultAction: {
type: "fixed-response",
fixedResponse: {
statusCode: "503",
contentType: "application/json"
}
} })
const defaultCertificateArn = "";
const webHttps = lb.createListener("web-https", { protocol: "HTTPS", certificateArn: defaultCertificateArn, defaultAction: {
type: "fixed-response",
fixedResponse: {
statusCode: "503",
contentType: "application/json"
}
} })
const repo = new awsx.ecr.Repository("my-repo");
// FIRST SERVICE (GitHub repo 2)
const targetgroup1 = lb.createTargetGroup("targetgroup1", { protocol: "HTTP", port: 80 });
const app1Certificate = new aws.alb.ListenerCertificate("app1", {
certificateArn: "",
listenerArn: webHttps.listener.arn,
});
const rule1 = new awsx.lb.ListenerRule("http-app1", web, { conditions: [{ field: "host-header", values: "<http://app1.domain.com|app1.domain.com>" }], actions: [{type: "forward", targetGroupArn: targetgroup1.targetGroup.arn }]})
const ruleHttps1 = new awsx.lb.ListenerRule("https-app1", webHttps, { conditions: [{ field: "host-header", values: "<http://app1.domain.com|app1.domain.com>" }], actions: [{type: "forward", targetGroupArn: targetgroup1.targetGroup.arn }]})
const app1 = repo.buildAndPushImage("./app1");
const app1Service = new awsx.ecs.FargateService("app1", {
cluster,
taskDefinitionArgs: {
containers: {
app1: {
image: app1,
portMappings: [targetgroup1],
},
},
},
desiredCount: 2,
});
// SECOND SERVICE (GitHub repo 3)
const targetgroup2 = lb.createTargetGroup("targetgroup2", { protocol: "HTTP", port: 80 });
const app2Certificate = new aws.alb.ListenerCertificate("app2", {
certificateArn: "",
listenerArn: webHttps.listener.arn,
});
const rule2 = new awsx.lb.ListenerRule("http-app2", web, { conditions: [{ field: "host-header", values: "<http://app2.domain.com|app2.domain.com>" }], actions: [{type: "forward", targetGroupArn: targetgroup2.targetGroup.arn }]})
const ruleHttps2 = new awsx.lb.ListenerRule("https-app2", webHttps, { conditions: [{ field: "host-header", values: "<http://app2.domain.com|app2.domain.com>" }], actions: [{type: "forward", targetGroupArn: targetgroup2.targetGroup.arn }]})
const app2 = repo.buildAndPushImage("./app2");
let app2Service = new awsx.ecs.FargateService("app2", {
cluster,
desiredCount: 2,
taskDefinitionArgs: {
containers: {
app2: {
image: app2,
portMappings: [ targetgroup2 ],
},
},
},
});
flat-insurance-25294
01/14/2020, 6:54 PMdeletionProtection
on RDS should be default true, and not default false because that is what AWS has for default. Is this considered a bug technically?flat-insurance-25294
01/14/2020, 6:55 PMbig-article-88775
01/15/2020, 7:45 AMflat-insurance-25294
01/15/2020, 10:35 AMmasterPassword?: pulumi.Input<string>;
masterUsername?: pulumi.Input<string>;
are marked as optional, but is required by AWS for RDS.nice-cat-91582
01/15/2020, 12:15 PMdiff: ~body
, and is running for hours before silently failing. Frustratingly, I'm not getting any extra context via -v=3
or by setting a --tracing
file. Is there any way for me to see what specifically is hanging in these deploys?nice-cat-91582
01/15/2020, 12:24 PMnice-cat-91582
01/15/2020, 12:24 PMnice-cat-91582
01/15/2020, 12:38 PMAPIGateway.getCognitoAuthorizer
is creating a new authorizer for every endpoint, and there is a limit of 10 authorizers per stage. There doesn't seem to be any docs on that function, but it would be nice if it reused existing authorizers when they are from the same pool.nice-cat-91582
01/15/2020, 12:46 PMawsx.apigateway
doesn't support authorizationScopes
, which means it has to create a fresh authorizer for each Cognito scope. Solution will be to use aws.apigateway
, although I much preferred the awsx
interface.nice-cat-91582
01/15/2020, 12:46 PMflat-insurance-25294
01/15/2020, 3:12 PMflat-insurance-25294
01/15/2020, 5:09 PMrandom.RandomPet("SamplePetz", {..})
But can’t set my own config from runtime.rhythmic-camera-25993
01/15/2020, 11:12 PMcontainerDefinitions
property of a Fargate TaskDefinition. I've got updates on every pulumi up
, even when I don't change anything about the container. I'm trying to fill in the deltas between the configurations that I see when doing pulumi up --diff
to see if I can get the states to ever sync up and not require re-pushing, but there are definitely some default values that are represented in the 'deployed model' that aren't represented in the 'about to deploy' modelclever-egg-36360
01/16/2020, 4:00 AMclever-egg-36360
01/16/2020, 4:02 AMnew aws.apigateway.RestApi()
isn't what I'm after? Should I be using new awsx.apigateway.API()
with some particular APIArgs
?clever-egg-36360
01/16/2020, 4:02 AMhundreds-monitor-95126
01/17/2020, 10:40 PMpulumi typescript
project .
But instead of exporting like below. I was hoping if i can manage aws key/secret in .env
and provide it to pulumi config. I could not find any documentation for that.
export AWS_ACCESS_KEY_ID=<YOUR_ACCESS_KEY_ID> && export AWS_SECRET_ACCESS_KEY=<YOUR_SECRET_ACCESS_KEY>
hundreds-monitor-95126
01/18/2020, 12:04 AMpulumi up
its creating resource in pulumi cloud
instead of aws cloud
?millions-tiger-3724
01/18/2020, 10:41 PMawsx.autoscaling.AutoScalingUserData
) extraRuncmdLines()
and the extraBootcmdLines()
functions; but looking at the code,
(https://github.com/pulumi/pulumi-awsx/blob/3c2cd20b945d9a5fa8cf5f76e399ff16961248d1/nodejs/awsx/autoscaling/launchConfiguration.ts#L164) these seem specifically made for containers.
I'm having trouble sending userData that includes installing Ubuntu packages and files, is there a way to do this? Thanks.
The specific problem I'm having is that once the instance is created it doesn't seem to be sending the cfn-signal
(which aws uses to indicate that the cloudformation stack was successful)flat-insurance-25294
01/21/2020, 6:49 AMconst endpoint = new awsx.apigateway.API("hello-world", {
stageArgs: {
accessLogSettings: {
format: {
"httpMethod": "$context.httpMethod"
}.toString(),
destinationArn: "???"
},
I want to define the cloudwatch log formats for the APIGateway but I am not sure how to do that, the docs are quite sparse on that on the Pulumi end.flat-insurance-25294
01/21/2020, 10:46 AMbucketRegionalDomainName
does not return regional name, but the same value as bucketDomainName
breezy-butcher-78604
01/22/2020, 7:29 AMpulumi up
command continued to wait for it to complete, right up until the AWS credentials it was using expired (~15 minutes after the change was complete).
this has happened every time i’ve made an update to the distribution. Any ideas what might be causing this?hundreds-monitor-95126
01/22/2020, 7:28 PMelastic beanstalk
on a VPC and multi az env (not default) ?
I have setup my code but i am facing multiple issue with it .
1. Whenever i am doing pulumi destroy
some of the IAM roles are not getting deleted. (Image attached)
2. Whenever i am changing the subnets from public to private , i am not able to access the default app.
3. I have 2 public subnets
& 2 private subnets
. How to configure that my ec2's are created in private subnet and ELB in public subnet
Also find the code attached. Any help would be highly appreciated.future-yak-43516
01/22/2020, 8:57 PMhandsome-truck-95168
01/22/2020, 10:38 PMaws.apigateway.BasePathMapping
resource doesn't seem to update correctly when basePath
is empty. Probably this is due to AWS having a terrible API.
In any case, trying to update a stack w/ one of these gives the error "error: Error creating Gateway base path mapping: ConflictException: Only one base path mapping is allowed if the base path is empty."
I change the pulumi name of the resource (to force a delete & re-create), and added a basePath, but got the same error.
Destroying the stack and re-deploying fixed the problem, and I learned to never use a 'blank' base path mapping again.orange-lunch-7899
01/23/2020, 4:41 PMorange-lunch-7899
01/23/2020, 4:41 PMwhite-balloon-205
01/23/2020, 5:43 PM~/.pulumi
.
Can you provide any more details on the steps you took that ended up in that error?orange-lunch-7899
01/23/2020, 7:39 PM