clever-painter-96148
12/27/2022, 1:56 PMsquare-laptop-45713
12/27/2022, 3:07 PMminiature-whale-15437
12/29/2022, 9:14 PMcreate
, update
, and delete
for managing the stacks. My question is, what is the correct workflow for updating all stacks when I need to reconcile a new version of the Pulumi code for existing stacks? Do I need to get all stack identifiers and run an update on each one individually?rapid-receptionist-28528
01/02/2023, 12:22 PMconst prevOpts: PreviewOptions = {}
const changes = await stack.preview(prevOpts)
console.log(
`preview summary: \n ${JSON.stringify(changes.changeSummary, null, 4)}`
)
since the preview works in front of the existing state file which is located in s3
it’s very time consumingrapid-receptionist-28528
01/02/2023, 4:56 PMstack.up
of automation api to pulumi up
of CLI ?
I can see that when running using the automation api it takes much more time
moreover when running the automation api script twice it does the update all over again - how come ?
please advice.lemon-agent-27707
01/04/2023, 6:16 PMpurple-market-1813
01/04/2023, 9:10 PMpurple-market-1813
01/04/2023, 10:52 PMon_output
conflict with other logging properties like log_verbosity
?brash-hairdresser-60389
01/09/2023, 6:58 PMError: Command failed with EACCES: pulumi version --non-interactive
.
I’ve installed pulumi in the docker image and linked the PATH, but nothing changed. Any idea about permissions or any other requirements in docker image?gorgeous-accountant-60580
01/10/2023, 4:26 PMdelightful-camera-97029
01/13/2023, 3:06 AMrapid-receptionist-28528
01/13/2023, 9:19 AMpulumi.up
using automation api
does the updates supposed to being executed in a raw or parallel ?
This is my code and it looks like it’s running sequential and not parallel
const opts: UpOptions = {
onEvent: logEventUpdateOutput,
parallel: 2147483647,
}
const upRes: UpResult = await stack.up(opts)
please advise,
Is it something that I can update in order to faster deployment ? to make it run in parallel ?delightful-camera-97029
01/13/2023, 10:05 AMstdoutStreamer := optup.ProgressStreams(os.Stdout)
// run the update to deploy our fargate web service
res, err := s.Up(ctx, stdoutStreamer)
if err != nil {
fmt.Printf("Failed to update stack: %v\n\n", err)
os.Exit(1)
}
miniature-leather-70472
01/13/2023, 2:08 PMsome-nail-32772
01/17/2023, 9:47 AM5.25.0
, and I’m trying to use 4.0.0
), but it’s still installing the default plugin version during the up
command
What I tried -
• Change `package.json`/ yarn.lock
files to the specific version:
"dependencies": {
"@pulumi/pulumi": "^3.50.2",
"@pulumi/aws": "4.0.0",
"@pulumi/awsx": "^0.40.0"
}
• Remove all the installed plugin versions but the wanted version.
pulumi plugin ls
NAME KIND VERSION SIZE INSTALLED LAST USED
aws resource 4.0.0 255 MB 5 seconds ago 5 seconds ago
• Update the yaml
file with the plugins
option, as here - https://github.com/pulumi/pulumi-hugo/blob/e59734a63d61722cf18720c6b73bd4af72ca8c38/themes/default/content/docs/reference/pulumi-yaml.md#plug[…]ions
plugins:
providers:
name: aws
version: 4.0.0
I also found this issue, but I couldn’t understand how to do that - https://github.com/pulumi/pulumi/issues/7702
Can anyone help?
Thankscuddly-book-2159
01/18/2023, 4:59 PMThe Pulumi Automation API is a programmatic interface for running Pulumi programs without the Pulumi CLI. Conceptually, this can be thought of as encapsulating the functionality of the CLI (pulumi up, pulumi preview, pulumi destroy, pulumi stack init, etc.) but with more flexibility. It is a strongly typed and safe way to use Pulumi in embedded contexts such as web servers without having to shell out to a CLI.
...
Note: Automation API requires the Pulumi CLI to be installed and available in your PATH environment variable.
cuddly-book-2159
01/18/2023, 4:59 PMcuddly-book-2159
01/18/2023, 4:59 PMcuddly-book-2159
01/18/2023, 5:13 PMbright-flag-46266
01/19/2023, 9:39 AMList<string>
of ips that should be
mapped to a single domain, this is entirely supported by Cloudflare by just creating multiple records. However as the Ip's comes in as an
Input<List<string>>
because I first have to provision the necessary infrastructure I have no other choice but to use an apply
to get the
underlying Ip's to be able to create the records. However, as per the documentation for apply (https://www.pulumi.com/docs/intro/concepts/inputs-outputs/#apply)
it specifically recommends against doing this. How would I go about creating a list of DNS records based on a variable amount of Ip's when the
Cloudflare record type does not accept a list of Ip's but only a Input<string>
(https://www.pulumi.com/registry/packages/cloudflare/api-docs/record/#properties)?
My code looks like this:
public ClusterDnsComponent(string name, Input<List<string>> externalIps, DeploymentRegion region,
ComponentResourceOptions? options = null)
: base("dgz:cloudflare:clusterdns", name, options)
{
var opts = new CustomResourceOptions()
{
Parent = this
};
var dnsNames = externalIps.Apply(e => e.Select((externalIp, index) =>
{
var record = new Cloudflare.Record($"cluster-dns-{index}", new Cloudflare.RecordArgs()
{
ZoneId = "",
Name = NamingHelper.GetClusterDnsName(region),
Value = externalIp,
Type = Constants.Domain.DsnTypes.ARecord,
}, opts);
return record.Name;
})
);
DnsNames = dnsNames.Apply(o => Output.All(o).Apply(s => s));
RegisterOutputs();
}
brash-hairdresser-60389
01/19/2023, 3:21 PMstack.up
again?
Thanks in advance!some-nail-32772
01/19/2023, 3:23 PMbrash-hairdresser-60389
01/19/2023, 8:33 PM<ref *1> Error: failed to register new resource sa-thing-dev [gcp:serviceAccount/account:Account]: Resource monitor is terminating
Any suggestion/idea?ambitious-sundown-4188
01/20/2023, 6:32 PMambitious-sundown-4188
01/23/2023, 7:43 PMpowerful-midnight-24664
02/06/2023, 10:58 AMconst envManagementAccount = new confluentcloud.ServiceAccount(
...
);
const apiKey = new confluentcloud.ApiKey(`...`, {
owner: {
id: envManagementAccount.id,
apiVersion: envManagementAccount.apiVersion,
kind: envManagementAccount.kind,
},
managedResource: {
id: clusterConfig.cluster.id,
apiVersion: clusterConfig.cluster.apiVersion,
kind: clusterConfig.cluster.kind,
environment: {
id: clusterConfig.environment.id,
},
},
});
new confluentcloud.RoleBinding(
`...`,
{
principal: `User:${envManagementAccount.id}`,
roleName: 'CloudClusterAdmin',
crnPattern: clusterConfig.cluster.rbacCrn,
},
{ dependsOn: [apiKey] }
);
2) Adding ACLs:
const envManagementAccount = new confluentcloud.ServiceAccount(
...
);
const apiKey = new confluentcloud.ApiKey(`...`, {
...
owner: {
id: envManagementAccount.id,
apiVersion: envManagementAccount.apiVersion,
kind: envManagementAccount.kind,
},
managedResource: {
id: clusterConfig.cluster.id,
apiVersion: clusterConfig.cluster.apiVersion,
kind: clusterConfig.cluster.kind,
environment: {
id: clusterConfig.environment.id,
},
},
});
envManagementAccount.id.apply(
(saId) =>
new confluentcloud.KafkaAcl(`...`, {
kafkaCluster: {
id: clusterConfig.cluster.id,
},
resourceType: 'CLUSTER',
resourceName: 'kafka-cluster',
patternType: 'LITERAL',
principal: `User:${saId}`,
host: '*',
operation: 'ALL',
permission: 'ALLOW',
restEndpoint: clusterConfig.cluster.restEndpoint,
credentials: {
key: cloudApiKey,
secret: cloudApiSecret,
},
})
);
In both cases, I get authorization issue:
1)
error: 1 error occurred: * error creating Role Binding: 403 Forbidden: Forbidden Access
2)
error: 1 error occurred: * error creating Kafka ACLs: 401 Unauthorized: Unauthorized
What’s the proper way to fix it assuming the only key created manually is confluent cloud api key?powerful-midnight-24664
02/07/2023, 1:15 PMenvManagementAccount.id.apply(
(envMgmtId) =>
new confluentcloud.RoleBinding(
`...`,
{
principal: `User:${envMgmtId}`,
roleName: 'CloudClusterAdmin',
crnPattern: clusterConfig.cluster.rbacCrn,
},
)
);
rich-bear-99789
02/19/2023, 1:58 PMfew-carpenter-12885
02/21/2023, 4:11 PMpulumi plugin install <plugin> --file <file>
for an inline application? I'm trying to prevent from having to make calls over the network when installing the AWS plugin via workspace.installPlugin('aws', 'v4.0.0')
.
Ideally, I'd have the binary already available in my docker container and point to it.limited-account-35949
02/23/2023, 6:36 PMauth
section that supplies a username
and password
. I've raised it here: https://github.com/pulumi/pulumi/issues/12264