Skip to content

talos.imageFactory.getUrlsOutput: output does not change despite the schematic changing #213

Description

@nicoonoclaste

I've repeatedly run into an issue where the image's URL isn't recomputed, despite Pulumi correctly reporting the Schematic resource as changed.

This is a minified example based on my configuration; running pulumi up, then changing network_config, then re-running pulumi up should cause a change in the installerAmd64 output.

from base64 import b64encode
import yaml, zstd

import pulumi as pu
import pulumiverse_talos as talos


version = "1.12.3"

network_config = """
apiVersion: v1alpha1
kind: VLANConfig
name: mgmt
vlanID: 32
vlanMode: 802.1q
parent: enp0s1
up: True
---
apiVersion: v1alpha1
kind: DHCPv4Config
name: mgmt
clientIdentifier: mac
"""

image_schematic = talos.imagefactory.Schematic(
    "installerSchematic",
    schematic = yaml.dump({
        "customization": {
            "extraKernelArgs": [
                f"talos.config.early={b64encode(zstd.compress(network_config.encode("ASCII"), 22)).decode("ASCII")}"
            ],
        },
    }),
)

pu.export(
    "installerAmd64",
    talos.imagefactory.get_urls_output(
        architecture = "amd64",
        platform = "metal",
        schematic_id = image_schematic.id,
        talos_version = version,
    ).urls.iso_secureboot,
)
$ pulumi about
warning: using pulumi-language-python from $PATH at /nix/store/1qgsz94b8vcghrgwkcilq6wz7p4w3fbg-pulumi-python-3.192.0/bin/pulumi-language-python
CLI
Version      3.192.0
Go Version   go1.25.5
Go Compiler  gc

Plugins
KIND      NAME    VERSION
language  python  3.192.0
resource  talos   0.0.0-alpha.0+dev

Host
OS       nixos
Version  26.05 (Yarara)
Arch     x86_64

This project is written in python: executable='/nix/store/fk1mdvg1jrvr2ybd56fa8qnxnag4vlvd-python3-3.13.11-env/bin/python3' version='3.13.11'

Current Stack: nicoo-org/realraum-k8s/prod

TYPE                                    URN
pulumi:pulumi:Stack                     urn:pulumi:prod::realraum-k8s::pulumi:pulumi:Stack::realraum-k8s-prod
pulumi:providers:talos                  urn:pulumi:prod::realraum-k8s::pulumi:providers:talos::default_0_7_1_github_/api.github.com/pulumiverse
talos:machine/secrets:Secrets           urn:pulumi:prod::realraum-k8s::talos:machine/secrets:Secrets::talos-secrets
talos:imageFactory/schematic:Schematic  urn:pulumi:prod::realraum-k8s::talos:imageFactory/schematic:Schematic::installerSchematic


Found no pending operations associated with prod

Backend
Name           pulumi.com
URL            https://app.pulumi.com/nicoo
User           nicoo
Organizations  nicoo, nicoo-org
Token type     personal

Dependencies:
NAME               VERSION
ipython            9.7.0
pulumiverse_talos  0.7.1
setuptools         80.9.0.post0
six                1.17.0
toml               0.10.2
zstd               1.5.7.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions