Update the go.mod files for pkg and the sdks to 1.21. We can't build on
1.20 anymore, as we use the `slices` package that was introduced in
1.21. We don't bump all the way to 1.22 to avoid breaking for no reason,
but we don't make any real guarantees about maintaining compatibility
with 1.21.
This change switches back to using the stdlib's `os/user` to get the
current user. We originally used `os/user` but moved to a drop-in
replacement (https://github.com/tweekmonster/luser) in #5065 which
worked better without `cgo` at the time. However,
https://github.com/tweekmonster/luser no longer appears to be maintained
and the stdlib's `os/user` has a pure Go implementation (which doesn't
require `cgo`) which has improved since then, so we should be able to
switch back to it now.
Commits:
1. Update the *.go files
2. Result of running `make tidy`
Fixes#17123
Bumps the go_modules group with 1 update in the /pkg directory:
[github.com/hashicorp/go-retryablehttp](https://github.com/hashicorp/go-retryablehttp).
Bumps the go_modules group with 1 update in the /tests directory:
[github.com/hashicorp/go-retryablehttp](https://github.com/hashicorp/go-retryablehttp).
Updates `github.com/hashicorp/go-retryablehttp` from 0.7.5 to 0.7.7
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/go-retryablehttp/blob/main/CHANGELOG.md">github.com/hashicorp/go-retryablehttp's
changelog</a>.</em></p>
<blockquote>
<h2>0.7.7 (May 30, 2024)</h2>
<p>BUG FIXES:</p>
<ul>
<li>client: avoid potentially leaking URL-embedded basic authentication
credentials in logs (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/158">#158</a>)</li>
</ul>
<h2>0.7.6 (May 9, 2024)</h2>
<p>ENHANCEMENTS:</p>
<ul>
<li>client: support a <code>RetryPrepare</code> function for modifying
the request before retrying (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/216">#216</a>)</li>
<li>client: support HTTP-date values for <code>Retry-After</code> header
value (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/138">#138</a>)</li>
<li>client: avoid reading entire body when the body is a
<code>*bytes.Reader</code> (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/197">#197</a>)</li>
</ul>
<p>BUG FIXES:</p>
<ul>
<li>client: fix a broken check for invalid server certificate in go
1.20+ (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/210">#210</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1542b31176"><code>1542b31</code></a>
v0.7.7</li>
<li><a
href="defb9f441d"><code>defb9f4</code></a>
v0.7.7</li>
<li><a
href="a99f07beb3"><code>a99f07b</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/158">#158</a>
from dany74q/danny/redacted-url-in-logs</li>
<li><a
href="8a28c574da"><code>8a28c57</code></a>
Merge branch 'main' into danny/redacted-url-in-logs</li>
<li><a
href="86e852df43"><code>86e852d</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/227">#227</a>
from hashicorp/dependabot/github_actions/actions/chec...</li>
<li><a
href="47fe99e646"><code>47fe99e</code></a>
Bump actions/checkout from 4.1.5 to 4.1.6</li>
<li><a
href="490fc06be0"><code>490fc06</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/226">#226</a>
from testwill/ioutil</li>
<li><a
href="f3e9417dbf"><code>f3e9417</code></a>
chore: remove refs to deprecated io/ioutil</li>
<li><a
href="d969eaa9c9"><code>d969eaa</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/225">#225</a>
from hashicorp/manicminer-patch-2</li>
<li><a
href="2ad8ed4a1d"><code>2ad8ed4</code></a>
v0.7.6</li>
<li>Additional commits viewable in <a
href="https://github.com/hashicorp/go-retryablehttp/compare/v0.7.5...v0.7.7">compare
view</a></li>
</ul>
</details>
<br />
Updates `github.com/hashicorp/go-retryablehttp` from 0.7.5 to 0.7.7
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/go-retryablehttp/blob/main/CHANGELOG.md">github.com/hashicorp/go-retryablehttp's
changelog</a>.</em></p>
<blockquote>
<h2>0.7.7 (May 30, 2024)</h2>
<p>BUG FIXES:</p>
<ul>
<li>client: avoid potentially leaking URL-embedded basic authentication
credentials in logs (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/158">#158</a>)</li>
</ul>
<h2>0.7.6 (May 9, 2024)</h2>
<p>ENHANCEMENTS:</p>
<ul>
<li>client: support a <code>RetryPrepare</code> function for modifying
the request before retrying (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/216">#216</a>)</li>
<li>client: support HTTP-date values for <code>Retry-After</code> header
value (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/138">#138</a>)</li>
<li>client: avoid reading entire body when the body is a
<code>*bytes.Reader</code> (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/197">#197</a>)</li>
</ul>
<p>BUG FIXES:</p>
<ul>
<li>client: fix a broken check for invalid server certificate in go
1.20+ (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/210">#210</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1542b31176"><code>1542b31</code></a>
v0.7.7</li>
<li><a
href="defb9f441d"><code>defb9f4</code></a>
v0.7.7</li>
<li><a
href="a99f07beb3"><code>a99f07b</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/158">#158</a>
from dany74q/danny/redacted-url-in-logs</li>
<li><a
href="8a28c574da"><code>8a28c57</code></a>
Merge branch 'main' into danny/redacted-url-in-logs</li>
<li><a
href="86e852df43"><code>86e852d</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/227">#227</a>
from hashicorp/dependabot/github_actions/actions/chec...</li>
<li><a
href="47fe99e646"><code>47fe99e</code></a>
Bump actions/checkout from 4.1.5 to 4.1.6</li>
<li><a
href="490fc06be0"><code>490fc06</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/226">#226</a>
from testwill/ioutil</li>
<li><a
href="f3e9417dbf"><code>f3e9417</code></a>
chore: remove refs to deprecated io/ioutil</li>
<li><a
href="d969eaa9c9"><code>d969eaa</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/225">#225</a>
from hashicorp/manicminer-patch-2</li>
<li><a
href="2ad8ed4a1d"><code>2ad8ed4</code></a>
v0.7.6</li>
<li>Additional commits viewable in <a
href="https://github.com/hashicorp/go-retryablehttp/compare/v0.7.5...v0.7.7">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/pulumi/pulumi/network/alerts).
</details>
Co-authored-by: Will Jones <will@sacharissa.co.uk>
<!---
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->
# Description
The gedex/inflector (singularization/pluralization) library has been
seemingly abandoned: still no go module support, no changes in years,
etc. It was decided that we want to fork it and maintain ourselves to
ensure both a) stability and backwards compatibility b) modernization
and quality.
This PR switches the inflector library. The next step will be TF bridge.
There are no functional changes in behavior - the library code is
exactly the same.
## Checklist
- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
- [ ] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [ ] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
Bumps the go_modules group with 1 update in the /pkg directory:
[github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go).
Bumps the go_modules group with 1 update in the /tests directory:
[github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go).
Updates `github.com/Azure/azure-sdk-for-go/sdk/azidentity` from 1.5.1 to
1.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Azure/azure-sdk-for-go/releases">github.com/Azure/azure-sdk-for-go/sdk/azidentity's
releases</a>.</em></p>
<blockquote>
<h2>sdk/internal/v1.6.0</h2>
<h2>1.6.0 (2024-04-16)</h2>
<h3>Features Added</h3>
<ul>
<li>Options types for <code>SetBodilessMatcher</code> and
<code>SetDefaultMatcher</code> now embed
<code>RecordingOptions</code></li>
<li>Added a collection of default sanitizers for test recordings</li>
</ul>
<h2>sdk/azidentity/v1.6.0</h2>
<h2>1.6.0 (2024-06-10)</h2>
<h3>Features Added</h3>
<ul>
<li><code>NewOnBehalfOfCredentialWithClientAssertions</code> creates an
on-behalf-of credential
that authenticates with client assertions such as federated
credentials</li>
</ul>
<h3>Breaking Changes</h3>
<blockquote>
<p>These changes affect only code written against a beta version such as
v1.6.0-beta.4</p>
</blockquote>
<ul>
<li>Removed <code>AzurePipelinesCredential</code> and the persistent
token caching API.
They will return in v1.7.0-beta.1</li>
</ul>
<h3>Bugs Fixed</h3>
<ul>
<li>Managed identity bug fixes</li>
</ul>
<h2>sdk/azidentity/v1.6.0-beta.4</h2>
<h2>1.6.0-beta.4 (2024-05-14)</h2>
<h3>Features Added</h3>
<ul>
<li><code>AzurePipelinesCredential</code> authenticates an Azure
Pipeline service connection with
workload identity federation</li>
</ul>
<h2>sdk/azidentity/v1.6.0-beta.3</h2>
<h2>1.6.0-beta.3 (2024-04-09)</h2>
<h3>Breaking Changes</h3>
<ul>
<li><code>DefaultAzureCredential</code> now sends a probe request with
no retries for IMDS managed identity
environments to avoid excessive retry delays when the IMDS endpoint is
not available. This
should improve credential chain resolution for local development
scenarios.</li>
</ul>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> now specifies resource IDs
correctly for Azure Container Instances</li>
</ul>
<h2>sdk/azidentity/v1.5.2</h2>
<h2>1.5.2 (2024-04-09)</h2>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> now specifies resource IDs
correctly for Azure Container Instances</li>
</ul>
<h3>Other Changes</h3>
<ul>
<li>Restored v1.4.0 error behavior for empty tenant IDs</li>
<li>Upgraded dependencies</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="36f766d2fe"><code>36f766d</code></a>
add sdk/resourcemanager/cosmos/armcosmos live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20705">#20705</a>)</li>
<li><a
href="c005ed6159"><code>c005ed6</code></a>
sdk/resourcemanager/network/armnetwork live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20331">#20331</a>)</li>
<li><a
href="5fa7df4852"><code>5fa7df4</code></a>
add sdk/resourcemanager/compute/armcompute live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20048">#20048</a>)</li>
<li><a
href="0d22aeddaa"><code>0d22aed</code></a>
add sdk/resourcemanager/eventhub/armeventhub live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20686">#20686</a>)</li>
<li><a
href="2a8d96d355"><code>2a8d96d</code></a>
add sdk/resourcemanager/postgresql/armpostgresql live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20685">#20685</a>)</li>
<li><a
href="b2cddab175"><code>b2cddab</code></a>
[Release] sdk/resourcemanager/paloaltonetworksngfw/armpanngfw/0.1.0 (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20437">#20437</a>)</li>
<li><a
href="ed7f3c719e"><code>ed7f3c7</code></a>
Fix azidentity troubleshooting guide link (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20736">#20736</a>)</li>
<li><a
href="6dfd0cbd7c"><code>6dfd0cb</code></a>
[azeventhubs] Fixing checkpoint store race condition (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20727">#20727</a>)</li>
<li><a
href="745d967e27"><code>745d967</code></a>
pass along the artifact name so we can override it later (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20732">#20732</a>)</li>
<li><a
href="20b4dd8c3e"><code>20b4dd8</code></a>
Update changelog with latest features (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20730">#20730</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Azure/azure-sdk-for-go/compare/sdk/internal/v1.5.1...sdk/azcore/v1.6.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `github.com/Azure/azure-sdk-for-go/sdk/azidentity` from 1.5.1 to
1.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Azure/azure-sdk-for-go/releases">github.com/Azure/azure-sdk-for-go/sdk/azidentity's
releases</a>.</em></p>
<blockquote>
<h2>sdk/internal/v1.6.0</h2>
<h2>1.6.0 (2024-04-16)</h2>
<h3>Features Added</h3>
<ul>
<li>Options types for <code>SetBodilessMatcher</code> and
<code>SetDefaultMatcher</code> now embed
<code>RecordingOptions</code></li>
<li>Added a collection of default sanitizers for test recordings</li>
</ul>
<h2>sdk/azidentity/v1.6.0</h2>
<h2>1.6.0 (2024-06-10)</h2>
<h3>Features Added</h3>
<ul>
<li><code>NewOnBehalfOfCredentialWithClientAssertions</code> creates an
on-behalf-of credential
that authenticates with client assertions such as federated
credentials</li>
</ul>
<h3>Breaking Changes</h3>
<blockquote>
<p>These changes affect only code written against a beta version such as
v1.6.0-beta.4</p>
</blockquote>
<ul>
<li>Removed <code>AzurePipelinesCredential</code> and the persistent
token caching API.
They will return in v1.7.0-beta.1</li>
</ul>
<h3>Bugs Fixed</h3>
<ul>
<li>Managed identity bug fixes</li>
</ul>
<h2>sdk/azidentity/v1.6.0-beta.4</h2>
<h2>1.6.0-beta.4 (2024-05-14)</h2>
<h3>Features Added</h3>
<ul>
<li><code>AzurePipelinesCredential</code> authenticates an Azure
Pipeline service connection with
workload identity federation</li>
</ul>
<h2>sdk/azidentity/v1.6.0-beta.3</h2>
<h2>1.6.0-beta.3 (2024-04-09)</h2>
<h3>Breaking Changes</h3>
<ul>
<li><code>DefaultAzureCredential</code> now sends a probe request with
no retries for IMDS managed identity
environments to avoid excessive retry delays when the IMDS endpoint is
not available. This
should improve credential chain resolution for local development
scenarios.</li>
</ul>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> now specifies resource IDs
correctly for Azure Container Instances</li>
</ul>
<h2>sdk/azidentity/v1.5.2</h2>
<h2>1.5.2 (2024-04-09)</h2>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> now specifies resource IDs
correctly for Azure Container Instances</li>
</ul>
<h3>Other Changes</h3>
<ul>
<li>Restored v1.4.0 error behavior for empty tenant IDs</li>
<li>Upgraded dependencies</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="36f766d2fe"><code>36f766d</code></a>
add sdk/resourcemanager/cosmos/armcosmos live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20705">#20705</a>)</li>
<li><a
href="c005ed6159"><code>c005ed6</code></a>
sdk/resourcemanager/network/armnetwork live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20331">#20331</a>)</li>
<li><a
href="5fa7df4852"><code>5fa7df4</code></a>
add sdk/resourcemanager/compute/armcompute live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20048">#20048</a>)</li>
<li><a
href="0d22aeddaa"><code>0d22aed</code></a>
add sdk/resourcemanager/eventhub/armeventhub live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20686">#20686</a>)</li>
<li><a
href="2a8d96d355"><code>2a8d96d</code></a>
add sdk/resourcemanager/postgresql/armpostgresql live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20685">#20685</a>)</li>
<li><a
href="b2cddab175"><code>b2cddab</code></a>
[Release] sdk/resourcemanager/paloaltonetworksngfw/armpanngfw/0.1.0 (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20437">#20437</a>)</li>
<li><a
href="ed7f3c719e"><code>ed7f3c7</code></a>
Fix azidentity troubleshooting guide link (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20736">#20736</a>)</li>
<li><a
href="6dfd0cbd7c"><code>6dfd0cb</code></a>
[azeventhubs] Fixing checkpoint store race condition (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20727">#20727</a>)</li>
<li><a
href="745d967e27"><code>745d967</code></a>
pass along the artifact name so we can override it later (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20732">#20732</a>)</li>
<li><a
href="20b4dd8c3e"><code>20b4dd8</code></a>
Update changelog with latest features (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20730">#20730</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Azure/azure-sdk-for-go/compare/sdk/internal/v1.5.1...sdk/azcore/v1.6.0">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/pulumi/pulumi/network/alerts).
</details>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Justin Van Patten <jvp@justinvp.com>
# Description
Fixes https://github.com/pulumi/pulumi/issues/16309
During `pulumi new` we query the language runtime using the new
`RuntimeOptionsPrompts` RPC call to get additional prompts to ask the
user.
<img width="900" alt="Screenshot 2024-06-07 at 14 28 58"
src="https://github.com/pulumi/pulumi/assets/387068/e68ef702-978b-47f7-9d4b-afdf10409ed8">
## Checklist
- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
- [x] I have formatted my code using `gofumpt`
<!-- av pr metadata
This information is embedded by the av CLI when creating PRs to track
the status of stacks when using Aviator. Please do not delete or edit
this section of the PR.
```
{"parent":"master","parentHead":"","trunk":"master"}
```
-->
---------
Co-authored-by: Will Jones <will@sacharissa.co.uk>
Co-authored-by: Thomas Gummerer <t.gummerer@gmail.com>
Upgrade `gocloud.dev/secrets/hashivault` to the latest version,
`v0.37.0`, which also matches the `gocloud.dev` version we depend on.
This replaces the indirect dependency on `gopkg.in/square/go-jose.v2`
`v2.6.0`, which has a vulnerability (see
https://pkg.go.dev/vuln/GO-2024-2631), with v3.0.3, which addresses the
vulnerability.
Part of https://github.com/pulumi/pulumi/issues/16232
Bumps the go_modules group with 1 update in the /pkg directory:
[golang.org/x/net](https://github.com/golang/net).
Bumps the go_modules group with 1 update in the /sdk directory:
[golang.org/x/net](https://github.com/golang/net).
Updates `golang.org/x/net` from 0.23.0 to 0.25.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d27919b57f"><code>d27919b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="e0324fcdb5"><code>e0324fc</code></a>
http2: use net.ErrClosed</li>
<li><a
href="b20cd5933a"><code>b20cd59</code></a>
quic: initiate key rotation earlier in connections</li>
<li><a
href="f95a3b3a48"><code>f95a3b3</code></a>
html: fix typo in package doc</li>
<li><a
href="0a24555f5c"><code>0a24555</code></a>
http/httpguts: speed up ValidHeaderFieldName</li>
<li><a
href="ec05fdcd71"><code>ec05fdc</code></a>
http2: don't retry the first request on a connection on GOAWAY
error</li>
<li><a
href="b67a0f0535"><code>b67a0f0</code></a>
http2: send correct LastStreamID in stream-caused GOAWAY</li>
<li><a
href="a130fcc1c1"><code>a130fcc</code></a>
quic: don't consider goroutines running when tests start as leaked</li>
<li><a
href="7bbe32058a"><code>7bbe320</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/net/compare/v0.23.0...v0.25.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `golang.org/x/net` from 0.23.0 to 0.25.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d27919b57f"><code>d27919b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="e0324fcdb5"><code>e0324fc</code></a>
http2: use net.ErrClosed</li>
<li><a
href="b20cd5933a"><code>b20cd59</code></a>
quic: initiate key rotation earlier in connections</li>
<li><a
href="f95a3b3a48"><code>f95a3b3</code></a>
html: fix typo in package doc</li>
<li><a
href="0a24555f5c"><code>0a24555</code></a>
http/httpguts: speed up ValidHeaderFieldName</li>
<li><a
href="ec05fdcd71"><code>ec05fdc</code></a>
http2: don't retry the first request on a connection on GOAWAY
error</li>
<li><a
href="b67a0f0535"><code>b67a0f0</code></a>
http2: send correct LastStreamID in stream-caused GOAWAY</li>
<li><a
href="a130fcc1c1"><code>a130fcc</code></a>
quic: don't consider goroutines running when tests start as leaked</li>
<li><a
href="7bbe32058a"><code>7bbe320</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/net/compare/v0.23.0...v0.25.0">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/pulumi/pulumi/network/alerts).
</details>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Justin Van Patten <jvp@justinvp.com>
This is a replacement of https://github.com/pulumi/pulumi/pull/16043,
with an additional commit that includes the changes after running `make
tidy`.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
# Description
This PR implements Java constructor syntax examples, rendering them into
the docs. It upgrades pulumi-java to 0.10.0 which includes features from
https://github.com/pulumi/pulumi-java/pull/1338
It also updates contructor syntax generator to emit an unbound variable
for resource-typed properties. We use the name of the resource as the
name of the variable:
```typescript
const example = new Resource("name", { pet: randomPet })
````
where `pet` is a property that is typed as `random.RandomPet` so it gets
assigned the (unbound) variable called `randomPet`
Previously we would skip emitting any code for resource-typed
properties. I think this gives better docs even though it doesn't
compile
## Checklist
- [ ] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
- [x] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [x] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [x] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
<!---
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->
# Description
Fixes a render bug when `Coming soon!` is written.
Fixes https://github.com/pulumi/registry/issues/4202
## Checklist
- [X] I have run `make tidy` to update any new dependencies
- [X] I have run `make lint` to verify my code passes the lint check
- [X] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [X] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [X] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
Bumps google.golang.org/protobuf,
[golang.org/x/crypto](https://github.com/golang/crypto) and
[github.com/moby/moby](https://github.com/moby/moby).
Replaces #15688 -- running the acceptance tests on that PR is having
problems
Fixes#15674
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
When attempting another gocloud.dev upgrade, some users ran into a
regression related to the format change of encrypted keys between
gocloud versions, which part of the system was not accounting for. This
PR addresses the issue and includes a fix that automatically fixes
forward state that has an encrypted key in the wrong format, and
includes a regression test and test for the auto-fix behavior.
Fixes#15329
Co-authored-by: Thomas Gummerer <t.gummerer@gmail.com>
Another attempt at upgrading gocloud.dev to the latest version. We've
identified and added tests for the issues that came up in the last
attempt to do the upgrade in https://github.com/pulumi/pulumi/pull/15161
and https://github.com/pulumi/pulumi/pull/15187.
The problem with the SAS key appears to have been fixed in gocloud.dev
0.36.0 (The previous upgrade tried 0.28.0), and I've added additional
fixes for the azure key vault problem during pulumi refresh in this PR.
This needs https://github.com/pulumi/pulumi/pull/15161 to be merged
first, but I wanted to open a PR in the meantime.
Fixes#15138
Fixes https://github.com/pulumi/pulumi/issues/14647
Fixes https://github.com/pulumi/pulumi/issues/13161
Fixes https://github.com/pulumi/pulumi/issues/14431
Fixes https://github.com/pulumi/pulumi/issues/14541
## Checklist
- [x] I have run `make tidy` to update any new dependencies
- [ ] I have run `make lint` to verify my code passes the lint check
- [ ] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [x] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [x] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
Upgrade gocloud.dev to the latest version.
This requires a bit of a workaround, since `gocloud.dev` changed its
expectations how the encryption key is stored for Azure. In v0.27.0 and
earlier, gocloud.dev accepted an encryption key that was wrapped in
base64.RawURLEncoding (and produced one that was wrapped as such.
However in v0.28.0 that changed and the encryption key was no longer
wrapped in gocloud.dev, and as such it also didn't expect a wrapped key
anymore .
To keep compatibility we'll keep wrapping the azure key for gocloud.dev
in an inner encoding, which seems to be the path of least resistance.
Alternatively we could introduce a `v2` encoding by prefixing the
string, but that ends up being messier than just keeping the strings
compatible.
## Checklist
- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
- [x] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
Tests were introduced in https://github.com/pulumi/pulumi/pull/14649,
I've updated them slightly to cover the new code as well.
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [x] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
Add a test showing the problems we ran into when upgrading from
gocloud.dev 0.27.0 to 0.28.0 and 0.29.0. It's a little bit awkward,
since the issue only happens when upgrading form an encrypted key
generated with the old version of gocloud.dev to a newer version of
gocloud.dev.
Fixes https://github.com/pulumi/pulumi/issues/11986
---------
Co-authored-by: Thomas Gummerer <t.gummerer@gmail.com>
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) to 0.17.0.
Replaces all the dependabot PRs in the repo with this single PR.
Also bumped `github.com/pulumi/pulumi/sdk/v3` in
`tests/integration/transformations/go/simple/go.mod` from v3.97.0 to
v3.98.0 to use esc v0.6.1, and avoid the appdash issue.
First step in addressing https://github.com/pulumi/pulumi/issues/14873
Note: I suspect I'll need to temporarily disable some codegen tests to
get this merged, and then once we release v3.98.0 and the next version
of esc, we can re-enable.
<!---
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->
# Description
<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->
We've got a few "Set" types written up from before generics. We should
be able to replace them all with just one generic set container now.
This replaces `graph.ResourceSet` (which is only used in pkg) with a
generic set type (github.com/deckarep/golang-set).
These changes add two commands for managing a stack's environments:
- `pulumi config env add`, which adds environments to a stack's import
list
- `pulumi config env rm`, which removes an environment from a stack's
import list
As implied by their paths, these commands hang off of a new sub-command
of `pulumi config`, `pulumi config env`.
From the usage:
* `pulumi config env add`
Adds environments to the end of a stack's import list. Imported
environments are merged in order per the ESC merge rules. The list of
stacks behaves as if it were the import list in an anonymous
environment.
* `pulumi config env rm`
Removes an environment from a stack's import list.
Each of these commands previews the new stack environment and shows the
environment definition. These commands print a warning if the stack's
environment does not define any of the `environmentVariables`, `files`,
or `pulumiConfig` properties.
These changes include any configuration values sourced from a stack's
ESC environment to the output of `pulumi config`.
These changes also add an `ENVIRONMENT` block to the output of `pulumi
config` for stacks that reference environments. This block shows the
definition of the stack's environment.
Finally, these changes add a warning to `pulumi config` if the stack's
ESC environment does not define any of the `environmentVariables`,
`files`, or `pulumiConfig` properties.
<!---
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->
# Description
This exposes a GitRepo option to enable shallow cloning repositories.
This is helpful in cases where the repo has a large history.
## Checklist
- [ ] I have run `make tidy` to update any new dependencies
- [ ] I have run `make lint` to verify my code passes the lint check
- [ ] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [ ] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
These changes add support for ESC environments to the Pulumi CLI. This
involves two major changes:
- Support for the `env` subcommand
- Support for the `environment` stanza in stack config files
The former reuses the command from `esc` itself with a little
rebranding.
The latter adds support to stack config files for an `environment`
property of the form:
```yaml
environment:
- list
- of
- environment
- names
```
If this property is present in a stack's config file, the CLI will open
the and merge the listed environments during `pulumi up` et. al. If an
object-valued `pulumiConfig` property is present in the opened
environment, its values will be merged on top of the stack's config
prior to whatever operation is to be performed. If an object-valued
`environmentVariables` property is present inthe opened environment, its
values will be published as environment variables prior to the Pulumi
operation. Any values in the open environment's `pulumiConfig` or
`environmentVariables` that are marked as secret will be encrypted in
the resulting config and will be filtered from the command's logs.
This PR implements the new policy transforms feature, which allows
policy packs to not only issue warnings and errors in response to policy
violations, but actually fix them by rewriting resource property state.
This can be used, for instance, to auto-tag resources, remove Internet
access on the fly, or apply encryption to storage, among other use
cases.
These changes replace the idiosyncratic implementation of some of the
config Map and Value APIs with (hopefully) more straightforward code.
The fundamental representation of a config.Value remains a (value,
secure, object) tuple, where value is either a plain, possible-encrypted
string value or the JSON encoding of an object value. All operations on
values that need to observe the object value itself still decode the
JSON representation into a richer representation. This richer
representation, however, is no longer composed of `any` values: instead,
it is composed of `object` values. These values contain a restricted set
of types and directly track whether or not their contents are a secure
string value. The object-based representation allows for much clearer
implementations of the marshaling and traversal code without breaking
compatibility.
In addition to the new implementation for config.Value, these changes
add a config.Plaintext type that represents a plaintext config value. A
Plaintext value can be created manually or by decrypting a Value, and
can be encrypted and converted to a Value. This allows for more natural
creation and manipulation of config values.
<!---
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->
# Description
<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->
Go 1.21.1 is now adding new toolchain declarations to go.mod files. This
updates our dependency for this so users shouldn't hit errors due to
toolchain bits in their go.mod files.
## Checklist
- [x] I have run `make tidy` to update any new dependencies
- [ ] I have run `make lint` to verify my code passes the lint check
- [ ] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [ ] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
<!---
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->
# Description
<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->
Fixes https://github.com/pulumi/pulumi/issues/8169
Fixes https://github.com/pulumi/pulumi/issues/11812
Bump survey to v2.3.7 which contains a fix for
https://github.com/go-survey/survey/issues/101
Old: https://asciinema.org/a/jhHadL382jrzrLiU9vAsV7YR9
New: https://asciinema.org/a/lEVkdm1UdMXwUWdpipMxLGOga
## Checklist
- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
- [x] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [x] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
Switch the cmdutil.ReadConsole and cmdutil.ReadConsoleNoEcho functions
to use the bubbletea library to render the prompt,
using the textinput widget provided by the accompanying bubbles library.
The resulting input widgets support arrow keys, back space,
and some basic readline-style bindings including Ctrl-A, Alt-B, etc.
I went through all uses of ReadConsole or ReadConsoleNoEcho.
Only the one in new.go had a non-compliant prompt that I had to adjust.
Note: One divergence in behavior I opted for was that
password prompts will echo '*' characters as the user is typing
and then no echo once they've accepted or canceled the value.
Previously, the prompt did not echo anything in either case.
<details>
<summary>
Introduction if you're unfamiliar with bubbletea
</summary>
bubbletea operates by modeling the widget state as
an immutable data structure that receives messages for events.
On receiving a message (key press, e.g.) the model's Update method
returns a new model instance representing its new state.
Update may also optionally return additional commands for the program,
e.g. stop running, or print something and move on.
The model's View method returns what should be drawn in the terminal
based on the model's current state.
This programming model makes it reasonably straightforward to unit test
some of the core functionality of independent widgets
as demonstrated in this PR.
</details>
Resolves#1565
---
Demos:
<details>
<summary>Plain text</summary>

</details>
<details>
<summary>Secret</summary>

</details>
<details>
<summary>Secret prompt with padding</summary>

</details>
Updates to the latest versions of
google.golang.org/genproto and google.golang.org/grpc
in all submodules in the repository.
This is necessary because in a recent change,
genproto split out some of its subpackages into independent submodules.
(https://github.com/googleapis/go-genproto/issues/1015)
As a result of this, some users may see the error:
```
google.golang.org/genproto/googleapis/rpc/status: ambiguous import: found package google.golang.org/genproto/googleapis/rpc/status in multiple modules:
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 (/home/runner/go/pkg/mod/google.golang.org/genproto@v0.0.0-20230410155749-daa745c078e1/googleapis/rpc/status)
google.golang.org/genproto/googleapis/rpc v0.0.0-20230725213213-b022f6e96895
```
Because pu/pu is using 20230410155749,
which has googleapis/rpc as a subpackage,
but another dependency references the independent submodule (20230725213213),
so the system doesn't know which module to use for the import path,
google.golang.org/genproto/googleapis/rpc/status.
This is a problem for codegen tests and ProgramTest-based tests
for Pulumi Go programs that do not have a go.mod in the test directory.
This issue was encountered by @thomas11 while attempting to upgrade
dependencies in pulumi-docker (pulumi/pulumi-docker#700).
The grpc upgrade is necessary because the current version of grpc
also pulls the outdated version of genproto.