hundreds-gpu-71155
02/29/2024, 5:55 PMrhythmic-arm-71682
03/04/2024, 4:22 PMwitty-battery-28013
03/04/2024, 5:02 PMwitty-battery-28013
03/04/2024, 5:02 PMicy-lion-8963
03/06/2024, 12:10 PMPreviewing update (staging)
View in Browser (Ctrl+O): <https://app.pulumi.com/pressone/pressone-infra/staging/previews/a35a5f5a-debb-4c7a-b325-7e573e5b34e6>
Downloading plugin: 36.40 MiB / 36.40 MiB [========================] 100.00% 16s
[resource plugin kubernetes-4.8.1] installing
Downloading plugin: 36.45 MiB / 36.45 MiB [========================] 100.00% 16s
[resource plugin kubernetes-4.9.0] installing
Type Name Plan Info
pulumi:pulumi:Stack pressone-infra-staging 1 error
~ ββ pulumi:providers:kubernetes pressone-do-k8s update [diff: ~version]
+- ββ kubernetes:cert-manager.io/v1:ClusterIssuer pressone-letsencrypt-staging-cert-issuer replace [diff: ~metadata]
Diagnostics:
pulumi:pulumi:Stack (pressone-infra-staging):
error: Program failed with an unhandled exception:
Traceback (most recent call last):
File "/Users/theoluwanifemi/pulumi/pulumi-language-python-exec", line 197, in <module>
loop.run_until_complete(coro)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/stack.py", line 141, in run_in_stack
await run_pulumi_func(run)
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/stack.py", line 51, in run_pulumi_func
await wait_for_rpcs()
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/stack.py", line 83, in wait_for_rpcs
raise exn from cause
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/rpc_manager.py", line 71, in rpc_wrapper
result = await rpc
^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/resource.py", line 1067, in do_register_resource_outputs
serialized_props = await rpc.serialize_properties(outputs or {}, {})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/rpc.py", line 215, in serialize_properties
result = await serialize_property(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/rpc.py", line 468, in serialize_property
value = await serialize_property(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/rpc.py", line 451, in serialize_property
future_return = await asyncio.ensure_future(awaitable)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/output.py", line 129, in get_value
val = await self._future
^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/output.py", line 212, in run
return await transformed.future(with_unknowns=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/output.py", line 129, in get_value
val = await self._future
^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/output.py", line 175, in run
value = await self._future
^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/output.py", line 200, in run
transformed: Input[U] = func(value)
^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi_kubernetes/helm/v3/helm.py", line 618, in invoke_helm_template
inv = pulumi.runtime.invoke('kubernetes:helm:template', {'jsonOpts': opts}, invoke_opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/theoluwanifemi/Library/Caches/pypoetry/virtualenvs/pressone-infra-_cUdUW92-py3.11/lib/python3.11/site-packages/pulumi/runtime/invoke.py", line 192, in invoke
raise invoke_error
Exception: invoke of kubernetes:helm:template failed: invocation of kubernetes:helm:template returned an error: failed to generate YAML for specified Helm chart: could not get server version from Kubernetes: the server has asked for the client to provide credentials
Iβve tried to remove the Kubernetes plugin and re-install, no luck. Please help?proud-art-41399
03/12/2024, 7:49 AMimage_name
instead of a repo_digest
of the Docker image resource in the task definition. The weird thing is that the Python application still triggered task definition even update while the TypeScript application did not (which is correct IMHO). While debugging the Python program using pulumi preview --diff
, I noticed that the update is triggered by the different order of environment variables while the values are always the same. The Pulumi program looks like this:
task_definition = aws.ecs.TaskDefinition(
"xxx",
family="xxx",
...
container_definitions=pulumi.Output.all(
image=image.repo_digest,
foo=foo.arn,
bar=bar.arn,
...
).apply(
lambda args: json.dumps(
[
{
"name": "xxx",
"image": args["image"],
...
"environment": [
{"name": "FOO", "value": args["foo"]},
{"name": "BAR", "value": args["bar"]},
...
]
}
]
)
)
)
This looks like a bug or at least something that isn't obvious. Or am I doing something not expected?few-pillow-1133
03/12/2024, 11:12 AMopts=ResourceOptions(depends_on=[xxx])
seems to be giving a new type of error ``TypeError: Expected opts2 to be a InvokeOptions instance``stocky-refrigerator-75813
03/12/2024, 3:20 PMSecret
value from a cluster. I've got the following code:
cert_ca = k8s.core.v1.Secret.get("ou-tls-certificate","openunison/ou-tls-certificate").data["ca.crt"].apply(lambda data: str(data) )
stocky-refrigerator-75813
03/12/2024, 3:20 PMcert_ca
is always Output<T>
and not a string. what am I missing? if i log the value or data
in the lambda, i get the value i was expectingrhythmic-branch-12845
03/13/2024, 7:58 AMBucketWebsiteArgs
for s3.Bucket
(https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucket/).flat-afternoon-93346
03/13/2024, 2:09 PMException: invoke of kubernetes:helm:template failed: invocation of kubernetes:helm:template returned an error: failed to generate YAML for specified Helm chart: failed to pull chart: chart "logdna/agent" version "203.9.1" not found in <https://assets.logdna.com/charts> repository
This is my code that I am using to deploy. Strange thing is chart version already exist, but still it's not pulling it.
import pulumi
from kube import kube_provider
from pulumi_kubernetes import helm, core
# Define your Pulumi stack name
name = pulumi.get_stack()
# Define your Kubernetes provider targeting EKS
kube_provider = kube_provider
# Create the monitoring namespace if it doesn't exist
monitoring_ns = core.v1.Namespace(
"monitoring",
metadata={"name": "monitoring"},
opts=pulumi.ResourceOptions(provider=kube_provider),
)
# Replace "YOUR_INGESTION_KEY_HERE" with your actual LogDNA ingestion key
logdna = helm.v3.Chart(
f"{name}-logdna",
helm.v3.ChartOpts(
chart="logdna/agent", # Chart name and directory
namespace=monitoring_ns.metadata["name"], # Target namespace
version="203.9.1", # Specific chart version
fetch_opts=helm.v3.FetchOpts(
repo="<https://assets.logdna.com/charts>" # Use correct protocol specifier
),
values={"ingestionKey": "YOUR_INGESTION_KEY_HERE"},
),
opts=pulumi.ResourceOptions(provider=kube_provider),
)
# Output the release name and namespace for reference
pulumi.export("logdna_release_name", logdna.release_name)
pulumi.export("logdna_namespace", logdna.namespace)
If I run the below it shows the version exist
β°β helm search hub logdna ββ―
URL CHART VERSION APP VERSION DESCRIPTION
<https://artifacthub.io/packages/helm/cloudnativ>... 1.0.0 1.5.6 Run this, get logs. All cluster containers. Log...
<https://artifacthub.io/packages/helm/logdna/agent> 203.9.1 3.9.1 LogDNA collector agent daemonset for Kubernetes.
hundreds-gpu-71155
03/13/2024, 3:46 PMhundreds-gpu-71155
03/13/2024, 4:54 PMnics = vm.network_profile.network_interfaces.apply(
lambda nics: [
network.get_network_interface_output(
resource_group_name=resource_group.name,
network_interface_name=get_name(nic),
)
for nic in nics
]
)
nics.apply(
lambda nics: pulumi.Output.all(
*[nic.ip_configurations for nic in nics]
).apply(
lambda ipcss: [
ipc["private_ip_address"] for ipcs in ipcss for ipc in ipcs
]
)
),
early-elephant-96200
03/13/2024, 7:40 PMdef monitoring(projectInfo, monitoringProjectID: str):
gcp.monitoring.MonitoredProject(
resource_name="Monitored Project",
name=projectInfo.project_id.apply(lambda id: f"projects/{monitoringProjectID}/monitoredProjects/{id}"),
metrics_scope=f"projects/{monitoringProjectID}",
)
witty-battery-28013
03/14/2024, 3:25 PMcolossal-airplane-46873
03/14/2024, 3:51 PMBranchProtection.get
appears to be broken: https://github.com/pulumi/pulumi-github/issues/605
Hi! About pulumi-github
Python package, BranchProtectionV3.get
expects id
to be in a format of {repository_name}:{branch_name}
. However, BranchProtection.get
expects id
to be a resource-provider ID, which is a random string of characters. There is no way to fetch that random resource ID. Plus, the GitHub API does not require it.
β’ BranchProtectionV3
β’ BranchProtectionbrief-furniture-88748
03/14/2024, 5:06 PMpython3 main.py
) and create the resources while some pages in the docs say that I can only execute pulumi with pulumi up
and can't use my python script to dynamically generate those resources (very similar to terraform apply
)
Can someone please clear things for me once and for all? π
Much appreciatedhundreds-gpu-71155
03/14/2024, 5:29 PMhundreds-gpu-71155
03/14/2024, 5:29 PMhundreds-gpu-71155
03/14/2024, 5:30 PMstocky-refrigerator-75813
03/14/2024, 5:45 PMCustomResource.get
assumes a namespace:
cluster_issuer = CustomResource.get(resource_name="cluster-issuer",id=cluster_issuer,api_version="<http://cert-manager.io/v1|cert-manager.io/v1>",kind="Certificate")
i get error: Preview failed: resource 'enterprise-ca' does not exist
even though the object exists:
kubectl get clusterissuer enterprise-ca
NAME READY AGE
enterprise-ca True 3h13m
stocky-refrigerator-75813
03/14/2024, 6:02 PMCertificate
instead of ClusterIssuer
for the kindstocky-refrigerator-75813
03/14/2024, 6:02 PMstocky-refrigerator-75813
03/14/2024, 6:03 PMcert_ca = k8s.core.v1.Secret.get("ou-tls-certificate",cluster_issuer.spec.ca.secretName.apply(lambda secretName: "cert-manager/" + secretName),
opts=pulumi.ResourceOptions(
provider = k8s_provider,
depends_on=[],
custom_timeouts=pulumi.CustomTimeouts(
create="5m",
update="10m",
delete="10m"
)
)).data["tls.crt"].apply(lambda data: data )
but i get the error: AttributeError: 'CustomResource' object has no attribute 'apply'
stocky-refrigerator-75813
03/14/2024, 6:04 PMcluster_issuer
i see:
+ openunison_cluster_issuer: {
+ id : "enterprise-ca"
+ urn: "urn:pulumi:localkargo::kargo::kubernetes:<http://cert-manager.io/v1:ClusterIssuer::openunison_cluster_issuer|cert-manager.io/v1:ClusterIssuer::openunison_cluster_issuer>"
}
i'd expect to see the object it's self, no?bright-crayon-39468
03/18/2024, 4:22 AMbright-crayon-39468
03/18/2024, 4:22 AMgorgeous-minister-41131
03/18/2024, 9:37 PMAttributeError: 'dict' object has no attribute 'name'
bright-crayon-39468
03/18/2024, 10:42 PMicy-salesmen-28659
03/19/2024, 3:37 AMException: invoke of postgresql:index/getTables:getTables failed: Invoke: getProviderFromSource: could not parse provider reference: urn:funsies::postgres_provider is not a valid URN
The documentation does not say anything about the provider having a URN or an ID, but it seems the code requires these fields a pulumi/runtime/invoke.py:170-171
. As you can see from my class, I tried to hack my way around the issue but I think I have reached the limits of my knowledge. I am hoping someone here could steer me in the right direction as the docs and Pulumi AI seem to not have any answers for me. Thank you!!