Commit graph registry/deploy
Author SHA1 Message Date
adam jones
da835059b3
Promote prod to v1.3.9 (#775)
Deploys v1.3.9 to production.

## Changes in v1.3.9
- New web UI for browsing the registry (#757)
- Fixed namespace match validation for websiteUrl and remote URL (#769)
- Added releases administration guide (#764)
- Updated community projects documentation
- Multiple dependency updates

Release notes:
https://github.com/modelcontextprotocol/registry/releases/tag/v1.3.9

The [deploy-production
workflow](https://github.com/modelcontextprotocol/registry/actions/workflows/deploy-production.yml)
will automatically deploy once this PR is merged.
2025-11-17 13:59:36 +00:00
dependabot[bot]
9a492cb845
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.206.0 to 3.207.0 in /deploy (#766)
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.206.0 to 3.207.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/releases">github.com/pulumi/pulumi/sdk/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.207.0</h2>
<h2>3.207.0 (2025-11-12)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Log gRPC requests before invoking them in gRPC debug
interceptor
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20817">#20817</a></p>
</li>
<li>
<p>[engine] Add <code>ReplaceWith</code> resource option to allow one
resource's replace operations to trigger another's
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20693">#20693</a></p>
</li>
<li>
<p>[sdkgen/python] Allow all PEP440 version specifiers to be used</p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli/import] Return errors when an import fails
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20904">#20904</a></p>
</li>
<li>
<p>[engine] Fix parenting of resources in some cases in <code>refresh
--run-program</code>
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20894">#20894</a></p>
</li>
<li>
<p>[engine] Fix StackReference secrets performance
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20908">#20908</a></p>
</li>
<li>
<p>[programgen] Do not panic when re-writing type-invalid PCL
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20770">#20770</a></p>
</li>
<li>
<p>[sdk/go] Fix import path in instructions when linking a package in Go
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20888">#20888</a></p>
</li>
<li>
<p>[sdk/nodejs] Fix closure serialization on Node.js v25.2.0
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20913">#20913</a></p>
</li>
<li>
<p>[sdk/{nodejs,python}] Avoid cancellations due to do slow processing
of requests</p>
</li>
<li>
<p>[sdk/python] Avoid cancellations due to do slow processing of
requests in the callbacks server
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20917">#20917</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[engine] Stop sending ConfigPropertyMap as part of RunRequest
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20887">#20887</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/blob/master/CHANGELOG.md">github.com/pulumi/pulumi/sdk/v3's
changelog</a>.</em></p>
<blockquote>
<h2>3.207.0 (2025-11-12)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Log gRPC requests before invoking them in gRPC debug
interceptor
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20817">#20817</a></p>
</li>
<li>
<p>[engine] Add <code>ReplaceWith</code> resource option to allow one
resource's replace operations to trigger another's
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20693">#20693</a></p>
</li>
<li>
<p>[sdkgen/python] Allow all PEP440 version specifiers to be used</p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli/import] Return errors when an import fails
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20904">#20904</a></p>
</li>
<li>
<p>[engine] Fix parenting of resources in some cases in <code>refresh
--run-program</code>
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20894">#20894</a></p>
</li>
<li>
<p>[engine] Fix StackReference secrets performance
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20908">#20908</a></p>
</li>
<li>
<p>[programgen] Do not panic when re-writing type-invalid PCL
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20770">#20770</a></p>
</li>
<li>
<p>[sdk/go] Fix import path in instructions when linking a package in Go
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20888">#20888</a></p>
</li>
<li>
<p>[sdk/nodejs] Fix closure serialization on Node.js v25.2.0
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20913">#20913</a></p>
</li>
<li>
<p>[sdk/{nodejs,python}] Avoid cancellations due to do slow processing
of requests</p>
</li>
<li>
<p>[sdk/python] Avoid cancellations due to do slow processing of
requests in the callbacks server
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20917">#20917</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[engine] Stop sending ConfigPropertyMap as part of RunRequest
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20887">#20887</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5e3a50056a"><code>5e3a500</code></a>
upgrade language providers to latest versions (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20918">#20918</a>)</li>
<li><a
href="ff9df44da3"><code>ff9df44</code></a>
Avoid cancellations due to do slow processing of requests (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20920">#20920</a>)</li>
<li><a
href="a332525939"><code>a332525</code></a>
schema: allow any pep440 constraint for specifying pulumi version in
python (...</li>
<li><a
href="ff1b5f6ddb"><code>ff1b5f6</code></a>
Disambiguate registry and non-registry templates in <code>pulumi
new</code> select (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20701">#20701</a>)</li>
<li><a
href="5137a3fc9f"><code>5137a3f</code></a>
import: actually return errors if we have them (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20904">#20904</a>)</li>
<li><a
href="b4002be0fe"><code>b4002be</code></a>
Avoid cancellations due to do slow processing of requests in the
callbacks se...</li>
<li><a
href="9c779ed24f"><code>9c779ed</code></a>
Fix StackReference secrets performance (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20908">#20908</a>)</li>
<li><a
href="4fedb1c1de"><code>4fedb1c</code></a>
Fix closure serialization on Node.js v25.2.0 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20913">#20913</a>)</li>
<li><a
href="32235a17d2"><code>32235a1</code></a>
Add <code>ReplaceWith</code> resource option (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20693">#20693</a>)</li>
<li><a
href="4201af6122"><code>4201af6</code></a>
Log deleteProvider calls (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20906">#20906</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.206.0...v3.207.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi/sdk/v3&package-manager=go_modules&previous-version=3.206.0&new-version=3.207.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-13 17:19:37 +00:00
dependabot[bot]
92bab48788
build(deps): bump github.com/pulumi/pulumi-kubernetes/sdk/v4 from 4.23.0 to 4.24.0 in /deploy (#755)
Bumps
[github.com/pulumi/pulumi-kubernetes/sdk/v4](https://github.com/pulumi/pulumi-kubernetes)
from 4.23.0 to 4.24.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi-kubernetes/releases">github.com/pulumi/pulumi-kubernetes/sdk/v4's
releases</a>.</em></p>
<blockquote>
<h2>v4.24.0</h2>
<h3>Added</h3>
<ul>
<li>Added a <code>plainHttp</code> option to the <code>v4.Chart</code>
resource. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3250">pulumi/pulumi-kubernetes#3250</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>The <code>pulumi.com/waitFor</code> annotation now uses an
<a
href="https://www.rfc-editor.org/rfc/rfc9535.html">RFC9535</a>-compliant
JSONPath
parser. This makes it possible to wait for more complex scenarios.</p>
<p>For example:</p>
<ul>
<li>
<p>To wait for a Pod's <code>status.phase</code> to be
&quot;Running&quot; or &quot;Succeeded&quot;:</p>
<p><code>pulumi.com/waitFor: &quot;jsonpath={.status[?@ == 'Running' ||
@ == 'Succeeded' ]}&quot;</code></p>
</li>
<li>
<p>To wait for for an object to have a &quot;Failed&quot; <em>or</em>
&quot;Complete&quot; condition with
a &quot;True&quot; value:</p>
<p><code>pulumi.com/waitFor:
&quot;jsonpath={.conditions[?(@.type=='Failed'||@.type=='Complete')].status}=True</code></p>
</li>
</ul>
<p>(Tools like <a href="https://jsonpath.com">jsonpath.com</a> are very
helpful for
ensuring your JSONPath expression works as expected.)</p>
<p>Importantly, please note that <code>kubectl wait
--for=jsonpath=...</code> supports only
a <em>subset</em> of RFC9535. This means some complex
<code>waitFor</code> annotations will not
be reproducible with <code>kubectl</code>.</p>
<p>Existing expressions should continue to work normally with one
notable
exception: a selector like <code>.items[]</code> now requires an
explicit wildcard, i.e.
<code>.items[*]</code>.</p>
<p>As a reminder, the <code>pulumi.com/waitFor</code> annotation is
experimental and
subject to change. Similarly, RFC9535 is still only <em>proposed</em>
and may also
change in the future.</p>
</li>
<li>
<p><code>enableConfigMapMutable</code> and
<code>enableSecretMutable</code> are now stable.
(<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3886">pulumi/pulumi-kubernetes#3886</a>)</p>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Helm resources all now use the correct
<code>registry/config.json</code> file for
credentials. For backward-compatibility <code>registry.json</code> is
preferred if
it exists. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3606">pulumi/pulumi-kubernetes#3606</a>)</p>
</li>
<li>
<p>Fixed an issue where deletions could take longer than necessary. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3317">pulumi/pulumi-kubernetes#3317</a>)</p>
</li>
<li>
<p>Significantly reduced memory usage. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3713">pulumi/pulumi-kubernetes#3713</a>)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi-kubernetes/blob/master/CHANGELOG.md">github.com/pulumi/pulumi-kubernetes/sdk/v4's
changelog</a>.</em></p>
<blockquote>
<!-- raw HTML omitted -->
<h1>CHANGELOG</h1>
<h2>Unreleased</h2>
<h3>Added</h3>
<ul>
<li>Added a <code>plainHttp</code> option to the <code>v4.Chart</code>
resource. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3250">pulumi/pulumi-kubernetes#3250</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>The <code>pulumi.com/waitFor</code> annotation now uses an
<a
href="https://www.rfc-editor.org/rfc/rfc9535.html">RFC9535</a>-compliant
JSONPath
parser. This makes it possible to wait for more complex scenarios.</p>
<p>For example:</p>
<ul>
<li>
<p>To wait for a Pod's <code>status.phase</code> to be
&quot;Running&quot; or &quot;Succeeded&quot;:</p>
<p><code>pulumi.com/waitFor: &quot;jsonpath={.status[?@ == 'Running' ||
@ == 'Succeeded' ]}&quot;</code></p>
</li>
<li>
<p>To wait for for an object to have a &quot;Failed&quot; <em>or</em>
&quot;Complete&quot; condition with
a &quot;True&quot; value:</p>
<p><code>pulumi.com/waitFor:
&quot;jsonpath={.conditions[?(@.type=='Failed'||@.type=='Complete')].status}=True</code></p>
</li>
</ul>
<p>(Tools like <a href="https://jsonpath.com">jsonpath.com</a> are very
helpful for
ensuring your JSONPath expression works as expected.)</p>
<p>Importantly, please note that <code>kubectl wait
--for=jsonpath=...</code> supports only
a <em>subset</em> of RFC9535. This means some complex
<code>waitFor</code> annotations will not
be reproducible with <code>kubectl</code>.</p>
<p>Existing expressions should continue to work normally with one
notable
exception: a selector like <code>.items[]</code> now requires an
explicit wildcard, i.e.
<code>.items[*]</code>.</p>
<p>As a reminder, the <code>pulumi.com/waitFor</code> annotation is
experimental and
subject to change. Similarly, RFC9535 is still only <em>proposed</em>
and may also
change in the future.</p>
</li>
<li>
<p><code>enableConfigMapMutable</code> and
<code>enableSecretMutable</code> are now stable.
(<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3886">pulumi/pulumi-kubernetes#3886</a>)</p>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Helm resources all now use the correct
<code>registry/config.json</code> file for
credentials. For backward-compatibility <code>registry.json</code> is
preferred if
it exists. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3606">pulumi/pulumi-kubernetes#3606</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d439b2074c"><code>d439b20</code></a>
Update TestHelmRelease's metrics image and update test assertion (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3930">#3930</a>)</li>
<li><a
href="ffd70d544c"><code>ffd70d5</code></a>
Mark SecretPatch inputs as secrets (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3893">#3893</a>)</li>
<li><a
href="65219f0e61"><code>65219f0</code></a>
Update dependency <code>@​pulumi/pulumi</code> to v3.206.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3925">#3925</a>)</li>
<li><a
href="f1a455ad5f"><code>f1a455a</code></a>
Fix dotnet flakes (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3924">#3924</a>)</li>
<li><a
href="12a40978d9"><code>12a4097</code></a>
Update dependency <code>@​pulumi/gcp</code> to v9.4.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3910">#3910</a>)</li>
<li><a
href="cafe468258"><code>cafe468</code></a>
Remove the 'BETA FEATURE' status in front of
<code>enableConfigMapMutable</code> and `en...</li>
<li><a
href="967bd478ab"><code>967bd47</code></a>
Update a redis image (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3917">#3917</a>)</li>
<li><a
href="f52a5b29fd"><code>f52a5b2</code></a>
Automated upgrade: bump pulumi/pulumi to 3.205.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3912">#3912</a>)</li>
<li><a
href="402da8a915"><code>402da8a</code></a>
Update dependency <code>@​pulumi/pulumi</code> to v3.205.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3909">#3909</a>)</li>
<li><a
href="a2bb6d7a53"><code>a2bb6d7</code></a>
Fix test cluster p-k version (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3902">#3902</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi-kubernetes/compare/v4.23.0...v4.24.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi-kubernetes/sdk/v4&package-manager=go_modules&previous-version=4.23.0&new-version=4.24.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-09 22:43:08 +00:00
dependabot[bot]
4564cb3f0a
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.205.0 to 3.206.0 in /deploy (#752)
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.205.0 to 3.206.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/releases">github.com/pulumi/pulumi/sdk/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.206.0</h2>
<h2>3.206.0 (2025-11-05)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[protobuf] Pass a <code>preview</code> flag to invokes so they can
tell if they're being called during a preview
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20827">#20827</a></p>
</li>
<li>
<p>[cli/about] Include PULUMI_* environment variables in the
<code>pulumi about</code> output
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20855">#20855</a></p>
</li>
<li>
<p>[auto/go] Get event log over gRPC instead of trying to read it from a
text file
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20822">#20822</a></p>
</li>
<li>
<p>[auto/nodejs] Get event log over gRPC instead of trying to read it
from a text file
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20824">#20824</a></p>
</li>
<li>
<p>[auto/python] Get event log over gRPC instead of trying to read it
from a text file
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20833">#20833</a></p>
</li>
<li>
<p>[cli/engine] Add environment variable to add --refresh to
preview,update,destroy
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20797">#20797</a></p>
</li>
<li>
<p>[sdk/nodejs] Add PULUMI_NODEJS_SKIP_COMPONENT_INPUTS environment
variable to skip the new feature of sending component inputs to the
engine for diffing and state storage
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20842">#20842</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[engine] Fix duplicate resource snapshot integrity issue, when
running <code>pulumi up --refresh --run-program</code> and when a
resource <code>PendingReplacement</code> exists in the snapshot
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20812">#20812</a></p>
</li>
<li>
<p>[engine] Support floating point NaN and Inf values in resource state
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20843">#20843</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[sdk/go] Use Language.Link to link Go packages
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20811">#20811</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/blob/master/CHANGELOG.md">github.com/pulumi/pulumi/sdk/v3's
changelog</a>.</em></p>
<blockquote>
<h2>3.206.0 (2025-11-05)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[protobuf] Pass a <code>preview</code> flag to invokes so they can
tell if they're being called during a preview
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20827">#20827</a></p>
</li>
<li>
<p>[cli/about] Include PULUMI_* environment variables in the
<code>pulumi about</code> output
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20855">#20855</a></p>
</li>
<li>
<p>[auto/go] Get event log over gRPC instead of trying to read it from a
text file
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20822">#20822</a></p>
</li>
<li>
<p>[auto/nodejs] Get event log over gRPC instead of trying to read it
from a text file
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20824">#20824</a></p>
</li>
<li>
<p>[auto/python] Get event log over gRPC instead of trying to read it
from a text file
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20833">#20833</a></p>
</li>
<li>
<p>[cli/engine] Add environment variable to add --refresh to
preview,update,destroy
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20797">#20797</a></p>
</li>
<li>
<p>[sdk/nodejs] Add PULUMI_NODEJS_SKIP_COMPONENT_INPUTS environment
variable to skip the new feature of sending component inputs to the
engine for diffing and state storage
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20842">#20842</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[engine] Fix duplicate resource snapshot integrity issue, when
running <code>pulumi up --refresh --run-program</code> and when a
resource <code>PendingReplacement</code> exists in the snapshot
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20812">#20812</a></p>
</li>
<li>
<p>[engine] Support floating point NaN and Inf values in resource state
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20843">#20843</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[sdk/go] Use Language.Link to link Go packages
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20811">#20811</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="72334612d3"><code>7233461</code></a>
revert &quot;temporarily disable journal validation&quot; (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20875">#20875</a>)</li>
<li><a
href="fad720c136"><code>fad720c</code></a>
Bump SDKs for v3.206.0 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20881">#20881</a>)</li>
<li><a
href="df81881bab"><code>df81881</code></a>
use event log in python (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20833">#20833</a>)</li>
<li><a
href="93d1e02d55"><code>93d1e02</code></a>
mark tests using dep_tracker as asyncio (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20876">#20876</a>)</li>
<li><a
href="8651da14aa"><code>8651da1</code></a>
refreshv2: only rebuild base state if we have a refresh (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20861">#20861</a>)</li>
<li><a
href="79a8a7d151"><code>79a8a7d</code></a>
fix operator precedence for persisted refreshes in journal (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20807">#20807</a>)</li>
<li><a
href="5ff9d4cc1b"><code>5ff9d4c</code></a>
skip another flaky tail test (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20872">#20872</a>)</li>
<li><a
href="b71a38546d"><code>b71a385</code></a>
return a new state from a refresh step when resource is pending
replacement (...</li>
<li><a
href="e7dda0378e"><code>e7dda03</code></a>
feat: adding PULUMI_OPTION_REFRESH environment variable (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20797">#20797</a>)</li>
<li><a
href="4cba7a03a7"><code>4cba7a0</code></a>
Use Language.Link to link Go packages (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20811">#20811</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.205.0...v3.206.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi/sdk/v3&package-manager=go_modules&previous-version=3.205.0&new-version=3.206.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 14:09:32 +02:00
Radoslav Dimitrov
9c1a1a8605
Promote prod to 1.3.8 (#745) 2025-11-03 13:49:49 +02:00
dependabot[bot]
16678cfb2b
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.204.0 to 3.205.0 in /deploy (#731)
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.204.0 to 3.205.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/releases">github.com/pulumi/pulumi/sdk/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.205.0</h2>
<h2>3.205.0 (2025-10-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli/display] Improve how the severity is displayed for policy
violations
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20805">#20805</a></p>
</li>
<li>
<p>[engine] Fix an issue where <code>refresh --run-program</code> could
potentially run forever
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20781">#20781</a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/blob/master/CHANGELOG.md">github.com/pulumi/pulumi/sdk/v3's
changelog</a>.</em></p>
<blockquote>
<h2>3.205.0 (2025-10-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli/display] Improve how the severity is displayed for policy
violations
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20805">#20805</a></p>
</li>
<li>
<p>[engine] Fix an issue where <code>refresh --run-program</code> could
potentially run forever
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20781">#20781</a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f412e2ad2e"><code>f412e2a</code></a>
fix assert in refreshV2 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20796">#20796</a>)</li>
<li><a
href="363e0e664f"><code>363e0e6</code></a>
pin <code>@​swc/core</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20810">#20810</a>)</li>
<li><a
href="410457b860"><code>410457b</code></a>
Clean up the get-language-providers.sh script (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20806">#20806</a>)</li>
<li><a
href="329eb03f1a"><code>329eb03</code></a>
Improve how policy severity is displayed (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20805">#20805</a>)</li>
<li><a
href="545e4b94ff"><code>545e4b9</code></a>
Copilot is being rebranded Neo (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20787">#20787</a>)</li>
<li><a
href="572c86d83c"><code>572c86d</code></a>
Run tests for Node.js 25 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20795">#20795</a>)</li>
<li><a
href="4a7c7ef8ae"><code>4a7c7ef</code></a>
Test that Go resource hooks receive secret property values (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20775">#20775</a>)</li>
<li><a
href="0ab835a4a1"><code>0ab835a</code></a>
fuzzing: write out repro if the test times out (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20776">#20776</a>)</li>
<li><a
href="7f01c40285"><code>7f01c40</code></a>
refreshV2: avoid hanging forever (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20781">#20781</a>)</li>
<li><a
href="57268da931"><code>57268da</code></a>
add refreshV2 and <code>up --refresh --run-program</code> to the fuzzer
(<a
href="https://redirect.github.com/pulumi/pulumi/issues/20782">#20782</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.204.0...v3.205.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi/sdk/v3&package-manager=go_modules&previous-version=3.204.0&new-version=3.205.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-31 21:59:56 +00:00
Radoslav Dimitrov
18cde88a7e
Promote prod to 1.3.7 (#727)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
This needs to be merged after we merge
https://github.com/modelcontextprotocol/registry/pull/726 and we cut a
release for v1.3.7

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-10-29 22:13:31 +02:00
Radoslav Dimitrov
382853a0da
Promote prod to 1.3.6 (#722) 2025-10-29 20:54:42 +02:00
dependabot[bot]
be4182606e
build(deps): bump github.com/pulumi/pulumi-kubernetes/sdk/v4 from 4.18.2 to 4.23.0 in /deploy (#701)
Bumps
[github.com/pulumi/pulumi-kubernetes/sdk/v4](https://github.com/pulumi/pulumi-kubernetes)
from 4.18.2 to 4.23.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi-kubernetes/releases">github.com/pulumi/pulumi-kubernetes/sdk/v4's
releases</a>.</em></p>
<blockquote>
<h2>v4.23.0</h2>
<h3>Changed</h3>
<ul>
<li>Updated Kubernetes schemas and libraries to v1.33.0. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3619">pulumi/pulumi-kubernetes#3619</a>)</li>
</ul>
<h2>v4.22.2</h2>
<h3>Fixed</h3>
<ul>
<li>Fix panic when <code>valueYamlFiles</code> field in
<code>helm.v3.Release</code> resources are nil (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3601">pulumi/pulumi-kubernetes#3601</a>)</li>
</ul>
<h2>v4.22.1</h2>
<h3>Fixed</h3>
<ul>
<li>Fix race condition in Deleted condition (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3550">pulumi/pulumi-kubernetes#3550</a>)</li>
</ul>
<h2>v4.22.0</h2>
<h3>Changed</h3>
<ul>
<li>Update Pulumi dependency to v3.153.1 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3534">pulumi/pulumi-kubernetes#3534</a>)</li>
<li>Update ESC dependency to v0.13.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3551">pulumi/pulumi-kubernetes#3551</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix race condition in Deleted condition. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3550">pulumi/pulumi-kubernetes#3550</a>)</li>
</ul>
<h2>v4.21.1</h2>
<h3>Added</h3>
<ul>
<li>Windows executable releases are now signed. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3455">pulumi/pulumi-kubernetes#3455</a>)</li>
</ul>
<h2>v4.21.0</h2>
<h3>Changed</h3>
<ul>
<li>Upgrade <code>pulumi-java</code> to version <code>v1.0.0</code> (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3436">pulumi/pulumi-kubernetes#3436</a>)</li>
</ul>
<h2>v4.20.0</h2>
<h3>Added</h3>
<ul>
<li>Added support for autonaming configuration specified by the engine.
(<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3363">pulumi/pulumi-kubernetes#3363</a>)</li>
</ul>
<h2>v4.19.0</h2>
<h3>Changed</h3>
<ul>
<li>Updated Kubernetes schemas and libraries to v1.32.0. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3343">pulumi/pulumi-kubernetes#3343</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi-kubernetes/blob/master/CHANGELOG.md">github.com/pulumi/pulumi-kubernetes/sdk/v4's
changelog</a>.</em></p>
<blockquote>
<h2>4.23.0 (May 1, 2025)</h2>
<h3>Changed</h3>
<ul>
<li>Updated Kubernetes schemas and libraries to v1.33.0. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3619">pulumi/pulumi-kubernetes#3619</a>)</li>
</ul>
<h2>4.22.2 (April 15, 2025)</h2>
<h3>Fixed</h3>
<ul>
<li>Fix panic when <code>valueYamlFiles</code> field in
<code>helm.v3.Release</code> resources are nil (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3601">pulumi/pulumi-kubernetes#3601</a>)</li>
</ul>
<h2>4.22.1 (March 14, 2025)</h2>
<h3>Fixed</h3>
<ul>
<li>Fix race condition in Deleted condition (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3550">pulumi/pulumi-kubernetes#3550</a>)</li>
</ul>
<h2>4.22.0 (March 13, 2025)</h2>
<h3>Changed</h3>
<ul>
<li>Update Pulumi dependency to v3.153.1 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3534">pulumi/pulumi-kubernetes#3534</a>)</li>
<li>Update ESC dependency to v0.13.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3551">pulumi/pulumi-kubernetes#3551</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix race condition in Deleted condition. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3550">pulumi/pulumi-kubernetes#3550</a>)</li>
</ul>
<h2>4.21.1 (January 27, 2025)</h2>
<h3>Added</h3>
<ul>
<li>Windows executable releases are now signed. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3455">pulumi/pulumi-kubernetes#3455</a>)</li>
</ul>
<h2>4.21.0 (January 16, 2025)</h2>
<h3>Changed</h3>
<ul>
<li>Upgrade <code>pulumi-java</code> to version <code>v1.0.0</code> (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3436">pulumi/pulumi-kubernetes#3436</a>)</li>
</ul>
<h2>4.20.0 (January 14, 2025)</h2>
<h3>Added</h3>
<ul>
<li>Added support for autonaming configuration specified by the engine.
(<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3363">pulumi/pulumi-kubernetes#3363</a>)</li>
</ul>
<h2>4.19.0 (December 11, 2024)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7bad5eb56f"><code>7bad5eb</code></a>
Prepare for v4.23.0 release (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3625">#3625</a>)</li>
<li><a
href="681b76759f"><code>681b767</code></a>
Update first-party Pulumi dependencies (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3610">#3610</a>)</li>
<li><a
href="2a39f29265"><code>2a39f29</code></a>
Upgrade Kubernetes schema and client libraries to v1.33 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3619">#3619</a>)</li>
<li><a
href="771d0b13ea"><code>771d0b1</code></a>
Bump golangci-lint to 1.64.8 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3622">#3622</a>)</li>
<li><a
href="9bcb460455"><code>9bcb460</code></a>
Move location of YAML tests (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3616">#3616</a>)</li>
<li><a
href="d584e90462"><code>d584e90</code></a>
Bump node to 18 and regenerate SDK (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3613">#3613</a>)</li>
<li><a
href="84e2d286ba"><code>84e2d28</code></a>
comments to explain why we have the aws and gcp options set</li>
<li><a
href="810bcc49e4"><code>810bcc4</code></a>
add .ci-mgmt.yaml</li>
<li><a
href="33cb1e1be9"><code>33cb1e1</code></a>
Update first-party Pulumi dependencies (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3596">#3596</a>)</li>
<li><a
href="69bd1474c1"><code>69bd147</code></a>
Update GitHub Actions workflows. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3592">#3592</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi-kubernetes/compare/v4.18.2...v4.23.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi-kubernetes/sdk/v4&package-manager=go_modules&previous-version=4.18.2&new-version=4.23.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 12:44:51 +03:00
dependabot[bot]
3c0320bc64
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.175.0 to 3.204.0 in /deploy (#700)
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.175.0 to 3.204.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/releases">github.com/pulumi/pulumi/sdk/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.204.0</h2>
<h2>3.204.0 (2025-10-23)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Print replace diffs when a resource tries to replace but is
blocked by still having an import id set
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20762">#20762</a></p>
</li>
<li>
<p>[engine] Support overriding policy severity on violations
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20767">#20767</a></p>
</li>
<li>
<p>[backend/service] Send journal entries to the backend if it's
supported
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20343">#20343</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[engine] Fix a potential snapshot integrity error when a resources
dependency fails to be destroyed using <code>destroy
--run-program</code>
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20692">#20692</a></p>
</li>
<li>
<p>[engine] Fix import error to contain the import ID of non-existent
resources
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20753">#20753</a></p>
</li>
<li>
<p>[sdk/nodejs] Pass secret values as Output objects to resource hooks
to properly maintain their secretness. Previously hooks received an
internal representation for secret values.
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20774">#20774</a></p>
</li>
<li>
<p>[sdk/python] Pass secret values as Output objects to resource hooks
to properly maintain their secretness. Previously hooks received an
internal representation for secret values.
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20769">#20769</a></p>
</li>
<li>
<p>[sdkgen/go] Fix codegen of scalar return SDK functions
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20754">#20754</a></p>
</li>
<li>
<p>[sdkgen/{nodejs,python}] Fix scalar return protocol to allow
returning secret maps
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20747">#20747</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[sdk/nodejs] Use Language.Link to link Node.js packages
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20715">#20715</a></li>
</ul>
<h2>v3.203.0</h2>
<h2>3.203.0 (2025-10-15)</h2>
<h3>Features</h3>
<ul>
<li>[cli/display] Display policy severity for violations
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20746">#20746</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/blob/master/CHANGELOG.md">github.com/pulumi/pulumi/sdk/v3's
changelog</a>.</em></p>
<blockquote>
<h2>3.204.0 (2025-10-23)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Print replace diffs when a resource tries to replace but is
blocked by still having an import id set
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20762">#20762</a></p>
</li>
<li>
<p>[engine] Support overriding policy severity on violations
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20767">#20767</a></p>
</li>
<li>
<p>[backend/service] Send journal entries to the backend if it's
supported
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20343">#20343</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[engine] Fix a potential snapshot integrity error when a resources
dependency fails to be destroyed using <code>destroy
--run-program</code>
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20692">#20692</a></p>
</li>
<li>
<p>[engine] Fix import error to contain the import ID of non-existent
resources
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20753">#20753</a></p>
</li>
<li>
<p>[sdk/nodejs] Pass secret values as Output objects to resource hooks
to properly maintain their secretness. Previously hooks received an
internal representation for secret values.
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20774">#20774</a></p>
</li>
<li>
<p>[sdk/python] Pass secret values as Output objects to resource hooks
to properly maintain their secretness. Previously hooks received an
internal representation for secret values.
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20769">#20769</a></p>
</li>
<li>
<p>[sdkgen/go] Fix codegen of scalar return SDK functions
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20754">#20754</a></p>
</li>
<li>
<p>[sdkgen/{nodejs,python}] Fix scalar return protocol to allow
returning secret maps
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20747">#20747</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[sdk/nodejs] Use Language.Link to link Node.js packages
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20715">#20715</a></li>
</ul>
<h2>3.203.0 (2025-10-15)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli/display] Display policy severity for violations
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20746">#20746</a></p>
</li>
<li>
<p>[cli/package] Show functions in <code>package info</code></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="24654399ab"><code>2465439</code></a>
Bump dotnet language plugin to latest version (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20778">#20778</a>)</li>
<li><a
href="3882b627ba"><code>3882b62</code></a>
implement journaling API and send journal entries to the service
directly (<a
href="https://redirect.github.com/pulumi/pulumi/issues/2">#2</a>...</li>
<li><a
href="ef3c2a316b"><code>ef3c2a3</code></a>
[Node.js] Pass secret values as Output objects to resource hooks (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20774">#20774</a>)</li>
<li><a
href="86503934b9"><code>8650393</code></a>
Support overriding policy severity on violations (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20767">#20767</a>)</li>
<li><a
href="be6db2b82a"><code>be6db2b</code></a>
Run analyzer lifecycle tests through gRPC (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20766">#20766</a>)</li>
<li><a
href="fd8c0a88b5"><code>fd8c0a8</code></a>
Pass secret values as Outputs to hooks (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20769">#20769</a>)</li>
<li><a
href="d292447a49"><code>d292447</code></a>
Add some tests for Python type inspection utilities (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20736">#20736</a>)</li>
<li><a
href="ba809f361c"><code>ba809f3</code></a>
Add a <code>--version</code> flag to <code>pulumi-language-nodejs</code>
(<a
href="https://redirect.github.com/pulumi/pulumi/issues/20768">#20768</a>)</li>
<li><a
href="89ea89b4da"><code>89ea89b</code></a>
update journaling docs (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20763">#20763</a>)</li>
<li><a
href="22797a9b84"><code>22797a9</code></a>
Share CurrentProjectContradictsWorkspace between backends (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20759">#20759</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.175.0...v3.204.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi/sdk/v3&package-manager=go_modules&previous-version=3.175.0&new-version=3.204.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 11:20:06 +03:00
dependabot[bot]
89178d220b
build(deps): bump github.com/pulumi/pulumi-gcp/sdk/v8 from 8.39.0 to 8.41.1 in /deploy (#699)
Bumps
[github.com/pulumi/pulumi-gcp/sdk/v8](https://github.com/pulumi/pulumi-gcp)
from 8.39.0 to 8.41.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi-gcp/releases">github.com/pulumi/pulumi-gcp/sdk/v8's
releases</a>.</em></p>
<blockquote>
<h2>v8.41.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Combined dependencies PR by <a
href="https://github.com/pulumi-bot"><code>@​pulumi-bot</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3346">pulumi/pulumi-gcp#3346</a></li>
<li>Bump github.com/cloudflare/circl from 1.3.7 to 1.6.1 in
/examples/bucket-go in the go_modules group across 1 directory by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3327">pulumi/pulumi-gcp#3327</a></li>
<li>Upgrade terraform-provider-google-beta to v6.49.2 by <a
href="https://github.com/guineveresaenger"><code>@​guineveresaenger</code></a>
in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3347">pulumi/pulumi-gcp#3347</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pulumi/pulumi-gcp/compare/v8.41.0...v8.41.1">https://github.com/pulumi/pulumi-gcp/compare/v8.41.0...v8.41.1</a></p>
<h2>v8.41.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update GitHub Actions workflows. by <a
href="https://github.com/pulumi-bot"><code>@​pulumi-bot</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3320">pulumi/pulumi-gcp#3320</a></li>
<li>Update GitHub Actions workflows. by <a
href="https://github.com/pulumi-bot"><code>@​pulumi-bot</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3323">pulumi/pulumi-gcp#3323</a></li>
<li>Update GitHub Actions workflows. by <a
href="https://github.com/pulumi-bot"><code>@​pulumi-bot</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3324">pulumi/pulumi-gcp#3324</a></li>
<li>Update GitHub Actions workflows. by <a
href="https://github.com/pulumi-bot"><code>@​pulumi-bot</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3326">pulumi/pulumi-gcp#3326</a></li>
<li>Combined dependencies PR by <a
href="https://github.com/pulumi-bot"><code>@​pulumi-bot</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3329">pulumi/pulumi-gcp#3329</a></li>
<li>Bump the npm_and_yarn group across 3 directories with 1 update by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3305">pulumi/pulumi-gcp#3305</a></li>
<li>Upgrade terraform provider google beta to v6.48.0 by <a
href="https://github.com/ruifung"><code>@​ruifung</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3330">pulumi/pulumi-gcp#3330</a></li>
<li>Update resources.go to use underscore for role_ids by <a
href="https://github.com/maelp"><code>@​maelp</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3331">pulumi/pulumi-gcp#3331</a></li>
<li>Upgrade pulumi-terraform-bridge to v3.112.0 by <a
href="https://github.com/pulumi-bot"><code>@​pulumi-bot</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3339">pulumi/pulumi-gcp#3339</a></li>
<li>Update GitHub Actions workflows. by <a
href="https://github.com/pulumi-bot"><code>@​pulumi-bot</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3341">pulumi/pulumi-gcp#3341</a></li>
<li>Upgrade terraform-provider-google-beta to v6.49.0 by <a
href="https://github.com/blampe"><code>@​blampe</code></a> in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3340">pulumi/pulumi-gcp#3340</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ruifung"><code>@​ruifung</code></a> made
their first contribution in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3330">pulumi/pulumi-gcp#3330</a></li>
<li><a href="https://github.com/maelp"><code>@​maelp</code></a> made
their first contribution in <a
href="https://redirect.github.com/pulumi/pulumi-gcp/pull/3331">pulumi/pulumi-gcp#3331</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pulumi/pulumi-gcp/compare/v8.40.0...v8.41.0">https://github.com/pulumi/pulumi-gcp/compare/v8.40.0...v8.41.0</a></p>
<h2>v8.40.0</h2>
<h3>Does the PR have any schema changes?</h3>
<p>Found 19 breaking changes:</p>
<h4>Resources</h4>
<ul>

<li>&quot;gcp:oracledatabase/autonomousDatabase:AutonomousDatabase&quot;:
required:
<ul>
<li><code>🟢</code> &quot;cidr&quot; property is no longer Required</li>
<li><code>🟢</code> &quot;network&quot; property is no longer
Required</li>
</ul>
</li>
<li>&quot;gcp:oracledatabase/cloudVmCluster:CloudVmCluster&quot;:
required:
<ul>
<li><code>🟢</code> &quot;backupSubnetCidr&quot; property is no longer
Required</li>
<li><code>🟢</code> &quot;cidr&quot; property is no longer Required</li>
<li><code>🟢</code> &quot;network&quot; property is no longer
Required</li>
</ul>
</li>
</ul>
<h4>Types</h4>
<ul>
<li><code>🟢</code>
&quot;gcp:cloudrunv2/getJobTemplateTemplate:getJobTemplateTemplate&quot;:
required: &quot;gpuZonalRedundancyDisabled&quot; property has changed to
Required</li>
<li><code>🟢</code>
&quot;gcp:compute/getSubnetworksSubnetwork:getSubnetworksSubnetwork&quot;:
required: &quot;networkName&quot; property has changed to Required</li>
<li><code>🟢</code>
&quot;gcp:container/getClusterAddonsConfig:getClusterAddonsConfig&quot;:
required: &quot;lustreCsiDriverConfigs&quot; property has changed to
Required</li>
<li><code>🟢</code>
&quot;gcp:container/getClusterIpAllocationPolicy:getClusterIpAllocationPolicy&quot;:
required: &quot;additionalIpRangesConfigs&quot; property has changed to
Required</li>
<li><code>🟢</code>
&quot;gcp:container/getClusterNodePoolNetworkConfig:getClusterNodePoolNetworkConfig&quot;:
required: &quot;subnetwork&quot; property has changed to Required</li>
<li><code>🟢</code>
&quot;gcp:dataproc/ClusterClusterConfigSecurityConfig:ClusterClusterConfigSecurityConfig&quot;:
required: &quot;kerberosConfig&quot; property is no longer Required</li>
<li><code>🟢</code>
&quot;gcp:diagflow/CxWebhookServiceDirectory:CxWebhookServiceDirectory&quot;:
required: &quot;genericWebService&quot; property is no longer
Required</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1fd732d39b"><code>1fd732d</code></a>
Upgrade terraform-provider-google-beta to v6.49.2 (<a
href="https://redirect.github.com/pulumi/pulumi-gcp/issues/3347">#3347</a>)</li>
<li><a
href="bd35613b1e"><code>bd35613</code></a>
Combined dependencies PR (<a
href="https://redirect.github.com/pulumi/pulumi-gcp/issues/3346">#3346</a>)</li>
<li><a
href="1a7753103a"><code>1a77531</code></a>
Bump github.com/cloudflare/circl</li>
<li><a
href="5fa9c52dde"><code>5fa9c52</code></a>
Upgrade terraform-provider-google-beta to v6.49.0 (<a
href="https://redirect.github.com/pulumi/pulumi-gcp/issues/3340">#3340</a>)</li>
<li><a
href="f899bfe067"><code>f899bfe</code></a>
Update GitHub Actions workflows. (<a
href="https://redirect.github.com/pulumi/pulumi-gcp/issues/3341">#3341</a>)</li>
<li><a
href="95c1af854e"><code>95c1af8</code></a>
Upgrade pulumi-terraform-bridge to v3.112.0 (<a
href="https://redirect.github.com/pulumi/pulumi-gcp/issues/3339">#3339</a>)</li>
<li><a
href="9f542fa050"><code>9f542fa</code></a>
Update resources.go to use underscore for role_ids (<a
href="https://redirect.github.com/pulumi/pulumi-gcp/issues/3331">#3331</a>)</li>
<li><a
href="99e8a950b0"><code>99e8a95</code></a>
Upgrade terraform provider google beta to v6.48.0 (<a
href="https://redirect.github.com/pulumi/pulumi-gcp/issues/3330">#3330</a>)</li>
<li><a
href="a61c4b92c5"><code>a61c4b9</code></a>
Combined dependencies PR (<a
href="https://redirect.github.com/pulumi/pulumi-gcp/issues/3329">#3329</a>)</li>
<li><a
href="f05a01c805"><code>f05a01c</code></a>
Merge remote-tracking branch
'origin/dependabot/npm_and_yarn/provider/test-pr...</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi-gcp/compare/v8.39.0...v8.41.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi-gcp/sdk/v8&package-manager=go_modules&previous-version=8.39.0&new-version=8.41.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 10:33:34 +03:00
Radoslav Dimitrov
5d1f670936
Enable dependabot for /deploy and pin Go version to 1.24 (#697)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
There was feedback that other projects wanting to use the registry
package have to upgrade to 1.25 (because of how Go works). In the
registry itself we are not relying on 1.25 features so this PR reverts
us back to 1.24 until 1.25 becomes better adopted and we can safely move
to it.

Also realised we were not keeping our dependencies for our deploy/infra
code up to date with Dependabot so this fixes that too.

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

---------

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-10-23 10:14:47 -07:00
Preeti Dewani
9164415d59
Add failure modes telemetry (#646)
Telemetry to cover failure modes which are not covered by container logs
and metrics for finding resource constraints.

## Motivation and Context
When there is any issue with registry container we should be notified.

## How Has This Been Tested?
- Local seup

## Breaking Changes
- No

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [X] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
- No additional exporter is used, taken advantage of opentelemetry
collector
- It covers metrics related to resource constraints, currently only
limited to default namespace.
- Takes cares of kubernetes events as logs which are the source of
figuring out any problem with service, covers all such scenarios where
pod is not able to start yet and get missed because there are no
container logs for such cases. Limited to default namespace.
- Taken care of daemonset deployment i.e. deploying otel collector as
agent by using correct filtering.
- Cardinality contributing factors are only pod ids (but have to observe
more), node ids will not increase cardinality as scale up will lead to
limited nodes.
- Shipping of metrics for resources happens every 60s and list of
metrics that will be emitted
[https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/kubeletstatsreceiver/metadata.yaml](url)

- Container errors

<img width="1440" height="816" alt="Screenshot 2025-10-10 at 1 21 14 AM"
src="https://github.com/user-attachments/assets/ba90a217-2a49-4522-aa44-a98c02adf95b"
/>




- Resource metrics

<img width="1440" height="816" alt="Screenshot 2025-10-10 at 1 23 51 AM"
src="https://github.com/user-attachments/assets/3467be96-db3c-4930-afa2-3cbf5f0ced8b"
/>
2025-10-20 11:57:49 -07:00
Radoslav Dimitrov
b6b7ae2d90
Promote prod to 1.3.3 (#687)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
Promotes prod to 1.3.3, the main changes are making mcpb package version
optional and also fixing the enforced schema validation.

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-10-17 01:48:53 +03:00
Radoslav Dimitrov
ba609e1c17
Promote prod to 1.3.2 (#684)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
Bumps prod to 1.3.2

Note
https://github.com/modelcontextprotocol/registry/actions/runs/18570490434
needs to complete before merging
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-10-16 22:08:27 +03:00
Radoslav Dimitrov
7e65f32fcf
Deploy 1.3.1 to production (#676) 2025-10-15 18:01:54 +03:00
Radoslav Dimitrov
ddd694acdf
Fix the image reference for prod: from v1.3.0 to 1.3.0 (#669)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR fixes the docs and the image reference for prod since
they don't expect to have the v prefix there.

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

---------

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-10-14 19:33:19 +03:00
Radoslav Dimitrov
ea01d06377
Deploy v1.3.0 to production (#668)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR bumps prod to v1.3.0

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-10-14 18:55:34 +03:00
Radoslav Dimitrov
f5ed8728d4
Split deploying to prod and staging (#666)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR splits the workflows for deploying to prod and staging
easing the use of gitops flows for promotions.

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-10-14 18:41:28 +03:00
Radoslav Dimitrov
ade1b797b2
Enable a gitops way of promoting to prod (#582)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR moves away from automatically promoting latest releases
to production in favour of specifying the released version explicitly
via a PR & Review process.

Still sets the image tag to latest for now so we can enable it
separately whenever we decide 👍

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-10-02 16:20:32 +01:00
Tadas Antanavicius
8bd13d5ed7
Apply gofmt formatting to all Go files (#588)
## Summary
- Applied `gofmt -s -w` across the entire codebase to ensure consistent
Go formatting
- This will trigger a deployment with minimal code changes

## Test plan
- [x] Pre-commit hooks pass
- [x] No functional changes, formatting only

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-30 17:32:22 +03:00
tadasant
a0bc09dbe1 Revert "docs: clarify release deployment process and enable manual deploy trigger"
This reverts commit c40374c280.
2025-09-29 18:57:40 -07:00
tadasant
c40374c280 docs: clarify release deployment process and enable manual deploy trigger
- Add workflow_dispatch to deploy.yml for manual deployment triggers
- Document that releases don't auto-deploy to production
- Add instructions for deploying releases to production
- Add verification steps for deployment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 18:54:56 -07:00
Radoslav Dimitrov
ad49033b27
Update prod to follow the release cycles (#547)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR updates production to automatically receive new stable
releases when GitHub releases are cut while staging will continue
testing the latest main branch builds

Deails:
- Configures production deployment to **use latest stable** releases
instead of main branch
-`ghcr.io/modelcontextprotocol/registry:latest`(stable releases).
Released CLI matches version of the prod service API.
- Staging continues to **use main branch** for testing latest
development code - `ghcr.io/modelcontextprotocol/registry:main` (latest
development). Building the CLI from main would match the version of the
staging service API.
- Added environment-based Docker image tag selection logic

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
No
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
No
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-09-25 13:38:08 +01:00
adam jones
bd6c711627
docs: add kubectl configuration instructions for GKE access (#514)
Added documentation for configuring kubectl to access existing GKE
clusters for both production and staging environments.
2025-09-19 23:04:32 +03:00
adam jones
6e38137ce4
Increase GKE node size to e2-standard-2 (#513)
## Summary
Bumps the node machine type from e2-small to e2-standard-2 to provide
more CPU and memory headroom for the cluster.

Also disables PodDisruptionBudgets (PDBs) for single-instance PostgreSQL
clusters to prevent node upgrade operations from becoming blocked.

## Changes
- Increase GKE node machine type from e2-small to e2-standard-2
- Set `enablePDB: false` for registry and Grafana PostgreSQL clusters

## Context
The machine type increase addresses resource constraints causing
deployment failures.

The PDB change prevents a specific issue where GKE node upgrades get
stuck when trying to drain nodes containing single-instance PostgreSQL
pods. With `minAvailable: 1` PDBs, evicting the only database instance
violates the availability requirement, blocking the drain operation
indefinitely. Disabling PDBs for these development/staging
single-instance databases allows node maintenance to proceed smoothly.

For production deployments requiring high availability, the instances
count should be increased to 3 with PDBs enabled.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-19 22:28:47 +03:00
Preeti Dewani
6ed625f476
464 logs infra (#478)
## Motivation and Context
Logs will help in fixing issues quickly, thereby reducing the downtime
and MTTD.

## How Has This Been Tested?
End to end local setup is tested

## Breaking Changes
No

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
- It handles container logs for mcp-registry pods.
- It supports k8sattributes resources which helps in identifying from
where the logs are coming.
- Supports victorialogs and it's plugin in grafana.

<img width="1129" height="383" alt="Screenshot 2025-09-15 at 1 43 51 AM"
src="https://github.com/user-attachments/assets/a560c541-721d-415c-a0a8-8cbe008c3af6"
/>

<img width="1134" height="703" alt="Screenshot 2025-09-15 at 1 44 34 AM"
src="https://github.com/user-attachments/assets/8b5b4132-9fc3-4b8e-8027-27c7787070f1"
/>

<img width="1134" height="727" alt="Screenshot 2025-09-15 at 1 46 10 AM"
src="https://github.com/user-attachments/assets/bcdb4d9d-cea1-4d88-8dd5-fa4cdb51031f"
/>

---------

Co-authored-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-09-18 11:26:43 +03:00
Radoslav Dimitrov
253af4eb47
Move releases.md and update the deployment image reference from latest to main (#369)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR addresses the feedback comments from #366 

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->
No
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-09-08 11:40:09 -07:00
adam jones
5971983073
Remove Azure/AKS deployment configuration from deploy (#347)
## Summary
- Removed Azure deployment section and references from README
- Updated project structure to reflect current GCP prod/staging configs
- Removed Azure Load Balancer annotation from ingress controller
- Updated provider documentation to show GCP and local options only
- Added monitoring.go to project structure documentation

This cleans up outdated Azure/AKS deployment configuration that is no
longer used, leaving only the current GCP-based deployment structure.
2025-09-02 22:32:36 +01:00
adam jones
75645aff98
deploy: feat: set Grafana root_url to make oauth flow smoother (#344)
## Motivation and Context

Ensures that the redirect url is set properly when logging in with
Google

## How Has This Been Tested?

In staging

## Breaking Changes

None

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
2025-09-02 18:46:11 +01:00
adam jones
fbd385b6dd
deploy: fix: update Grafana ingress host format for consistency (#342)
## Motivation and Context

Consistency with https://staging.registry.modelcontextprotocol.io/ URL
format (i.e. `<env>.<service>`, rather than `<service>.<env>`

## How Has This Been Tested?

Deployed in staging

## Breaking Changes

Grafana URL changes, but it's only just launched so fine.

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
2025-09-02 14:59:18 +01:00
adam jones
b27351b952
deploy: Reduce resource requests and limits to unblock scheduling pods (#341)
## Motivation and Context
After #328, the monitoring stack was failing to deploy because we hit
resource limits. This PR reduces the resource requests to a level
compatible with the cluster.

## How Has This Been Tested?
I've checked that everything still deploys happily in staging.

## Breaking Changes
None

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
2025-09-02 14:58:57 +01:00
pree-dew
a9ff705d80
Add monitoring infrastructure: victoriametrics and grafana (#328)
This includes infra setup for metrics collection and visualisation

## Motivation and Context
It is important to have basic observability setup, so that common issues
can be identified quickly

## How Has This Been Tested?
- Tested on local
- Tested on one of the production setup

## Breaking Changes
No

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [X] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [X] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [X] My code follows the repository's style guidelines
- [X] New and existing tests pass locally
- [X] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
- This includes set up of following components:
- Victoriametrics single node cluster for storing metrics data with
persistent storage configuration for local and production env.
- Vmagent with target discovery for mcp-registry pods with scrape
interval of 30s.
  - Grafana for visualising metrics and setting alerts.
     - Datasource of victoriametrics is pre-configured as config map
     - Persistent volume for basic configuration
- Sqlite for local and Postgres for production setup for storing
dashboard, alerts etc details
 
 ## Metrics in action
<img width="1422" height="666" alt="Screenshot 2025-08-31 at 4 35 28 AM"
src="https://github.com/user-attachments/assets/e54ce846-653c-4fa3-aa7a-fe277f0810e6"
/>

---------

Co-authored-by: Adam Jones <adamj@anthropic.com>
Co-authored-by: adam jones <adamj+git@anthropic.com>
2025-09-02 12:40:43 +00:00
adam jones
36fcdff044
feat: implement OIDC authentication for admin users (#316)
## Summary

This PR implements OIDC authentication support for admin users,
specifically configured for Google Cloud Identity. The implementation
includes:

- Configurable OIDC authentication endpoints and validation
- Google Cloud Identity integration for admin access
- JWT token validation and user session management
- Deployment configuration updates for OIDC provider settings

Fixes #283
2025-08-27 18:59:49 +01:00
adam jones
03ac9c955e
Add database backup functionality with GCS integration (#297)
<!-- Provide a brief summary of your changes -->
Implements automated database backup functionality with Google Cloud
Storage integration, including retention policies and MinIO support for
local development.

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
This change adds critical database backup capabilities to ensure data
durability and disaster recovery. The solution provides automated
backups with configurable retention policies and supports both
production (GCS) and development (MinIO) environments.

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
- Tested backup creation and restoration with MinIO in local development
- Verified GCS bucket lifecycle policies for automatic deletion after 60
days
- Tested backup retention and cleanup logic

## Breaking Changes
<!-- Will users need to update their code or configurations? -->
No breaking changes. This is an additive feature that doesn't affect
existing functionality.

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
- Implements 60-day retention period for backups as a safety net
- Uses GCS lifecycle rules for automatic cleanup
- Includes MinIO setup instructions for local development testing
- Port-forwarding commands updated for consistency across documentation
- Fixes #184
2025-08-25 17:27:40 +01:00
adam jones
ebaf4c9c99
Refactor database implementation to use PostgreSQL instead of MongoDB (#289)
Fixes #228

## Motivation and Context

See #19

## How Has This Been Tested?

- Run locally
- Run in docker compose
- Run infra in minikube
- Unit and integration tests all passing :)

## Breaking Changes

Yes: users will not be able to access any data they used to have in
custom mongodb. We are accepting this breaking change, given the
registry is in experimental development status.

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed

## Additional context

I have not implemented connection pooling support for simplicity, and
because cloudnative-pg already provides built-in connection pooling with
pgBouncer so if we want it later we can switch to this endpoint easily.
2025-08-22 01:40:28 +01:00
adam jones
e9fe6f9ab8
feat: Add creds for GitHub auth, add "none" auth to publisher (#276)
## Motivation and Context

- Adds credentials for the new MCP Registry Login GitHub Apps (local,
staging, prod)
- Adds support for "none" auth to publisher

## How Has This Been Tested?

- Tested publisher workflows locally
- Unit and integration tests passing

## Breaking Changes

None

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed

---

Merging based on Tadas's approval review, and only making minor docs changes on top of that.
2025-08-18 15:49:04 +01:00
adam jones
d555acb65b
infra: Recreate pods on infra deploys (#275)
## Motivation and Context

In staging (and prod, for now) we pull the `:latest` mcp-registry image.
But K8s won't actually change anything unless we recreate the pods.

This change ensures the workflow goes from docker -> staging -> prod,
and changes the annotation so that the pods are recreated each deploy.
This ensures they actually pull the latest version.

## How Has This Been Tested?

Deployed locally to minikube

## Breaking Changes

None

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed
2025-08-18 12:56:20 +01:00
adam jones
c733cedaf8
auth: New auth flow (#273)
Fixes #264. Adds endpoints:

```
/v0/auth/github    # exchange a github token for a registry token that gives you access to namespaces io.github.username and io.github.org for your orgs
/v0/auth/none     # get a registry token for namespace io.modelcontextprotocol.anonymous (only for testing/local dev purposes)
```

Updates `/v0/publish` to accept one of these registry tokens.

## Motivation and Context

See #264

## How Has This Been Tested?

- Running locally and getting a token from `/v0/auth/none` and then
publishing to `/v0/publish`
- Updating the integration tests that get a token and then publish, and
them passing

## Breaking Changes

This is a breaking change to the auth API. This is fine for registry
given it's not deployed yet.

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: adam jones <domdomegg@users.noreply.github.com>
2025-08-15 13:03:35 +01:00
adam jones
95bf1e3e30
infra: Improve local development flow and avoid false positive infra diffs (#267) 2025-08-15 12:13:51 +01:00
adam jones
01a6ce5fb2
infra: Update Ingress configuration to support prod registry domain at registry.modelcontextprotocol.io (#266)
i.e.

```diff
staging.registry.modelcontextprotocol.io -> staging
prod.registry.modelcontextprotocol.io -> prod
+ registry.modelcontextprotocol.io -> prod
```
2025-08-13 19:12:25 +01:00
adam jones
79fdd2d9d5
infra: Always pull latest images (#265)
The Always pull policy is needed for the latest tag to force Kubernetes
to pull the newest image on every pod creation, even if an image with
that tag already exists locally. Without this, pods might use outdated
cached versions since the latest tag is mutable and can point to
different images over time.
2025-08-13 19:12:16 +01:00
dependabot[bot]
122dbf6a68
chore(deps): bump the go_modules group across 2 directories with 5 updates (#261)
Bumps the go_modules group with 1 update in the / directory:
[golang.org/x/crypto](https://github.com/golang/crypto).
Bumps the go_modules group with 5 updates in the /deploy directory:

| Package | From | To |
| --- | --- | --- |
| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.37.0` |
`0.41.0` |
| [github.com/cloudflare/circl](https://github.com/cloudflare/circl) |
`1.3.7` | `1.6.1` |
| [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) |
`5.13.1` | `5.16.2` |
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.67.1` |
`1.74.2` |
| google.golang.org/protobuf | `1.36.6` | `1.36.7` |


Updates `golang.org/x/crypto` from 0.37.0 to 0.41.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ef5341b706"><code>ef5341b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="b999374650"><code>b999374</code></a>
acme: fix pebble subprocess output data race</li>
<li><a
href="c247dead11"><code>c247dea</code></a>
x509roots/fallback: store bundle certs directly in DER</li>
<li><a
href="1fda73153f"><code>1fda731</code></a>
acme: increase pebble test waitForServer attempts</li>
<li><a
href="1b4c3d2e8c"><code>1b4c3d2</code></a>
x509roots/fallback: update bundle</li>
<li><a
href="b903b535d3"><code>b903b53</code></a>
acme: capture pebble test subprocess stdout/stderr</li>
<li><a
href="459a9db11b"><code>459a9db</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="74e709ad8a"><code>74e709a</code></a>
ssh: add AlgorithmNegotiationError</li>
<li><a
href="b3790b8d91"><code>b3790b8</code></a>
acme: fix TLSALPN01ChallengeCert for IP address identifiers</li>
<li><a
href="1dc4269656"><code>1dc4269</code></a>
acme: add Pebble integration testing</li>
<li>Additional commits viewable in <a
href="https://github.com/golang/crypto/compare/v0.37.0...v0.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `golang.org/x/crypto` from 0.37.0 to 0.41.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ef5341b706"><code>ef5341b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="b999374650"><code>b999374</code></a>
acme: fix pebble subprocess output data race</li>
<li><a
href="c247dead11"><code>c247dea</code></a>
x509roots/fallback: store bundle certs directly in DER</li>
<li><a
href="1fda73153f"><code>1fda731</code></a>
acme: increase pebble test waitForServer attempts</li>
<li><a
href="1b4c3d2e8c"><code>1b4c3d2</code></a>
x509roots/fallback: update bundle</li>
<li><a
href="b903b535d3"><code>b903b53</code></a>
acme: capture pebble test subprocess stdout/stderr</li>
<li><a
href="459a9db11b"><code>459a9db</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="74e709ad8a"><code>74e709a</code></a>
ssh: add AlgorithmNegotiationError</li>
<li><a
href="b3790b8d91"><code>b3790b8</code></a>
acme: fix TLSALPN01ChallengeCert for IP address identifiers</li>
<li><a
href="1dc4269656"><code>1dc4269</code></a>
acme: add Pebble integration testing</li>
<li>Additional commits viewable in <a
href="https://github.com/golang/crypto/compare/v0.37.0...v0.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `golang.org/x/crypto` from 0.37.0 to 0.41.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ef5341b706"><code>ef5341b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="b999374650"><code>b999374</code></a>
acme: fix pebble subprocess output data race</li>
<li><a
href="c247dead11"><code>c247dea</code></a>
x509roots/fallback: store bundle certs directly in DER</li>
<li><a
href="1fda73153f"><code>1fda731</code></a>
acme: increase pebble test waitForServer attempts</li>
<li><a
href="1b4c3d2e8c"><code>1b4c3d2</code></a>
x509roots/fallback: update bundle</li>
<li><a
href="b903b535d3"><code>b903b53</code></a>
acme: capture pebble test subprocess stdout/stderr</li>
<li><a
href="459a9db11b"><code>459a9db</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="74e709ad8a"><code>74e709a</code></a>
ssh: add AlgorithmNegotiationError</li>
<li><a
href="b3790b8d91"><code>b3790b8</code></a>
acme: fix TLSALPN01ChallengeCert for IP address identifiers</li>
<li><a
href="1dc4269656"><code>1dc4269</code></a>
acme: add Pebble integration testing</li>
<li>Additional commits viewable in <a
href="https://github.com/golang/crypto/compare/v0.37.0...v0.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/cloudflare/circl` from 1.3.7 to 1.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cloudflare/circl/releases">github.com/cloudflare/circl's
releases</a>.</em></p>
<blockquote>
<h2>CIRCL v1.6.1</h2>
<ul>
<li>Fixes some point checks on the FourQ curve.</li>
<li>Hybrid KEM fails on low-order points.</li>
</ul>
<h3>What's Changed</h3>
<ul>
<li>kem/hybrid: ensure X25519 hybrids fails with low order points by <a
href="https://github.com/Lekensteyn"><code>@​Lekensteyn</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/541">cloudflare/circl#541</a></li>
<li>.github: Use native ARM64 builders instead of QEMU by <a
href="https://github.com/Lekensteyn"><code>@​Lekensteyn</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/542">cloudflare/circl#542</a></li>
<li>Fixes several errors on twisted Edwards curves. by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/545">cloudflare/circl#545</a></li>
<li>Release v1.6.1 by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/546">cloudflare/circl#546</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cloudflare/circl/compare/v1.6.0...v1.6.1">https://github.com/cloudflare/circl/compare/v1.6.0...v1.6.1</a></p>
<h2>CIRCL v1.6.0</h2>
<h3>New!</h3>
<ul>
<li><a
href="https://github.com/cloudflare/circl/blob/main/vdaf/prio3">Prio3</a>
Verifiable Distributed Aggregation Function (<a
href="https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/">draft-irtf-cfrg-vdaf</a>).</li>
<li><a
href="https://github.com/cloudflare/circl/blob/main/kem/xwing">X-Wing</a>:
general-purpose hybrid post-quantum KEM (<a
href="https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/">draft-connolly-cfrg-xwing-kem</a>)</li>
</ul>
<h3>What's Changed</h3>
<ul>
<li>Add OIDs to ML-DSA by <a
href="https://github.com/bwesterb"><code>@​bwesterb</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/519">cloudflare/circl#519</a></li>
<li>Adds Prio3 a set of verifiable distributed aggregation functions. by
<a href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/522">cloudflare/circl#522</a></li>
<li>Run semgrep cronjob only in upstream repository. by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/526">cloudflare/circl#526</a></li>
<li>X-Wing PQ/T hybrid by <a
href="https://github.com/bwesterb"><code>@​bwesterb</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/471">cloudflare/circl#471</a></li>
<li>ckem: move crypto/elliptic to crypto/ecdh by <a
href="https://github.com/MingLLuo"><code>@​MingLLuo</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/529">cloudflare/circl#529</a></li>
<li>hpke: Update HPKE code to use ecdh stdlib package. by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/530">cloudflare/circl#530</a></li>
<li>prio3: Adds polynomial multiplication using NTT by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/532">cloudflare/circl#532</a></li>
<li>Add Prio3 in readme. by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/527">cloudflare/circl#527</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a href="https://github.com/MingLLuo"><code>@​MingLLuo</code></a>
made their first contribution in <a
href="https://redirect.github.com/cloudflare/circl/pull/529">cloudflare/circl#529</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cloudflare/circl/compare/v1.5.0...v1.6.0">https://github.com/cloudflare/circl/compare/v1.5.0...v1.6.0</a></p>
<h1>CIRCL v1.5.0</h1>
<p><strong>New:</strong> ML-DSA, Module-Lattice-based Digital Signature
Algorithm.</p>
<h3>What's Changed</h3>
<ul>
<li>kem: add X25519MLKEM768 TLS hybrid KEM by <a
href="https://github.com/bwesterb"><code>@​bwesterb</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/510">cloudflare/circl#510</a></li>
<li>Create semgrep.yml by <a
href="https://github.com/hrushikeshdeshpande"><code>@​hrushikeshdeshpande</code></a>
in <a
href="https://redirect.github.com/cloudflare/circl/pull/514">cloudflare/circl#514</a></li>
<li>repo: Some fixes reported by CodeQL by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/515">cloudflare/circl#515</a></li>
<li>Add ML-DSA (FIPS204) by <a
href="https://github.com/bwesterb"><code>@​bwesterb</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/480">cloudflare/circl#480</a></li>
<li>sign/mldsa: Add test for ML-DSA signature verification. by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/517">cloudflare/circl#517</a></li>
<li>Release v1.5.0 by <a
href="https://github.com/armfazh"><code>@​armfazh</code></a> in <a
href="https://redirect.github.com/cloudflare/circl/pull/518">cloudflare/circl#518</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a
href="https://github.com/hrushikeshdeshpande"><code>@​hrushikeshdeshpande</code></a>
made their first contribution in <a
href="https://redirect.github.com/cloudflare/circl/pull/514">cloudflare/circl#514</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cloudflare/circl/compare/v1.4.0...v1.5.0">https://github.com/cloudflare/circl/compare/v1.4.0...v1.5.0</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c6d33e3523"><code>c6d33e3</code></a>
Release v1.6.1</li>
<li><a
href="0c3868ef6f"><code>0c3868e</code></a>
curve4q: Shared must fail with low order points.</li>
<li><a
href="9fd570dd50"><code>9fd570d</code></a>
curve4q: Test showing DH does not fails on identity point.</li>
<li><a
href="c988ceba82"><code>c988ceb</code></a>
fourq: Correctly unmarshalling point.</li>
<li><a
href="ef2611dcde"><code>ef2611d</code></a>
fourq: Test showing point unmarshal fails.</li>
<li><a
href="05eba44d1a"><code>05eba44</code></a>
fourq: Handle the case of Z=0 for IsOnCurve and IsEqual.</li>
<li><a
href="eef08780cc"><code>eef0878</code></a>
fourq: Test showing isEqual and IsOnCurve fail.</li>
<li><a
href="2298474ef6"><code>2298474</code></a>
goldilocks; Handling points with z=0.</li>
<li><a
href="5a940a1115"><code>5a940a1</code></a>
goldilocks: Test for IsEqual must fail with Z=0</li>
<li><a
href="48c3b6a274"><code>48c3b6a</code></a>
ed25519: Fix isEqual to handle points with Z=0.</li>
<li>Additional commits viewable in <a
href="https://github.com/cloudflare/circl/compare/v1.3.7...v1.6.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/go-git/go-git/v5` from 5.13.1 to 5.16.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/go-git/go-git/releases">github.com/go-git/go-git/v5's
releases</a>.</em></p>
<blockquote>
<h2>v5.16.2</h2>
<h2>What's Changed</h2>
<ul>
<li>utils: fix diff so subpaths work for sparse checkouts, fixes 1455 to
releases/v5.x by <a
href="https://github.com/kane8n"><code>@​kane8n</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1567">go-git/go-git#1567</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/go-git/go-git/compare/v5.16.1...v5.16.2">https://github.com/go-git/go-git/compare/v5.16.1...v5.16.2</a></p>
<h2>v5.16.1</h2>
<h2>What's Changed</h2>
<ul>
<li>utils: merkletrie, Fix diff on sparse-checkout index. Fixes <a
href="https://redirect.github.com/go-git/go-git/issues/1406">#1406</a>
to releases/v5.x by <a
href="https://github.com/kane8n"><code>@​kane8n</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1561">go-git/go-git#1561</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/kane8n"><code>@​kane8n</code></a> made
their first contribution in <a
href="https://redirect.github.com/go-git/go-git/pull/1561">go-git/go-git#1561</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/go-git/go-git/compare/v5.16.0...v5.16.1">https://github.com/go-git/go-git/compare/v5.16.0...v5.16.1</a></p>
<h2>v5.16.0</h2>
<h2>What's Changed</h2>
<ul>
<li>[v5] plumbing: support mTLS for HTTPS protocol by <a
href="https://github.com/hiddeco"><code>@​hiddeco</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1510">go-git/go-git#1510</a></li>
<li>v5: plumbing: transport, Reintroduce SetHostKeyCallback. Fix <a
href="https://redirect.github.com/go-git/go-git/issues/1514">#1514</a>
by <a href="https://github.com/pjbgf"><code>@​pjbgf</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1515">go-git/go-git#1515</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/go-git/go-git/compare/v5.15.0...v5.16.0">https://github.com/go-git/go-git/compare/v5.15.0...v5.16.0</a></p>
<h2>v5.15.0</h2>
<h2>What's Changed</h2>
<ul>
<li>plumbing: add cert auth support to <code>releases/v5.x</code> by <a
href="https://github.com/Javier-varez"><code>@​Javier-varez</code></a>
in <a
href="https://redirect.github.com/go-git/go-git/pull/1482">go-git/go-git#1482</a></li>
<li>v5: Bump dependencies by <a
href="https://github.com/pjbgf"><code>@​pjbgf</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1505">go-git/go-git#1505</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/go-git/go-git/compare/v5.14.0...v5.15.0">https://github.com/go-git/go-git/compare/v5.14.0...v5.15.0</a></p>
<h2>v5.14.0</h2>
<h2>What's Changed</h2>
<ul>
<li>v5: Bump Go and dependencies to mitigate <a
href="https://pkg.go.dev/vuln/GO-2025-3487">GO-2025-3487</a> by <a
href="https://github.com/pjbgf"><code>@​pjbgf</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1436">go-git/go-git#1436</a></li>
</ul>
<p>⚠️ Note that this version requires Go 1.23, due to the bump to
<code>golang.org/x/crypto@v0.35.0</code> which mitigates the CVE above.
User's that can't bump to Go 1.23 will need to remain on the previous
v5.13.x release.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/go-git/go-git/compare/v5.13.2...v5.14.0">https://github.com/go-git/go-git/compare/v5.13.2...v5.14.0</a></p>
<h2>v5.13.2</h2>
<h2>What's Changed</h2>
<ul>
<li>plumbing: use the correct user agent string. Fixes <a
href="https://redirect.github.com/go-git/go-git/issues/883">#883</a> by
<a href="https://github.com/uragirii"><code>@​uragirii</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1364">go-git/go-git#1364</a></li>
<li>build: bump golang.org/x/sys from 0.28.0 to 0.29.0 in the golang-org
group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1365">go-git/go-git#1365</a></li>
<li>build: bump the golang-org group with 2 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1367">go-git/go-git#1367</a></li>
<li>build: bump github.com/ProtonMail/go-crypto from 1.1.3 to 1.1.4 by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/go-git/go-git/pull/1368">go-git/go-git#1368</a></li>
<li>build: bump github.com/go-git/go-billy/v5 from 5.6.1 to 5.6.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1378">go-git/go-git#1378</a></li>
<li>build: bump github/codeql-action from 3.28.0 to 3.28.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1376">go-git/go-git#1376</a></li>
<li>build: bump github.com/elazarl/goproxy from 1.2.3 to 1.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1377">go-git/go-git#1377</a></li>
<li>git: worktree, fix restoring dot slash files (backported to v5).
Fixes <a
href="https://redirect.github.com/go-git/go-git/issues/1176">#1176</a>
by <a href="https://github.com/BeChris"><code>@​BeChris</code></a> in <a
href="https://redirect.github.com/go-git/go-git/pull/1361">go-git/go-git#1361</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ed8216c4a2"><code>ed8216c</code></a>
Merge pull request <a
href="https://redirect.github.com/go-git/go-git/issues/1567">#1567</a>
from kane8n/backport-to-v5-patricsss/fix-1455</li>
<li><a
href="4f35ebab20"><code>4f35eba</code></a>
Merge pull request <a
href="https://redirect.github.com/go-git/go-git/issues/1484">#1484</a>
from patricsss/patricsss/fix-1455</li>
<li><a
href="fd1a836882"><code>fd1a836</code></a>
Merge pull request <a
href="https://redirect.github.com/go-git/go-git/issues/1561">#1561</a>
from kane8n/backport-to-v5-fix-sparse-checkout-status</li>
<li><a
href="c3c841090f"><code>c3c8410</code></a>
Merge pull request <a
href="https://redirect.github.com/go-git/go-git/issues/1492">#1492</a>
from onee-only/fix-sparse-checkout-status</li>
<li><a
href="6d4a5c6123"><code>6d4a5c6</code></a>
Merge pull request <a
href="https://redirect.github.com/go-git/go-git/issues/1515">#1515</a>
from pjbgf/regre</li>
<li><a
href="beedd6bc18"><code>beedd6b</code></a>
plumbing: transport, Reintroduce SetHostKeyCallback. Fix <a
href="https://redirect.github.com/go-git/go-git/issues/1514">#1514</a></li>
<li><a
href="763ce2e08a"><code>763ce2e</code></a>
Merge pull request <a
href="https://redirect.github.com/go-git/go-git/issues/1510">#1510</a>
from hiddeco/mtls-support</li>
<li><a
href="5320e1b6b4"><code>5320e1b</code></a>
plumbing: surface transport configuration errors</li>
<li><a
href="9bbc93b719"><code>9bbc93b</code></a>
plumbing: fix unintended pointer mutation in test</li>
<li><a
href="f3783f4abf"><code>f3783f4</code></a>
plumbing: support mTLS for HTTPS protocol</li>
<li>Additional commits viewable in <a
href="https://github.com/go-git/go-git/compare/v5.13.1...v5.16.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `golang.org/x/crypto` from 0.37.0 to 0.41.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ef5341b706"><code>ef5341b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="b999374650"><code>b999374</code></a>
acme: fix pebble subprocess output data race</li>
<li><a
href="c247dead11"><code>c247dea</code></a>
x509roots/fallback: store bundle certs directly in DER</li>
<li><a
href="1fda73153f"><code>1fda731</code></a>
acme: increase pebble test waitForServer attempts</li>
<li><a
href="1b4c3d2e8c"><code>1b4c3d2</code></a>
x509roots/fallback: update bundle</li>
<li><a
href="b903b535d3"><code>b903b53</code></a>
acme: capture pebble test subprocess stdout/stderr</li>
<li><a
href="459a9db11b"><code>459a9db</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="74e709ad8a"><code>74e709a</code></a>
ssh: add AlgorithmNegotiationError</li>
<li><a
href="b3790b8d91"><code>b3790b8</code></a>
acme: fix TLSALPN01ChallengeCert for IP address identifiers</li>
<li><a
href="1dc4269656"><code>1dc4269</code></a>
acme: add Pebble integration testing</li>
<li>Additional commits viewable in <a
href="https://github.com/golang/crypto/compare/v0.37.0...v0.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `google.golang.org/grpc` from 1.67.1 to 1.74.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/grpc/grpc-go/releases">google.golang.org/grpc's
releases</a>.</em></p>
<blockquote>
<h2>Release 1.74.2</h2>
<h1>New Features</h1>
<ul>
<li>grpc: introduce new <code>DialOptions</code> and
<code>ServerOptions</code> (<code>WithStaticStreamWindowSize</code>,
<code>WithStaticConnWindowSize</code>,
<code>StaticStreamWindowSize</code>, <code>StaticConnWindowSize</code>)
that force fixed window sizes for all HTTP/2 connections. By default,
gRPC uses dynamic sizing of these windows based upon a BDP estimation
algorithm. The existing options (<code>WithInitialWindowSize</code>,
etc) also disable BDP estimation, but this behavior will be changed in a
following release. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8283">#8283</a>)</li>
</ul>
<h1>API Changes</h1>
<ul>
<li>balancer: add <code>ExitIdle</code> method to <code>Balancer</code>
interface. Earlier, implementing this method was optional. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8367">#8367</a>)</li>
</ul>
<h1>Behavior Changes</h1>
<ul>
<li>xds: Remove the <code>GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST</code>
environment variable that allows disabling the least request balancer
with xDS. Least request was made available by default with xDS in
v1.72.0. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8248">#8248</a>)
<ul>
<li>Special Thanks: <a
href="https://github.com/atollena"><code>@​atollena</code></a></li>
</ul>
</li>
<li>server: allow 0s grpc-timeout header values, which older gRPC-Java
versions could send. This restores the behavior of grpc-go before
v1.73.0. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8439">#8439</a>)</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>googledirectpath: avoid logging the error message <code>Attempt to
set a bootstrap configuration...</code> when creating multiple
directpath channels. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8419">#8419</a>)</li>
</ul>
<h1>Performance Improvements</h1>
<ul>
<li>transport: reduce heap allocations by pooling objects and avoiding
method-to-closure conversions. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8361">#8361</a>)</li>
<li>transport: reduce heap allocations by re-using
<code>mem.Reader</code> objects. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8360">#8360</a>)</li>
</ul>
<h1>Documentation</h1>
<ul>
<li>examples: add examples to demonstrate enabling experimental metrics
using the OpenTelemetry plugin. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8388">#8388</a>)
<ul>
<li>Special Thanks: <a
href="https://github.com/vinothkumarr227"><code>@​vinothkumarr227</code></a></li>
</ul>
</li>
</ul>
<h2>Release 1.74.1</h2>
<p>Version 1.74.1 retracts release v1.74.0 and itself. Release 1.74.0
was accidentally tagged on the wrong commit and should not be used.
Version 1.73.0 should be used until 1.74.2 is released.</p>
<p>Release 1.74.0 was accidentally tagged on the wrong commit and should
not be used. Version 1.73.0 should be used until 1.74.1 is released.</p>
<h2>Release 1.73.0</h2>
<h1>New Features</h1>
<ul>
<li>balancer/ringhash: move LB policy from xds/internal to exported path
to facilitate use without xds (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8249">#8249</a>)</li>
<li>xds: enable least request LB policy by default. It can be disabled
by setting <code>GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST=false</code> in
your environment. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8253">#8253</a>)</li>
<li>grpc: add a <code>CallAuthority</code> Call Option that can be used
to overwrite the http <code>:authority</code> header on per-RPC basis.
(<a
href="https://redirect.github.com/grpc/grpc-go/issues/8068">#8068</a>)</li>
<li>stats/opentelemetry: add trace event for name resolution delay. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8074">#8074</a>)</li>
<li>health: added <code>List</code> method to gRPC Health service. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8155">#8155</a>)
<ul>
<li>Special Thanks: <a
href="https://github.com/marcoshuck"><code>@​marcoshuck</code></a></li>
</ul>
</li>
<li>ringhash: implement features from gRFC A76. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8159">#8159</a>)</li>
<li>xds: add functionality to support SPIFFE Bundle Maps as roots of
trust in XDS which can be enabled by setting
<code>GRPC_EXPERIMENTAL_XDS_MTLS_SPIFFE=true</code>. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8167">#8167</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8180">#8180</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8229">#8229</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8343">#8343</a>)</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>xds: locality ID metric label is changed to make it consistent with
<a
href="https://github.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md#optional-xds-locality-label">gRFC
A78</a>. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8256">#8256</a>)</li>
<li>client: fail RPCs on the client when using extremely short contexts
that expire before the <code>grpc-timeout</code> header is created. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8312">#8312</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e9e00cb28e"><code>e9e00cb</code></a>
Change version to 1.74.2 (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8470">#8470</a>)</li>
<li><a
href="bd7cb0a95b"><code>bd7cb0a</code></a>
Change version to 1.74.2-dev (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8461">#8461</a>)</li>
<li><a
href="002a22c03e"><code>002a22c</code></a>
Change version to 1.74.1 (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8455">#8455</a>)</li>
<li><a
href="6e8e7e48d1"><code>6e8e7e4</code></a>
Retract v1.74.0 and v1.74.1 (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8457">#8457</a>)</li>
<li><a
href="48c9e4d1ee"><code>48c9e4d</code></a>
Change version to 1.74.1-dev (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8408">#8408</a>)</li>
<li><a
href="b8b6cffbb2"><code>b8b6cff</code></a>
Change version to 1.74.0 (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8407">#8407</a>)</li>
<li><a
href="077e2c37bd"><code>077e2c3</code></a>
Cherry-pick <a
href="https://redirect.github.com/grpc/grpc-go/issues/8411">#8411</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8419">#8419</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8422">#8422</a>,
<a href="https://redirect.github.com/grpc/grpc-go/issues/8445">#8445</a>
and <a
href="https://redirect.github.com/grpc/grpc-go/issues/8451">#8451</a> to
v1.74.x (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8454">#8454</a>)</li>
<li><a
href="b34f845d70"><code>b34f845</code></a>
server: allow 0s grpc-timeout header values, as java is known to be able
to s...</li>
<li><a
href="1787f94275"><code>1787f94</code></a>
xdsclient: export genericResourceTypeDecoder (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8406">#8406</a>)</li>
<li><a
href="15299ccca3"><code>15299cc</code></a>
xdsclient: make a function to return the supported resource type
implementati...</li>
<li>Additional commits viewable in <a
href="https://github.com/grpc/grpc-go/compare/v1.67.1...v1.74.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `google.golang.org/protobuf` from 1.36.6 to 1.36.7


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/modelcontextprotocol/registry/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 14:00:18 +01:00
adam jones
ff3edee794
infra/ci: Add GitHub Actions workflow for staging and production deployment (#256)
## Motivation and Context

- Enable all contributors to manage the infrastructure
- Enable deployments without error-prone manual intervention

## How Has This Been Tested?

Tested by deploying from this test branch, getting CI green and seeing
changes were applied

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
2025-08-13 11:03:10 +01:00
adam jones
fe52766676
deploy: Deploy the registry to GCP (#255)
Adds the Pulumi code to:
- Deploy the registry (and associated services e.g. mongodb) to Google
Cloud Platform (GCP), on top of Google Kubernetes Engine (GKE)
- Sets up proper environments and secrets management
- Uses the real container image, now that it's published in #225. At the
moment attached to latest, we might want to pin the version later (or
perhaps always use `latest` in staging, and pin prod)
- Uses real domains (`staging.registry.modelcontextprotocol.io`) rather
than examples (``)

## Motivation and Context

Setting up infrastructure to deploy it. I set something up in Azure in
#227, although not super robust (e.g. no service accounts etc.). Think
we will use GCP as:
- the maintainers have experience with GCP, but none with Azure
- costs are quite low, and Anthropic is happy to cover them in the short
term
- means we only have to maintain one login system (just Google Cloud
Identity), not two (Google Workspace + Azure)

## How Has This Been Tested?

Deployed this to a staging and production cluster. Try it yourself at:

```bash
curl -H "Host: staging.registry.modelcontextprotocol.io" -k https://35.222.36.75/v0/ping
```

(will be sorting out domains very soon)

## Breaking Changes

NA - just adds support for GCP deployment

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

Expected follow-ups:
- GitHub Action setup to deploy things to the cluster from GitHub, to
avoid gatekeeping to just the people with the secrets.
2025-08-12 17:44:50 +01:00
adam jones
667e2840b8
feat(infra): Add Pulumi-based Kubernetes deployment infrastructure (#237)
Original PR: #227

- Add Pulumi-based infrastructure as code for deploying MCP Registry to
Kubernetes
- Support for both local development (minikube) and Azure Kubernetes
Service (AKS)
- Complete deployment orchestration including:
- cluster setup: e.g. you point this at an Azure account, and it can set
up and manage the cluster for you. e.g. K8s version, number of nodes,
type of nodes, ...
  - cloud agnostic K8s services: cert-manager, nginx-ingress
- app services: MongoDB, and registry application (currently using nginx
as a placeholder, blocked on #225 (as is #190). but should be a 1 line
change)

## How is this different to #190

- Supports cluster setup and management. This enables:
- Non-hosting maintainers managing many devops workflows (e.g. scaling
up the cluster, or bumping K8s versions). Without this, we'd need to
bug/page the organisation hosting the registry when we need these things
changed.
- Makes it easy to spin up things like staging/temporary clusters, as
well as enables contributors to replicate the stack exactly on their own
Azure accounts.
- Sets up cloud-agnostic services. For example, rather than using the
Azure-managed ingresses and CA, we install nginx-ingress and
cert-manager. This enables:
- Running the entire infra stack can also run locally (e.g. in minikube,
k3s, orbstack, colima) - making it much easier for contributors to test
changes to infra stuff.
- Moving between cloud providers much more easily, e.g. we could shift
from Azure to GCP/AWS/other with minimal hassle.
- Everything stays written in Go, rather than Helm templates. This means
we get things like type-checking etc. for free (which from my experience
makes AI tools wayyy better at editing K8s stuff), and contributors
don't need to learn a new language if they're already using Go.

## Testing

I've got this running well:
- locally in minikube
- on cloud in Azure (my personal Azure account)

<details><summary>Claude written architecture and security
review</summary>
<p>

## Deployment Review & Assessment

### Current Architecture Strengths
**Pulumi IaC Approach**
- Well-structured infrastructure as code using Pulumi
- Multi-provider support (AKS, local) with clean abstraction
- Good separation of concerns in `pkg/` directory

**Security Fundamentals**
- Non-root container execution (`appuser` with UID 10001)
- Secrets properly managed via Kubernetes secrets
- TLS/SSL certificate management with cert-manager and Let's Encrypt

### Critical Issues & High-Priority Improvements

**1. Production Deployment Not Ready** 🚨
The registry deployment uses `nginx:alpine` placeholder image instead of
the actual MCP registry:
- `deploy/pkg/k8s/registry.go:67` - TODO comments indicate incomplete
setup
- Health probes are commented out
- Port mapping doesn't match actual application (80 vs 8080)

**Fix:** Build and publish actual registry container image to GHCR,
update deployment

**2. Database Security Considerations** 🔒
- MongoDB deployed without authentication
- No backup/disaster recovery strategy
- Database credentials hardcoded

*Note: MongoDB is not exposed externally (ClusterIP service), so this is
not a critical security risk but should be addressed for production.*

**3. Monitoring & Observability Gaps** 📊
- No Prometheus/Grafana monitoring stack
- No log aggregation (ELK/Loki)
- No application metrics/health dashboards
- No alerting configured

**4. High Availability & Reliability** ⚠️
- Single MongoDB instance (no replication)
- No persistent volume backup strategy
- Fixed 10Gi storage without growth planning
- Only 2 replicas for registry service
- No pod disruption budgets
- No horizontal pod autoscaling

### Recommended Improvements

**Immediate (High Priority)**
1. Complete Registry Deployment - Build proper container image pipeline,
enable health checks
2. Secure MongoDB - Add authentication credentials, implement backup
strategy

**Medium Priority**
3. Add Monitoring Stack - Prometheus, Grafana deployment
4. Security Hardening (Nice to Have) - RBAC policies, Network Policies,
Pod Security Standards
5. CI/CD Pipeline Enhancement - Container image building/publishing,
automated deployment

**Lower Priority**
6. High Availability - MongoDB replica set, HPA for registry pods
7. Operational Excellence - Kubernetes dashboard, cost optimization

### Configuration Issues
- Production config has test credentials: `deploy/Pulumi.prod.yaml:4-5`
- Missing environment-specific resource sizing
- Hardcoded domain names (`example.com`)

The deployment setup shows good architectural foundations but needs
significant work before production readiness. The most critical issue is
the placeholder nginx container - priority should be completing the
actual registry application deployment before addressing the other
improvements. Security measures like RBAC and Network Policies are nice
to have but not strictly necessary given that MongoDB is not exposed
externally.

🤖 Generated with [Claude Code](https://claude.ai/code)

</p>
</details> 


## Metadata

Working towards #91

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-11 19:43:49 +01:00