diff --git a/.gitignore b/.gitignore index c0bb912ebb73..fb19501a8140 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,12 @@ -**/.DS_Store -**/desktop.ini +.hugo_build.lock +.idea/ +.vscode/mcp.json .vscode/settings.json .vscode/tasks.json +**/.DS_Store +**/desktop.ini node_modules -.hugo_build.lock -resources public -tmp +resources static/pagefind -.idea/ +tmp diff --git a/_vale/config/vocabularies/Docker/accept.txt b/_vale/config/vocabularies/Docker/accept.txt index dc911190c3f4..fa917f9e2c43 100644 --- a/_vale/config/vocabularies/Docker/accept.txt +++ b/_vale/config/vocabularies/Docker/accept.txt @@ -163,6 +163,7 @@ unmanaged VMware vpnkit vSphere +VSCode Wasm Windows windowsfilter diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model.yaml index e33eb58af8e8..873348e5c484 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model.yaml @@ -2,7 +2,7 @@ command: docker model short: Docker Model Runner long: |- Use Docker Model Runner to run and interact with AI models directly from the command line. - For more information, see the [documentation](/model-runner/) + For more information, see the [documentation](/ai/model-runner/) pname: docker plink: docker.yaml cname: diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose.yaml index c87cca134ce3..79353c66aaae 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose.yaml @@ -3,9 +3,11 @@ pname: docker model plink: docker_model.yaml cname: - docker model compose down + - docker model compose metadata - docker model compose up clink: - docker_model_compose_down.yaml + - docker_model_compose_metadata.yaml - docker_model_compose_up.yaml options: - option: project-name diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_down.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_down.yaml index 9020db5199a8..9770b566a273 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_down.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_down.yaml @@ -2,17 +2,6 @@ command: docker model compose down usage: docker model compose down pname: docker model compose plink: docker_model_compose.yaml -options: - - option: model - value_type: stringArray - default_value: '[]' - description: model to use - deprecated: false - hidden: false - experimental: false - experimentalcli: false - kubernetes: false - swarm: false inherited_options: - option: project-name value_type: string diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_metadata.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_metadata.yaml new file mode 100644 index 000000000000..ae54bc67afec --- /dev/null +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_metadata.yaml @@ -0,0 +1,23 @@ +command: docker model compose metadata +short: Metadata for Docker Compose +long: Metadata for Docker Compose +usage: docker model compose metadata +pname: docker model compose +plink: docker_model_compose.yaml +inherited_options: + - option: project-name + value_type: string + description: compose project name + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false +deprecated: false +hidden: true +experimental: false +experimentalcli: true +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_up.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_up.yaml index e377b2cfca5b..7a746d11f1ea 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_up.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_compose_up.yaml @@ -3,6 +3,26 @@ usage: docker model compose up pname: docker model compose plink: docker_model_compose.yaml options: + - option: backend + value_type: string + default_value: llama.cpp + description: inference backend to use + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false + - option: context-size + value_type: int64 + default_value: "-1" + description: context size for the model + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false - option: model value_type: stringArray default_value: '[]' @@ -13,6 +33,15 @@ options: experimentalcli: false kubernetes: false swarm: false + - option: runtime-flags + value_type: string + description: raw runtime flags to pass to the inference engine + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false inherited_options: - option: project-name value_type: string diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_configure.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_configure.yaml new file mode 100644 index 000000000000..e94cbc918ebc --- /dev/null +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_configure.yaml @@ -0,0 +1,24 @@ +command: docker model configure +short: Configure runtime options for a model +long: Configure runtime options for a model +usage: docker model configure [--context-size=] MODEL [-- ] +pname: docker model +plink: docker_model.yaml +options: + - option: context-size + value_type: int64 + default_value: "-1" + description: context size (in tokens) + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false +deprecated: false +hidden: true +experimental: false +experimentalcli: true +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_inspect.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_inspect.yaml index 559d2260817a..0684354c9bf9 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_inspect.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_inspect.yaml @@ -15,6 +15,17 @@ options: experimentalcli: false kubernetes: false swarm: false + - option: remote + shorthand: r + value_type: bool + default_value: "false" + description: Show info for remote models + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false deprecated: false hidden: false experimental: false diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_install-runner.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_install-runner.yaml index 60443efb4048..bc4dc488979c 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_install-runner.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_install-runner.yaml @@ -6,6 +6,16 @@ usage: docker model install-runner pname: docker model plink: docker_model.yaml options: + - option: do-not-track + value_type: bool + default_value: "false" + description: Do not track models usage in Docker Model Runner + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false - option: gpu value_type: string default_value: auto diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_package.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_package.yaml index 1e5a7ec9554e..532909a68150 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_package.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_package.yaml @@ -3,10 +3,20 @@ short: | Package a GGUF file into a Docker model OCI artifact, with optional licenses, and pushes it to the specified registry long: | Package a GGUF file into a Docker model OCI artifact, with optional licenses, and pushes it to the specified registry -usage: docker model package --gguf [--license ...] --push TARGET +usage: docker model package --gguf [--license ...] [--context-size ] --push TARGET pname: docker model plink: docker_model.yaml options: + - option: context-size + value_type: uint64 + default_value: "0" + description: context size in tokens + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false - option: gguf value_type: string description: absolute path to gguf file (required) diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_pull.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_pull.yaml index f10e4368ef6d..f0843b020636 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_pull.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_pull.yaml @@ -16,6 +16,11 @@ examples: |- You can pull GGUF models directly from [Hugging Face](https://huggingface.co/models?library=gguf). + **Note about quantization:** If no tag is specified, the command tries to pull the `Q4_K_M` version of the model. + If `Q4_K_M` doesn't exist, the command pulls the first GGUF found in the **Files** view of the model on HuggingFace. + To specify the quantization, provide it as a tag, for example: + `docker model pull hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF:Q4_K_S` + ```console docker model pull hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF ``` diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_status.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_status.yaml index 07da71d0f79b..5b0c33b46972 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_status.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_status.yaml @@ -5,6 +5,17 @@ long: | usage: docker model status pname: docker model plink: docker_model.yaml +options: + - option: json + value_type: bool + default_value: "false" + description: Format output in JSON + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false deprecated: false hidden: false experimental: false diff --git a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_unload.yaml b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_unload.yaml index 589afe593629..ba581bdcef55 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/docker_model_unload.yaml +++ b/_vendor/github.com/docker/model-cli/docs/reference/docker_model_unload.yaml @@ -1,7 +1,7 @@ command: docker model unload short: Unload running models long: Unload running models -usage: docker model unload (MODEL [--backend BACKEND] | --all) +usage: docker model unload (MODEL [MODEL ...] [--backend BACKEND] | --all) pname: docker model plink: docker_model.yaml options: diff --git a/_vendor/github.com/docker/model-cli/docs/reference/model.md b/_vendor/github.com/docker/model-cli/docs/reference/model.md index f9032718071e..f79e25304ac4 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/model.md +++ b/_vendor/github.com/docker/model-cli/docs/reference/model.md @@ -31,4 +31,4 @@ Docker Model Runner (EXPERIMENTAL) ## Description Use Docker Model Runner to run and interact with AI models directly from the command line. -For more information, see the [documentation](https://docs.docker.com/model-runner/) +For more information, see the [documentation](https://docs.docker.com/ai/model-runner/) diff --git a/_vendor/github.com/docker/model-cli/docs/reference/model_configure.md b/_vendor/github.com/docker/model-cli/docs/reference/model_configure.md new file mode 100644 index 000000000000..81fc1546bd5e --- /dev/null +++ b/_vendor/github.com/docker/model-cli/docs/reference/model_configure.md @@ -0,0 +1,14 @@ +# docker model configure + + +Configure runtime options for a model + +### Options + +| Name | Type | Default | Description | +|:-----------------|:--------|:--------|:-------------------------| +| `--context-size` | `int64` | `-1` | context size (in tokens) | + + + + diff --git a/_vendor/github.com/docker/model-cli/docs/reference/model_inspect.md b/_vendor/github.com/docker/model-cli/docs/reference/model_inspect.md index e9b6b1eff540..7df015093814 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/model_inspect.md +++ b/_vendor/github.com/docker/model-cli/docs/reference/model_inspect.md @@ -5,9 +5,10 @@ Display detailed information on one model ### Options -| Name | Type | Default | Description | -|:-----------|:-------|:--------|:-------------------------------| -| `--openai` | `bool` | | List model in an OpenAI format | +| Name | Type | Default | Description | +|:-----------------|:-------|:--------|:-------------------------------| +| `--openai` | `bool` | | List model in an OpenAI format | +| `-r`, `--remote` | `bool` | | Show info for remote models | diff --git a/_vendor/github.com/docker/model-cli/docs/reference/model_install-runner.md b/_vendor/github.com/docker/model-cli/docs/reference/model_install-runner.md index afcbbf2e56f3..970a6976a42e 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/model_install-runner.md +++ b/_vendor/github.com/docker/model-cli/docs/reference/model_install-runner.md @@ -5,10 +5,11 @@ Install Docker Model Runner (Docker Engine only) ### Options -| Name | Type | Default | Description | -|:---------|:---------|:--------|:----------------------------------------------| -| `--gpu` | `string` | `auto` | Specify GPU support (none\|auto\|cuda) | -| `--port` | `uint16` | `12434` | Docker container port for Docker Model Runner | +| Name | Type | Default | Description | +|:-----------------|:---------|:--------|:-------------------------------------------------| +| `--do-not-track` | `bool` | | Do not track models usage in Docker Model Runner | +| `--gpu` | `string` | `auto` | Specify GPU support (none\|auto\|cuda) | +| `--port` | `uint16` | `12434` | Docker container port for Docker Model Runner | diff --git a/_vendor/github.com/docker/model-cli/docs/reference/model_package.md b/_vendor/github.com/docker/model-cli/docs/reference/model_package.md index 4cfccf302157..615535fd80dc 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/model_package.md +++ b/_vendor/github.com/docker/model-cli/docs/reference/model_package.md @@ -7,6 +7,7 @@ Package a GGUF file into a Docker model OCI artifact, with optional licenses, an | Name | Type | Default | Description | |:------------------|:--------------|:--------|:--------------------------------------| +| `--context-size` | `uint64` | `0` | context size in tokens | | `--gguf` | `string` | | absolute path to gguf file (required) | | `-l`, `--license` | `stringArray` | | absolute path to a license file | | `--push` | `bool` | | push to registry (required) | diff --git a/_vendor/github.com/docker/model-cli/docs/reference/model_pull.md b/_vendor/github.com/docker/model-cli/docs/reference/model_pull.md index bae41fc31a1b..246cc59d78af 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/model_pull.md +++ b/_vendor/github.com/docker/model-cli/docs/reference/model_pull.md @@ -22,6 +22,11 @@ docker model pull ai/smollm2 You can pull GGUF models directly from [Hugging Face](https://huggingface.co/models?library=gguf). +**Note about quantization:** If no tag is specified, the command tries to pull the `Q4_K_M` version of the model. +If `Q4_K_M` doesn't exist, the command pulls the first GGUF found in the **Files** view of the model on HuggingFace. +To specify the quantization, provide it as a tag, for example: +`docker model pull hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF:Q4_K_S` + ```console docker model pull hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF ``` diff --git a/_vendor/github.com/docker/model-cli/docs/reference/model_status.md b/_vendor/github.com/docker/model-cli/docs/reference/model_status.md index 72a0bf7901f0..baa630073db8 100644 --- a/_vendor/github.com/docker/model-cli/docs/reference/model_status.md +++ b/_vendor/github.com/docker/model-cli/docs/reference/model_status.md @@ -3,6 +3,12 @@ Check if the Docker Model Runner is running +### Options + +| Name | Type | Default | Description | +|:---------|:-------|:--------|:----------------------| +| `--json` | `bool` | | Format output in JSON | + diff --git a/_vendor/modules.txt b/_vendor/modules.txt index 77f74e9f57c4..08f39eb36c2f 100644 --- a/_vendor/modules.txt +++ b/_vendor/modules.txt @@ -3,5 +3,5 @@ # github.com/docker/buildx v0.25.0 # github.com/docker/cli v28.3.0+incompatible # github.com/docker/compose/v2 v2.38.1 -# github.com/docker/model-cli v0.1.26-0.20250527144806-15d0078a3c01 +# github.com/docker/model-cli v0.1.33-0.20250703103301-d4e4936a9eb2 # github.com/docker/scout-cli v1.15.0 diff --git a/content/includes/gordondhi.md b/content/includes/gordondhi.md new file mode 100644 index 000000000000..b807b94db35b --- /dev/null +++ b/content/includes/gordondhi.md @@ -0,0 +1,24 @@ +1. Ensure Gordon is [enabled](/manuals/ai/gordon.md#enable-ask-gordon). +1. In Gordon's Toolkit, ensure Gordon's [Developer MCP toolkit is enabled](/manuals/ai/gordon/mcp/built-in-tools.md#configuration). +1. In the terminal, navigate to the directory containing your Dockerfile. +1. Start a conversation with Gordon: + ```bash + docker ai + ``` +1. Type: + ```console + "Migrate my dockerfile to DHI" + ``` +1. Follow the conversation with Gordon. When it requests access to the filesystem and more, + type `yes` to enable it to update your Dockerfile. + +When the migration is complete, you see a success message: + +```text +The migration to Docker Hardened Images (DHI) is complete. The updated Dockerfile +successfully builds the image, and no vulnerabilities were detected in the final image. +The functionality and optimizations of the original Dockerfile have been preserved. +``` + +> [!IMPORTANT] +> As with any AI tool, you must verify Gordon's edits and test your image. diff --git a/content/manuals/ai/gordon/_index.md b/content/manuals/ai/gordon/_index.md index 70e2c6a68a7b..403ff7a561dc 100644 --- a/content/manuals/ai/gordon/_index.md +++ b/content/manuals/ai/gordon/_index.md @@ -18,18 +18,22 @@ Ask Gordon is your personal AI assistant embedded in Docker Desktop and the Docker CLI. It's designed to streamline your workflow and help you make the most of the Docker ecosystem. -## What is Ask Gordon? +## Key features -Ask Gordon provides AI-powered assistance in Docker tools. It offers contextual help for tasks like: +Ask Gordon provides AI-powered assistance in Docker tools. It can: -- Improving Dockerfiles -- Running and troubleshooting containers -- Interacting with your images and code -- Finding vulnerabilities or configuration issues +- Improve Dockerfiles +- Run and troubleshoot containers +- Interact with your images and code +- Find vulnerabilities or configuration issues +- Migrate a Dockerfile to use [Docker Hardened Images](/manuals/dhi/_index.md) -It understands your local environment, including source code, Dockerfiles, and images, to provide personalized and actionable guidance. +It understands your local environment, including source code, Dockerfiles, and +images, to provide personalized and actionable guidance. -These features are not enabled by default, and are not +Ask Gordon remembers conversations, allowing you to switch topics more easily. + +Ask Gordon is not enabled by default, and is not production-ready. You may also encounter the term "Docker AI" as a broader reference to this technology. @@ -101,9 +105,10 @@ If you have concerns about data collection or usage, you can ## Using Ask Gordon -The primary interfaces to Docker's AI capabilities are through the **Ask -Gordon** view in Docker Desktop, or if you prefer to use the CLI: the `docker -ai` CLI command. +You can access Gordon: + +- In Docker Desktop, in the **Ask Gordon** view. +- Via the Docker CLI, with the `docker ai` CLI command. Once you've enabled the Docker AI features, you'll also find references to **Ask Gordon** in various other places throughout the Docker Desktop user interface. @@ -119,6 +124,7 @@ ways things you can try: - [Troubleshoot a crashed container](#troubleshoot-a-crashed-container) - [Get help with running a container](#get-help-with-running-a-container) - [Improve a Dockerfile](#improve-a-dockerfile) +- [Migrate a Dockerfile to DHI](#migrate-a-dockerfile-to-dhi) For more examples, try asking Gordon directly. For example: @@ -194,6 +200,17 @@ across several dimensions: - Portability - Resource efficiency +### Migrate a Dockerfile to DHI + +Migrating your Dockerfile to use [Docker Hardened Images](/manuals/dhi/_index.md) helps you build +more secure, minimal, and production-ready containers. DHIs are designed to +reduce vulnerabilities, enforce best practices, and simplify compliance, making +them a strong foundation for secure software supply chains. + +To request Gordon's help for the migration: + +{{% include "gordondhi.md" %}} + ## Disable Ask Gordon ### For individual users diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/images/copilot-mode.png b/content/manuals/ai/mcp-catalog-and-toolkit/images/copilot-mode.png new file mode 100644 index 000000000000..9ce6e961c5c6 Binary files /dev/null and b/content/manuals/ai/mcp-catalog-and-toolkit/images/copilot-mode.png differ diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/images/tools.png b/content/manuals/ai/mcp-catalog-and-toolkit/images/tools.png new file mode 100644 index 000000000000..4439dc4b5e1f Binary files /dev/null and b/content/manuals/ai/mcp-catalog-and-toolkit/images/tools.png differ diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md b/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md index 4ed97896ebcf..d06e7a946671 100644 --- a/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md +++ b/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md @@ -83,7 +83,9 @@ Security at runtime is enforced through resource and access limitations: 3. Select **Apply**. >[!NOTE] ->If you have the MCP Toolkit _extension_ installed, you can uninstall it. +> +> This feature started as the MCP Toolkit _extension_. This extension is now deprecated +>and should be uninstalled. ## Install an MCP server @@ -107,17 +109,16 @@ To install an MCP server: To learn more about the MCP server catalog, see [Catalog](catalog.md). -### Example: Use the GitHub MCP server +### Example: Use the **GitHub Official** MCP server Imagine you want to enable Ask Gordon to interact with your GitHub account: 1. From the **MCP Toolkit** menu, select the **Catalog** tab and find the **GitHub Official** server and add it. -2. In the server's **Config** tab, insert your token generated from - your [GitHub account](https://github.com/settings/personal-access-tokens). +2. In the server's **Config** tab, [connect via OAuth](#authenticate-via-oauth). 3. In the **Clients** tab, ensure Gordon is connected. 4. From the **Ask Gordon** menu, you can now send requests related to your - GitHub account, in accordance to the tools provided by the GitHub MCP server. To test it, ask Gordon: + GitHub account, in accordance to the tools provided by the GitHub Official server. To test it, ask Gordon: ```text What's my GitHub handle? @@ -145,7 +146,7 @@ You can simply install these 2 MCP servers in the MCP Toolkit, and add Claude Desktop as a client: 1. From the **MCP Toolkit** menu, select the **Catalog** tab and find the **Puppeteer** server and add it. -2. Repeat for the **GitHub** server. +2. Repeat for the **GitHub Official** server. 3. From the **Clients** tab, select **Connect** next to **Claude Desktop**. Restart Claude Desktop if it's running, and it can now access all the servers in the MCP Toolkit. 4. Within Claude Desktop, run a test by submitting the following prompt using the Sonnet 3.5 model: @@ -160,3 +161,74 @@ and add Claude Desktop as a client: ```text Take a screenshot of docs.docker.com and then invert the colors ``` + +### Example: Use Visual Studio Code as a client + +You can interact with all your installed MCP servers in VS Code: + +1. To enable the MCP Toolkit: + + + {{< tabs group="" >}} + {{< tab name="Enable globally">}} + + 1. Insert the following in your VS Code's User`settings.json`: + + ```json + "mcp": { + "servers": { + "MCP_DOCKER": { + "command": "docker", + "args": [ + "mcp", + "gateway", + "run" + ], + "type": "stdio" + } + } + } + ``` + + {{< /tab >}} + {{< tab name="Enable for a given project">}} + + 1. In your terminal, navigate to your project's folder. + 1. Run: + + ```bash + docker mcp client connect vscode + ``` + + > [!NOTE] + > This command creates a `.vscode/mcp.json` file in the current directory. We + > recommend you add it to your `.gitignore` file. + + {{< /tab >}} + {{}} + +1. In Visual Studio Code, open a new Chat and select the **Agent** mode: + + ![Copilot mode switching](./images/copilot-mode.png) + +1. You can also check the available MCP tools: + + ![Displaying tools in VSCode](./images/tools.png) + +For more information about the Agent mode, see the +[Visual Studio Code documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_use-mcp-tools-in-agent-mode). + +## Authenticate via OAuth + +You can connect the MCP Toolkit to your development workflow via +OAuth integration. For now, the MCP Toolkit only supports GitHub OAuth. + +1. On https://github.com/, ensure you are signed in. +1. In Docker Desktop, select **MCP Toolkit** and select the **OAuth** tab. +1. In the GitHub entry, select **Authorize**. Your browser opens the GitHub authorization page. +1. In the GitHub authorization page, select **Authorize Docker**. Once the authorization + is successful, you are automatically redirected to Docker Desktop. +1. Install the **GitHub Official** MCP server, see [Install an MCP server](#install-an-mcp-server). + +The MCP Toolkit now has access to your GitHub account. To revoke access, select **Revoke** in the **OAuth** tab. +See an example in [Use the **GitHub Official** MCP server](#example-use-the-github-official-mcp-server). diff --git a/content/manuals/ai/model-runner/_index.md b/content/manuals/ai/model-runner/_index.md index 67bbeec537df..a8856783577e 100644 --- a/content/manuals/ai/model-runner/_index.md +++ b/content/manuals/ai/model-runner/_index.md @@ -90,21 +90,25 @@ Models are pulled from Docker Hub the first time they're used and stored locally ### Enable DMR in Docker Desktop - -1. Navigate to the **Beta features** tab in settings. -2. Tick the **Enable Docker Model Runner** setting. -3. If you are running on Windows with a supported NVIDIA GPU, you should also see and be able to tick the **Enable GPU-backed inference** setting. +1. In the settings view, navigate to the **Beta features** tab. +1. Tick the **Enable Docker Model Runner** setting. +1. If you are running on Windows with a supported NVIDIA GPU, you should also see and be able to tick the **Enable GPU-backed inference** setting. +1. Optional: If you want to enable TCP support, select the **Enable host-side TCP support** + 1. In the **Port** field, type the port of your choice. + 1. If you are interacting with Model Runner from a local frontend web app, + in **CORS Allows Origins**, select the origins that Model Runner should accept requests from. + An origin is the URL where your web app is running, for example `http://localhost:3131`. You can now use the `docker model` command in the CLI and view and interact with your local models in the **Models** tab in the Docker Desktop Dashboard. > [!IMPORTANT] > -> For Docker Desktop versions 4.41 and earlier, this settings lived under the **Experimental features** tab on the **Features in development** page. +> For Docker Desktop versions 4.41 and earlier, this setting lived under the **Experimental features** tab on the **Features in development** page. ### Enable DMR in Docker Engine 1. Ensure you have installed [Docker Engine](/engine/install/). -2. DMR is available as a package. To install it, run: +1. DMR is available as a package. To install it, run: {{< tabs >}} {{< tab name="Ubuntu/Debian">}} @@ -125,13 +129,19 @@ You can now use the `docker model` command in the CLI and view and interact with {{< /tab >}} {{< /tabs >}} -3. Test the installation: +1. Test the installation: ```console $ docker model version $ docker model run ai/smollm2 ``` +1. Optional: To enable TCP support, set the port with the `DMR_RUNNER_PORT` environment variable. +1. Optional: If you enabled TCP support, you can configure CORS allowed origins with the `DMR_ORIGINS` environment variable. Possible values are: + - `*`: Allow all origins + - Comma-separated list of allowed origins + - When unspecified, all origins are denied. + ## Pull a model Models are cached locally. @@ -144,7 +154,9 @@ Models are cached locally. {{< tab name="From Docker Desktop">}} 1. Select **Models** and select the **Docker Hub** tab. -2. Find the model of your choice and select **Pull**. +1. Find the model of your choice and select **Pull**. + +![screencapture of the Docker Hub view](./images/dmr-catalog.png) {{< /tab >}} {{< tab name="From the Docker CLI">}} @@ -167,8 +179,10 @@ docker model pull hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF {{< tabs group="release" >}} {{< tab name="From Docker Desktop">}} -Select **Models** and select the **Local** tab and click the play button. -The interactive chat screen opens. +1. Select **Models** and select the **Local** tab +1. Click the play button. The interactive chat screen opens. + +![screencapture of the Local view](./images/dmr-run.png) {{< /tab >}} {{< tab name="From the Docker CLI" >}} @@ -187,6 +201,8 @@ To troubleshoot potential issues, display the logs: Select **Models** and select the **Logs** tab. +![screencapture of the Models view](./images/dmr-logs.png) + {{< /tab >}} {{< tab name="From the Docker CLI">}} @@ -201,7 +217,7 @@ Use the [`docker model logs` command](/reference/cli/docker/model/logs/). > > This works for any Container Registry supporting OCI Artifacts, not only Docker Hub. -You can tag existing models with a new name and publish them under a different namespace and repository: +You can tag existing models with a new name and publish them under a different namespaceand repository: ```console # Tag a pulled model under a new name diff --git a/content/manuals/ai/model-runner/images/dmr-catalog.png b/content/manuals/ai/model-runner/images/dmr-catalog.png new file mode 100644 index 000000000000..15d8bd04df11 Binary files /dev/null and b/content/manuals/ai/model-runner/images/dmr-catalog.png differ diff --git a/content/manuals/ai/model-runner/images/dmr-logs.png b/content/manuals/ai/model-runner/images/dmr-logs.png new file mode 100644 index 000000000000..e2b2289e9886 Binary files /dev/null and b/content/manuals/ai/model-runner/images/dmr-logs.png differ diff --git a/content/manuals/ai/model-runner/images/dmr-run.png b/content/manuals/ai/model-runner/images/dmr-run.png new file mode 100644 index 000000000000..c12b3bd5fdd4 Binary files /dev/null and b/content/manuals/ai/model-runner/images/dmr-run.png differ diff --git a/content/manuals/dhi/features/integration.md b/content/manuals/dhi/features/integration.md index 9ab6340ff2c2..b33a20ad8166 100644 --- a/content/manuals/dhi/features/integration.md +++ b/content/manuals/dhi/features/integration.md @@ -78,4 +78,4 @@ and CI to scanning and deployment. They: - Include security metadata that plugs into your existing compliance systems This means you can adopt stronger security controls without disrupting your -engineering workflows. \ No newline at end of file +engineering workflows. diff --git a/content/manuals/dhi/how-to/migrate.md b/content/manuals/dhi/how-to/migrate.md index ba1710767f23..22b1d825d35f 100644 --- a/content/manuals/dhi/how-to/migrate.md +++ b/content/manuals/dhi/how-to/migrate.md @@ -9,7 +9,9 @@ keywords: migrate dockerfile, hardened base image, multi-stage build, non-root c {{< summary-bar feature_name="Docker Hardened Images" >}} This guide helps you migrate your existing Dockerfiles to use Docker Hardened -Images (DHIs). DHIs are minimal and security-focused, which may require +Images (DHIs) [manually](#step-1-update-the-base-image-in-your-dockerfile), +or with [Gordon](#use-gordon). +DHIs are minimal and security-focused, which may require adjustments to your base images, build process, and runtime configuration. This guide focuses on migrating framework images, such as images for building @@ -240,3 +242,10 @@ ENTRYPOINT [ "python", "/app/image.py" ] {{< /tab >}} {{< /tabs >}} + +### Use Gordon + +Alternatively, you can request assistance to +[Gordon](/manuals/ai/gordon/_index.md), Docker's AI-powered assistant, to migrate your Dockerfile: + +{{% include "gordondhi.md" %}} diff --git a/content/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md b/content/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md index ca2cc9f25a06..532585c45533 100644 --- a/content/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md +++ b/content/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md @@ -312,14 +312,16 @@ For more information, see [Networking](/manuals/desktop/features/networking.md#n > > For Docker Desktop versions 4.41 and earlier, some of these settings lived under the **Experimental features** tab on the **Features in development** page. -| Parameter | OS | Description | Version | -|:----------------------------|----|:--------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| -| `allowBetaFeatures` | | If `value` is set to `true`, beta features are enabled. | | -| `enableDockerAI` | | If `allowBetaFeatures` is true, setting `enableDockerAI` to `true` enables [Docker AI (Ask Gordon)](/manuals/ai/gordon/_index.md) by default. You can independently control this setting from the `allowBetaFeatures` setting. | | -| `enableInference` | | If `allowBetaFeatures` is true, setting `enableInference` to `true` enables [Docker Model Runner](/manuals/ai/model-runner/_index.md) by default. You can independently control this setting from the `allowBetaFeatures` setting. | | -|         `enableInferenceTCP` | | Enable host-side TCP support. This setting requires Docker Model Runner setting to be enabled first. | | -| `enableDockerMCPToolkit` | | If `allowBetaFeatures` is true, setting `enableDockerMCPToolkit` to `true` enables the [MCP toolkit feature](/manuals/ai/mcp-catalog-and-toolkit/toolkit.md) by default. You can independently control this setting from the `allowBetaFeatures` setting. | | -| `allowExperimentalFeatures` | | If `value` is set to `true`, experimental features are enabled. | Docker Desktop version 4.41 and earlier | +| Parameter | OS | Description | Version | +|:-----------------------------------------------------|----|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| +| `allowBetaFeatures` | | If `value` is set to `true`, beta features are enabled. | | +| `enableDockerAI` | | If `allowBetaFeatures` is true, setting `enableDockerAI` to `true` enables [Docker AI (Ask Gordon)](/manuals/ai/gordon/_index.md) by default. You can independently control this setting from the `allowBetaFeatures` setting. | | +| `enableInference` | | If `allowBetaFeatures` is true, setting `enableInference` to `true` enables [Docker Model Runner](/manuals/ai/model-runner/_index.md) by default. You can independently control this setting from the `allowBetaFeatures` setting. | | +|         `enableInferenceTCP` | | Enable host-side TCP support. This setting requires Docker Model Runner setting to be enabled first. | | +|         `enableInferenceTCPPort` | | Specifies the exposed TCP port. This setting requires Docker Model Runner setting to be enabled first. | | +|         `enableInferenceCORS` | | Specifies the allowed CORS origins. Empty string to deny all,`*` to accept all, or a list of comma-separated values. This setting requires Docker Model Runner setting to be enabled first. | | +| `enableDockerMCPToolkit` | | If `allowBetaFeatures` is true, setting `enableDockerMCPToolkit` to `true` enables the [MCP toolkit feature](/manuals/ai/mcp-catalog-and-toolkit/toolkit.md) by default. You can independently control this setting from the `allowBetaFeatures` setting. | | +| `allowExperimentalFeatures` | | If `value` is set to `true`, experimental features are enabled. | Docker Desktop version 4.41 and earlier | ### Enhanced Container Isolation diff --git a/content/manuals/security/for-admins/hardened-desktop/settings-management/settings-reference.md b/content/manuals/security/for-admins/hardened-desktop/settings-management/settings-reference.md index 0d3403a89623..4bb18edb3b82 100644 --- a/content/manuals/security/for-admins/hardened-desktop/settings-management/settings-reference.md +++ b/content/manuals/security/for-admins/hardened-desktop/settings-management/settings-reference.md @@ -795,7 +795,7 @@ third-party or unvetted plugins from being installed. - **Beta** settings in [Docker Desktop GUI](/manuals/desktop/settings-and-maintenance/settings.md) - Settings Management: `enableDockerAI` setting in the [`admin-settings.json` file](/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md) -### Enable host-side TCP support +#### Enable host-side TCP support | Default value | Accepted values | Format | |---------------|-----------------|----------| @@ -808,11 +808,36 @@ third-party or unvetted plugins from being installed. - **Beta** settings in [Docker Desktop GUI](/manuals/desktop/settings-and-maintenance/settings.md) - Settings Management: `enableDockerAI` setting in the [`admin-settings.json` file](/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md) - > [!NOTE] > > This setting requires Docker Model Runner setting to be enabled first. +##### Port + +| Default value | Accepted values | Format | +|---------------|-----------------|---------| +| 12434 | Integer | Integer | + +- **Description:** Specifies the exposed TCP port. +- **OS:** {{< badge color=blue text="All" >}} +- **Use case:** Connect to the Model Runner via TCP. +- **Configure this setting with:** + - **Beta features** settings in [Docker Desktop GUI](/manuals/desktop/settings-and-maintenance/settings.md) + - Settings Management: `enableInferenceTCP` setting in the [`admin-settings.json` file](/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md) + +##### CORS Allowed Origins + +| Default value | Accepted values | Format | +|---------------|---------------------------------------------------------------------------------|--------| +| Empty string | Empty string to deny all,`*` to accept all, or a list of comma-separated values | String | + +- **Description:** Specifies the allowed CORS origins. +- **OS:** {{< badge color=blue text="All" >}} +- **Use case:** Integration with a web app. +- **Configure this setting with:** + - **Beta features** settings in [Docker Desktop GUI](/manuals/desktop/settings-and-maintenance/settings.md) + - Settings Management: `enableInferenceCORS` setting in the [`admin-settings.json` file](/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md) + ### Enable Docker MCP Toolkit | Default value | Accepted values | Format | @@ -1127,4 +1152,4 @@ overrides are possible. - **OS:** {{< badge color=blue text="All" >}} - **Use case:** Allow users to authenticate with enterprise proxy servers that require Kerberos or NTLM. - **Configure this setting with:** - - Settings Management: `proxy.enableKerberosNtlm` in the [`admin-settings.json` file](/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md) \ No newline at end of file + - Settings Management: `proxy.enableKerberosNtlm` in the [`admin-settings.json` file](/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md) diff --git a/go.mod b/go.mod index a5a81b7bc8f0..aa8e1fe6b153 100644 --- a/go.mod +++ b/go.mod @@ -3,20 +3,110 @@ module github.com/docker/docs go 1.24.0 require ( + github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect + github.com/StackExchange/wmi v1.2.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect + github.com/containerd/containerd/v2 v2.1.3 // indirect + github.com/containerd/errdefs v1.0.0 // indirect + github.com/containerd/errdefs/pkg v0.3.0 // indirect + github.com/containerd/log v0.1.0 // indirect + github.com/containerd/platforms v1.0.0-rc.1 // indirect + github.com/containerd/stargz-snapshotter/estargz v0.16.3 // indirect + github.com/containerd/typeurl/v2 v2.2.3 // indirect + github.com/distribution/reference v0.6.0 // indirect github.com/docker/buildx v0.25.0 // indirect github.com/docker/cli v28.3.0+incompatible // indirect github.com/docker/compose/v2 v2.38.1 // indirect - github.com/docker/model-cli v0.1.26-0.20250527144806-15d0078a3c01 // indirect + github.com/docker/distribution v2.8.3+incompatible // indirect + github.com/docker/docker v28.3.0+incompatible // indirect + github.com/docker/docker-credential-helpers v0.9.3 // indirect + github.com/docker/go-connections v0.5.0 // indirect + github.com/docker/go-units v0.5.0 // indirect + github.com/docker/model-cli v0.1.33-0.20250703103301-d4e4936a9eb2 // indirect + github.com/docker/model-distribution v0.0.0-20250627163720-aff34abcf3e0 // indirect + github.com/docker/model-runner v0.0.0-20250627142917-26a0a73fbbc0 // indirect github.com/docker/scout-cli v1.15.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/fvbommel/sortorder v1.1.0 // indirect + github.com/go-logr/logr v1.4.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/google/go-containerregistry v0.20.6 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/gpustack/gguf-parser-go v0.14.1 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect + github.com/henvic/httpretty v0.1.4 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jaypipes/ghw v0.17.0 // indirect + github.com/jaypipes/pcidb v1.0.1 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/compress v1.18.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.16 // indirect + github.com/mattn/go-shellwords v1.0.12 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/moby/buildkit v0.23.1 // indirect + github.com/moby/docker-image-spec v1.3.1 // indirect + github.com/moby/locker v1.0.1 // indirect github.com/moby/moby v28.3.0+incompatible // indirect + github.com/moby/sys/atomicwriter v0.1.0 // indirect + github.com/moby/sys/sequential v0.6.0 // indirect + github.com/moby/term v0.5.2 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/morikuni/aec v1.0.0 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/nxadm/tail v1.4.8 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.1.1 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/prometheus/client_model v0.6.2 // indirect + github.com/prometheus/common v0.65.0 // indirect + github.com/rivo/uniseg v0.4.7 // indirect + github.com/rs/dnscache v0.0.0-20230804202142-fc85eb664529 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect + github.com/smallnest/ringbuffer v0.0.0-20241116012123-461381446e3d // indirect + github.com/spf13/cobra v1.9.1 // indirect + github.com/spf13/pflag v1.0.6 // indirect + github.com/vbatts/tar-split v0.12.1 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect + go.opentelemetry.io/otel v1.37.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0 // indirect + go.opentelemetry.io/otel/metric v1.37.0 // indirect + go.opentelemetry.io/otel/sdk v1.37.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.37.0 // indirect + go.opentelemetry.io/otel/trace v1.37.0 // indirect + go.opentelemetry.io/proto/otlp v1.5.0 // indirect + golang.org/x/crypto v0.39.0 // indirect + golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect + golang.org/x/sync v0.15.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.26.0 // indirect + golang.org/x/tools v0.34.0 // indirect + gonum.org/v1/gonum v0.15.1 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250324211829-b45e905df463 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e // indirect + google.golang.org/grpc v1.73.0 // indirect + google.golang.org/protobuf v1.36.6 // indirect + gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + howett.net/plist v1.0.1 // indirect ) replace ( github.com/docker/buildx => github.com/docker/buildx v0.24.0 github.com/docker/cli => github.com/docker/cli v28.3.0+incompatible github.com/docker/compose/v2 => github.com/docker/compose/v2 v2.38.1 - github.com/docker/model-cli => github.com/docker/model-cli v0.1.26-0.20250527144806-15d0078a3c01 + github.com/docker/model-cli => github.com/docker/model-cli v0.1.33-0.20250703103301-d4e4936a9eb2 github.com/docker/scout-cli => github.com/docker/scout-cli v1.15.0 github.com/moby/buildkit => github.com/moby/buildkit v0.22.0 github.com/moby/moby => github.com/moby/moby v28.3.0+incompatible diff --git a/go.sum b/go.sum index df1e53270dbb..8cc862e0fd7d 100644 --- a/go.sum +++ b/go.sum @@ -2,12 +2,22 @@ github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEK github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA= +github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/containerd/containerd/v2 v2.1.3 h1:eMD2SLcIQPdMlnlNF6fatlrlRLAeDaiGPGwmRKLZKNs= +github.com/containerd/containerd/v2 v2.1.3/go.mod h1:8C5QV9djwsYDNhxfTCFjWtTBZrqjditQ4/ghHSYjnHM= github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= + +github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/platforms v1.0.0-rc.1 h1:83KIq4yy1erSRgOVHNk1HYdPvzdJ5CnsWaRoJX4C41E= +github.com/containerd/platforms v1.0.0-rc.1/go.mod h1:J71L7B+aiM5SdIEqmd9wp6THLVRzJGXfNuWCZCllLA4= + github.com/ArthurFlag/model-cli v0.0.0-20250516101226-5b9cc2a0d4e0 h1:MorqPrU3OQSTJpMiTPI6wlbIYyTgRQnaC9zw4fqDe/A= github.com/ArthurFlag/model-cli v0.0.0-20250516101226-5b9cc2a0d4e0/go.mod h1:0CRZM7BMEwLD9btoek+YN2n2f/D7idhNLi/2o/LtKwg= github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= @@ -53,9 +63,12 @@ github.com/compose-spec/compose-spec v0.0.0-20230927132538-f223c5150d5d/go.mod h github.com/compose-spec/compose-spec v0.0.0-20231121152139-478928e7c9f8 h1:WQU6c3MGdIxVcDRC+Qstk9bJuYvHLvbyfkN8fStL1Qk= github.com/compose-spec/compose-spec v0.0.0-20231121152139-478928e7c9f8/go.mod h1:SkxF2HOKkzpp+mNdvGONzi3g2shI/M94GkMgsE0JLuk= github.com/containerd/fuse-overlayfs-snapshotter v1.0.2/go.mod h1:nRZceC8a7dRm3Ao6cJAwuJWPFiBPaibHiFntRUnzhwU= + github.com/containerd/stargz-snapshotter v0.16.3 h1:zbQMm8dRuPHEOD4OqAYGajJJUwCeUzt4j7w9Iaw58u4= github.com/containerd/stargz-snapshotter/estargz v0.16.3 h1:7evrXtoh1mSbGj/pfRccTampEyKpjpOnS3CyiV1Ebr8= github.com/containerd/stargz-snapshotter/estargz v0.16.3/go.mod h1:uyr4BfYfOj3G9WBVE8cOlQmXAbPN9VEQpBBeJIuOipU= +github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40= +github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -153,6 +166,8 @@ github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBi github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v28.2.2+incompatible h1:CjwRSksz8Yo4+RmQ339Dp/D2tGO5JxwYeqtMOEe0LDw= github.com/docker/docker v28.2.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v28.3.0+incompatible h1:ffS62aKWupCWdvcee7nBU9fhnmknOqDPaJAMtfK0ImQ= +github.com/docker/docker v28.3.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqIjCBS4wrsOh9yRqcz8= github.com/docker/docker-credential-helpers v0.9.3/go.mod h1:x+4Gbw9aGmChi3qTLZj8Dfn0TD20M/fuWy0E5+WDeCo= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= @@ -163,6 +178,12 @@ github.com/docker/model-cli v0.1.26-0.20250527144806-15d0078a3c01 h1:UL/07fs6IEd github.com/docker/model-cli v0.1.26-0.20250527144806-15d0078a3c01/go.mod h1:1YlKTiA19vEhbmM8EiJVPUFvRifBBI1S3sBpOt6Gbl4= github.com/docker/model-cli v0.1.26-0.20250529165100-f4b458125149 h1:uOLJ8d/isN/mqvr5rEFHVL3pBAWvnjfEEcvPLHJ2JSI= github.com/docker/model-cli v0.1.26-0.20250529165100-f4b458125149/go.mod h1:1YlKTiA19vEhbmM8EiJVPUFvRifBBI1S3sBpOt6Gbl4= + +github.com/docker/model-cli v0.1.32 h1:iBYi2SS8ubv18wbhN04cKlds6Bc7VoEKJ11S+R0eFGo= +github.com/docker/model-cli v0.1.32/go.mod h1:2w/B+oBs0aEPbmfdGM+NKy/HURJGDAzECTIKiRaj5Rg= +github.com/docker/model-cli v0.1.33-0.20250703103301-d4e4936a9eb2 h1:gYGGGdufX1uPWCYUDYO05nKWKBsJxvwvYlxMT0Yk74Y= +github.com/docker/model-cli v0.1.33-0.20250703103301-d4e4936a9eb2/go.mod h1:2w/B+oBs0aEPbmfdGM+NKy/HURJGDAzECTIKiRaj5Rg= + github.com/docker/docker v28.1.1+incompatible h1:49M11BFLsVO1gxY9UX9p/zwkE/rswggs8AdFmXQw51I= github.com/docker/docker v28.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqIjCBS4wrsOh9yRqcz8= @@ -180,10 +201,15 @@ github.com/docker/model-cli v0.1.25-0.20250521141517-0ef53e8909a1 h1:NRn6pmK6gG+ github.com/docker/model-cli v0.1.25-0.20250521141517-0ef53e8909a1/go.mod h1:1YlKTiA19vEhbmM8EiJVPUFvRifBBI1S3sBpOt6Gbl4= github.com/docker/model-cli v0.1.26-0.20250527144806-15d0078a3c01 h1:UL/07fs6IEdRWWkK+GRvmSTZM+9fugWzEeo2vdGIPoE= github.com/docker/model-cli v0.1.26-0.20250527144806-15d0078a3c01/go.mod h1:1YlKTiA19vEhbmM8EiJVPUFvRifBBI1S3sBpOt6Gbl4= + github.com/docker/model-distribution v0.0.0-20250512190053-b3792c042d57 h1:ZqfKknb+0/uJid8XLFwSl/osjE+WuS6o6I3dh3ZqO4U= github.com/docker/model-distribution v0.0.0-20250512190053-b3792c042d57/go.mod h1:dThpO9JoG5Px3i+rTluAeZcqLGw8C0qepuEL4gL2o/c= +github.com/docker/model-distribution v0.0.0-20250627163720-aff34abcf3e0 h1:bve4JZI06Admw+NewtPfrpJXsvRnGKTQvBOEICNC1C0= +github.com/docker/model-distribution v0.0.0-20250627163720-aff34abcf3e0/go.mod h1:dThpO9JoG5Px3i+rTluAeZcqLGw8C0qepuEL4gL2o/c= github.com/docker/model-runner v0.0.0-20250512190413-96af7b750f88 h1:NkiizYL67HsCnnlEU6BQVoeiC1bAAyJFxw02bO7JC4E= github.com/docker/model-runner v0.0.0-20250512190413-96af7b750f88/go.mod h1:Nw+rx6RRPNdProEb9/BVJyAQn63px6WWlOv+eEpkV7Q= +github.com/docker/model-runner v0.0.0-20250627142917-26a0a73fbbc0 h1:yajuhlGe1xhpWW3eMehQi2RrqiBQiGoi6c6OWiPxMaQ= +github.com/docker/model-runner v0.0.0-20250627142917-26a0a73fbbc0/go.mod h1:vZJiUZH/7O1CyNsEGi1o4khUT4DVRjcwluuamU9fhuM= github.com/docker/scout-cli v1.15.0 h1:VhA9niVftEyZ9f5KGwKnrSfQOp2X3uIU3VbE/gTVMTM= github.com/docker/scout-cli v1.15.0/go.mod h1:Eo1RyCJsx3ldz/YTY5yGxu9g9mwTYbRUutxQUkow3Fc= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -191,6 +217,10 @@ github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= + +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= + github.com/docker/scout-cli v0.16.1 h1:kIcWkaA+cEwnC0nIjNlc8dnlXbV4D8Vyu3yrRUPB9xs= github.com/docker/scout-cli v0.16.1/go.mod h1:Eo1RyCJsx3ldz/YTY5yGxu9g9mwTYbRUutxQUkow3Fc= github.com/docker/scout-cli v0.16.2-0.20230623100159-43178dbabf53 h1:FA7tj4Bnu+jFJdwB5D6CCGTYvLfNkjGqjvvZmg3fcLc= @@ -247,17 +277,25 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/fvbommel/sortorder v1.0.1/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= + github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-containerregistry v0.20.3 h1:oNx7IdTI936V8CQRveCjaxOiegWwvM7kqkbXTpyiovI= github.com/google/go-containerregistry v0.20.3/go.mod h1:w00pIgBRDVUDFM6bq+Qx8lwNWK+cxgCuX1vd3PIBDNI= +github.com/google/go-containerregistry v0.20.6 h1:cvWX87UxxLgaH76b4hIvya6Dzz9qHB31qAwjAohdSTU= +github.com/google/go-containerregistry v0.20.6/go.mod h1:T0x8MuoAoKX/873bkeSfLD2FAkwCDf9/HZgsFJ02E2Y= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -290,6 +328,11 @@ github.com/henvic/httpretty v0.1.4 h1:Jo7uwIRWVFxkqOnErcoYfH90o3ddQyVrSANeS4cxYm github.com/henvic/httpretty v0.1.4/go.mod h1:Dn60sQTZfbt2dYsdUSNsCljyF4AfdqnuJFDLJA1I4AM= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jaypipes/ghw v0.17.0 h1:EVLJeNcy5z6GK/Lqby0EhBpynZo+ayl8iJWY0kbEUJA= +github.com/jaypipes/ghw v0.17.0/go.mod h1:In8SsaDqlb1oTyrbmTC14uy+fbBMvp+xdqX51MidlD8= +github.com/jaypipes/pcidb v1.0.1 h1:WB2zh27T3nwg8AE8ei81sNRb9yWBii3JGNJtT7K9Oic= +github.com/jaypipes/pcidb v1.0.1/go.mod h1:6xYUz/yYEyOkIkUt2t2J2folIuZ4Yg6uByCGFXMCeE4= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jaguilar/vt100 v0.0.0-20150826170717-2703a27b14ea/go.mod h1:QMdK4dGB3YhEW2BmA1wgGpPYI3HZy/5gD705PXKUVSg= @@ -302,16 +345,25 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= + +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= + github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= + github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/moby/buildkit v0.22.0 h1:aWN06w1YGSVN1XfeZbj2ZbgY+zi5xDAjEFI8Cy9fTjA= github.com/moby/buildkit v0.22.0/go.mod h1:j4pP5hxiTWcz7xuTK2cyxQislHl/N2WWHzOy43DlLJw= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/moby v28.2.1+incompatible h1:UYmHExYP8S0uGKDozhYw7RJ+LpANL51g4fa3qT0Q2GA= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/moby v24.0.2+incompatible h1:yH+5dRHH1x3XRKzl1THA2aGTy6CHYnkt5N924ADMax8= @@ -380,6 +432,10 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= + +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= + + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -404,6 +460,10 @@ github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= +github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -439,8 +499,12 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSG go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 h1:Hf9xI/XLML9ElpiHVDNwvqI0hIFlzV8dgIr35kV1kRU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0/go.mod h1:NfchwuyNoMcZ5MLHwPrODwUF1HWCXWrL31s8gSAdIKY= go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= +go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0 h1:ajl4QczuJVA2TU9W9AGw++86Xga/RKt//16z/yxPgdk= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0/go.mod h1:Vn3/rlOJ3ntf/Q3zAI0V5lDnTbHGaUsNUeF6nZmm7pA= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 h1:1fTNlAIJZGWLP5FVu0fikVry1IsiUnXjf7QFvoNN3Xw= @@ -455,18 +519,29 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0 h1:m639+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0/go.mod h1:LjReUci/F4BUyv+y4dwnq3h/26iNOeC3wAIqgvTIZVo= go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= +go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= +go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= + +go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= +go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= + go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= + go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o= go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= +go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= +go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= +go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -474,41 +549,56 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= +golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= +golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM= golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -517,15 +607,26 @@ gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= google.golang.org/genproto/googleapis/api v0.0.0-20250219182151-9fdb1cabc7b2 h1:35ZFtrCgaAjF7AFAK0+lRSf+4AyYnWRbH7og13p7rZ4= google.golang.org/genproto/googleapis/api v0.0.0-20250219182151-9fdb1cabc7b2/go.mod h1:W9ynFDP/shebLB1Hl/ESTOap2jHd6pmLXPNZC7SVDbA= +google.golang.org/genproto/googleapis/api v0.0.0-20250324211829-b45e905df463 h1:hE3bRWtU6uceqlh4fhrSnUyjKHMKB9KrTLLG+bc0ddM= +google.golang.org/genproto/googleapis/api v0.0.0-20250324211829-b45e905df463/go.mod h1:U90ffi8eUL9MwPcrJylN5+Mk2v3vuPDptd5yyNUiRR8= google.golang.org/genproto/googleapis/rpc v0.0.0-20250219182151-9fdb1cabc7b2 h1:DMTIbak9GhdaSxEjvVzAeNZvyc03I61duqNbnm3SU0M= google.golang.org/genproto/googleapis/rpc v0.0.0-20250219182151-9fdb1cabc7b2/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e h1:ztQaXfzEXTmCBvbtWYRhJxW+0iJcz2qXfd38/e9l7bA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok= +google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= + +gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg= + google.golang.org/grpc v1.72.0 h1:S7UkcVa60b5AAQTaO6ZKamFp1zMZSU0fGDK2WZLbBnM= google.golang.org/grpc v1.72.0/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= @@ -542,5 +643,9 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= + gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +howett.net/plist v1.0.1 h1:37GdZ8tP09Q35o9ych3ehygcsL+HqKSwzctveSlarvM= +howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g=