Compare commits

..

18 Commits

Author SHA1 Message Date
pulumi-renovate[bot]
22f27d6047 Update module github.com/docker/cli to v29 [SECURITY] 2026-05-14 16:13:26 +00:00
Pulumi Bot
278187a0c2 Automated upgrade: bump pulumi/pulumi to 3.239.0 (#857)
Automated upgrade: bump pulumi/pulumi to 3.239.0
2026-05-14 16:57:39 +01:00
pulumi-provider-automation[bot]
e4130f8f2e Update GitHub Actions workflows. (#856)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[c883c8df6276d935ea2aa3ca8a8a7cf8ffd5e8ed](c883c8df62).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-14 06:40:09 +00:00
pulumi-provider-automation[bot]
6082a91390 Update GitHub Actions workflows. (#854)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[cae837f93d8b6f38e281e84e045127160dd98d9c](cae837f93d).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-13 06:39:13 +00:00
pulumi-renovate[bot]
8cecb2fb4b Update module github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild to v0.0.16 (#853)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild](https://redirect.github.com/pulumi/pulumi-docker-build)
| require | patch | `v0.0.15` -> `v0.0.16` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>pulumi/pulumi-docker-build
(github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild)</summary>

###
[`v0.0.16`](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.15...v0.0.16)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.15...v0.0.16)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - Monday through Friday ( * * * * 1-5 ) (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19-->

Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com>
2026-05-13 04:07:44 +00:00
Bryce Lampe
df2dcca9a8 Fix 404 handling when deleting a manifest (#850)
Upstream was previously using an internal notFound error, and we were
relying on fragile string matching to detect it. This broke when we
upgraded to Docker v28.

d25e260d2e (diff-a5e122cd2318f2dc156f373804a59d30355b0c308b9e64f48e0713344fcdba33L164)

Nowadays containerd exposes a public ErrNotFound which we can use
instead.

Fixes #849.
2026-05-12 10:46:54 -07:00
pulumi-provider-automation[bot]
9048892848 Update GitHub Actions workflows. (#851)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[daf8aba035d6ed8919db6089c780f56cb7fefc69](daf8aba035).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-12 06:35:37 +00:00
pulumi-provider-automation[bot]
d8c7696758 Update GitHub Actions workflows. (#848)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[4cbd027aa555ac5a576d57358400a2e24e329c2c](4cbd027aa5).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-10 06:31:10 +00:00
pulumi-provider-automation[bot]
0d1a1b4fd3 Update GitHub Actions workflows. (#847)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[97b5e096a3ec277f7b970353d7b048d4800cdb61](97b5e096a3).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-09 06:28:31 +00:00
pulumi-renovate[bot]
8dff8f0e21 Update first-party Pulumi dependencies (#846)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@pulumi/pulumi](https://redirect.github.com/pulumi/pulumi)
([source](https://redirect.github.com/pulumi/pulumi/tree/HEAD/sdk/nodejs))
| dependencies | minor | [`3.236.0` ->
`3.237.0`](https://renovatebot.com/diffs/npm/@pulumi%2fpulumi/3.236.0/3.237.0)
|
|
[github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3](https://redirect.github.com/pulumi/pulumi-dotnet)
| require | minor | `v3.105.0` -> `v3.106.1` |
|
[github.com/pulumi/pulumi/pkg/v3](https://redirect.github.com/pulumi/pulumi)
| require | minor | `v3.236.0` -> `v3.237.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>pulumi/pulumi (@&#8203;pulumi/pulumi)</summary>

###
[`v3.237.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.237.0)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.236.0...v3.237.0)

##### 3.237.0 (2026-05-08)

##### Features

- \[cli] Include the running command name and detected AI agent (when
present) in the User-Agent header on Pulumi Cloud API requests
[#&#8203;22908](https://redirect.github.com/pulumi/pulumi/pull/22908)

-   \[engine] Include `result` on the summary engine event
[#&#8203;22883](https://redirect.github.com/pulumi/pulumi/pull/22883)

-   \[sdkgen] Eagerly error on schemas with unconstructable types
[#&#8203;22890](https://redirect.github.com/pulumi/pulumi/pull/22890)

- \[cli/cloud] Auto-fill `lang` and `os` query parameters on `pulumi
cloud api` GET/HEAD requests when the matched OpenAPI operation declares
them and the caller hasn't supplied them
[#&#8203;22726](https://redirect.github.com/pulumi/pulumi/pull/22726)

- \[cli/package] Add `pulumi package new` to bootstrap a Pulumi package
from a template
[#&#8203;22837](https://redirect.github.com/pulumi/pulumi/pull/22837)

##### Bug Fixes

- \[cli] Add blank-line gaps between `pulumi neo` TUI conversation
blocks
[#&#8203;22846](https://redirect.github.com/pulumi/pulumi/pull/22846)

- \[cli/import] Preserve `__`-prefixed keys when generating PCL for
imported resource state, so provider-defined payloads round-trip
correctly
[#&#8203;22856](https://redirect.github.com/pulumi/pulumi/pull/22856)

- \[cli/neo] Render `ux__ask_user` clarifying questions as questions
instead of approval prompts
[#&#8203;22862](https://redirect.github.com/pulumi/pulumi/pull/22862)

-   \[cli/neo] Fix a panic when cancelling a `pulumi neo` session
[#&#8203;22898](https://redirect.github.com/pulumi/pulumi/pull/22898)

- \[cli/neo] Render every assistant message in the TUI scrollback so
multi-turn commentary no longer disappears between tool calls

- \[cli/neo] Return the bare stack name and canonical project name from
`pulumi_preview` and `pulumi_up` tool results instead of echoing the raw
input
[#&#8203;22891](https://redirect.github.com/pulumi/pulumi/pull/22891)

- \[codegen/pcl] Stop reporting spurious circular references when an
`ignoreChanges`, `hideDiffs`, `replaceOnChanges`, or
`additionalSecretOutputs` entry shares a name with a top-level node
[#&#8203;22916](https://redirect.github.com/pulumi/pulumi/pull/22916)

- \[programgen/pcl] Fix PCL binder panic when a conditional mixes a
Promise-typed branch with a try() branch
[#&#8203;22907](https://redirect.github.com/pulumi/pulumi/pull/22907)

- \[sdk/python] Support `NotRequired`, `Required` and `total=False` in
TypedDicts for component resource arg types
[#&#8203;22858](https://redirect.github.com/pulumi/pulumi/pull/22858)

##### Miscellaneous

- \[cli/cloud] Auto-fit `pulumi cloud api list` table to terminal width
and replace the
    `tabular` table renderer with `go-pretty`

[#&#8203;22874](https://redirect.github.com/pulumi/pulumi/pull/22874)

-   \[sdk/nodejs] Test on Node.js 26 and drop 20
[#&#8203;22872](https://redirect.github.com/pulumi/pulumi/pull/22872)

</details>

<details>
<summary>pulumi/pulumi-dotnet
(github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3)</summary>

###
[`v3.106.1`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31061---2026-05-08)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.106.0...v3.106.1)

##### Bug Fixes

- \[sdk] Revert
[#&#8203;983](https://redirect.github.com/pulumi/pulumi-dotnet/issues/983),
restoring the framework version to v6
[#&#8203;997](https://redirect.github.com/pulumi/pulumi-dotnet/pull/997)

###
[`v3.106.0`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31060---2026-05-07)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.105.0...v3.106.0)

##### Bug Fixes

- \[sdk] Bump minimum .NET version to 8.0, to help fix a security
vulnerability
[#&#8203;983](https://redirect.github.com/pulumi/pulumi-dotnet/pull/983)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - Monday through Friday ( * * * * 1-5 ) (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19-->

---------

Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com>
Co-authored-by: pulumi-bot <bot@pulumi.com>
2026-05-09 00:40:47 +00:00
pulumi-renovate[bot]
b73395a7fa Update module github.com/pulumi/pulumi-java to v1.26.1 (#845)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/pulumi/pulumi-java](https://redirect.github.com/pulumi/pulumi-java)
| require | patch | `v1.26.0` -> `v1.26.1` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>pulumi/pulumi-java (github.com/pulumi/pulumi-java)</summary>

###
[`v1.26.1`](https://redirect.github.com/pulumi/pulumi-java/blob/HEAD/CHANGELOG.md#v1261---2026-05-07)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-java/compare/v1.26.0...v1.26.1)

##### Bug Fixes

- \[sdk] Fix inherited input properties missing from component schema
when args class inherits from a base class
[#&#8203;2129](https://redirect.github.com/pulumi/pulumi-java/pull/2129)

- \[runtime] Wait for debugger attach only when it is requested
[#&#8203;2161](https://redirect.github.com/pulumi/pulumi-java/pull/2161)

- \[codegen] Generate `unsecret(...)` as `.asPlaintext()` and emit
`config.requireSecret` for secret config variables in PCL programs
[#&#8203;2155](https://redirect.github.com/pulumi/pulumi-java/pull/2155)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - Monday through Friday ( * * * * 1-5 ) (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19-->

Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com>
2026-05-08 08:01:45 +00:00
pulumi-renovate[bot]
05962fcc01 Update first-party Pulumi dependencies to v3.236.0 (#842)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@pulumi/pulumi](https://redirect.github.com/pulumi/pulumi)
([source](https://redirect.github.com/pulumi/pulumi/tree/HEAD/sdk/nodejs))
| dependencies | minor | [`3.235.0` ->
`3.236.0`](https://renovatebot.com/diffs/npm/@pulumi%2fpulumi/3.235.0/3.236.0)
|
|
[github.com/pulumi/pulumi/pkg/v3](https://redirect.github.com/pulumi/pulumi)
| require | minor | `v3.234.0` -> `v3.236.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>pulumi/pulumi (@&#8203;pulumi/pulumi)</summary>

###
[`v3.236.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32360-2026-05-06)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.235.0...v3.236.0)

</details>

<details>
<summary>pulumi/pulumi (github.com/pulumi/pulumi/pkg/v3)</summary>

###
[`v3.236.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.236.0)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.235.0...v3.236.0)

#### 3.236.0 (2026-05-06)

###
[`v3.235.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.235.0)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.234.0...v3.235.0)

#### 3.235.0 (2026-05-05)

##### Features

-   \[cli] Add `pulumi logs decrypt` command for viewing logs
[#&#8203;22523](https://redirect.github.com/pulumi/pulumi/pull/22523)

-   \[cli] Bundle the `hcl` language host (from pulumi-labs/pulumi-hcl)
[#&#8203;22807](https://redirect.github.com/pulumi/pulumi/pull/22807)

- \[cli] Automatically install the `hcl` converter from
pulumi-labs/pulumi-hcl when running `pulumi convert --from hcl`
[#&#8203;22816](https://redirect.github.com/pulumi/pulumi/pull/22816)

- \[pcl] Add `read` blocks to PCL to read resources via ID and query
instead of registering them
[#&#8203;22641](https://redirect.github.com/pulumi/pulumi/pull/22641)

- \[cli/cloud] Add `pulumi cloud api <op-or-path>` for calling any
Pulumi Cloud API
endpoint, with `--field`/`--header`/`--input`/`--body` flag handling,
path
template binding, content negotiation via `--format`, and `--dry-run`

[#&#8203;22771](https://redirect.github.com/pulumi/pulumi/pull/22771)

- \[cli/cloud] Add `--paginate` to `pulumi cloud api`: follow
continuation cursors,
    accumulate items into a single JSON envelope, and surface progress
    events to stderr with `--emit-events` (page, complete, truncated,
    partial_failure, cancelled).

[#&#8203;22772](https://redirect.github.com/pulumi/pulumi/pull/22772)

##### Bug Fixes

- \[cli] Fix the `pulumi neo` shell tool to honor the agent-supplied
`timeout` and to terminate the whole process tree (and unblock cmd.Wait)
when the deadline fires, so commands like `kubectl logs -f` no longer
hang Neo indefinitely.
[#&#8203;22820](https://redirect.github.com/pulumi/pulumi/pull/22820)

- \[cli] Surface the error and exit when `pulumi neo` fails to create
the underlying task, instead of leaving the TUI stuck in `Thinking…`
[#&#8203;22825](https://redirect.github.com/pulumi/pulumi/pull/22825)

- \[codegen/go] Correctly generate `[]pulumi.Asset` & `[]pulumi.Archive`
[#&#8203;22827](https://redirect.github.com/pulumi/pulumi/pull/22827)

- \[cli/neo] Exit cleanly when the user presses Ctrl+C twice in `pulumi
neo` instead of hanging until a third press
[#&#8203;22821](https://redirect.github.com/pulumi/pulumi/pull/22821)

- \[engine] The engine now caches schemas at `PULUMI_HOME/schemas`, and
will cache for parameterised packages as well
[#&#8203;22812](https://redirect.github.com/pulumi/pulumi/pull/22812)

- \[sdk-python] Preserve `__`-prefixed keys (e.g. `__type`
discriminators) across RPC deserialization, matching the behavior of the
other language SDKs
[#&#8203;22834](https://redirect.github.com/pulumi/pulumi/pull/22834)

- \[programgen/{nodejs,python}] Fix programgen to emit the right
`length` check for string length
[#&#8203;22802](https://redirect.github.com/pulumi/pulumi/pull/22802)

##### Miscellaneous

- \[cli] Replace the Pulumipus mascot in the `pulumi neo` welcome banner
with new Neo-branded ASCII art.
[#&#8203;22817](https://redirect.github.com/pulumi/pulumi/pull/22817)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - Monday through Friday ( * * * * 1-5 ) (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19-->

---------

Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com>
Co-authored-by: pulumi-bot <bot@pulumi.com>
2026-05-07 21:40:04 +00:00
pulumi-provider-automation[bot]
766009ab42 Update GitHub Actions workflows. (#841)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[59779d0eefa4d7d6810a40f8190ef01a101acfe1](59779d0eef).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-07 06:32:50 +00:00
pulumi-renovate[bot]
0110626c42 Update first-party Pulumi dependencies (#819)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@pulumi/pulumi](https://redirect.github.com/pulumi/pulumi)
([source](https://redirect.github.com/pulumi/pulumi/tree/HEAD/sdk/nodejs))
| dependencies | minor | [`3.231.0` ->
`3.235.0`](https://renovatebot.com/diffs/npm/@pulumi%2fpulumi/3.231.0/3.235.0)
|
|
[github.com/pulumi/providertest](https://redirect.github.com/pulumi/providertest)
| require | minor | `v0.6.0` -> `v0.7.0` |
|
[github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3](https://redirect.github.com/pulumi/pulumi-dotnet)
| require | minor | `v3.103.0` -> `v3.105.0` |
|
[github.com/pulumi/pulumi-go-provider](https://redirect.github.com/pulumi/pulumi-go-provider)
| require | patch | `v1.3.1` -> `v1.3.2` |
|
[github.com/pulumi/pulumi/pkg/v3](https://redirect.github.com/pulumi/pulumi)
| require | minor | `v3.230.0` -> `v3.234.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>pulumi/pulumi (@&#8203;pulumi/pulumi)</summary>

###
[`v3.235.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.235.0)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.234.0...v3.235.0)

##### 3.235.0 (2026-05-05)

##### Features

-   \[cli] Add `pulumi logs decrypt` command for viewing logs
[#&#8203;22523](https://redirect.github.com/pulumi/pulumi/pull/22523)

-   \[cli] Bundle the `hcl` language host (from pulumi-labs/pulumi-hcl)
[#&#8203;22807](https://redirect.github.com/pulumi/pulumi/pull/22807)

- \[cli] Automatically install the `hcl` converter from
pulumi-labs/pulumi-hcl when running `pulumi convert --from hcl`
[#&#8203;22816](https://redirect.github.com/pulumi/pulumi/pull/22816)

- \[pcl] Add `read` blocks to PCL to read resources via ID and query
instead of registering them
[#&#8203;22641](https://redirect.github.com/pulumi/pulumi/pull/22641)

- \[cli/cloud] Add `pulumi cloud api <op-or-path>` for calling any
Pulumi Cloud API
endpoint, with `--field`/`--header`/`--input`/`--body` flag handling,
path
template binding, content negotiation via `--format`, and `--dry-run`

[#&#8203;22771](https://redirect.github.com/pulumi/pulumi/pull/22771)

- \[cli/cloud] Add `--paginate` to `pulumi cloud api`: follow
continuation cursors,
    accumulate items into a single JSON envelope, and surface progress
    events to stderr with `--emit-events` (page, complete, truncated,
    partial_failure, cancelled).

[#&#8203;22772](https://redirect.github.com/pulumi/pulumi/pull/22772)

##### Bug Fixes

- \[cli] Fix the `pulumi neo` shell tool to honor the agent-supplied
`timeout` and to terminate the whole process tree (and unblock cmd.Wait)
when the deadline fires, so commands like `kubectl logs -f` no longer
hang Neo indefinitely.
[#&#8203;22820](https://redirect.github.com/pulumi/pulumi/pull/22820)

- \[cli] Surface the error and exit when `pulumi neo` fails to create
the underlying task, instead of leaving the TUI stuck in `Thinking…`
[#&#8203;22825](https://redirect.github.com/pulumi/pulumi/pull/22825)

- \[codegen/go] Correctly generate `[]pulumi.Asset` & `[]pulumi.Archive`
[#&#8203;22827](https://redirect.github.com/pulumi/pulumi/pull/22827)

- \[cli/neo] Exit cleanly when the user presses Ctrl+C twice in `pulumi
neo` instead of hanging until a third press
[#&#8203;22821](https://redirect.github.com/pulumi/pulumi/pull/22821)

- \[engine] The engine now caches schemas at `PULUMI_HOME/schemas`, and
will cache for parameterised packages as well
[#&#8203;22812](https://redirect.github.com/pulumi/pulumi/pull/22812)

- \[sdk-python] Preserve `__`-prefixed keys (e.g. `__type`
discriminators) across RPC deserialization, matching the behavior of the
other language SDKs
[#&#8203;22834](https://redirect.github.com/pulumi/pulumi/pull/22834)

- \[programgen/{nodejs,python}] Fix programgen to emit the right
`length` check for string length
[#&#8203;22802](https://redirect.github.com/pulumi/pulumi/pull/22802)

##### Miscellaneous

- \[cli] Replace the Pulumipus mascot in the `pulumi neo` welcome banner
with new Neo-branded ASCII art.
[#&#8203;22817](https://redirect.github.com/pulumi/pulumi/pull/22817)

###
[`v3.234.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32340-2026-05-01)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.233.0...v3.234.0)

##### Features

- \[cli/cloud] Add `pulumi cloud api describe` for inspecting the
parameters, request
    body, and response schema of any Pulumi Cloud API operation, with
    text, markdown, and JSON output

[#&#8203;22770](https://redirect.github.com/pulumi/pulumi/pull/22770)

- \[cli/cloud] Add `pulumi cloud api list` for browsing every endpoint
exposed by the Pulumi
    Cloud OpenAPI spec, with table and JSON output

[#&#8203;22769](https://redirect.github.com/pulumi/pulumi/pull/22769)

##### Bug Fixes

- \[engine] Revert changes to property path parsing that resulted in
errors for currently valid paths

###
[`v3.233.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32330-2026-04-30)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.232.0...v3.233.0)

##### Features

- \[auto/python] Expose the auto-generated Pulumi CLI interface as
`workspace.cli_api`
[#&#8203;22638](https://redirect.github.com/pulumi/pulumi/pull/22638)

- \[cli] Add encrypted logging to ~/.pulumi/logs; use the
PULUMI_ENABLE_AUTOMATIC_LOGGING feature flag to turn it on
[#&#8203;22494](https://redirect.github.com/pulumi/pulumi/pull/22494)

- \[cli] Implement the `filesystem__grep` and
`filesystem__content_replace` local tools
for `pulumi neo`. `grep` runs a regex search across files in the project
root
with an optional `include` glob filter and returns results in
`path:lineno: line`
form. `content_replace` performs a literal multi-file search-and-replace
with a
`file_pattern` glob and `dry_run` preview mode. Both tools skip binary
files,
hidden directories, and `node_modules`, and reject paths outside the
project
    root. Their input schemas match the cloud-side tool definitions.

[#&#8203;22655](https://redirect.github.com/pulumi/pulumi/pull/22655)

- \[cli] Add `pulumi_preview` and `pulumi_up` as local tools for the
experimental `pulumi neo`
agent. The Neo TUI renders a persistent bordered block for each
operation that
streams changed resources and diagnostics as the engine runs and
finalizes with a
    summary of the op counts. Hidden behind PULUMI_EXPERIMENTAL.

[#&#8203;22697](https://redirect.github.com/pulumi/pulumi/pull/22697)

-   \[engine] Add `List` to the provider protocol and schema
[#&#8203;22693](https://redirect.github.com/pulumi/pulumi/pull/22693)

##### Bug Fixes

- \[engine] Return a clear error when two installed plugins claim the
same default provider package name (for example, a native `scaleway`
provider alongside a `terraform-provider` bridge parameterized as
`scaleway`) instead of panicking with "Should not have seen an older
plugin if sorting is correct!"
[#&#8203;22679](https://redirect.github.com/pulumi/pulumi/pull/22679)

- \[programgen] Do not wrap a `call(...)` on a method whose return type
is marked plain in an Output. Previously
PCL bound every method call's return type as `Output<T>`, which caused
downstream program-gen
to emit broken `.apply(...)`/`.ApplyT(...)` traversals against plain
struct returns (e.g.
methods with `liftSingleValueMethodReturns=true` or
`ReturnTypePlain=true`).

[#&#8203;22696](https://redirect.github.com/pulumi/pulumi/pull/22696)

- \[backend/diy] When using a backend url containing creds (e.g.
PostgreSQL conn string), mask user:pass as in lock-related error
messages
[#&#8203;22701](https://redirect.github.com/pulumi/pulumi/pull/22701)

- \[codegen/go] Generate unqualified `Provider` references for the
package's own provider resource. Previously
the Go codegen always emitted `<pkg>.Provider` even when the reference
appeared inside `<pkg>`
itself, producing identifiers that would not compile. Affects generated
code for method return
types (and other schema positions) that reference
`pulumi:providers:<pkg>`.

[#&#8203;22696](https://redirect.github.com/pulumi/pulumi/pull/22696)

- \[codegen/nodejs] Generate unqualified `Provider` references for the
package's own provider resource when emitting
TypeScript code inside that package. Previously the generator always
qualified the name as
`<pkg>.Provider`, which does not resolve when no `<pkg>` namespace
import is in scope.

[#&#8203;22696](https://redirect.github.com/pulumi/pulumi/pull/22696)

- \[codegen/nodejs] Import the correct class name for a provider
resource. Imports for `pulumi:providers:<pkg>` used
the title-cased package name instead of `Provider`, producing a phantom
identifier that clashed
    with the containing package's component/resource classes.

[#&#8203;22696](https://redirect.github.com/pulumi/pulumi/pull/22696)

- \[programgen/nodejs] Emit `await` for `call(...)` invocations of
methods whose return type is marked plain, and
force the generated program into an async `export = async () => ...`
wrapper whenever such a
call is present. The Node SDK returns `Promise<T>` for plain methods;
previously program-gen
    used the result directly, which did not match its runtime type.

[#&#8203;22696](https://redirect.github.com/pulumi/pulumi/pull/22696)

- \[codegen/python] Avoid a self-import (`import pulumi_<pkg>` inside
`pulumi_<pkg>/<module>.py`) when referencing
the package's own provider resource. Python referenced the Provider as
`pulumi_<pkg>.Provider`
    even inside that package, which caused a circular import at runtime.

[#&#8203;22696](https://redirect.github.com/pulumi/pulumi/pull/22696)

- \[sdk/python] Reduce internal `Output[T]` data to a single
`asyncio.Future`
[#&#8203;22661](https://redirect.github.com/pulumi/pulumi/pull/22661)

- \[sdkgen/{nodejs,python}] Generate optional input types that accept
undefined/None values
[#&#8203;22552](https://redirect.github.com/pulumi/pulumi/pull/22552)

##### Miscellaneous

- \[auto/go] Drop the "With" prefix from generated option helpers so
they match the naming of the existing optXxx packages
[#&#8203;22682](https://redirect.github.com/pulumi/pulumi/pull/22682)

###
[`v3.232.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32320-2026-04-22)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.231.0...v3.232.0)

##### Features

- \[cli] Add an experimental `pulumi neo` command that creates a Pulumi
Neo agent task in CLI
tool-execution mode and runs the local tool loop. Filesystem and shell
tool calls
issued by the agent run on the user's machine in their working
directory; the
interactive chat continues to happen in the Pulumi Console at the URL
the command
    prints. Hidden behind PULUMI_EXPERIMENTAL.

[#&#8203;22473](https://redirect.github.com/pulumi/pulumi/pull/22473)

- \[cli] Add support for handling user approval requests in the `pulumi
neo` terminal UI.
When the agent requests confirmation for a sensitive action, the TUI
prompts the
user and forwards their response back to the Pulumi Console. Hidden
behind
    PULUMI_EXPERIMENTAL.

[#&#8203;22589](https://redirect.github.com/pulumi/pulumi/pull/22589)

- \[cli] Add an interactive terminal UI for `pulumi neo` built with
bubbletea, rendering
agent messages, tool calls, and streaming output in the terminal
alongside the
    Pulumi Console session. Hidden behind PULUMI_EXPERIMENTAL.

[#&#8203;22570](https://redirect.github.com/pulumi/pulumi/pull/22570)

-   \[cli] Switch logging library from glog to slog.

BREAKING: any `if logging.V(x) {` need to be changed to `if
logging.V(x).Enabled()`

[#&#8203;22548](https://redirect.github.com/pulumi/pulumi/pull/22548)

- \[cli] Add a plan-mode toggle to the `pulumi neo` TUI, bound to
Shift+Tab. When
plan mode is on, Neo explores and asks questions without writing files,
running `pulumi up`, or opening PRs, and surfaces an approved plan via a
dedicated approval gate. The toggle must be set before the first message
(plan mode is task-level on the wire); approving the proposed plan exits
    plan mode automatically.

[#&#8203;22634](https://redirect.github.com/pulumi/pulumi/pull/22634)

- \[cli] The `pulumi neo` TUI now drives its "thinking" spinner off a
single declarative
rule (the spinner stays on until a final event — final assistant
message, approval
request, cancellation, or error — lands), so the indicator no longer
flickers off
when the agent hands off tool calls to the CLI or when streaming text
arrives
between tools. Press `Esc` during a turn to ask the agent to cancel; the
label
    switches to "Cancelling..." until the backend acknowledges.

[#&#8203;22637](https://redirect.github.com/pulumi/pulumi/pull/22637)

- \[cli] `pulumi neo` now executes the `edit` filesystem tool locally,
matching the schema
and response wording of the upstream mcp-claude-code tool so the agent
sees
identical output whether the call ran on Cloud or CLI. `edit` performs
exact-string
replacement with occurrence-count validation, and creates a new file
when the
    target is missing and `old_string` is empty.

[#&#8203;22654](https://redirect.github.com/pulumi/pulumi/pull/22654)

##### Bug Fixes

- \[cli] Render user messages in the `pulumi neo` TUI as soon as they're
submitted
instead of waiting for the Pulumi Cloud event stream to echo them back.
    The initial prompt passed on the command line also appears in the
transcript at startup. Self-echoes from the server are de-duplicated;
user input that originated from another client (e.g. the web UI on the
    same task) still renders.

[#&#8203;22629](https://redirect.github.com/pulumi/pulumi/pull/22629)

- \[cli] Wrap warnings, errors, and user-message bubbles to the terminal
width in the
`pulumi neo` TUI. Previously these blocks rendered as single long lines
that
were clipped at the right edge of the viewport. On resize, all
width-dependent
transcript blocks (user messages, warnings, errors, assistant messages)
now
    reflow to the new terminal width.

[#&#8203;22635](https://redirect.github.com/pulumi/pulumi/pull/22635)

- \[cli/policy] Fix `policy ls` to use the default org name, not
username
[#&#8203;22656](https://redirect.github.com/pulumi/pulumi/pull/22656)

- \[engine] Fix provider registry race condition in parallel
delete-before-replace
[#&#8203;21487](https://redirect.github.com/pulumi/pulumi/pull/21487)

- \[engine] Signal providers to cancel before closing them during
replacement

-   \[sdkgen] Error on 'id' in state inputs
[#&#8203;22636](https://redirect.github.com/pulumi/pulumi/pull/22636)

- \[programgen/python] Add necessary casts between types in generated
programs
[#&#8203;22567](https://redirect.github.com/pulumi/pulumi/pull/22567)

- \[sdkgen/go] Fix caching of package references to be per-deployment
not per-process
[#&#8203;22170](https://redirect.github.com/pulumi/pulumi/pull/22170)

##### Miscellaneous

-   \[java] Upgrade java to v1.25.0
[#&#8203;22673](https://redirect.github.com/pulumi/pulumi/pull/22673)

- \[auto/go] Generate command methods for the Go Automation API codegen
[#&#8203;22612](https://redirect.github.com/pulumi/pulumi/pull/22612)

- \[sdk] Clarify docs on the `remote` parameter of `ComponentResource` /
`Resource` in the Node and Python SDKs
[#&#8203;22603](https://redirect.github.com/pulumi/pulumi/pull/22603)

-   \[sdk/dotnet] Upgrade dotnet to v3.103.1
[#&#8203;22676](https://redirect.github.com/pulumi/pulumi/pull/22676)

-   \[yaml] Upgrade yaml to v1.32.0
[#&#8203;22674](https://redirect.github.com/pulumi/pulumi/pull/22674)

</details>

<details>
<summary>pulumi/providertest (github.com/pulumi/providertest)</summary>

###
[`v0.7.0`](https://redirect.github.com/pulumi/providertest/releases/tag/v0.7.0)

[Compare
Source](https://redirect.github.com/pulumi/providertest/compare/v0.6.0...v0.7.0)

##### What's Changed

- Bump golang.org/x/crypto from 0.36.0 to 0.45.0 in the go_modules group
across 1 directory by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot]
in[https://github.com/pulumi/providertest/pull/159](https://redirect.github.com/pulumi/providertest/pull/159)9
- Fix python_gcp test by adding setuptools dependency by
[@&#8203;pose](https://redirect.github.com/pose) in
[https://github.com/pulumi/providertest/pull/167](https://redirect.github.com/pulumi/providertest/pull/167)
- Rename project to python_gcp and update description by
[@&#8203;pose](https://redirect.github.com/pose) in
[https://github.com/pulumi/providertest/pull/166](https://redirect.github.com/pulumi/providertest/pull/166)
- fix(pulumitest): start fresh providers per engine operation by
[@&#8203;rshade](https://redirect.github.com/rshade) in
[https://github.com/pulumi/providertest/pull/170](https://redirect.github.com/pulumi/providertest/pull/170)
- feat(pulumitest): log pulumi version and plugins on stack creation by
[@&#8203;rshade](https://redirect.github.com/rshade) in
[https://github.com/pulumi/providertest/pull/171](https://redirect.github.com/pulumi/providertest/pull/171)

**Full Changelog**:
https://github.com/pulumi/providertest/compare/v0.6.0...v0.7.0

</details>

<details>
<summary>pulumi/pulumi-dotnet
(github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3)</summary>

###
[`v3.105.0`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31050---2026-05-04)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.104.0...v3.105.0)

###
[`v3.104.0`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31040---2026-04-29)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.103.1...v3.104.0)

##### Improvements

- \[runtime] Support the `getOutput` pcl intrinsic in codegen
[#&#8203;977](https://redirect.github.com/pulumi/pulumi-dotnet/pull/977)

###
[`v3.103.1`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31031---2026-04-21)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.103.0...v3.103.1)

##### Bug Fixes

- \[runtime] Ensure that 'main' is always respected for selecting
projects to run
[#&#8203;55](https://redirect.github.com/pulumi/pulumi-dotnet/pull/55)

- \[runtime] Generate compilable C# for resources whose range is an
Output-typed expression such as `length(someInvoke.result)`. The loop is
now wrapped in `.Apply(rangeBody => { ... })` so the loop bound sees a
plain `int`, and `length` on an `Output<ImmutableArray<T>>` is emitted
as the extension method `.Length()` (with parentheses) rather than as a
property.
[#&#8203;969](https://redirect.github.com/pulumi/pulumi-dotnet/pull/969)

- \[runtime] Fix codegen for nested `InputMap` literals so the produced
C# compiles
([#&#8203;833](https://redirect.github.com/pulumi/pulumi-dotnet/issues/833))
[#&#8203;970](https://redirect.github.com/pulumi/pulumi-dotnet/pull/970)

</details>

<details>
<summary>pulumi/pulumi-go-provider
(github.com/pulumi/pulumi-go-provider)</summary>

###
[`v1.3.2`](https://redirect.github.com/pulumi/pulumi-go-provider/releases/tag/v1.3.2)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-go-provider/compare/v1.3.1...v1.3.2)

#### What's Changed

- Update module github.com/pulumi/pulumi/pkg/v3 to v3.230.0 by
[@&#8203;pulumi-renovate](https://redirect.github.com/pulumi-renovate)\[bot]
in[https://github.com/pulumi/pulumi-go-provider/pull/509](https://redirect.github.com/pulumi/pulumi-go-provider/pull/509)9
- Correctly encode & decode `types.AssetOrArchive` by
[@&#8203;iwahbe](https://redirect.github.com/iwahbe) in
[https://github.com/pulumi/pulumi-go-provider/pull/512](https://redirect.github.com/pulumi/pulumi-go-provider/pull/512)
- Resolve framework version via runtime/debug.ReadBuildInfo by
[@&#8203;iwahbe](https://redirect.github.com/iwahbe) in
[https://github.com/pulumi/pulumi-go-provider/pull/514](https://redirect.github.com/pulumi/pulumi-go-provider/pull/514)

**Full Changelog**:
https://github.com/pulumi/pulumi-go-provider/compare/v1.3.1...v1.3.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - Monday through Friday ( * * * * 1-5 ) (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19-->

---------

Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com>
Co-authored-by: Ian Wahbe <me@iwahbe.com>
2026-05-06 16:57:43 +00:00
pulumi-provider-automation[bot]
27b5636c61 Update GitHub Actions workflows. (#840)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[27c21ceadaafd5a7de6e5158a02338d7c19730a1](27c21ceada).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-06 06:33:07 +00:00
pulumi-provider-automation[bot]
ed5396c425 Update GitHub Actions workflows. (#839)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[4a9e45cebb804597b1a77dd1d1ba390731ba0d82](4a9e45cebb).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-05 06:23:28 +00:00
pulumi-provider-automation[bot]
4ba5f703d4 Update GitHub Actions workflows. (#838)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[f19d25e099c54e3ca45528e9e2348cf6873c5534](f19d25e099).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-04 06:32:46 +00:00
pulumi-provider-automation[bot]
72c3e93b42 Update GitHub Actions workflows. (#837)
This PR was triggered by @t0yv0 generated by the
update-workflows-ecosystem-providers workflow in the pulumi/ci-mgmt
repo, from commit
[46ca3056938b5f6ddaec3f8eb550dcc34a2e3782](46ca305693).

Co-authored-by: Pulumi Bot <bot@pulumi.com>
2026-05-02 06:21:15 +00:00
46 changed files with 3901 additions and 3488 deletions

4
.gitattributes vendored
View File

@@ -1,4 +1,2 @@
sdk/**/* linguist-generated=true
provider/internal/mock*.go linguist-generated=true
.github/workflows/*.lock.yml linguist-generated=true merge=ours
.github/workflows/*.lock.yml linguist-generated=true merge=ours

View File

@@ -14,7 +14,7 @@ runs:
using: "composite"
steps:
- name: Setup mise
uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84
uses: jdx/mise-action@8d3b0ba20a9cea7b883d922ea958553c941ab082
env:
MISE_FETCH_REMOTE_VERSIONS_TIMEOUT: 30s
with:

19
.github/aw/actions-lock.json vendored Normal file
View File

@@ -0,0 +1,19 @@
{
"entries": {
"actions/github-script@v9.0.0": {
"repo": "actions/github-script",
"version": "v9.0.0",
"sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
},
"github/gh-aw-actions/setup@v0.71.5": {
"repo": "github/gh-aw-actions/setup",
"version": "v0.71.5",
"sha": "b8068426813005612b960b5ab0b8bd2c27142323"
},
"github/gh-aw/actions/setup@v0.71.5": {
"repo": "github/gh-aw/actions/setup",
"version": "v0.71.5",
"sha": "19ac811a4a85389c33b15128e1d7b7d4507f814a"
}
}
}

View File

@@ -345,7 +345,7 @@ jobs:
requested-token-type: urn:pulumi:token-type:access_token:organization
export-environment-variables: false
- name: Export AWS Credentials
uses: pulumi/esc-action@9840934db12128a33f6afb60b17d9de8f7ec5519
uses: pulumi/esc-action@197ccaa42ab49560ce838a3010eb8345ce086896
env:
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
with:
@@ -431,7 +431,7 @@ jobs:
swap-storage: true
large-packages: false
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0
uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1
with:
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
aws-region: us-east-2

View File

@@ -45,7 +45,7 @@ jobs:
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9840934db12128a33f6afb60b17d9de8f7ec5519
uses: pulumi/esc-action@197ccaa42ab49560ce838a3010eb8345ce086896
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
@@ -56,7 +56,7 @@ jobs:
PR_NUMBER: ${{ github.event.pull_request.number || github.event.issue.number }}
run: gh pr checkout "$PR_NUMBER"
- name: Setup mise
uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84
uses: jdx/mise-action@8d3b0ba20a9cea7b883d922ea958553c941ab082
env:
MISE_FETCH_REMOTE_VERSIONS_TIMEOUT: 30s
with:
@@ -79,7 +79,7 @@ jobs:
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude review')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude review'))
id: claude-review
uses: anthropics/claude-code-action@ef50f123a3a9be95b60040d042717517407c7256 # v1
uses: anthropics/claude-code-action@f4fb5c6cdccc1ee7af63692f5d08d56efaa64cc8 # v1
with:
anthropic_api_key: ${{ steps.esc-secrets.outputs.ANTHROPIC_API_KEY }}
prompt: |
@@ -101,7 +101,7 @@ jobs:
!contains(github.event.comment.body, '@claude review') &&
!contains(github.event.review.body, '@claude review')
id: claude-action
uses: anthropics/claude-code-action@ef50f123a3a9be95b60040d042717517407c7256 # v1
uses: anthropics/claude-code-action@f4fb5c6cdccc1ee7af63692f5d08d56efaa64cc8 # v1
with:
anthropic_api_key: ${{ steps.esc-secrets.outputs.ANTHROPIC_API_KEY }}
# This allows claude to read github action logs

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ jobs:
steps:
- name: Generate a GitHub token
id: generate-token
uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3
with:
app-id: 1256780 # Export Secrets GitHub App
private-key: ${{ secrets.EXPORT_SECRETS_PRIVATE_KEY }}

1360
.github/workflows/gh-aw-pr-rereview.lock.yml generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,20 @@
---
description: Run PR re-review on explicit maintainer slash command.
timeout-minutes: 15
strict: true
on:
slash_command:
events:
- pull_request_comment
- pull_request_review_comment
name: review-again
events: [pull_request_comment, pull_request_review_comment]
imports:
- shared/review.md
- shared/plugins/code-review/code-review.md
permissions:
contents: read
pull-requests: read
id-token: write
source: pulumi-labs/gh-aw-internal/.github/workflows/gh-aw-pr-rereview.md@734ef41746387a6818fd8ac3e619c9fd81ac6957
pull-requests: read
imports:
- shared/review.md
- shared/plugins/code-review/code-review.md
description: Run PR re-review on explicit maintainer slash command.
source: pulumi-labs/gh-aw-internal/.github/workflows/gh-aw-pr-rereview.md@8a92f53fac170563f7727cacab2dbedb5d5b9e29
strict: true
timeout-minutes: 15
---
# Internal PR Re-Review (Slash Command)

1301
.github/workflows/gh-aw-pr-review.lock.yml generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,24 +1,25 @@
---
description: Automated PR review for trusted internal contributors.
timeout-minutes: 15
strict: true
permissions:
contents: read
pull-requests: read
id-token: write
on:
pull_request:
types: [opened]
types:
- opened
- ready_for_review
workflow_dispatch:
inputs:
pr_number:
description: "Pull request number to review"
description: Pull request number to review
required: true
type: string
permissions:
contents: read
id-token: write
pull-requests: read
imports:
- shared/review.md
- shared/plugins/code-review/code-review.md
source: pulumi-labs/gh-aw-internal/.github/workflows/gh-aw-pr-review.md@734ef41746387a6818fd8ac3e619c9fd81ac6957
- shared/review.md
- shared/plugins/code-review/code-review.md
description: Automated PR review for trusted internal contributors.
source: pulumi-labs/gh-aw-internal/.github/workflows/gh-aw-pr-review.md@8a92f53fac170563f7727cacab2dbedb5d5b9e29
strict: true
timeout-minutes: 15
---
# Internal Trusted PR Reviewer

View File

@@ -49,7 +49,7 @@ jobs:
private-key: ${{ steps.esc-secrets.outputs.PULUMI_PROVIDER_AUTOMATION_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
- name: Setup mise
uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84
uses: jdx/mise-action@8d3b0ba20a9cea7b883d922ea958553c941ab082
env:
MISE_FETCH_REMOTE_VERSIONS_TIMEOUT: 30s
with:

View File

@@ -301,7 +301,7 @@ jobs:
requested-token-type: urn:pulumi:token-type:access_token:organization
export-environment-variables: false
- name: Export AWS Credentials
uses: pulumi/esc-action@9840934db12128a33f6afb60b17d9de8f7ec5519
uses: pulumi/esc-action@197ccaa42ab49560ce838a3010eb8345ce086896
env:
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
with:
@@ -387,7 +387,7 @@ jobs:
swap-storage: true
large-packages: false
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0
uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1
with:
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
aws-region: us-east-2

View File

@@ -301,7 +301,7 @@ jobs:
requested-token-type: urn:pulumi:token-type:access_token:organization
export-environment-variables: false
- name: Export AWS Credentials
uses: pulumi/esc-action@9840934db12128a33f6afb60b17d9de8f7ec5519
uses: pulumi/esc-action@197ccaa42ab49560ce838a3010eb8345ce086896
env:
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
with:
@@ -387,7 +387,7 @@ jobs:
swap-storage: true
large-packages: false
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0
uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1
with:
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
aws-region: us-east-2

View File

@@ -452,7 +452,7 @@ jobs:
requested-token-type: urn:pulumi:token-type:access_token:organization
export-environment-variables: false
- name: Export AWS Credentials
uses: pulumi/esc-action@9840934db12128a33f6afb60b17d9de8f7ec5519
uses: pulumi/esc-action@197ccaa42ab49560ce838a3010eb8345ce086896
env:
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
with:
@@ -512,7 +512,7 @@ jobs:
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- name: Mark workflow as successful
uses: guibranco/github-status-action-v2@3f704867b3ec00272a5f1b550c207789736bbee9 # v1.2.0
uses: guibranco/github-status-action-v2@e8a8fa568b768f554cfe1d34e27e917aed4c6127 # v1.2.1
with:
authToken: ${{ secrets.GITHUB_TOKEN }}
context: Sentinel

View File

@@ -9,8 +9,10 @@ Provide a code review for the given pull request.
- Only call a tool if it is required to complete the task. Every tool call should have a clear purpose.
- Use GitHub MCP tools for repository reads. Do not use `gh` CLI commands for repository inspection or for posting review output.
- Use the workflow PR number as the authoritative target.
- Review output must be terse and issue-focused. Do not praise the PR, narrate checks that passed, explain why code is correct, or offer "good change" commentary.
- Use only gh-aw safe outputs for review side effects:
- `create-pull-request-review-comment` for actionable inline findings on changed lines
- `resolve-pull-request-review-thread` for unresolved bot-authored review threads that are now fixed or clearly acknowledged
- `submit-pull-request-review` for the final review decision
- `noop` when no action should be taken
- Use cache-memory only for short-lived continuity and deduplication hints. Treat live PR state and current review threads as the source of truth.
@@ -55,10 +57,11 @@ Note: Do not skip solely because prior automated review comments exist. Use prio
- The main behavioral changes in the diff
- Any obvious risk areas worth checking carefully
6. Fetch existing review comments on the PR before preparing any new findings. Use them to identify:
6. Fetch existing review comments and review threads on the PR before preparing any new findings. Use them to identify:
- Similar issues already flagged
- Threads where a human already acknowledged the feedback
- Comments on code that has changed since the earlier review and may now be stale
- Unresolved bot-authored review threads that may now be fixed or obsolete
7. Launch 4 review subagents in parallel. Each agent should return a list of candidate issues, where each issue includes:
- A concise description
@@ -109,9 +112,24 @@ Note: Do not skip solely because prior automated review comments exist. Use prio
- Findings that are not on changed lines or cannot be tied to a changed hunk
- Findings that only came from cache-memory and are not confirmed by the current PR state
Also create a separate internal list of review threads to resolve. A thread is eligible for resolution only when all of the following are true:
- The thread is currently unresolved
- The thread was started by this automation or another bot, not by a human reviewer
- The underlying issue is fixed in the latest diff, outdated, or explicitly acknowledged by a human as intentionally left as-is
- You have high confidence that resolving it will not hide an outstanding real issue
Never resolve human-authored review threads. When uncertain, leave the thread unresolved.
11. Classify the remaining issues:
- `Blocking`: correctness, security, regression, data loss, or clear required-rule violations
- `Non-blocking`: actionable but not merge-blocking concerns
- `Non-blocking`: actionable but not merge-blocking concerns that are still worth interrupting the author for now
Drop any candidate that is merely:
- praise
- reassurance
- a follow-up idea
- a readability suggestion with no concrete risk
- an observation that does not require author action
12. Produce a short internal summary of findings for yourself:
- If issues remain, list the highest-signal ones first
@@ -119,8 +137,9 @@ Note: Do not skip solely because prior automated review comments exist. Use prio
13. If no actionable issues remain, submit exactly one final review with `submit-pull-request-review`:
- Use `APPROVE`
- Briefly state that no issues were found after checking for bugs and `CLAUDE.md` compliance
- Use one short sentence only, such as `No actionable issues found.`
- Do not create inline comments
- Do not include praise, summaries of what was checked, or correctness narration
- Before stopping, write a compact review memory file for this PR containing:
- review timestamp
- PR number
@@ -131,21 +150,33 @@ Note: Do not skip solely because prior automated review comments exist. Use prio
14. If actionable issues remain, choose the highest-signal unique issues up to the safe-output comment limit. Create a list of planned inline comments for yourself before posting anything.
Prefer zero comments over low-signal comments. Non-blocking comments should be rare.
15. Post one inline comment per chosen issue using `create-pull-request-review-comment`. For each comment:
- Provide a brief description of the issue
- Explain why it matters
- Reference the exact changed line
- Cite the relevant `CLAUDE.md` rule when applicable
- Keep the comment concise and actionable
- Do not post comments that merely suggest optional follow-up cleanup or extra documentation
- Do not post comments whose conclusion is that the code is acceptable as-is
- Do not post duplicate comments for the same issue
16. Submit exactly one final review using `submit-pull-request-review`:
16. Resolve eligible stale review threads using `resolve-pull-request-review-thread` before submitting the final review.
- Resolve only threads from your internal resolution list
- Resolve only bot-authored threads
- Do not add explanatory comments when resolving
- If no threads qualify, do nothing
17. Submit exactly one final review using `submit-pull-request-review`:
- Use `REQUEST_CHANGES` when at least one blocking issue remains
- Use `APPROVE` otherwise, including when only non-blocking inline comments were left
- Do not use `COMMENT` as the final review state
- Keep the summary short and aligned with the issues you posted
- Keep the summary to one or two short sentences
- Do not restate inline comments in the final review; point readers to the inline comments instead
- Do not include praise, correctness checklists, or "overall LGTM" framing unless there are zero inline comments and you are using the exact terse approval style above
17. After the final review is submitted, update the PR-specific cache-memory file with a compact record of this review. Store only short-lived operational state such as:
18. After the final review is submitted, update the PR-specific cache-memory file with a compact record of this review. Store only short-lived operational state such as:
- review timestamp
- PR number
- files reviewed
@@ -163,12 +194,16 @@ Use this list when evaluating issues in Steps 4 and 5 (these are false positives
- General code quality concerns (e.g., lack of test coverage, general security issues) unless explicitly required in CLAUDE.md
- Issues mentioned in CLAUDE.md but explicitly silenced in the code (e.g., via a lint ignore comment)
- Differences that exist only in files classified as generated by `.gitattributes`, unless they expose a real issue in the source workflow, prompt, or other source-of-truth file
- Explanations that a change is good, correct, well-structured, or acceptable as-is
- Non-blocking observations that do not require the author to change anything now
- Requests for extra comments or documentation unless their absence creates a concrete correctness risk
Notes:
- Use GitHub tools for all repository reads. Do not use web fetch.
- Always operate on the workflow PR target rather than guessing from local git state.
- Inline comments should only be created for actionable issues on changed lines.
- If you leave inline comments, the final review should not repeat them.
- Cache-memory is best-effort and may be missing or stale. Use it to improve continuity, never to override current repository state.
- When linking to code in an inline comment, use a full GitHub blob URL with a full SHA and a line range, for example: https://github.com/anthropics/claude-code/blob/c21d3c10bc8e898b7ac1a2d745bdc9bc4e423afe/package.json#L10-L15
- Requires full git sha

View File

@@ -16,7 +16,7 @@ steps:
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
uses: pulumi/esc-action@6cf9520e68354d86f81c455e8d43eabd58f5c9f5 # v1.5.0
- name: Validate ESC secret output
env:
ANTHROPIC_API_KEY_FROM_ESC: ${{ steps.esc-secrets.outputs.ANTHROPIC_API_KEY }}
@@ -28,16 +28,21 @@ steps:
tools:
cache-memory: true
github:
lockdown: false
toolsets: [pull_requests, repos]
safe-outputs:
threat-detection: false
create-pull-request-review-comment:
max: 12
side: "RIGHT"
target: "${{ github.event.pull_request.number || github.event.inputs.pr_number || github.event.issue.number }}"
target-repo: "${{ github.repository }}"
resolve-pull-request-review-thread:
max: 12
target: "${{ github.event.pull_request.number || github.event.inputs.pr_number || github.event.issue.number }}"
target-repo: "${{ github.repository }}"
submit-pull-request-review:
max: 1
allowed-events: [APPROVE, REQUEST_CHANGES, COMMENT]
target: "${{ github.event.pull_request.number || github.event.inputs.pr_number || github.event.issue.number }}"
noop:
max: 1
@@ -56,6 +61,7 @@ Workflow-specific rules:
- Treat the imported review prompt as the source of the review procedure.
- Use only gh-aw safe outputs for side effects:
- `create-pull-request-review-comment` for actionable inline findings on changed lines
- `resolve-pull-request-review-thread` for previously reported bot-authored threads that are now fixed or clearly acknowledged
- `submit-pull-request-review` for the final review
- `noop` when the PR is not reviewable or required context is missing
- Submit exactly one final review:

View File

@@ -1 +1 @@
3.192.0
3.239.0

View File

@@ -1,6 +1,12 @@
## Unreleased
## Changed
### Fixed
- Fixes a regression where a 404 status code during deletion wasn't considered deleted. (https://github.com/pulumi/pulumi-docker-build/issues/849)
## 0.0.15 (2025-10-17)
### Changed
- Arguments `CacheFromGitHubActions.URL` and `CacheFromGitHubActions.Token` have been removed. If the previous behaviour is desired, set the `ACTIONS_CACHE_URL` and `ACTIONS_RUNTIME_TOKEN` environment variables. (https://github.com/pulumi/pulumi-docker-build/issues/75)

View File

@@ -1,12 +1,10 @@
module provider-docker-build
go 1.24.7
toolchain go1.24.13
go 1.25.8
require (
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.15
github.com/pulumi/pulumi/sdk/v3 v3.209.0
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.16
github.com/pulumi/pulumi/sdk/v3 v3.237.0
)
require (
@@ -18,46 +16,58 @@ require (
github.com/atotto/clipboard v0.1.4 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/blang/semver v3.5.1+incompatible // indirect
github.com/charmbracelet/bubbles v0.21.0 // indirect
github.com/charmbracelet/bubbletea v1.3.4 // indirect
github.com/charmbracelet/colorprofile v0.3.0 // indirect
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/charmbracelet/bubbles v1.0.0 // indirect
github.com/charmbracelet/bubbletea v1.3.10 // indirect
github.com/charmbracelet/colorprofile v0.4.3 // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/charmbracelet/x/ansi v0.11.7 // indirect
github.com/charmbracelet/x/cellbuf v0.0.15 // indirect
github.com/charmbracelet/x/term v0.2.2 // indirect
github.com/cheggaaa/pb v1.0.29 // indirect
github.com/clipperhouse/displaywidth v0.11.0 // indirect
github.com/clipperhouse/uax29/v2 v2.7.0 // indirect
github.com/cloudflare/circl v1.6.3 // indirect
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
github.com/djherbis/times v1.6.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.6.2 // indirect
github.com/go-git/go-git/v5 v5.16.5 // indirect
github.com/go-git/go-billy/v5 v5.8.0 // indirect
github.com/go-git/go-git/v5 v5.18.0 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/glog v1.2.5 // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/hcl/v2 v2.23.0 // indirect
github.com/hashicorp/go-version v1.9.0 // indirect
github.com/hashicorp/hcl/v2 v2.24.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/klauspost/compress v1.18.0 // indirect
github.com/lucasb-eyer/go-colorful v1.4.0 // indirect
github.com/mattn/go-isatty v0.0.22 // indirect
github.com/mattn/go-localereader v0.0.1 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mattn/go-runewidth v0.0.23 // indirect
github.com/mitchellh/go-ps v1.0.0 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
github.com/muesli/cancelreader v0.2.2 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/opentracing/basictracer-go v1.1.0 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/pgavlin/fx v0.1.6 // indirect
github.com/pgavlin/fx/v2 v2.0.10 // indirect
github.com/pgavlin/fx/v2 v2.0.12 // indirect
github.com/pjbgf/sha1cd v0.3.2 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pkg/term v1.1.0 // indirect
@@ -69,27 +79,39 @@ require (
github.com/sergi/go-diff v1.4.0 // indirect
github.com/skeema/knownhosts v1.3.1 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.10.1 // indirect
github.com/spf13/pflag v1.0.9 // indirect
github.com/spf13/cobra v1.10.2 // indirect
github.com/spf13/pflag v1.0.10 // indirect
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/zclconf/go-cty v1.16.3 // indirect
github.com/zclconf/go-cty v1.17.0 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/collector/featuregate v1.57.0 // indirect
go.opentelemetry.io/collector/pdata v1.57.0 // indirect
go.opentelemetry.io/otel v1.43.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0 // indirect
go.opentelemetry.io/otel/metric v1.43.0 // indirect
go.opentelemetry.io/otel/sdk v1.43.0 // indirect
go.opentelemetry.io/otel/trace v1.43.0 // indirect
go.opentelemetry.io/proto/otlp v1.10.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
golang.org/x/crypto v0.46.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.51.0 // indirect
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 // indirect
golang.org/x/mod v0.30.0 // indirect
golang.org/x/net v0.48.0 // indirect
golang.org/x/sync v0.19.0 // indirect
golang.org/x/sys v0.39.0 // indirect
golang.org/x/term v0.38.0 // indirect
golang.org/x/text v0.32.0 // indirect
golang.org/x/tools v0.39.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
google.golang.org/grpc v1.79.3 // indirect
google.golang.org/protobuf v1.36.10 // indirect
golang.org/x/mod v0.35.0 // indirect
golang.org/x/net v0.54.0 // indirect
golang.org/x/sync v0.20.0 // indirect
golang.org/x/sys v0.44.0 // indirect
golang.org/x/term v0.43.0 // indirect
golang.org/x/text v0.37.0 // indirect
golang.org/x/tools v0.44.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348 // indirect
google.golang.org/grpc v1.81.0 // indirect
google.golang.org/protobuf v1.36.11 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/frand v1.5.1 // indirect

View File

@@ -21,24 +21,30 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM=
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/charmbracelet/bubbles v0.21.0 h1:9TdC97SdRVg/1aaXNVWfFH3nnLAwOXr8Fn6u6mfQdFs=
github.com/charmbracelet/bubbles v0.21.0/go.mod h1:HF+v6QUR4HkEpz62dx7ym2xc71/KBHg+zKwJtMw+qtg=
github.com/charmbracelet/bubbletea v1.3.4 h1:kCg7B+jSCFPLYRA52SDZjr51kG/fMUEoPoZrkaDHyoI=
github.com/charmbracelet/bubbletea v1.3.4/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo=
github.com/charmbracelet/colorprofile v0.3.0 h1:KtLh9uuu1RCt+Hml4s6Hz+kB1PfV3wi++1h5ia65yKQ=
github.com/charmbracelet/colorprofile v0.3.0/go.mod h1:oHJ340RS2nmG1zRGPmhJKJ/jf4FPNNk0P39/wBPA1G0=
github.com/charmbracelet/bubbles v1.0.0 h1:12J8/ak/uCZEMQ6KU7pcfwceyjLlWsDLAxB5fXonfvc=
github.com/charmbracelet/bubbles v1.0.0/go.mod h1:9d/Zd5GdnauMI5ivUIVisuEm3ave1XwXtD1ckyV6r3E=
github.com/charmbracelet/bubbletea v1.3.10 h1:otUDHWMMzQSB0Pkc87rm691KZ3SWa4KUlvF9nRvCICw=
github.com/charmbracelet/bubbletea v1.3.10/go.mod h1:ORQfo0fk8U+po9VaNvnV95UPWA1BitP1E0N6xJPlHr4=
github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex9t5KX76i20Q=
github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
github.com/charmbracelet/x/cellbuf v0.0.13 h1:/KBBKHuVRbq1lYx5BzEHBAFBP8VcQzJejZ/IA3iR28k=
github.com/charmbracelet/x/cellbuf v0.0.13/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/charmbracelet/x/ansi v0.11.7 h1:kzv1kJvjg2S3r9KHo8hDdHFQLEqn4RBCb39dAYC84jI=
github.com/charmbracelet/x/ansi v0.11.7/go.mod h1:9qGpnAVYz+8ACONkZBUWPtL7lulP9No6p1epAihUZwQ=
github.com/charmbracelet/x/cellbuf v0.0.15 h1:ur3pZy0o6z/R7EylET877CBxaiE1Sp1GMxoFPAIztPI=
github.com/charmbracelet/x/cellbuf v0.0.15/go.mod h1:J1YVbR7MUuEGIFPCaaZ96KDl5NoS0DAWkskup+mOY+Q=
github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk=
github.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI=
github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo=
github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30=
github.com/clipperhouse/displaywidth v0.11.0 h1:lBc6kY44VFw+TDx4I8opi/EtL9m20WSEFgwIwO+UVM8=
github.com/clipperhouse/displaywidth v0.11.0/go.mod h1:bkrFNkf81G8HyVqmKGxsPufD3JhNl3dSqnGhOoSD/o0=
github.com/clipperhouse/uax29/v2 v2.7.0 h1:+gs4oBZ2gPfVrKPthwbMzWZDaAFPGYK72F0NJv2v7Vk=
github.com/clipperhouse/uax29/v2 v2.7.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM=
github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8=
github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
@@ -57,20 +63,21 @@ github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FM
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4=
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps=
github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM=
github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU=
github.com/go-git/go-billy/v5 v5.8.0 h1:I8hjc3LbBlXTtVuFNJuwYuMiHvQJDq1AT6u4DwDzZG0=
github.com/go-git/go-billy/v5 v5.8.0/go.mod h1:RpvI/rw4Vr5QA+Z60c6d6LXH0rYJo0uD5SqfmrrheCY=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
github.com/go-git/go-git/v5 v5.16.5 h1:mdkuqblwr57kVfXri5TTH+nMFLNUxIj9Z7F5ykFbw5s=
github.com/go-git/go-git/v5 v5.16.5/go.mod h1:QOMLpNf1qxuSY4StA/ArOdfFR2TrKEjJiye2kel2m+M=
github.com/go-git/go-git/v5 v5.18.0 h1:O831KI+0PR51hM2kep6T8k+w0/LIAD490gvqMCvL5hM=
github.com/go-git/go-git/v5 v5.18.0/go.mod h1:pW/VmeqkanRFqR6AljLcs7EA7FbZaN5MQqO7oZADXpo=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
@@ -86,8 +93,11 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -95,17 +105,23 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/hashicorp/hcl/v2 v2.23.0 h1:Fphj1/gCylPxHutVSEOf2fBOh1VE4AuLV7+kbJf3qos=
github.com/hashicorp/hcl/v2 v2.23.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA=
github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA=
github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/hcl/v2 v2.24.0 h1:2QJdZ454DSsYGoaE6QheQZjtKZSUs9Nh2izTWiwQxvE=
github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
@@ -113,24 +129,30 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW4TvVgFr4=
github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-isatty v0.0.22 h1:j8l17JJ9i6VGPUFUYoTUKPSgKe/83EYU2zBC7YNKMw4=
github.com/mattn/go-isatty v0.0.22/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-runewidth v0.0.23 h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw=
github.com/mattn/go-runewidth v0.0.23/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI=
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo=
github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=
@@ -146,8 +168,8 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
github.com/pgavlin/fx/v2 v2.0.10 h1:ggyQ6pB+lEQEbEae48Wh/X221eLOamMD7i01ISe88u4=
github.com/pgavlin/fx/v2 v2.0.10/go.mod h1:M/nF/ooAOy+NUBooYYXl2REARzJ/giPJxfMs8fINfKc=
github.com/pgavlin/fx/v2 v2.0.12 h1:SjjaJ68Dt8Z4zHwOpY/RPijd7lShs6xYupJbF9ra00M=
github.com/pgavlin/fx/v2 v2.0.12/go.mod h1:M/nF/ooAOy+NUBooYYXl2REARzJ/giPJxfMs8fINfKc=
github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4=
github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -161,11 +183,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
github.com/pulumi/esc v0.23.0 h1:5lOXO+5vvXOEQxXw7cTuYhjg9lVng23f9XNLWDR9EP4=
github.com/pulumi/esc v0.23.0/go.mod h1:mkghIFn/TvN3XnP4jmCB4U5BG1I4UjGluARi39ckrCE=
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.15 h1:K6F/3o44gGj+ljRS4spCGvAXMSwECHITjaCccfjXNyE=
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.15/go.mod h1:cZyHs6q34kbQZJYaBjWUJhPsgwUFoL6xyjo7sRqBcv4=
github.com/pulumi/pulumi/sdk/v3 v3.209.0 h1:Ti0FohAset2HEgogTxTOWoyvQd2N2+pkTSIn5DW3W7s=
github.com/pulumi/pulumi/sdk/v3 v3.209.0/go.mod h1:qBMg01woyYVNqNDJXpFL1e5gdN7oQQvCNNNtfq1gsEo=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.16 h1:6OScn2bTpTo6nSE6AQOVtHTg688rHW0h3KMjNq+25uU=
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.16/go.mod h1:QgbLZb1Cd1yiX9GsIaZCRuFL/0ortNfUgsp/vx5YTws=
github.com/pulumi/pulumi/sdk/v3 v3.237.0 h1:D0kx4fkUkiZWfreQg1ekeAifLJEC2+VRYzgboQClg9Q=
github.com/pulumi/pulumi/sdk/v3 v3.237.0/go.mod h1:ybUihqUfVF1ZXBH3JNunYsAMz2P6i+7v5gzoJ60sVp0=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
@@ -180,10 +201,11 @@ github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnB
github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU=
github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
@@ -191,8 +213,8 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8=
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
@@ -205,49 +227,72 @@ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavM
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/zclconf/go-cty v1.16.3 h1:osr++gw2T61A8KVYHoQiFbFd1Lh3JOCXc/jFLJXKTxk=
github.com/zclconf/go-cty v1.16.3/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
github.com/zclconf/go-cty v1.17.0 h1:seZvECve6XX4tmnvRzWtJNHdscMtYEx5R7bnnVyd/d0=
github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48=
go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8=
go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0=
go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs=
go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18=
go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE=
go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8=
go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew=
go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI=
go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA=
go.opentelemetry.io/collector/featuregate v1.57.0 h1:KPDSUKYn6MHwgyGRSGPPcW/G96HH93pxuvvPwM+R8nY=
go.opentelemetry.io/collector/featuregate v1.57.0/go.mod h1:4ga1QBMPEejXXmpyJS8lmaRpknJ3Lb9Bvk6e420bUFU=
go.opentelemetry.io/collector/internal/testutil v0.151.0 h1:CFjDItLuqzblItOsnK6IPSdrsOaZCaDjYpB8qWG+XHI=
go.opentelemetry.io/collector/internal/testutil v0.151.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE=
go.opentelemetry.io/collector/pdata v1.57.0 h1:oDWBMjEIqyJO3GJEB+iwqxj47rxDK19OKzwaFEaE4sg=
go.opentelemetry.io/collector/pdata v1.57.0/go.mod h1:wZojinP6mNhLXudH8QXx/bjWzOsKMxi/FXwnk+12G/w=
go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I=
go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 h1:88Y4s2C8oTui1LGM6bTWkw0ICGcOLCAI5l6zsD1j20k=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0/go.mod h1:Vl1/iaggsuRlrHf/hfPJPvVag77kKyvrLeD10kpMl+A=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0 h1:RAE+JPfvEmvy+0LzyUA25/SGawPwIUbZ6u0Wug54sLc=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0/go.mod h1:AGmbycVGEsRx9mXMZ75CsOyhSP6MFIcj/6dnG+vhVjk=
go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM=
go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY=
go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg=
go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg=
go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw=
go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A=
go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A=
go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0=
go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g=
go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk=
go.opentelemetry.io/proto/slim/otlp v1.10.0 h1:iR97Vs/ZDR+y9TfuP9b1XBtdPWeC+OMslIBmhcLU7jM=
go.opentelemetry.io/proto/slim/otlp v1.10.0/go.mod h1:lV9250stpjYLPNA5viFabIgP2QlUGRT1GdTgAf8SIUk=
go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:RUF5rO0hAlgiJt1fzQVzcVs3vZVNHIcMLgOgG4rWNcQ=
go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0/go.mod h1:I89cynRj8y+383o7tEQVg2SVA6SRgDVIouWPUVXjx0U=
go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0 h1:CQvJSldHRUN6Z8jsUeYv8J0lXRvygALXIzsmAeCcZE0=
go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0/go.mod h1:xSQ+mEfJe/GjK1LXEyVOoSI1N9JV9ZI923X5kup43W4=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU=
golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0=
golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI=
golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8=
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4=
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM=
golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=
golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=
golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -262,37 +307,38 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q=
golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg=
golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c=
golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE=
google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ=
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348 h1:U8orV30l6KpDsi9dxU0CoJZGbjS8EEpw+6ba+XwGPQA=
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348/go.mod h1:Yzdzr5OOZFgSsEV2D/Xi9NL3bszpXFAg0hFJiRohcD8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348 h1:pfIbyB44sWzHiCpRqIen67ZQnVXSfIxWrqUMk1qwODE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.81.0 h1:W3G9N3KQf3BU+YuCtGKJk0CmxQNbAISICD/9AORxLIw=
google.golang.org/grpc v1.81.0/go.mod h1:xGH9GfzOyMTGIOXBJmXt+BX/V0kcdQbdcuwQ/zNw42I=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
@@ -306,5 +352,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
lukechampine.com/frand v1.5.1 h1:fg0eRtdmGFIxhP5zQJzM1lFDbD6CUfu/f+7WgAZd5/w=
lukechampine.com/frand v1.5.1/go.mod h1:4VstaWc2plN4Mjr10chUD46RAVGWhpkZ5Nja8+Azp0Q=
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk=
pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=

View File

@@ -5,6 +5,6 @@
},
"dependencies": {
"typescript": "^4.0.0",
"@pulumi/pulumi": "3.231.0"
"@pulumi/pulumi": "3.237.0"
}
}

View File

@@ -4,6 +4,6 @@
"@types/node": "^20.0.0"
},
"dependencies": {
"@pulumi/pulumi": "3.231.0"
"@pulumi/pulumi": "3.237.0"
}
}

View File

@@ -424,10 +424,10 @@
resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
"@pulumi/pulumi@3.231.0":
version "3.231.0"
resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.231.0.tgz#5d6db7a2b4306bc7dba434d1294a5c574ae93bc2"
integrity sha512-aAIMkMkbxjGRZ8ldvvm2BPd5JwmJ23QM/vS8iMNpxf8wSDJcIUqx6AtAw2TKTeXlRL4iUMh1xvrXf7APRUwnMg==
"@pulumi/pulumi@3.237.0":
version "3.237.0"
resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.237.0.tgz#28cd35466b676291591673a40674efe4752e354e"
integrity sha512-sSha6qfV1dcLP6OkqLKyM1UdzKRLfcAsHfhAUiXhlSHia+Grsso1Zvq0ZByj44nK9sY98BLlPlQBtt1VRWHZOQ==
dependencies:
"@grpc/grpc-js" "^1.10.1"
"@logdna/tail-file" "^2.0.6"

View File

@@ -4,6 +4,6 @@
"@types/node": "^20.0.0"
},
"dependencies": {
"@pulumi/pulumi": "3.231.0"
"@pulumi/pulumi": "3.237.0"
}
}

View File

@@ -5,6 +5,6 @@
},
"dependencies": {
"typescript": "^4.0.0",
"@pulumi/pulumi": "3.231.0"
"@pulumi/pulumi": "3.237.0"
}
}

54
go.mod
View File

@@ -5,20 +5,21 @@ go 1.25.8
require (
github.com/aws/aws-sdk-go v1.55.5
github.com/blang/semver v3.5.1+incompatible
github.com/containerd/errdefs v1.0.0
github.com/distribution/reference v0.6.0
github.com/docker/buildx v0.22.0
github.com/docker/cli v28.0.4+incompatible
github.com/docker/cli v29.2.0+incompatible
github.com/docker/docker v28.0.1+incompatible
github.com/moby/buildkit v0.20.1
github.com/moby/patternmatcher v0.6.0
github.com/muesli/reflow v0.3.0
github.com/otiai10/copy v1.14.0
github.com/pulumi/providertest v0.6.0
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.103.0
github.com/pulumi/pulumi-go-provider v1.3.1
github.com/pulumi/pulumi-java/pkg v1.22.0
github.com/pulumi/pulumi/pkg/v3 v3.230.0
github.com/pulumi/pulumi/sdk/v3 v3.230.0
github.com/pulumi/providertest v0.7.0
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.106.1
github.com/pulumi/pulumi-go-provider v1.3.2
github.com/pulumi/pulumi-java v1.26.1
github.com/pulumi/pulumi/pkg/v3 v3.237.0
github.com/pulumi/pulumi/sdk/v3 v3.237.0
github.com/regclient/regclient v0.7.1
github.com/sirupsen/logrus v1.9.3
github.com/spf13/afero v1.14.0
@@ -29,7 +30,7 @@ require (
go.opentelemetry.io/otel/sdk v1.43.0
go.opentelemetry.io/otel/trace v1.43.0
go.uber.org/mock v0.6.0
golang.org/x/crypto v0.49.0
golang.org/x/crypto v0.51.0
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792
google.golang.org/protobuf v1.36.11
gopkg.in/yaml.v3 v3.0.1
@@ -84,7 +85,7 @@ require (
github.com/charmbracelet/bubbletea v1.3.10 // indirect
github.com/charmbracelet/colorprofile v0.4.3 // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.11.6 // indirect
github.com/charmbracelet/x/ansi v0.11.7 // indirect
github.com/charmbracelet/x/cellbuf v0.0.15 // indirect
github.com/charmbracelet/x/term v0.2.2 // indirect
github.com/cheggaaa/pb v1.0.29 // indirect
@@ -96,7 +97,6 @@ require (
github.com/containerd/containerd/api v1.8.0 // indirect
github.com/containerd/containerd/v2 v2.0.7 // indirect
github.com/containerd/continuity v0.4.5 // indirect
github.com/containerd/errdefs v1.0.0 // indirect
github.com/containerd/errdefs/pkg v0.3.0 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/containerd/platforms v1.0.0-rc.1 // indirect
@@ -117,7 +117,6 @@ require (
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
github.com/fatih/color v1.17.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/fvbommel/sortorder v1.0.1 // indirect
@@ -128,7 +127,7 @@ require (
github.com/git-pkgs/vers v0.2.4 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.8.0 // indirect
github.com/go-git/go-git/v5 v5.17.2 // indirect
github.com/go-git/go-git/v5 v5.18.0 // indirect
github.com/go-jose/go-jose/v3 v3.0.5 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
@@ -156,7 +155,7 @@ require (
github.com/googleapis/gax-go/v2 v2.12.2 // indirect
github.com/gorilla/mux v1.8.1 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
@@ -185,7 +184,7 @@ require (
github.com/kylelemons/godebug v1.1.0 // indirect
github.com/lucasb-eyer/go-colorful v1.4.0 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-isatty v0.0.21 // indirect
github.com/mattn/go-isatty v0.0.22 // indirect
github.com/mattn/go-localereader v0.0.1 // indirect
github.com/mattn/go-runewidth v0.0.23 // indirect
github.com/mattn/go-shellwords v1.0.12 // indirect
@@ -221,7 +220,7 @@ require (
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pgavlin/fx v0.1.6 // indirect
github.com/pgavlin/fx/v2 v2.0.10 // indirect
github.com/pgavlin/fx/v2 v2.0.12 // indirect
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
github.com/pjbgf/sha1cd v0.3.2 // indirect
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
@@ -268,8 +267,8 @@ require (
github.com/zclconf/go-cty v1.17.0 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/collector/featuregate v1.55.0 // indirect
go.opentelemetry.io/collector/pdata v1.55.0 // indirect
go.opentelemetry.io/collector/featuregate v1.57.0 // indirect
go.opentelemetry.io/collector/pdata v1.57.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect
@@ -286,21 +285,21 @@ require (
go.uber.org/multierr v1.11.0 // indirect
gocloud.dev v0.37.0 // indirect
gocloud.dev/secrets/hashivault v0.37.0 // indirect
golang.org/x/mod v0.33.0 // indirect
golang.org/x/net v0.52.0 // indirect
golang.org/x/oauth2 v0.35.0 // indirect
golang.org/x/mod v0.35.0 // indirect
golang.org/x/net v0.54.0 // indirect
golang.org/x/oauth2 v0.36.0 // indirect
golang.org/x/sync v0.20.0 // indirect
golang.org/x/sys v0.43.0 // indirect
golang.org/x/term v0.41.0 // indirect
golang.org/x/text v0.35.0 // indirect
golang.org/x/sys v0.44.0 // indirect
golang.org/x/term v0.43.0 // indirect
golang.org/x/text v0.37.0 // indirect
golang.org/x/time v0.12.0 // indirect
golang.org/x/tools v0.42.0 // indirect
golang.org/x/tools v0.44.0 // indirect
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
google.golang.org/api v0.169.0 // indirect
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260406210006-6f92a3bedf2d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d // indirect
google.golang.org/grpc v1.80.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348 // indirect
google.golang.org/grpc v1.81.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
@@ -312,7 +311,6 @@ require (
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
lukechampine.com/frand v1.5.1 // indirect
mvdan.cc/gofumpt v0.6.0 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect

132
go.sum
View File

@@ -138,8 +138,8 @@ github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex
github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.11.6 h1:GhV21SiDz/45W9AnV2R61xZMRri5NlLnl6CVF7ihZW8=
github.com/charmbracelet/x/ansi v0.11.6/go.mod h1:2JNYLgQUsyqaiLovhU2Rv/pb8r6ydXKS3NIttu3VGZQ=
github.com/charmbracelet/x/ansi v0.11.7 h1:kzv1kJvjg2S3r9KHo8hDdHFQLEqn4RBCb39dAYC84jI=
github.com/charmbracelet/x/ansi v0.11.7/go.mod h1:9qGpnAVYz+8ACONkZBUWPtL7lulP9No6p1epAihUZwQ=
github.com/charmbracelet/x/cellbuf v0.0.15 h1:ur3pZy0o6z/R7EylET877CBxaiE1Sp1GMxoFPAIztPI=
github.com/charmbracelet/x/cellbuf v0.0.15/go.mod h1:J1YVbR7MUuEGIFPCaaZ96KDl5NoS0DAWkskup+mOY+Q=
github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk=
@@ -154,8 +154,8 @@ github.com/clipperhouse/uax29/v2 v2.7.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJ
github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8=
github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5 h1:6xNmx7iTtyBRev0+D/Tv1FZd4SCg8axKApyNyRsAt/w=
github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5/go.mod h1:KdCmV+x/BuvyMxRnYBlmVaq4OLiKW6iRQfvC62cvdkI=
github.com/cncf/xds/go v0.0.0-20260202195803-dba9d589def2 h1:aBangftG7EVZoUb69Os8IaYg++6uMOdKK83QtkkvJik=
github.com/cncf/xds/go v0.0.0-20260202195803-dba9d589def2/go.mod h1:qwXFYgsP6T7XnJtbKlf1HP8AjxZZyzxMmc+Lq5GjlU4=
github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE=
github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4=
github.com/compose-spec/compose-go/v2 v2.4.8 h1:7Myl8wDRl/4mRz77S+eyDJymGGEHu0diQdGSSeyq90A=
@@ -243,16 +243,16 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.14.0 h1:hbG2kr4RuFj222B6+7T83thSPqLjwBIfQawTkC++2HA=
github.com/envoyproxy/go-control-plane/envoy v1.36.0 h1:yg/JjO5E7ubRyKX3m07GF3reDNEnfOboJ0QySbH736g=
github.com/envoyproxy/go-control-plane/envoy v1.36.0/go.mod h1:ty89S1YCCVruQAm9OtKeEkQLTb+Lkz0k8v9W0Oxsv98=
github.com/envoyproxy/go-control-plane/envoy v1.37.0 h1:u3riX6BoYRfF4Dr7dwSOroNfdSbEPe9Yyl09/B6wBrQ=
github.com/envoyproxy/go-control-plane/envoy v1.37.0/go.mod h1:DReE9MMrmecPy+YvQOAOHNYMALuowAnbjjEMkkWOi6A=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v1.3.0 h1:TvGH1wof4H33rezVKWSpqKz5NXWg5VPuZ0uONDT6eb4=
github.com/envoyproxy/protoc-gen-validate v1.3.0/go.mod h1:HvYl7zwPa5mffgyeTUHA9zHIH36nmrm7oCbo4YKoSWA=
github.com/envoyproxy/protoc-gen-validate v1.3.3 h1:MVQghNeW+LZcmXe7SY1V36Z+WFMDjpqGAGacLe2T0ds=
github.com/envoyproxy/protoc-gen-validate v1.3.3/go.mod h1:TsndJ/ngyIdQRhMcVVGDDHINPLWB7C82oDArY51KfB0=
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4=
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
@@ -284,8 +284,8 @@ github.com/go-git/go-billy/v5 v5.8.0 h1:I8hjc3LbBlXTtVuFNJuwYuMiHvQJDq1AT6u4DwDz
github.com/go-git/go-billy/v5 v5.8.0/go.mod h1:RpvI/rw4Vr5QA+Z60c6d6LXH0rYJo0uD5SqfmrrheCY=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
github.com/go-git/go-git/v5 v5.17.2 h1:B+nkdlxdYrvyFK4GPXVU8w1U+YkbsgciIR7f2sZJ104=
github.com/go-git/go-git/v5 v5.17.2/go.mod h1:pW/VmeqkanRFqR6AljLcs7EA7FbZaN5MQqO7oZADXpo=
github.com/go-git/go-git/v5 v5.18.0 h1:O831KI+0PR51hM2kep6T8k+w0/LIAD490gvqMCvL5hM=
github.com/go-git/go-git/v5 v5.18.0/go.mod h1:pW/VmeqkanRFqR6AljLcs7EA7FbZaN5MQqO7oZADXpo=
github.com/go-jose/go-jose/v3 v3.0.5 h1:BLLJWbC4nMZOfuPVxoZIxeYsn6Nl2r1fITaJ78UQlVQ=
github.com/go-jose/go-jose/v3 v3.0.5/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
@@ -384,8 +384,8 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz+PMpZ14Jynv3O2Zs=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -417,12 +417,12 @@ github.com/hashicorp/hcl/v2 v2.24.0 h1:2QJdZ454DSsYGoaE6QheQZjtKZSUs9Nh2izTWiwQx
github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM=
github.com/hashicorp/vault/api v1.12.0 h1:meCpJSesvzQyao8FCOgk2fGdoADAnbDu2WPJN1lDLJ4=
github.com/hashicorp/vault/api v1.12.0/go.mod h1:si+lJCYO7oGkIoNPAN8j3azBLTn9SjMGS+jFaHd1Cck=
github.com/hexops/autogold/v2 v2.2.1 h1:JPUXuZQGkcQMv7eeDXuNMovjfoRYaa0yVcm+F3voaGY=
github.com/hexops/autogold/v2 v2.2.1/go.mod h1:IJwxtUfj1BGLm0YsR/k+dIxYi6xbeLjqGke2bzcOTMI=
github.com/hexops/autogold/v2 v2.3.1 h1:GcDwp9TkPkDG/wVodudePKPG8HbvEA8o8Z9hySIuAC4=
github.com/hexops/autogold/v2 v2.3.1/go.mod h1:1vQ1sj0yXQNn8VOlQeefQPXTLr9Qy9cf8pMDanZ4Gmo=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/hexops/valast v1.4.4 h1:rETyycw+/L2ZVJHHNxEBgh8KUn+87WugH9MxcEv9PGs=
github.com/hexops/valast v1.4.4/go.mod h1:Jcy1pNH7LNraVaAZDLyv21hHg2WBv9Nf9FL6fGxU7o4=
github.com/hexops/valast v1.5.0 h1:FBTuvVi0wjTngtXJRZXMbkN/Dn6DgsUsBwch2DUJU8Y=
github.com/hexops/valast v1.5.0/go.mod h1:Jcy1pNH7LNraVaAZDLyv21hHg2WBv9Nf9FL6fGxU7o4=
github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI=
github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
@@ -472,12 +472,12 @@ github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.21 h1:xYae+lCNBP7QuW4PUnNG61ffM4hVIfm+zUzDuSzYLGs=
github.com/mattn/go-isatty v0.0.21/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
github.com/mattn/go-isatty v0.0.22 h1:j8l17JJ9i6VGPUFUYoTUKPSgKe/83EYU2zBC7YNKMw4=
github.com/mattn/go-isatty v0.0.22/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
@@ -583,8 +583,8 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
github.com/pgavlin/fx/v2 v2.0.10 h1:ggyQ6pB+lEQEbEae48Wh/X221eLOamMD7i01ISe88u4=
github.com/pgavlin/fx/v2 v2.0.10/go.mod h1:M/nF/ooAOy+NUBooYYXl2REARzJ/giPJxfMs8fINfKc=
github.com/pgavlin/fx/v2 v2.0.12 h1:SjjaJ68Dt8Z4zHwOpY/RPijd7lShs6xYupJbF9ra00M=
github.com/pgavlin/fx/v2 v2.0.12/go.mod h1:M/nF/ooAOy+NUBooYYXl2REARzJ/giPJxfMs8fINfKc=
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo=
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE=
github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4=
@@ -626,18 +626,18 @@ github.com/pulumi/esc v0.23.0 h1:5lOXO+5vvXOEQxXw7cTuYhjg9lVng23f9XNLWDR9EP4=
github.com/pulumi/esc v0.23.0/go.mod h1:mkghIFn/TvN3XnP4jmCB4U5BG1I4UjGluARi39ckrCE=
github.com/pulumi/inflector v0.2.1 h1:bqyiish3tq//vLeLiEstSFE5K7RNjy/ce47ed4QATu8=
github.com/pulumi/inflector v0.2.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY=
github.com/pulumi/providertest v0.6.0 h1:ZnefsbhkPE+BpKienHgb38P/6SEtXjjOXGGdMEUIOgk=
github.com/pulumi/providertest v0.6.0/go.mod h1:OBpIGSQrw1FW9VNaHBtKCRxEoTISvx8JsxECmRqRgRQ=
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.103.0 h1:jkZrUea6JRgDrTgsUI/vd99bQqnpZiMXtvzfkeWLeFg=
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.103.0/go.mod h1:qVjigpiMlW2k9NP0LziXNR118/SqJnQwJRhK7n21osA=
github.com/pulumi/pulumi-go-provider v1.3.1 h1:HuzbOG3BWU+JZ1CdJeUwGEATRtCU8HNwRX6rxKUeZ/E=
github.com/pulumi/pulumi-go-provider v1.3.1/go.mod h1:HS3UcUA42rwKdSx4k47Fr+36oGJqErGm22GP74JC1Gs=
github.com/pulumi/pulumi-java/pkg v1.22.0 h1:p60fqNNS1yfZzr3xPv7o6pZoCfwySCnFduMdUr9LHTo=
github.com/pulumi/pulumi-java/pkg v1.22.0/go.mod h1:+bc+tM+Gmstv4Mm0Ej89LX4XH+FqFtDdjisf4sBVX8E=
github.com/pulumi/pulumi/pkg/v3 v3.230.0 h1:SHjHvXskFXG/aSA2/f8ZTzHizX51nBoqzA76WpmYaRo=
github.com/pulumi/pulumi/pkg/v3 v3.230.0/go.mod h1:+PTJHGM/8Z9c85DFr53Q9FQGlfu8U0gvhSoQBsIpAWI=
github.com/pulumi/pulumi/sdk/v3 v3.230.0 h1:0TtF82Hlor39DLU0QtM7RZPwRaOmjn5UtQKPi1Mxo9M=
github.com/pulumi/pulumi/sdk/v3 v3.230.0/go.mod h1:u0fgmmPGwV5b4rmfuNABuYfRoqckuaTivufPn4EtfTk=
github.com/pulumi/providertest v0.7.0 h1:nXydemrnkJfil6sd8AtvO81gJOTzYc1wFfgtco4zWDc=
github.com/pulumi/providertest v0.7.0/go.mod h1:R7nigJF1sE3yUtNQSozNSfsUl/gK4xIDW0Mxmacl6IY=
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.106.1 h1:nad3vnQUBd+YisRKcNoF5KX3UKA4Fp18iCs4spk3xjw=
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.106.1/go.mod h1:FHXRGCzX7mZMdPUsAIkfd8PZyBLXamwmM32WXhQGgvs=
github.com/pulumi/pulumi-go-provider v1.3.2 h1:G02Jzt1a5D8QwcdHTJIcdJ+IG6RUYTVDL1hg5yh4JaU=
github.com/pulumi/pulumi-go-provider v1.3.2/go.mod h1:L99PGubfMAQ3nZcPIg2a6kQ5QA8dvF4bUmDgiXzRSc8=
github.com/pulumi/pulumi-java v1.26.1 h1:pqkVd2iCXzrXafv3RUCuqiOMWHv4GuvAGrLTYiHYYbE=
github.com/pulumi/pulumi-java v1.26.1/go.mod h1:0UPSCXPjc1hjnRzOzfqH5v2OdUnLcDuvXPuEVL6OPiQ=
github.com/pulumi/pulumi/pkg/v3 v3.237.0 h1:I/GbmvaGI5c5dFixajErb3tyKtaBlrONUJv46MzysiY=
github.com/pulumi/pulumi/pkg/v3 v3.237.0/go.mod h1:GEWqJUX8jbeSL3+UQAKmHPxXV2Ro+8Y2JzQz44eNa+4=
github.com/pulumi/pulumi/sdk/v3 v3.237.0 h1:D0kx4fkUkiZWfreQg1ekeAifLJEC2+VRYzgboQClg9Q=
github.com/pulumi/pulumi/sdk/v3 v3.237.0/go.mod h1:ybUihqUfVF1ZXBH3JNunYsAMz2P6i+7v5gzoJ60sVp0=
github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E=
github.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw=
github.com/regclient/regclient v0.7.1 h1:qEsJrTmZd98fZKjueAbrZCSNGU+ifnr6xjlSAs3WOPs=
@@ -759,12 +759,12 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/collector/featuregate v1.55.0 h1:s/bE8135+8GZpVlQ9qLXQjvprE9KNOGsLhNkqm+EDEU=
go.opentelemetry.io/collector/featuregate v1.55.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g=
go.opentelemetry.io/collector/internal/testutil v0.149.0 h1:OWfUPO3NFKSaJtz/SBZph/2ENHbr/VbzzlBadKUhm8o=
go.opentelemetry.io/collector/internal/testutil v0.149.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE=
go.opentelemetry.io/collector/pdata v1.55.0 h1:WBgye8bo8koUyV9Vmp/r2Q3lgDezdsgfKDQAaM1oT2I=
go.opentelemetry.io/collector/pdata v1.55.0/go.mod h1:6jPrbM4tuliCPACDznjFtxnnHisfKfzwrBVoeuESYuk=
go.opentelemetry.io/collector/featuregate v1.57.0 h1:KPDSUKYn6MHwgyGRSGPPcW/G96HH93pxuvvPwM+R8nY=
go.opentelemetry.io/collector/featuregate v1.57.0/go.mod h1:4ga1QBMPEejXXmpyJS8lmaRpknJ3Lb9Bvk6e420bUFU=
go.opentelemetry.io/collector/internal/testutil v0.151.0 h1:CFjDItLuqzblItOsnK6IPSdrsOaZCaDjYpB8qWG+XHI=
go.opentelemetry.io/collector/internal/testutil v0.151.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE=
go.opentelemetry.io/collector/pdata v1.57.0 h1:oDWBMjEIqyJO3GJEB+iwqxj47rxDK19OKzwaFEaE4sg=
go.opentelemetry.io/collector/pdata v1.57.0/go.mod h1:wZojinP6mNhLXudH8QXx/bjWzOsKMxi/FXwnk+12G/w=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8=
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 h1:4BZHA+B1wXEQoGNHxW8mURaLhcdGwvRnmhGbm+odRbc=
@@ -826,8 +826,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4=
golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA=
golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI=
golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4=
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
@@ -842,8 +842,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8=
golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w=
golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM=
golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -863,11 +863,11 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0=
golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw=
golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ=
golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -908,8 +908,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
@@ -917,8 +917,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU=
golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A=
golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -928,8 +928,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -946,8 +946,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k=
golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0=
golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c=
golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -965,17 +965,17 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 h1:ImUcDPHjTrAqNhlOkSocDLfG9rrNHH7w7uoKWPaWZ8s=
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7/go.mod h1:/3XmxOjePkvmKrHuBy4zNFw7IzxJXtAgdpXi8Ll990U=
google.golang.org/genproto/googleapis/api v0.0.0-20260406210006-6f92a3bedf2d h1:/aDRtSZJjyLQzm75d+a1wOJaqyKBMvIAfeQmoa3ORiI=
google.golang.org/genproto/googleapis/api v0.0.0-20260406210006-6f92a3bedf2d/go.mod h1:etfGUgejTiadZAUaEP14NP97xi1RGeawqkjDARA/UOs=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d h1:wT2n40TBqFY6wiwazVK9/iTWbsQrgk5ZfCSVFLO9LQA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348 h1:U8orV30l6KpDsi9dxU0CoJZGbjS8EEpw+6ba+XwGPQA=
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348/go.mod h1:Yzdzr5OOZFgSsEV2D/Xi9NL3bszpXFAg0hFJiRohcD8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348 h1:pfIbyB44sWzHiCpRqIen67ZQnVXSfIxWrqUMk1qwODE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM=
google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4=
google.golang.org/grpc v1.81.0 h1:W3G9N3KQf3BU+YuCtGKJk0CmxQNbAISICD/9AORxLIw=
google.golang.org/grpc v1.81.0/go.mod h1:xGH9GfzOyMTGIOXBJmXt+BX/V0kcdQbdcuwQ/zNw42I=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -1025,8 +1025,8 @@ k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
lukechampine.com/frand v1.5.1 h1:fg0eRtdmGFIxhP5zQJzM1lFDbD6CUfu/f+7WgAZd5/w=
lukechampine.com/frand v1.5.1/go.mod h1:4VstaWc2plN4Mjr10chUD46RAVGWhpkZ5Nja8+Azp0Q=
mvdan.cc/gofumpt v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=
mvdan.cc/gofumpt v0.6.0/go.mod h1:4L0wf+kgIPZtcCWXynNS2e6bhmj73umwnuXSZarixzA=
mvdan.cc/gofumpt v0.9.2 h1:zsEMWL8SVKGHNztrx6uZrXdp7AX8r421Vvp23sz7ik4=
mvdan.cc/gofumpt v0.9.2/go.mod h1:iB7Hn+ai8lPvofHd9ZFGVg2GOr8sBUw1QUWjNbmIL/s=
pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk=
pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=

View File

@@ -24,6 +24,7 @@ import (
"os"
"strings"
"github.com/containerd/errdefs"
"github.com/distribution/reference"
buildx "github.com/docker/buildx/build"
"github.com/docker/buildx/builder"
@@ -339,6 +340,9 @@ func (c *cli) ManifestInspect(ctx context.Context, target string) (string, error
}
m, err := rc.ManifestHead(ctx, ref)
if errors.Is(err, errs.ErrNotFound) {
return "", fmt.Errorf("fetching %q: %w", ref, errdefs.ErrNotFound)
}
if err != nil {
return "", fmt.Errorf("fetching %q: %w", ref, err)
}
@@ -359,6 +363,9 @@ func (c *cli) ManifestDelete(ctx context.Context, target string) error {
provider.GetLogger(ctx).Warning("this registry does not support deletions")
return nil
}
if errors.Is(err, errs.ErrNotFound) {
return nil
}
if err != nil {
return err
}

View File

@@ -28,9 +28,9 @@ import (
_ "github.com/docker/buildx/driver/kubernetes"
_ "github.com/docker/buildx/driver/remote"
"github.com/containerd/errdefs"
"github.com/distribution/reference"
controllerapi "github.com/docker/buildx/controller/pb"
"github.com/docker/docker/errdefs"
"github.com/moby/buildkit/exporter/containerimage/exptypes"
"github.com/moby/buildkit/session"
"github.com/moby/buildkit/session/secrets/secretsprovider"

View File

@@ -19,11 +19,11 @@ import (
"errors"
"fmt"
"reflect"
"strings"
// For examples/docs.
_ "embed"
"github.com/containerd/errdefs"
"github.com/regclient/regclient/types/errs"
provider "github.com/pulumi/pulumi-go-provider"
@@ -223,7 +223,7 @@ func (i *Index) Read(
provider.GetLogger(ctx).Debug("reading index with tag " + input.Tag)
digest, err := cli.ManifestInspect(ctx, input.Tag)
if errors.Is(err, errs.ErrNotFound) {
if errdefs.IsNotFound(err) {
// A remote tag was expected but isn't there -- delete the resource.
return infer.ReadResponse[IndexArgs, IndexState]{ID: "", Inputs: input, State: state}, nil
}
@@ -304,9 +304,7 @@ func (i *Index) Delete(
}
err = cli.ManifestDelete(ctx, state.Ref)
// TODO: Upstream buildx swallows the error types we'd like to test for
// here.
if err != nil && strings.Contains(err.Error(), "No such manifest:") {
if errdefs.IsNotFound(err) {
return infer.DeleteResponse{}, nil
}
return infer.DeleteResponse{}, err

View File

@@ -24,6 +24,7 @@ import (
"go.uber.org/mock/gomock"
provider "github.com/pulumi/pulumi-go-provider"
"github.com/pulumi/pulumi-go-provider/infer"
"github.com/pulumi/pulumi-go-provider/integration"
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
"github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper"
@@ -235,3 +236,26 @@ func TestIndexDiff(t *testing.T) {
})
}
}
func TestIndexDelete(t *testing.T) {
t.Parallel()
t.Run("manifest already deleted (404)", func(t *testing.T) {
t.Parallel()
ctrl := gomock.NewController(t)
client := NewMockClient(ctrl)
client.EXPECT().
ManifestDelete(gomock.Any(), "docker.io/pulumi/test:manifest").
Return(errNotFound{})
i := &Index{clientF: mockClientF(client)}
_, err := i.Delete(t.Context(), infer.DeleteRequest[IndexState]{
ID: "foo",
State: IndexState{
IndexArgs: IndexArgs{Tag: "docker.io/pulumi/test:manifest"},
Ref: "docker.io/pulumi/test:manifest",
},
})
assert.NoError(t, err)
})
}

View File

@@ -11,7 +11,7 @@
<PackageIcon>logo.png</PackageIcon>
<Version>0.1.0-alpha.0+dev</Version>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>

View File

@@ -4,7 +4,7 @@ go 1.25.8
require (
github.com/blang/semver v3.5.1+incompatible
github.com/pulumi/pulumi/sdk/v3 v3.230.0
github.com/pulumi/pulumi/sdk/v3 v3.237.0
)
require (
@@ -21,7 +21,7 @@ require (
github.com/charmbracelet/bubbletea v1.3.10 // indirect
github.com/charmbracelet/colorprofile v0.4.3 // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.11.6 // indirect
github.com/charmbracelet/x/ansi v0.11.7 // indirect
github.com/charmbracelet/x/cellbuf v0.0.15 // indirect
github.com/charmbracelet/x/term v0.2.2 // indirect
github.com/cheggaaa/pb v1.0.29 // indirect
@@ -33,18 +33,17 @@ require (
github.com/djherbis/times v1.6.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
github.com/fatih/color v1.17.0 // indirect
github.com/frankban/quicktest v1.14.6 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.8.0 // indirect
github.com/go-git/go-git/v5 v5.17.2 // indirect
github.com/go-git/go-git/v5 v5.18.0 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/glog v1.2.5 // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
@@ -56,7 +55,8 @@ require (
github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/klauspost/compress v1.18.0 // indirect
github.com/lucasb-eyer/go-colorful v1.4.0 // indirect
github.com/mattn/go-isatty v0.0.21 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.22 // indirect
github.com/mattn/go-localereader v0.0.1 // indirect
github.com/mattn/go-runewidth v0.0.23 // indirect
github.com/mitchellh/go-ps v1.0.0 // indirect
@@ -69,7 +69,7 @@ require (
github.com/opentracing/basictracer-go v1.1.0 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/pgavlin/fx v0.1.6 // indirect
github.com/pgavlin/fx/v2 v2.0.10 // indirect
github.com/pgavlin/fx/v2 v2.0.12 // indirect
github.com/pjbgf/sha1cd v0.3.2 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pkg/term v1.1.0 // indirect
@@ -92,8 +92,8 @@ require (
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/zclconf/go-cty v1.17.0 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/collector/featuregate v1.55.0 // indirect
go.opentelemetry.io/collector/pdata v1.55.0 // indirect
go.opentelemetry.io/collector/featuregate v1.57.0 // indirect
go.opentelemetry.io/collector/pdata v1.57.0 // indirect
go.opentelemetry.io/otel v1.43.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0 // indirect
@@ -103,21 +103,20 @@ require (
go.opentelemetry.io/proto/otlp v1.10.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.49.0 // indirect
golang.org/x/crypto v0.51.0 // indirect
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 // indirect
golang.org/x/mod v0.33.0 // indirect
golang.org/x/net v0.52.0 // indirect
golang.org/x/mod v0.35.0 // indirect
golang.org/x/net v0.54.0 // indirect
golang.org/x/sync v0.20.0 // indirect
golang.org/x/sys v0.43.0 // indirect
golang.org/x/term v0.41.0 // indirect
golang.org/x/text v0.35.0 // indirect
golang.org/x/tools v0.42.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260406210006-6f92a3bedf2d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d // indirect
google.golang.org/grpc v1.80.0 // indirect
golang.org/x/sys v0.44.0 // indirect
golang.org/x/term v0.43.0 // indirect
golang.org/x/text v0.37.0 // indirect
golang.org/x/tools v0.44.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348 // indirect
google.golang.org/grpc v1.81.0 // indirect
google.golang.org/protobuf v1.36.11 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/frand v1.5.1 // indirect
pgregory.net/rapid v1.2.0 // indirect
)

View File

@@ -33,8 +33,8 @@ github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex
github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.11.6 h1:GhV21SiDz/45W9AnV2R61xZMRri5NlLnl6CVF7ihZW8=
github.com/charmbracelet/x/ansi v0.11.6/go.mod h1:2JNYLgQUsyqaiLovhU2Rv/pb8r6ydXKS3NIttu3VGZQ=
github.com/charmbracelet/x/ansi v0.11.7 h1:kzv1kJvjg2S3r9KHo8hDdHFQLEqn4RBCb39dAYC84jI=
github.com/charmbracelet/x/ansi v0.11.7/go.mod h1:9qGpnAVYz+8ACONkZBUWPtL7lulP9No6p1epAihUZwQ=
github.com/charmbracelet/x/cellbuf v0.0.15 h1:ur3pZy0o6z/R7EylET877CBxaiE1Sp1GMxoFPAIztPI=
github.com/charmbracelet/x/cellbuf v0.0.15/go.mod h1:J1YVbR7MUuEGIFPCaaZ96KDl5NoS0DAWkskup+mOY+Q=
github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk=
@@ -48,7 +48,6 @@ github.com/clipperhouse/uax29/v2 v2.7.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJ
github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8=
github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s=
github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -64,10 +63,10 @@ github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FM
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4=
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps=
github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
@@ -76,8 +75,8 @@ github.com/go-git/go-billy/v5 v5.8.0 h1:I8hjc3LbBlXTtVuFNJuwYuMiHvQJDq1AT6u4DwDz
github.com/go-git/go-billy/v5 v5.8.0/go.mod h1:RpvI/rw4Vr5QA+Z60c6d6LXH0rYJo0uD5SqfmrrheCY=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
github.com/go-git/go-git/v5 v5.17.2 h1:B+nkdlxdYrvyFK4GPXVU8w1U+YkbsgciIR7f2sZJ104=
github.com/go-git/go-git/v5 v5.17.2/go.mod h1:pW/VmeqkanRFqR6AljLcs7EA7FbZaN5MQqO7oZADXpo=
github.com/go-git/go-git/v5 v5.18.0 h1:O831KI+0PR51hM2kep6T8k+w0/LIAD490gvqMCvL5hM=
github.com/go-git/go-git/v5 v5.18.0/go.mod h1:pW/VmeqkanRFqR6AljLcs7EA7FbZaN5MQqO7oZADXpo=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
@@ -92,14 +91,13 @@ github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8J
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz+PMpZ14Jynv3O2Zs=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -134,12 +132,12 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW4TvVgFr4=
github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.21 h1:xYae+lCNBP7QuW4PUnNG61ffM4hVIfm+zUzDuSzYLGs=
github.com/mattn/go-isatty v0.0.21/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
github.com/mattn/go-isatty v0.0.22 h1:j8l17JJ9i6VGPUFUYoTUKPSgKe/83EYU2zBC7YNKMw4=
github.com/mattn/go-isatty v0.0.22/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
@@ -170,11 +168,10 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
github.com/pgavlin/fx/v2 v2.0.10 h1:ggyQ6pB+lEQEbEae48Wh/X221eLOamMD7i01ISe88u4=
github.com/pgavlin/fx/v2 v2.0.10/go.mod h1:M/nF/ooAOy+NUBooYYXl2REARzJ/giPJxfMs8fINfKc=
github.com/pgavlin/fx/v2 v2.0.12 h1:SjjaJ68Dt8Z4zHwOpY/RPijd7lShs6xYupJbF9ra00M=
github.com/pgavlin/fx/v2 v2.0.12/go.mod h1:M/nF/ooAOy+NUBooYYXl2REARzJ/giPJxfMs8fINfKc=
github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4=
github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk=
@@ -186,11 +183,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
github.com/pulumi/esc v0.23.0 h1:5lOXO+5vvXOEQxXw7cTuYhjg9lVng23f9XNLWDR9EP4=
github.com/pulumi/esc v0.23.0/go.mod h1:mkghIFn/TvN3XnP4jmCB4U5BG1I4UjGluARi39ckrCE=
github.com/pulumi/pulumi/sdk/v3 v3.230.0 h1:0TtF82Hlor39DLU0QtM7RZPwRaOmjn5UtQKPi1Mxo9M=
github.com/pulumi/pulumi/sdk/v3 v3.230.0/go.mod h1:u0fgmmPGwV5b4rmfuNABuYfRoqckuaTivufPn4EtfTk=
github.com/pulumi/pulumi/sdk/v3 v3.237.0 h1:D0kx4fkUkiZWfreQg1ekeAifLJEC2+VRYzgboQClg9Q=
github.com/pulumi/pulumi/sdk/v3 v3.237.0/go.mod h1:ybUihqUfVF1ZXBH3JNunYsAMz2P6i+7v5gzoJ60sVp0=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -233,12 +229,12 @@ github.com/zclconf/go-cty v1.17.0 h1:seZvECve6XX4tmnvRzWtJNHdscMtYEx5R7bnnVyd/d0
github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/collector/featuregate v1.55.0 h1:s/bE8135+8GZpVlQ9qLXQjvprE9KNOGsLhNkqm+EDEU=
go.opentelemetry.io/collector/featuregate v1.55.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g=
go.opentelemetry.io/collector/internal/testutil v0.149.0 h1:OWfUPO3NFKSaJtz/SBZph/2ENHbr/VbzzlBadKUhm8o=
go.opentelemetry.io/collector/internal/testutil v0.149.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE=
go.opentelemetry.io/collector/pdata v1.55.0 h1:WBgye8bo8koUyV9Vmp/r2Q3lgDezdsgfKDQAaM1oT2I=
go.opentelemetry.io/collector/pdata v1.55.0/go.mod h1:6jPrbM4tuliCPACDznjFtxnnHisfKfzwrBVoeuESYuk=
go.opentelemetry.io/collector/featuregate v1.57.0 h1:KPDSUKYn6MHwgyGRSGPPcW/G96HH93pxuvvPwM+R8nY=
go.opentelemetry.io/collector/featuregate v1.57.0/go.mod h1:4ga1QBMPEejXXmpyJS8lmaRpknJ3Lb9Bvk6e420bUFU=
go.opentelemetry.io/collector/internal/testutil v0.151.0 h1:CFjDItLuqzblItOsnK6IPSdrsOaZCaDjYpB8qWG+XHI=
go.opentelemetry.io/collector/internal/testutil v0.151.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE=
go.opentelemetry.io/collector/pdata v1.57.0 h1:oDWBMjEIqyJO3GJEB+iwqxj47rxDK19OKzwaFEaE4sg=
go.opentelemetry.io/collector/pdata v1.57.0/go.mod h1:wZojinP6mNhLXudH8QXx/bjWzOsKMxi/FXwnk+12G/w=
go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I=
go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 h1:88Y4s2C8oTui1LGM6bTWkw0ICGcOLCAI5l6zsD1j20k=
@@ -272,24 +268,24 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4=
golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA=
golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI=
golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8=
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4=
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8=
golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w=
golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM=
golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0=
golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw=
golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -309,36 +305,36 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU=
golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A=
golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k=
golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0=
golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c=
golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
google.golang.org/genproto/googleapis/api v0.0.0-20260406210006-6f92a3bedf2d h1:/aDRtSZJjyLQzm75d+a1wOJaqyKBMvIAfeQmoa3ORiI=
google.golang.org/genproto/googleapis/api v0.0.0-20260406210006-6f92a3bedf2d/go.mod h1:etfGUgejTiadZAUaEP14NP97xi1RGeawqkjDARA/UOs=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d h1:wT2n40TBqFY6wiwazVK9/iTWbsQrgk5ZfCSVFLO9LQA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM=
google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4=
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348 h1:U8orV30l6KpDsi9dxU0CoJZGbjS8EEpw+6ba+XwGPQA=
google.golang.org/genproto/googleapis/api v0.0.0-20260504160031-60b97b32f348/go.mod h1:Yzdzr5OOZFgSsEV2D/Xi9NL3bszpXFAg0hFJiRohcD8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348 h1:pfIbyB44sWzHiCpRqIen67ZQnVXSfIxWrqUMk1qwODE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260504160031-60b97b32f348/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.81.0 h1:W3G9N3KQf3BU+YuCtGKJk0CmxQNbAISICD/9AORxLIw=
google.golang.org/grpc v1.81.0/go.mod h1:xGH9GfzOyMTGIOXBJmXt+BX/V0kcdQbdcuwQ/zNw42I=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

42
sdk/nodejs/image.ts generated
View File

@@ -798,7 +798,7 @@ export interface ImageArgs {
*
* Equivalent to Docker's `--add-host` flag.
*/
addHosts?: pulumi.Input<pulumi.Input<string>[]>;
addHosts?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* `ARG` names and values to set during the build.
*
@@ -810,7 +810,7 @@ export interface ImageArgs {
*
* Equivalent to Docker's `--build-arg` flag.
*/
buildArgs?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
buildArgs?: pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined>;
/**
* Setting this to `false` will always skip image builds during previews,
* and setting it to `true` will always build images during previews.
@@ -824,35 +824,35 @@ export interface ImageArgs {
* Defaults to `true` as a safeguard against broken images merging as part
* of CI pipelines.
*/
buildOnPreview?: pulumi.Input<boolean>;
buildOnPreview?: pulumi.Input<boolean | undefined>;
/**
* Builder configuration.
*/
builder?: pulumi.Input<inputs.BuilderConfigArgs>;
builder?: pulumi.Input<inputs.BuilderConfigArgs | undefined>;
/**
* Cache export configuration.
*
* Equivalent to Docker's `--cache-from` flag.
*/
cacheFrom?: pulumi.Input<pulumi.Input<inputs.CacheFromArgs>[]>;
cacheFrom?: pulumi.Input<pulumi.Input<inputs.CacheFromArgs>[] | undefined>;
/**
* Cache import configuration.
*
* Equivalent to Docker's `--cache-to` flag.
*/
cacheTo?: pulumi.Input<pulumi.Input<inputs.CacheToArgs>[]>;
cacheTo?: pulumi.Input<pulumi.Input<inputs.CacheToArgs>[] | undefined>;
/**
* Build context settings. Defaults to the current directory.
*
* Equivalent to Docker's `PATH | URL | -` positional argument.
*/
context?: pulumi.Input<inputs.BuildContextArgs>;
context?: pulumi.Input<inputs.BuildContextArgs | undefined>;
/**
* Dockerfile settings.
*
* Equivalent to Docker's `--file` flag.
*/
dockerfile?: pulumi.Input<inputs.DockerfileArgs>;
dockerfile?: pulumi.Input<inputs.DockerfileArgs | undefined>;
/**
* Use `exec` mode to build this image.
*
@@ -875,7 +875,7 @@ export interface ImageArgs {
* are temporarily written to disk in order to provide them to the
* `docker-buildx` binary.
*/
exec?: pulumi.Input<boolean>;
exec?: pulumi.Input<boolean | undefined>;
/**
* Controls where images are persisted after building.
*
@@ -887,13 +887,13 @@ export interface ImageArgs {
*
* Equivalent to Docker's `--output` flag.
*/
exports?: pulumi.Input<pulumi.Input<inputs.ExportArgs>[]>;
exports?: pulumi.Input<pulumi.Input<inputs.ExportArgs>[] | undefined>;
/**
* Attach arbitrary key/value metadata to the image.
*
* Equivalent to Docker's `--label` flag.
*/
labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
labels?: pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined>;
/**
* When `true` the build will automatically include a `docker` export.
*
@@ -901,7 +901,7 @@ export interface ImageArgs {
*
* Equivalent to Docker's `--load` flag.
*/
load?: pulumi.Input<boolean>;
load?: pulumi.Input<boolean | undefined>;
/**
* Set the network mode for `RUN` instructions. Defaults to `default`.
*
@@ -909,25 +909,25 @@ export interface ImageArgs {
*
* Equivalent to Docker's `--network` flag.
*/
network?: pulumi.Input<enums.NetworkMode>;
network?: pulumi.Input<enums.NetworkMode | undefined>;
/**
* Do not import cache manifests when building the image.
*
* Equivalent to Docker's `--no-cache` flag.
*/
noCache?: pulumi.Input<boolean>;
noCache?: pulumi.Input<boolean | undefined>;
/**
* Set target platform(s) for the build. Defaults to the host's platform.
*
* Equivalent to Docker's `--platform` flag.
*/
platforms?: pulumi.Input<pulumi.Input<enums.Platform>[]>;
platforms?: pulumi.Input<pulumi.Input<enums.Platform>[] | undefined>;
/**
* Always pull referenced images.
*
* Equivalent to Docker's `--pull` flag.
*/
pull?: pulumi.Input<boolean>;
pull?: pulumi.Input<boolean | undefined>;
/**
* When `true` the build will automatically include a `registry` export.
*
@@ -945,7 +945,7 @@ export interface ImageArgs {
*
* Similar to `docker login`.
*/
registries?: pulumi.Input<pulumi.Input<inputs.RegistryArgs>[]>;
registries?: pulumi.Input<pulumi.Input<inputs.RegistryArgs>[] | undefined>;
/**
* A mapping of secret names to their corresponding values.
*
@@ -957,13 +957,13 @@ export interface ImageArgs {
*
* Similar to Docker's `--secret` flag.
*/
secrets?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
secrets?: pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined>;
/**
* SSH agent socket or keys to expose to the build.
*
* Equivalent to Docker's `--ssh` flag.
*/
ssh?: pulumi.Input<pulumi.Input<inputs.SSHArgs>[]>;
ssh?: pulumi.Input<pulumi.Input<inputs.SSHArgs>[] | undefined>;
/**
* Name and optionally a tag (format: `name:tag`).
*
@@ -972,7 +972,7 @@ export interface ImageArgs {
*
* Equivalent to Docker's `--tag` flag.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Set the target build stage(s) to build.
*
@@ -980,5 +980,5 @@ export interface ImageArgs {
*
* Equivalent to Docker's `--target` flag.
*/
target?: pulumi.Input<string>;
target?: pulumi.Input<string | undefined>;
}

4
sdk/nodejs/index_.ts generated
View File

@@ -178,13 +178,13 @@ export interface IndexArgs {
*
* Defaults to `true`.
*/
push?: pulumi.Input<boolean>;
push?: pulumi.Input<boolean | undefined>;
/**
* Authentication for the registry where the tagged index will be pushed.
*
* Credentials can also be included with the provider's configuration.
*/
registry?: pulumi.Input<inputs.RegistryArgs>;
registry?: pulumi.Input<inputs.RegistryArgs | undefined>;
/**
* Existing images to include in the index.
*/

View File

@@ -17,8 +17,8 @@
"@pulumi/pulumi": "^3.142.0"
},
"devDependencies": {
"@types/node": "^18",
"typescript": "^4.3.5"
"@types/node": "^20",
"typescript": "^4.7.0"
},
"pulumi": {
"resource": true,

View File

@@ -53,6 +53,6 @@ export interface ProviderArgs {
/**
* The build daemon's address.
*/
host?: pulumi.Input<string>;
registries?: pulumi.Input<pulumi.Input<inputs.RegistryArgs>[]>;
host?: pulumi.Input<string | undefined>;
registries?: pulumi.Input<pulumi.Input<inputs.RegistryArgs>[] | undefined>;
}

View File

@@ -28,7 +28,7 @@ export interface BuildContextArgs {
*
* Values can be local paths, HTTP URLs, or `docker-image://` images.
*/
named?: pulumi.Input<{[key: string]: pulumi.Input<inputs.ContextArgs>}>;
named?: pulumi.Input<{[key: string]: pulumi.Input<inputs.ContextArgs>} | undefined>;
}
export interface BuilderConfigArgs {
@@ -40,43 +40,43 @@ export interface BuilderConfigArgs {
*
* Equivalent to Docker's `--builder` flag.
*/
name?: pulumi.Input<string>;
name?: pulumi.Input<string | undefined>;
}
export interface CacheFromArgs {
/**
* Upload build caches to Azure's blob storage service.
*/
azblob?: pulumi.Input<inputs.CacheFromAzureBlobArgs>;
azblob?: pulumi.Input<inputs.CacheFromAzureBlobArgs | undefined>;
/**
* When `true` this entry will be excluded. Defaults to `false`.
*/
disabled?: pulumi.Input<boolean>;
disabled?: pulumi.Input<boolean | undefined>;
/**
* Recommended for use with GitHub Actions workflows.
*
* An action like `crazy-max/ghaction-github-runtime` is recommended to
* expose appropriate credentials to your GitHub workflow.
*/
gha?: pulumi.Input<inputs.CacheFromGitHubActionsArgs>;
gha?: pulumi.Input<inputs.CacheFromGitHubActionsArgs | undefined>;
/**
* A simple backend which caches images on your local filesystem.
*/
local?: pulumi.Input<inputs.CacheFromLocalArgs>;
local?: pulumi.Input<inputs.CacheFromLocalArgs | undefined>;
/**
* A raw string as you would provide it to the Docker CLI (e.g.,
* `type=inline`).
*/
raw?: pulumi.Input<string>;
raw?: pulumi.Input<string | undefined>;
/**
* Upload build caches to remote registries.
*/
registry?: pulumi.Input<inputs.CacheFromRegistryArgs>;
registry?: pulumi.Input<inputs.CacheFromRegistryArgs | undefined>;
/**
* Upload build caches to AWS S3 or an S3-compatible services such as
* MinIO.
*/
s3?: pulumi.Input<inputs.CacheFromS3Args>;
s3?: pulumi.Input<inputs.CacheFromS3Args | undefined>;
}
/**
* cacheFromArgsProvideDefaults sets the appropriate defaults for CacheFromArgs
@@ -84,8 +84,8 @@ export interface CacheFromArgs {
export function cacheFromArgsProvideDefaults(val: CacheFromArgs): CacheFromArgs {
return {
...val,
gha: (val.gha ? pulumi.output(val.gha).apply(inputs.cacheFromGitHubActionsArgsProvideDefaults) : undefined),
s3: (val.s3 ? pulumi.output(val.s3).apply(inputs.cacheFromS3ArgsProvideDefaults) : undefined),
gha: pulumi.output(val.gha).apply(v => v === undefined ? undefined : inputs.cacheFromGitHubActionsArgsProvideDefaults(v)),
s3: pulumi.output(val.s3).apply(v => v === undefined ? undefined : inputs.cacheFromS3ArgsProvideDefaults(v)),
};
}
@@ -93,7 +93,7 @@ export interface CacheFromAzureBlobArgs {
/**
* Base URL of the storage account.
*/
accountUrl?: pulumi.Input<string>;
accountUrl?: pulumi.Input<string | undefined>;
/**
* The name of the cache image.
*/
@@ -101,7 +101,7 @@ export interface CacheFromAzureBlobArgs {
/**
* Blob storage account key.
*/
secretAccessKey?: pulumi.Input<string>;
secretAccessKey?: pulumi.Input<string | undefined>;
}
/**
@@ -117,7 +117,7 @@ export interface CacheFromGitHubActionsArgs {
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*/
scope?: pulumi.Input<string>;
scope?: pulumi.Input<string | undefined>;
}
/**
* cacheFromGitHubActionsArgsProvideDefaults sets the appropriate defaults for CacheFromGitHubActionsArgs
@@ -133,7 +133,7 @@ export interface CacheFromLocalArgs {
/**
* Digest of manifest to import.
*/
digest?: pulumi.Input<string>;
digest?: pulumi.Input<string | undefined>;
/**
* Path of the local directory where cache gets imported from.
*/
@@ -151,11 +151,11 @@ export interface CacheFromS3Args {
/**
* Defaults to `$AWS_ACCESS_KEY_ID`.
*/
accessKeyId?: pulumi.Input<string>;
accessKeyId?: pulumi.Input<string | undefined>;
/**
* Prefix to prepend to blob filenames.
*/
blobsPrefix?: pulumi.Input<string>;
blobsPrefix?: pulumi.Input<string | undefined>;
/**
* Name of the S3 bucket.
*/
@@ -163,15 +163,15 @@ export interface CacheFromS3Args {
/**
* Endpoint of the S3 bucket.
*/
endpointUrl?: pulumi.Input<string>;
endpointUrl?: pulumi.Input<string | undefined>;
/**
* Prefix to prepend on manifest filenames.
*/
manifestsPrefix?: pulumi.Input<string>;
manifestsPrefix?: pulumi.Input<string | undefined>;
/**
* Name of the cache image.
*/
name?: pulumi.Input<string>;
name?: pulumi.Input<string | undefined>;
/**
* The geographic location of the bucket. Defaults to `$AWS_REGION`.
*/
@@ -179,15 +179,15 @@ export interface CacheFromS3Args {
/**
* Defaults to `$AWS_SECRET_ACCESS_KEY`.
*/
secretAccessKey?: pulumi.Input<string>;
secretAccessKey?: pulumi.Input<string | undefined>;
/**
* Defaults to `$AWS_SESSION_TOKEN`.
*/
sessionToken?: pulumi.Input<string>;
sessionToken?: pulumi.Input<string | undefined>;
/**
* Uses `bucket` in the URL instead of hostname when `true`.
*/
usePathStyle?: pulumi.Input<boolean>;
usePathStyle?: pulumi.Input<boolean | undefined>;
}
/**
* cacheFromS3ArgsProvideDefaults sets the appropriate defaults for CacheFromS3Args
@@ -206,42 +206,42 @@ export interface CacheToArgs {
/**
* Push cache to Azure's blob storage service.
*/
azblob?: pulumi.Input<inputs.CacheToAzureBlobArgs>;
azblob?: pulumi.Input<inputs.CacheToAzureBlobArgs | undefined>;
/**
* When `true` this entry will be excluded. Defaults to `false`.
*/
disabled?: pulumi.Input<boolean>;
disabled?: pulumi.Input<boolean | undefined>;
/**
* Recommended for use with GitHub Actions workflows.
*
* An action like `crazy-max/ghaction-github-runtime` is recommended to
* expose appropriate credentials to your GitHub workflow.
*/
gha?: pulumi.Input<inputs.CacheToGitHubActionsArgs>;
gha?: pulumi.Input<inputs.CacheToGitHubActionsArgs | undefined>;
/**
* The inline cache storage backend is the simplest implementation to get
* started with, but it does not handle multi-stage builds. Consider the
* `registry` cache backend instead.
*/
inline?: pulumi.Input<inputs.CacheToInlineArgs>;
inline?: pulumi.Input<inputs.CacheToInlineArgs | undefined>;
/**
* A simple backend which caches imagines on your local filesystem.
*/
local?: pulumi.Input<inputs.CacheToLocalArgs>;
local?: pulumi.Input<inputs.CacheToLocalArgs | undefined>;
/**
* A raw string as you would provide it to the Docker CLI (e.g.,
* `type=inline`)
*/
raw?: pulumi.Input<string>;
raw?: pulumi.Input<string | undefined>;
/**
* Push caches to remote registries. Incompatible with the `docker` build
* driver.
*/
registry?: pulumi.Input<inputs.CacheToRegistryArgs>;
registry?: pulumi.Input<inputs.CacheToRegistryArgs | undefined>;
/**
* Push cache to AWS S3 or S3-compatible services such as MinIO.
*/
s3?: pulumi.Input<inputs.CacheToS3Args>;
s3?: pulumi.Input<inputs.CacheToS3Args | undefined>;
}
/**
* cacheToArgsProvideDefaults sets the appropriate defaults for CacheToArgs
@@ -249,11 +249,11 @@ export interface CacheToArgs {
export function cacheToArgsProvideDefaults(val: CacheToArgs): CacheToArgs {
return {
...val,
azblob: (val.azblob ? pulumi.output(val.azblob).apply(inputs.cacheToAzureBlobArgsProvideDefaults) : undefined),
gha: (val.gha ? pulumi.output(val.gha).apply(inputs.cacheToGitHubActionsArgsProvideDefaults) : undefined),
local: (val.local ? pulumi.output(val.local).apply(inputs.cacheToLocalArgsProvideDefaults) : undefined),
registry: (val.registry ? pulumi.output(val.registry).apply(inputs.cacheToRegistryArgsProvideDefaults) : undefined),
s3: (val.s3 ? pulumi.output(val.s3).apply(inputs.cacheToS3ArgsProvideDefaults) : undefined),
azblob: pulumi.output(val.azblob).apply(v => v === undefined ? undefined : inputs.cacheToAzureBlobArgsProvideDefaults(v)),
gha: pulumi.output(val.gha).apply(v => v === undefined ? undefined : inputs.cacheToGitHubActionsArgsProvideDefaults(v)),
local: pulumi.output(val.local).apply(v => v === undefined ? undefined : inputs.cacheToLocalArgsProvideDefaults(v)),
registry: pulumi.output(val.registry).apply(v => v === undefined ? undefined : inputs.cacheToRegistryArgsProvideDefaults(v)),
s3: pulumi.output(val.s3).apply(v => v === undefined ? undefined : inputs.cacheToS3ArgsProvideDefaults(v)),
};
}
@@ -261,15 +261,15 @@ export interface CacheToAzureBlobArgs {
/**
* Base URL of the storage account.
*/
accountUrl?: pulumi.Input<string>;
accountUrl?: pulumi.Input<string | undefined>;
/**
* Ignore errors caused by failed cache exports.
*/
ignoreError?: pulumi.Input<boolean>;
ignoreError?: pulumi.Input<boolean | undefined>;
/**
* The cache mode to use. Defaults to `min`.
*/
mode?: pulumi.Input<enums.CacheMode>;
mode?: pulumi.Input<enums.CacheMode | undefined>;
/**
* The name of the cache image.
*/
@@ -277,7 +277,7 @@ export interface CacheToAzureBlobArgs {
/**
* Blob storage account key.
*/
secretAccessKey?: pulumi.Input<string>;
secretAccessKey?: pulumi.Input<string | undefined>;
}
/**
* cacheToAzureBlobArgsProvideDefaults sets the appropriate defaults for CacheToAzureBlobArgs
@@ -300,18 +300,18 @@ export interface CacheToGitHubActionsArgs {
/**
* Ignore errors caused by failed cache exports.
*/
ignoreError?: pulumi.Input<boolean>;
ignoreError?: pulumi.Input<boolean | undefined>;
/**
* The cache mode to use. Defaults to `min`.
*/
mode?: pulumi.Input<enums.CacheMode>;
mode?: pulumi.Input<enums.CacheMode | undefined>;
/**
* The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*/
scope?: pulumi.Input<string>;
scope?: pulumi.Input<string | undefined>;
}
/**
* cacheToGitHubActionsArgsProvideDefaults sets the appropriate defaults for CacheToGitHubActionsArgs
@@ -335,11 +335,11 @@ export interface CacheToLocalArgs {
/**
* The compression type to use.
*/
compression?: pulumi.Input<enums.CompressionType>;
compression?: pulumi.Input<enums.CompressionType | undefined>;
/**
* Compression level from 0 to 22.
*/
compressionLevel?: pulumi.Input<number>;
compressionLevel?: pulumi.Input<number | undefined>;
/**
* Path of the local directory to export the cache.
*/
@@ -347,15 +347,15 @@ export interface CacheToLocalArgs {
/**
* Forcefully apply compression.
*/
forceCompression?: pulumi.Input<boolean>;
forceCompression?: pulumi.Input<boolean | undefined>;
/**
* Ignore errors caused by failed cache exports.
*/
ignoreError?: pulumi.Input<boolean>;
ignoreError?: pulumi.Input<boolean | undefined>;
/**
* The cache mode to use. Defaults to `min`.
*/
mode?: pulumi.Input<enums.CacheMode>;
mode?: pulumi.Input<enums.CacheMode | undefined>;
}
/**
* cacheToLocalArgsProvideDefaults sets the appropriate defaults for CacheToLocalArgs
@@ -375,19 +375,19 @@ export interface CacheToRegistryArgs {
/**
* The compression type to use.
*/
compression?: pulumi.Input<enums.CompressionType>;
compression?: pulumi.Input<enums.CompressionType | undefined>;
/**
* Compression level from 0 to 22.
*/
compressionLevel?: pulumi.Input<number>;
compressionLevel?: pulumi.Input<number | undefined>;
/**
* Forcefully apply compression.
*/
forceCompression?: pulumi.Input<boolean>;
forceCompression?: pulumi.Input<boolean | undefined>;
/**
* Ignore errors caused by failed cache exports.
*/
ignoreError?: pulumi.Input<boolean>;
ignoreError?: pulumi.Input<boolean | undefined>;
/**
* Export cache manifest as an OCI-compatible image manifest instead of a
* manifest list. Requires `ociMediaTypes` to also be `true`.
@@ -397,16 +397,16 @@ export interface CacheToRegistryArgs {
*
* Defaults to `false` to match Docker's default behavior.
*/
imageManifest?: pulumi.Input<boolean>;
imageManifest?: pulumi.Input<boolean | undefined>;
/**
* The cache mode to use. Defaults to `min`.
*/
mode?: pulumi.Input<enums.CacheMode>;
mode?: pulumi.Input<enums.CacheMode | undefined>;
/**
* Whether to use OCI media types in exported manifests. Defaults to
* `true`.
*/
ociMediaTypes?: pulumi.Input<boolean>;
ociMediaTypes?: pulumi.Input<boolean | undefined>;
/**
* Fully qualified name of the cache image to import.
*/
@@ -432,11 +432,11 @@ export interface CacheToS3Args {
/**
* Defaults to `$AWS_ACCESS_KEY_ID`.
*/
accessKeyId?: pulumi.Input<string>;
accessKeyId?: pulumi.Input<string | undefined>;
/**
* Prefix to prepend to blob filenames.
*/
blobsPrefix?: pulumi.Input<string>;
blobsPrefix?: pulumi.Input<string | undefined>;
/**
* Name of the S3 bucket.
*/
@@ -444,23 +444,23 @@ export interface CacheToS3Args {
/**
* Endpoint of the S3 bucket.
*/
endpointUrl?: pulumi.Input<string>;
endpointUrl?: pulumi.Input<string | undefined>;
/**
* Ignore errors caused by failed cache exports.
*/
ignoreError?: pulumi.Input<boolean>;
ignoreError?: pulumi.Input<boolean | undefined>;
/**
* Prefix to prepend on manifest filenames.
*/
manifestsPrefix?: pulumi.Input<string>;
manifestsPrefix?: pulumi.Input<string | undefined>;
/**
* The cache mode to use. Defaults to `min`.
*/
mode?: pulumi.Input<enums.CacheMode>;
mode?: pulumi.Input<enums.CacheMode | undefined>;
/**
* Name of the cache image.
*/
name?: pulumi.Input<string>;
name?: pulumi.Input<string | undefined>;
/**
* The geographic location of the bucket. Defaults to `$AWS_REGION`.
*/
@@ -468,15 +468,15 @@ export interface CacheToS3Args {
/**
* Defaults to `$AWS_SECRET_ACCESS_KEY`.
*/
secretAccessKey?: pulumi.Input<string>;
secretAccessKey?: pulumi.Input<string | undefined>;
/**
* Defaults to `$AWS_SESSION_TOKEN`.
*/
sessionToken?: pulumi.Input<string>;
sessionToken?: pulumi.Input<string | undefined>;
/**
* Uses `bucket` in the URL instead of hostname when `true`.
*/
usePathStyle?: pulumi.Input<boolean>;
usePathStyle?: pulumi.Input<boolean | undefined>;
}
/**
* cacheToS3ArgsProvideDefaults sets the appropriate defaults for CacheToS3Args
@@ -515,7 +515,7 @@ export interface DockerfileArgs {
*
* Equivalent to invoking Docker with `-f -`.
*/
inline?: pulumi.Input<string>;
inline?: pulumi.Input<string | undefined>;
/**
* Location of the Dockerfile to use.
*
@@ -525,7 +525,7 @@ export interface DockerfileArgs {
*
* Conflicts with `inline`.
*/
location?: pulumi.Input<string>;
location?: pulumi.Input<string | undefined>;
}
export interface ExportArgs {
@@ -533,40 +533,40 @@ export interface ExportArgs {
* A no-op export. Helpful for silencing the 'no exports' warning if you
* just want to populate caches.
*/
cacheonly?: pulumi.Input<inputs.ExportCacheOnlyArgs>;
cacheonly?: pulumi.Input<inputs.ExportCacheOnlyArgs | undefined>;
/**
* When `true` this entry will be excluded. Defaults to `false`.
*/
disabled?: pulumi.Input<boolean>;
disabled?: pulumi.Input<boolean | undefined>;
/**
* Export as a Docker image layout.
*/
docker?: pulumi.Input<inputs.ExportDockerArgs>;
docker?: pulumi.Input<inputs.ExportDockerArgs | undefined>;
/**
* Outputs the build result into a container image format.
*/
image?: pulumi.Input<inputs.ExportImageArgs>;
image?: pulumi.Input<inputs.ExportImageArgs | undefined>;
/**
* Export to a local directory as files and directories.
*/
local?: pulumi.Input<inputs.ExportLocalArgs>;
local?: pulumi.Input<inputs.ExportLocalArgs | undefined>;
/**
* Identical to the Docker exporter but uses OCI media types by default.
*/
oci?: pulumi.Input<inputs.ExportOCIArgs>;
oci?: pulumi.Input<inputs.ExportOCIArgs | undefined>;
/**
* A raw string as you would provide it to the Docker CLI (e.g.,
* `type=docker`)
*/
raw?: pulumi.Input<string>;
raw?: pulumi.Input<string | undefined>;
/**
* Identical to the Image exporter, but pushes by default.
*/
registry?: pulumi.Input<inputs.ExportRegistryArgs>;
registry?: pulumi.Input<inputs.ExportRegistryArgs | undefined>;
/**
* Export to a local directory as a tarball.
*/
tar?: pulumi.Input<inputs.ExportTarArgs>;
tar?: pulumi.Input<inputs.ExportTarArgs | undefined>;
}
/**
* exportArgsProvideDefaults sets the appropriate defaults for ExportArgs
@@ -574,10 +574,10 @@ export interface ExportArgs {
export function exportArgsProvideDefaults(val: ExportArgs): ExportArgs {
return {
...val,
docker: (val.docker ? pulumi.output(val.docker).apply(inputs.exportDockerArgsProvideDefaults) : undefined),
image: (val.image ? pulumi.output(val.image).apply(inputs.exportImageArgsProvideDefaults) : undefined),
oci: (val.oci ? pulumi.output(val.oci).apply(inputs.exportOCIArgsProvideDefaults) : undefined),
registry: (val.registry ? pulumi.output(val.registry).apply(inputs.exportRegistryArgsProvideDefaults) : undefined),
docker: pulumi.output(val.docker).apply(v => v === undefined ? undefined : inputs.exportDockerArgsProvideDefaults(v)),
image: pulumi.output(val.image).apply(v => v === undefined ? undefined : inputs.exportImageArgsProvideDefaults(v)),
oci: pulumi.output(val.oci).apply(v => v === undefined ? undefined : inputs.exportOCIArgsProvideDefaults(v)),
registry: pulumi.output(val.registry).apply(v => v === undefined ? undefined : inputs.exportRegistryArgsProvideDefaults(v)),
};
}
@@ -588,35 +588,35 @@ export interface ExportDockerArgs {
/**
* Attach an arbitrary key/value annotation to the image.
*/
annotations?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
annotations?: pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined>;
/**
* The compression type to use.
*/
compression?: pulumi.Input<enums.CompressionType>;
compression?: pulumi.Input<enums.CompressionType | undefined>;
/**
* Compression level from 0 to 22.
*/
compressionLevel?: pulumi.Input<number>;
compressionLevel?: pulumi.Input<number | undefined>;
/**
* The local export path.
*/
dest?: pulumi.Input<string>;
dest?: pulumi.Input<string | undefined>;
/**
* Forcefully apply compression.
*/
forceCompression?: pulumi.Input<boolean>;
forceCompression?: pulumi.Input<boolean | undefined>;
/**
* Specify images names to export. This is overridden if tags are already specified.
*/
names?: pulumi.Input<pulumi.Input<string>[]>;
names?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Use OCI media types in exporter manifests.
*/
ociMediaTypes?: pulumi.Input<boolean>;
ociMediaTypes?: pulumi.Input<boolean | undefined>;
/**
* Bundle the output into a tarball layout.
*/
tar?: pulumi.Input<boolean>;
tar?: pulumi.Input<boolean | undefined>;
}
/**
* exportDockerArgsProvideDefaults sets the appropriate defaults for ExportDockerArgs
@@ -636,47 +636,47 @@ export interface ExportImageArgs {
/**
* Attach an arbitrary key/value annotation to the image.
*/
annotations?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
annotations?: pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined>;
/**
* The compression type to use.
*/
compression?: pulumi.Input<enums.CompressionType>;
compression?: pulumi.Input<enums.CompressionType | undefined>;
/**
* Compression level from 0 to 22.
*/
compressionLevel?: pulumi.Input<number>;
compressionLevel?: pulumi.Input<number | undefined>;
/**
* Name image with `prefix@<digest>`, used for anonymous images.
*/
danglingNamePrefix?: pulumi.Input<string>;
danglingNamePrefix?: pulumi.Input<string | undefined>;
/**
* Forcefully apply compression.
*/
forceCompression?: pulumi.Input<boolean>;
forceCompression?: pulumi.Input<boolean | undefined>;
/**
* Allow pushing to an insecure registry.
*/
insecure?: pulumi.Input<boolean>;
insecure?: pulumi.Input<boolean | undefined>;
/**
* Add additional canonical name (`name@<digest>`).
*/
nameCanonical?: pulumi.Input<boolean>;
nameCanonical?: pulumi.Input<boolean | undefined>;
/**
* Specify images names to export. This is overridden if tags are already specified.
*/
names?: pulumi.Input<pulumi.Input<string>[]>;
names?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Use OCI media types in exporter manifests.
*/
ociMediaTypes?: pulumi.Input<boolean>;
ociMediaTypes?: pulumi.Input<boolean | undefined>;
/**
* Push after creating the image. Defaults to `false`.
*/
push?: pulumi.Input<boolean>;
push?: pulumi.Input<boolean | undefined>;
/**
* Push image without name.
*/
pushByDigest?: pulumi.Input<boolean>;
pushByDigest?: pulumi.Input<boolean | undefined>;
/**
* Store resulting images to the worker's image store and ensure all of
* its blobs are in the content store.
@@ -686,12 +686,12 @@ export interface ExportImageArgs {
* Ignored if the worker doesn't have image store (when using OCI workers,
* for example).
*/
store?: pulumi.Input<boolean>;
store?: pulumi.Input<boolean | undefined>;
/**
* Unpack image after creation (for use with containerd). Defaults to
* `false`.
*/
unpack?: pulumi.Input<boolean>;
unpack?: pulumi.Input<boolean | undefined>;
}
/**
* exportImageArgsProvideDefaults sets the appropriate defaults for ExportImageArgs
@@ -718,35 +718,35 @@ export interface ExportOCIArgs {
/**
* Attach an arbitrary key/value annotation to the image.
*/
annotations?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
annotations?: pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined>;
/**
* The compression type to use.
*/
compression?: pulumi.Input<enums.CompressionType>;
compression?: pulumi.Input<enums.CompressionType | undefined>;
/**
* Compression level from 0 to 22.
*/
compressionLevel?: pulumi.Input<number>;
compressionLevel?: pulumi.Input<number | undefined>;
/**
* The local export path.
*/
dest?: pulumi.Input<string>;
dest?: pulumi.Input<string | undefined>;
/**
* Forcefully apply compression.
*/
forceCompression?: pulumi.Input<boolean>;
forceCompression?: pulumi.Input<boolean | undefined>;
/**
* Specify images names to export. This is overridden if tags are already specified.
*/
names?: pulumi.Input<pulumi.Input<string>[]>;
names?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Use OCI media types in exporter manifests.
*/
ociMediaTypes?: pulumi.Input<boolean>;
ociMediaTypes?: pulumi.Input<boolean | undefined>;
/**
* Bundle the output into a tarball layout.
*/
tar?: pulumi.Input<boolean>;
tar?: pulumi.Input<boolean | undefined>;
}
/**
* exportOCIArgsProvideDefaults sets the appropriate defaults for ExportOCIArgs
@@ -766,47 +766,47 @@ export interface ExportRegistryArgs {
/**
* Attach an arbitrary key/value annotation to the image.
*/
annotations?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
annotations?: pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined>;
/**
* The compression type to use.
*/
compression?: pulumi.Input<enums.CompressionType>;
compression?: pulumi.Input<enums.CompressionType | undefined>;
/**
* Compression level from 0 to 22.
*/
compressionLevel?: pulumi.Input<number>;
compressionLevel?: pulumi.Input<number | undefined>;
/**
* Name image with `prefix@<digest>`, used for anonymous images.
*/
danglingNamePrefix?: pulumi.Input<string>;
danglingNamePrefix?: pulumi.Input<string | undefined>;
/**
* Forcefully apply compression.
*/
forceCompression?: pulumi.Input<boolean>;
forceCompression?: pulumi.Input<boolean | undefined>;
/**
* Allow pushing to an insecure registry.
*/
insecure?: pulumi.Input<boolean>;
insecure?: pulumi.Input<boolean | undefined>;
/**
* Add additional canonical name (`name@<digest>`).
*/
nameCanonical?: pulumi.Input<boolean>;
nameCanonical?: pulumi.Input<boolean | undefined>;
/**
* Specify images names to export. This is overridden if tags are already specified.
*/
names?: pulumi.Input<pulumi.Input<string>[]>;
names?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Use OCI media types in exporter manifests.
*/
ociMediaTypes?: pulumi.Input<boolean>;
ociMediaTypes?: pulumi.Input<boolean | undefined>;
/**
* Push after creating the image. Defaults to `true`.
*/
push?: pulumi.Input<boolean>;
push?: pulumi.Input<boolean | undefined>;
/**
* Push image without name.
*/
pushByDigest?: pulumi.Input<boolean>;
pushByDigest?: pulumi.Input<boolean | undefined>;
/**
* Store resulting images to the worker's image store and ensure all of
* its blobs are in the content store.
@@ -816,12 +816,12 @@ export interface ExportRegistryArgs {
* Ignored if the worker doesn't have image store (when using OCI workers,
* for example).
*/
store?: pulumi.Input<boolean>;
store?: pulumi.Input<boolean | undefined>;
/**
* Unpack image after creation (for use with containerd). Defaults to
* `false`.
*/
unpack?: pulumi.Input<boolean>;
unpack?: pulumi.Input<boolean | undefined>;
}
/**
* exportRegistryArgsProvideDefaults sets the appropriate defaults for ExportRegistryArgs
@@ -853,11 +853,11 @@ export interface RegistryArgs {
/**
* Password or token for the registry.
*/
password?: pulumi.Input<string>;
password?: pulumi.Input<string | undefined>;
/**
* Username for the registry.
*/
username?: pulumi.Input<string>;
username?: pulumi.Input<string | undefined>;
}
export interface SSHArgs {
@@ -878,5 +878,5 @@ export interface SSHArgs {
* agent. Run `ssh-add -l` locally to confirm which public keys are
* visible to the agent; these will be exposed to your build.
*/
paths?: pulumi.Input<pulumi.Input<string>[]>;
paths?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}

File diff suppressed because it is too large Load Diff

View File

@@ -23,27 +23,27 @@ __all__ = ['ImageArgs', 'Image']
class ImageArgs:
def __init__(__self__, *,
push: pulumi.Input[_builtins.bool],
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None,
builder: Optional[pulumi.Input['BuilderConfigArgs']] = None,
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]] = None,
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]] = None,
context: Optional[pulumi.Input['BuildContextArgs']] = None,
dockerfile: Optional[pulumi.Input['DockerfileArgs']] = None,
exec_: Optional[pulumi.Input[_builtins.bool]] = None,
exports: Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
load: Optional[pulumi.Input[_builtins.bool]] = None,
network: Optional[pulumi.Input['NetworkMode']] = None,
no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
pull: Optional[pulumi.Input[_builtins.bool]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]] = None,
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
ssh: Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]] = None,
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
target: Optional[pulumi.Input[_builtins.str]] = None):
add_hosts: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
build_args: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
build_on_preview: pulumi.Input[Optional[_builtins.bool]] = None,
builder: pulumi.Input[Optional['BuilderConfigArgs']] = None,
cache_from: pulumi.Input[Optional[Sequence[pulumi.Input['CacheFromArgs']]]] = None,
cache_to: pulumi.Input[Optional[Sequence[pulumi.Input['CacheToArgs']]]] = None,
context: pulumi.Input[Optional['BuildContextArgs']] = None,
dockerfile: pulumi.Input[Optional['DockerfileArgs']] = None,
exec_: pulumi.Input[Optional[_builtins.bool]] = None,
exports: pulumi.Input[Optional[Sequence[pulumi.Input['ExportArgs']]]] = None,
labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
load: pulumi.Input[Optional[_builtins.bool]] = None,
network: pulumi.Input[Optional['NetworkMode']] = None,
no_cache: pulumi.Input[Optional[_builtins.bool]] = None,
platforms: pulumi.Input[Optional[Sequence[pulumi.Input['Platform']]]] = None,
pull: pulumi.Input[Optional[_builtins.bool]] = None,
registries: pulumi.Input[Optional[Sequence[pulumi.Input['RegistryArgs']]]] = None,
secrets: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
ssh: pulumi.Input[Optional[Sequence[pulumi.Input['SSHArgs']]]] = None,
tags: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
target: pulumi.Input[Optional[_builtins.str]] = None):
"""
The set of arguments for constructing a Image resource.
@@ -236,7 +236,7 @@ class ImageArgs:
@_builtins.property
@pulumi.getter(name="addHosts")
def add_hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
def add_hosts(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Custom `host:ip` mappings to use during the build.
@@ -245,12 +245,12 @@ class ImageArgs:
return pulumi.get(self, "add_hosts")
@add_hosts.setter
def add_hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
def add_hosts(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "add_hosts", value)
@_builtins.property
@pulumi.getter(name="buildArgs")
def build_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
def build_args(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]:
"""
`ARG` names and values to set during the build.
@@ -265,12 +265,12 @@ class ImageArgs:
return pulumi.get(self, "build_args")
@build_args.setter
def build_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
def build_args(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "build_args", value)
@_builtins.property
@pulumi.getter(name="buildOnPreview")
def build_on_preview(self) -> Optional[pulumi.Input[_builtins.bool]]:
def build_on_preview(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Setting this to `false` will always skip image builds during previews,
and setting it to `true` will always build images during previews.
@@ -287,24 +287,24 @@ class ImageArgs:
return pulumi.get(self, "build_on_preview")
@build_on_preview.setter
def build_on_preview(self, value: Optional[pulumi.Input[_builtins.bool]]):
def build_on_preview(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "build_on_preview", value)
@_builtins.property
@pulumi.getter
def builder(self) -> Optional[pulumi.Input['BuilderConfigArgs']]:
def builder(self) -> pulumi.Input[Optional['BuilderConfigArgs']]:
"""
Builder configuration.
"""
return pulumi.get(self, "builder")
@builder.setter
def builder(self, value: Optional[pulumi.Input['BuilderConfigArgs']]):
def builder(self, value: pulumi.Input[Optional['BuilderConfigArgs']]):
pulumi.set(self, "builder", value)
@_builtins.property
@pulumi.getter(name="cacheFrom")
def cache_from(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]]:
def cache_from(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['CacheFromArgs']]]]:
"""
Cache export configuration.
@@ -313,12 +313,12 @@ class ImageArgs:
return pulumi.get(self, "cache_from")
@cache_from.setter
def cache_from(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]]):
def cache_from(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['CacheFromArgs']]]]):
pulumi.set(self, "cache_from", value)
@_builtins.property
@pulumi.getter(name="cacheTo")
def cache_to(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]]:
def cache_to(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['CacheToArgs']]]]:
"""
Cache import configuration.
@@ -327,12 +327,12 @@ class ImageArgs:
return pulumi.get(self, "cache_to")
@cache_to.setter
def cache_to(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]]):
def cache_to(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['CacheToArgs']]]]):
pulumi.set(self, "cache_to", value)
@_builtins.property
@pulumi.getter
def context(self) -> Optional[pulumi.Input['BuildContextArgs']]:
def context(self) -> pulumi.Input[Optional['BuildContextArgs']]:
"""
Build context settings. Defaults to the current directory.
@@ -341,12 +341,12 @@ class ImageArgs:
return pulumi.get(self, "context")
@context.setter
def context(self, value: Optional[pulumi.Input['BuildContextArgs']]):
def context(self, value: pulumi.Input[Optional['BuildContextArgs']]):
pulumi.set(self, "context", value)
@_builtins.property
@pulumi.getter
def dockerfile(self) -> Optional[pulumi.Input['DockerfileArgs']]:
def dockerfile(self) -> pulumi.Input[Optional['DockerfileArgs']]:
"""
Dockerfile settings.
@@ -355,12 +355,12 @@ class ImageArgs:
return pulumi.get(self, "dockerfile")
@dockerfile.setter
def dockerfile(self, value: Optional[pulumi.Input['DockerfileArgs']]):
def dockerfile(self, value: pulumi.Input[Optional['DockerfileArgs']]):
pulumi.set(self, "dockerfile", value)
@_builtins.property
@pulumi.getter(name="exec")
def exec_(self) -> Optional[pulumi.Input[_builtins.bool]]:
def exec_(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Use `exec` mode to build this image.
@@ -386,12 +386,12 @@ class ImageArgs:
return pulumi.get(self, "exec_")
@exec_.setter
def exec_(self, value: Optional[pulumi.Input[_builtins.bool]]):
def exec_(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "exec_", value)
@_builtins.property
@pulumi.getter
def exports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]]:
def exports(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['ExportArgs']]]]:
"""
Controls where images are persisted after building.
@@ -406,12 +406,12 @@ class ImageArgs:
return pulumi.get(self, "exports")
@exports.setter
def exports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]]):
def exports(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['ExportArgs']]]]):
pulumi.set(self, "exports", value)
@_builtins.property
@pulumi.getter
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]:
"""
Attach arbitrary key/value metadata to the image.
@@ -420,12 +420,12 @@ class ImageArgs:
return pulumi.get(self, "labels")
@labels.setter
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "labels", value)
@_builtins.property
@pulumi.getter
def load(self) -> Optional[pulumi.Input[_builtins.bool]]:
def load(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
When `true` the build will automatically include a `docker` export.
@@ -436,12 +436,12 @@ class ImageArgs:
return pulumi.get(self, "load")
@load.setter
def load(self, value: Optional[pulumi.Input[_builtins.bool]]):
def load(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "load", value)
@_builtins.property
@pulumi.getter
def network(self) -> Optional[pulumi.Input['NetworkMode']]:
def network(self) -> pulumi.Input[Optional['NetworkMode']]:
"""
Set the network mode for `RUN` instructions. Defaults to `default`.
@@ -452,12 +452,12 @@ class ImageArgs:
return pulumi.get(self, "network")
@network.setter
def network(self, value: Optional[pulumi.Input['NetworkMode']]):
def network(self, value: pulumi.Input[Optional['NetworkMode']]):
pulumi.set(self, "network", value)
@_builtins.property
@pulumi.getter(name="noCache")
def no_cache(self) -> Optional[pulumi.Input[_builtins.bool]]:
def no_cache(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Do not import cache manifests when building the image.
@@ -466,12 +466,12 @@ class ImageArgs:
return pulumi.get(self, "no_cache")
@no_cache.setter
def no_cache(self, value: Optional[pulumi.Input[_builtins.bool]]):
def no_cache(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "no_cache", value)
@_builtins.property
@pulumi.getter
def platforms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]]:
def platforms(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['Platform']]]]:
"""
Set target platform(s) for the build. Defaults to the host's platform.
@@ -480,12 +480,12 @@ class ImageArgs:
return pulumi.get(self, "platforms")
@platforms.setter
def platforms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]]):
def platforms(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['Platform']]]]):
pulumi.set(self, "platforms", value)
@_builtins.property
@pulumi.getter
def pull(self) -> Optional[pulumi.Input[_builtins.bool]]:
def pull(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Always pull referenced images.
@@ -494,12 +494,12 @@ class ImageArgs:
return pulumi.get(self, "pull")
@pull.setter
def pull(self, value: Optional[pulumi.Input[_builtins.bool]]):
def pull(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "pull", value)
@_builtins.property
@pulumi.getter
def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]:
def registries(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['RegistryArgs']]]]:
"""
Registry credentials. Required if reading or exporting to private
repositories.
@@ -512,12 +512,12 @@ class ImageArgs:
return pulumi.get(self, "registries")
@registries.setter
def registries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]):
def registries(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['RegistryArgs']]]]):
pulumi.set(self, "registries", value)
@_builtins.property
@pulumi.getter
def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
def secrets(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]:
"""
A mapping of secret names to their corresponding values.
@@ -532,12 +532,12 @@ class ImageArgs:
return pulumi.get(self, "secrets")
@secrets.setter
def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
def secrets(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "secrets", value)
@_builtins.property
@pulumi.getter
def ssh(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]]:
def ssh(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['SSHArgs']]]]:
"""
SSH agent socket or keys to expose to the build.
@@ -546,12 +546,12 @@ class ImageArgs:
return pulumi.get(self, "ssh")
@ssh.setter
def ssh(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]]):
def ssh(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['SSHArgs']]]]):
pulumi.set(self, "ssh", value)
@_builtins.property
@pulumi.getter
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
def tags(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Name and optionally a tag (format: `name:tag`).
@@ -563,12 +563,12 @@ class ImageArgs:
return pulumi.get(self, "tags")
@tags.setter
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
def tags(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "tags", value)
@_builtins.property
@pulumi.getter
def target(self) -> Optional[pulumi.Input[_builtins.str]]:
def target(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Set the target build stage(s) to build.
@@ -579,7 +579,7 @@ class ImageArgs:
return pulumi.get(self, "target")
@target.setter
def target(self, value: Optional[pulumi.Input[_builtins.str]]):
def target(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "target", value)
@@ -589,28 +589,28 @@ class Image(pulumi.CustomResource):
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None,
builder: Optional[pulumi.Input[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None,
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None,
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None,
context: Optional[pulumi.Input[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None,
dockerfile: Optional[pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None,
exec_: Optional[pulumi.Input[_builtins.bool]] = None,
exports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
load: Optional[pulumi.Input[_builtins.bool]] = None,
network: Optional[pulumi.Input['NetworkMode']] = None,
no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
pull: Optional[pulumi.Input[_builtins.bool]] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
ssh: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None,
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
target: Optional[pulumi.Input[_builtins.str]] = None,
add_hosts: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
build_args: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
build_on_preview: pulumi.Input[Optional[_builtins.bool]] = None,
builder: pulumi.Input[Optional[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None,
cache_from: pulumi.Input[Optional[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None,
cache_to: pulumi.Input[Optional[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None,
context: pulumi.Input[Optional[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None,
dockerfile: pulumi.Input[Optional[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None,
exec_: pulumi.Input[Optional[_builtins.bool]] = None,
exports: pulumi.Input[Optional[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None,
labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
load: pulumi.Input[Optional[_builtins.bool]] = None,
network: pulumi.Input[Optional['NetworkMode']] = None,
no_cache: pulumi.Input[Optional[_builtins.bool]] = None,
platforms: pulumi.Input[Optional[Sequence[pulumi.Input['Platform']]]] = None,
pull: pulumi.Input[Optional[_builtins.bool]] = None,
push: pulumi.Input[Optional[_builtins.bool]] = None,
registries: pulumi.Input[Optional[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
secrets: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
ssh: pulumi.Input[Optional[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None,
tags: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
target: pulumi.Input[Optional[_builtins.str]] = None,
__props__=None):
"""
A Docker image built using buildx -- Docker's interface to the improved
@@ -1374,28 +1374,28 @@ class Image(pulumi.CustomResource):
def _internal_init(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None,
builder: Optional[pulumi.Input[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None,
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None,
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None,
context: Optional[pulumi.Input[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None,
dockerfile: Optional[pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None,
exec_: Optional[pulumi.Input[_builtins.bool]] = None,
exports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
load: Optional[pulumi.Input[_builtins.bool]] = None,
network: Optional[pulumi.Input['NetworkMode']] = None,
no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
pull: Optional[pulumi.Input[_builtins.bool]] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
ssh: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None,
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
target: Optional[pulumi.Input[_builtins.str]] = None,
add_hosts: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
build_args: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
build_on_preview: pulumi.Input[Optional[_builtins.bool]] = None,
builder: pulumi.Input[Optional[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None,
cache_from: pulumi.Input[Optional[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None,
cache_to: pulumi.Input[Optional[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None,
context: pulumi.Input[Optional[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None,
dockerfile: pulumi.Input[Optional[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None,
exec_: pulumi.Input[Optional[_builtins.bool]] = None,
exports: pulumi.Input[Optional[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None,
labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
load: pulumi.Input[Optional[_builtins.bool]] = None,
network: pulumi.Input[Optional['NetworkMode']] = None,
no_cache: pulumi.Input[Optional[_builtins.bool]] = None,
platforms: pulumi.Input[Optional[Sequence[pulumi.Input['Platform']]]] = None,
pull: pulumi.Input[Optional[_builtins.bool]] = None,
push: pulumi.Input[Optional[_builtins.bool]] = None,
registries: pulumi.Input[Optional[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
secrets: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
ssh: pulumi.Input[Optional[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None,
tags: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
target: pulumi.Input[Optional[_builtins.str]] = None,
__props__=None):
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
if not isinstance(opts, pulumi.ResourceOptions):

View File

@@ -23,8 +23,8 @@ class IndexArgs:
def __init__(__self__, *,
sources: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
tag: pulumi.Input[_builtins.str],
push: Optional[pulumi.Input[_builtins.bool]] = None,
registry: Optional[pulumi.Input['RegistryArgs']] = None):
push: pulumi.Input[Optional[_builtins.bool]] = None,
registry: pulumi.Input[Optional['RegistryArgs']] = None):
"""
The set of arguments for constructing a Index resource.
@@ -72,7 +72,7 @@ class IndexArgs:
@_builtins.property
@pulumi.getter
def push(self) -> Optional[pulumi.Input[_builtins.bool]]:
def push(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
If true, push the index to the target registry.
@@ -81,12 +81,12 @@ class IndexArgs:
return pulumi.get(self, "push")
@push.setter
def push(self, value: Optional[pulumi.Input[_builtins.bool]]):
def push(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "push", value)
@_builtins.property
@pulumi.getter
def registry(self) -> Optional[pulumi.Input['RegistryArgs']]:
def registry(self) -> pulumi.Input[Optional['RegistryArgs']]:
"""
Authentication for the registry where the tagged index will be pushed.
@@ -95,7 +95,7 @@ class IndexArgs:
return pulumi.get(self, "registry")
@registry.setter
def registry(self, value: Optional[pulumi.Input['RegistryArgs']]):
def registry(self, value: pulumi.Input[Optional['RegistryArgs']]):
pulumi.set(self, "registry", value)
@@ -105,10 +105,10 @@ class Index(pulumi.CustomResource):
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None,
registry: Optional[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]] = None,
sources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
tag: Optional[pulumi.Input[_builtins.str]] = None,
push: pulumi.Input[Optional[_builtins.bool]] = None,
registry: pulumi.Input[Optional[Union['RegistryArgs', 'RegistryArgsDict']]] = None,
sources: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
tag: pulumi.Input[Optional[_builtins.str]] = None,
__props__=None):
"""
A wrapper around `docker buildx imagetools create` to create an index
@@ -284,10 +284,10 @@ class Index(pulumi.CustomResource):
def _internal_init(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None,
registry: Optional[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]] = None,
sources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
tag: Optional[pulumi.Input[_builtins.str]] = None,
push: pulumi.Input[Optional[_builtins.bool]] = None,
registry: pulumi.Input[Optional[Union['RegistryArgs', 'RegistryArgsDict']]] = None,
sources: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
tag: pulumi.Input[Optional[_builtins.str]] = None,
__props__=None):
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
if not isinstance(opts, pulumi.ResourceOptions):

View File

@@ -20,8 +20,8 @@ __all__ = ['ProviderArgs', 'Provider']
@pulumi.input_type
class ProviderArgs:
def __init__(__self__, *,
host: Optional[pulumi.Input[_builtins.str]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]] = None):
host: pulumi.Input[Optional[_builtins.str]] = None,
registries: pulumi.Input[Optional[Sequence[pulumi.Input['RegistryArgs']]]] = None):
"""
The set of arguments for constructing a Provider resource.
@@ -36,23 +36,23 @@ class ProviderArgs:
@_builtins.property
@pulumi.getter
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
def host(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
The build daemon's address.
"""
return pulumi.get(self, "host")
@host.setter
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
def host(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "host", value)
@_builtins.property
@pulumi.getter
def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]:
def registries(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['RegistryArgs']]]]:
return pulumi.get(self, "registries")
@registries.setter
def registries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]):
def registries(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['RegistryArgs']]]]):
pulumi.set(self, "registries", value)
@@ -62,8 +62,8 @@ class Provider(pulumi.ProviderResource):
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
host: Optional[pulumi.Input[_builtins.str]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
host: pulumi.Input[Optional[_builtins.str]] = None,
registries: pulumi.Input[Optional[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
__props__=None):
"""
Create a Docker-build resource with the given unique name, props, and options.
@@ -96,8 +96,8 @@ class Provider(pulumi.ProviderResource):
def _internal_init(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
host: Optional[pulumi.Input[_builtins.str]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
host: pulumi.Input[Optional[_builtins.str]] = None,
registries: pulumi.Input[Optional[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
__props__=None):
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
if not isinstance(opts, pulumi.ResourceOptions):

View File

@@ -1,7 +1,7 @@
[project]
name = "pulumi_docker_build"
description = "A Pulumi provider for building modern Docker images with buildx and BuildKit."
dependencies = ["parver>=0.2.1", "pulumi>=3.165.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11,<5; python_version < \"3.11\""]
dependencies = ["parver>=0.2.1", "pulumi>=3.231.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11,<5; python_version < \"3.11\""]
keywords = ["docker", "buildkit", "buildx", "kind/native"]
readme = "README.md"
requires-python = ">=3.9"