<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Containerizing on William Denniss</title>
    <link>https://dev.wdenniss.com/ap/3-containerizing/</link>
    <description>Recent content in Containerizing on William Denniss</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 20 Jun 2026 20:39:04 +0000</lastBuildDate>
    <atom:link href="https://dev.wdenniss.com/ap/3-containerizing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Containerizing an ADK agent</title>
      <link>https://dev.wdenniss.com/ap/3-containerizing/3.1-adk-container/</link>
      <pubDate>Sat, 20 Jun 2026 20:39:04 +0000</pubDate>
      <guid>https://dev.wdenniss.com/ap/3-containerizing/3.1-adk-container/</guid>
      <description>&lt;p&gt;So far we’ve run the trading agent two ways: locally with &lt;code&gt;adk run&lt;/code&gt;, and &lt;a href=&#34;https://dev.wdenniss.com/ap/1-agent/1.2-deploy-to-ap-runtime/&#34;&gt;deployed to Agent Platform runtime&lt;/a&gt; with a little Python script that packages the code and hosts it for us. Both are handy, but in each case something else is deciding how your agent gets hosted. Sometimes you just want a plain container — one image you can run on your laptop today, and on Cloud Run, GKE, or Agent Platform runtime (in bring-your-own-container mode) tomorrow. Same artifact, runs anywhere Docker does.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agent Container for Agent Platform runtime</title>
      <link>https://dev.wdenniss.com/ap/3-containerizing/3.5-container-for-ap-runtime/</link>
      <pubDate>Mon, 15 Jun 2026 18:39:04 +0000</pubDate>
      <guid>https://dev.wdenniss.com/ap/3-containerizing/3.5-container-for-ap-runtime/</guid>
      <description></description>
    </item>
    <item>
      <title>Deploy Agent Container to Agent Platform runtime</title>
      <link>https://dev.wdenniss.com/ap/3-containerizing/3.6-deploy-container-to-ap-runtime/</link>
      <pubDate>Mon, 15 Jun 2026 18:39:04 +0000</pubDate>
      <guid>https://dev.wdenniss.com/ap/3-containerizing/3.6-deploy-container-to-ap-runtime/</guid>
      <description></description>
    </item>
    <item>
      <title>Deploy an ADK Agent container to Cloud Run</title>
      <link>https://dev.wdenniss.com/ap/3-containerizing/3.3-deploy-to-cloud-run/</link>
      <pubDate>Mon, 15 Jun 2026 18:39:04 +0000</pubDate>
      <guid>https://dev.wdenniss.com/ap/3-containerizing/3.3-deploy-to-cloud-run/</guid>
      <description></description>
    </item>
    <item>
      <title>Deploy an ADK Agent container to GKE</title>
      <link>https://dev.wdenniss.com/ap/3-containerizing/3.4-deploy-to-gke/</link>
      <pubDate>Mon, 15 Jun 2026 18:39:04 +0000</pubDate>
      <guid>https://dev.wdenniss.com/ap/3-containerizing/3.4-deploy-to-gke/</guid>
      <description></description>
    </item>
    <item>
      <title>Creating an Agent Platform resource identifier</title>
      <link>https://dev.wdenniss.com/ap/3-containerizing/3.2-creating-an-ap-resource/</link>
      <pubDate>Tue, 09 Jun 2026 13:54:14 -0700</pubDate>
      <guid>https://dev.wdenniss.com/ap/3-containerizing/3.2-creating-an-ap-resource/</guid>
      <description>&lt;p&gt;To use Agent Platform services like Memory Bank, and Sessions from other environments, you need to first create a resource that is currently known as an “agent engine”.&lt;/p&gt;&#xA;&lt;p&gt;Note: if you are familiar with the Python ADK libraries, you can follow &lt;a href=&#34;https://clouddocs.devsite.corp.google.com/gemini-enterprise-agent-platform/scale/memory-bank/setup#setup-sdk-client&#34;&gt;these instructions&lt;/a&gt; instead, to create an instance via the SDK.&lt;/p&gt;&#xA;&lt;p&gt;Here’s a single API call to create a resource identifier that you can use right away:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 1. Set your variables&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_ID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;gcloud config get-value project&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;LOCATION&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;us-west1&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# Replace with your target region&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RESOURCE_DISPLAY_NAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;My Memory Bank&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 2. Execute the REST API request&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -X POST &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -H &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Authorization: Bearer &lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;gcloud auth print-access-token&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -H &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;LOCATION&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;-aiplatform.googleapis.com/v1/projects/&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROJECT_ID&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/locations/&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;LOCATION&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/reasoningEngines&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    \&amp;#34;displayName\&amp;#34;: \&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;RESOURCE_DISPLAY_NAME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;\&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  }&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The creation returns immediately with an operation id, and executes async, you can query the API with the operation, or look up the Deployments UI to get the resource.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
