Skip to content

Commit

Permalink
Update unreleased documentation (#509)
Browse files Browse the repository at this point in the history
* Update versions.json

* Deployed dd6500b to unreleased in versions with MkDocs 1.5.3 and mike 2.0.0

* Sort docs versions

---------

Co-authored-by: GitHub Actions Bot <[email protected]>
  • Loading branch information
github-actions[bot] and GitHub Actions Bot authored Dec 14, 2023
1 parent f6d9a79 commit 19cd8f4
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 22 deletions.
71 changes: 50 additions & 21 deletions versions/unreleased/guides/deployment/push-work-pools/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7416,41 +7416,70 @@ <h3 id="automatically-creating-a-new-push-work-pool-and-provisioning-infrastruct
</code></pre></div>
</div></p>
<p>Using the <code>--provision-infra</code> flag will automatically set up your default Azure account to be ready to execute flows via Azure Container Instances.
In your Azure account, this command will create a resource group, app registration, service account with necessary permission, generate a secret for the app registration, and create an Azure Container Instance, if they don't already exist.
In your Azure account, this command will create a resource group, app registration, service account with necessary permission, generate a secret for the app registration, and create an Azure Container Registry, if they don't already exist.
In your Prefect workspace, this command will create an <a href="https://prefecthq.github.io/prefect-azure/credentials/#prefect_azure.credentials.AzureContainerInstanceCredentials"><code>AzureContainerInstanceCredentials</code> block</a> for storing the client secret value from the generated secret.</p>
<p>Here's an abbreviated example output from running the command:</p>
<div class="terminal">
<div class="highlight"><pre><span></span><code>╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
<span class="w"> </span>Provisioning<span class="w"> </span>infrastructure<span class="w"> </span><span class="k">for</span><span class="w"> </span>your<span class="w"> </span>work<span class="w"> </span>pool<span class="w"> </span>my-work-pool<span class="w"> </span>will<span class="w"> </span>require:<span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span>Updates<span class="w"> </span><span class="k">in</span><span class="w"> </span>subscription<span class="w"> </span>Azure<span class="w"> </span>subscription<span class="w"> </span><span class="m">1</span><span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>a<span class="w"> </span>resource<span class="w"> </span>group<span class="w"> </span><span class="k">in</span><span class="w"> </span>location<span class="w"> </span>eastus<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>an<span class="w"> </span>app<span class="w"> </span>registration<span class="w"> </span><span class="k">in</span><span class="w"> </span>Azure<span class="w"> </span>AD<span class="w"> </span>prefect-aci-push-pool-app<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create/use<span class="w"> </span>a<span class="w"> </span>service<span class="w"> </span>principal<span class="w"> </span><span class="k">for</span><span class="w"> </span>app<span class="w"> </span>registration<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Generate<span class="w"> </span>a<span class="w"> </span>secret<span class="w"> </span><span class="k">for</span><span class="w"> </span>app<span class="w"> </span>registration<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Assign<span class="w"> </span>Contributor<span class="w"> </span>role<span class="w"> </span>to<span class="w"> </span>service<span class="w"> </span>account<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>Azure<span class="w"> </span>Container<span class="w"> </span>Instance<span class="w"> </span><span class="s1">&#39;aci-push-pool-container&#39;</span><span class="w"> </span><span class="k">in</span><span class="w"> </span>resource<span class="w"> </span>group<span class="w"> </span>prefect-aci-push-pool-rg<span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span>Updates<span class="w"> </span><span class="k">in</span><span class="w"> </span>Prefect<span class="w"> </span>workspace<span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>Azure<span class="w"> </span>Container<span class="w"> </span>Instance<span class="w"> </span>credentials<span class="w"> </span>block<span class="w"> </span>aci-push-pool-credentials<span class="w"> </span>
<span class="w"> </span>
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Proceed<span class="w"> </span>with<span class="w"> </span>infrastructure<span class="w"> </span>provisioning?<span class="w"> </span><span class="o">[</span>y/n<span class="o">]</span>:<span class="w"> </span>y
<div class="highlight"><pre><span></span><code>╭───────────────────────────────────────────────────────────────────────────────────────────╮
<span class="w"> </span>Provisioning<span class="w"> </span>infrastructure<span class="w"> </span><span class="k">for</span><span class="w"> </span>your<span class="w"> </span>work<span class="w"> </span>pool<span class="w"> </span>my-aci-work-pool<span class="w"> </span>will<span class="w"> </span>require:<span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span>Updates<span class="w"> </span><span class="k">in</span><span class="w"> </span>subscription<span class="w"> </span>Azure<span class="w"> </span>subscription<span class="w"> </span><span class="m">1</span><span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>a<span class="w"> </span>resource<span class="w"> </span>group<span class="w"> </span><span class="k">in</span><span class="w"> </span>location<span class="w"> </span>eastus<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>an<span class="w"> </span>app<span class="w"> </span>registration<span class="w"> </span><span class="k">in</span><span class="w"> </span>Azure<span class="w"> </span>AD<span class="w"> </span>prefect-aci-push-pool-app<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create/use<span class="w"> </span>a<span class="w"> </span>service<span class="w"> </span>principal<span class="w"> </span><span class="k">for</span><span class="w"> </span>app<span class="w"> </span>registration<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Generate<span class="w"> </span>a<span class="w"> </span>secret<span class="w"> </span><span class="k">for</span><span class="w"> </span>app<span class="w"> </span>registration<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>an<span class="w"> </span>Azure<span class="w"> </span>Container<span class="w"> </span>Registry<span class="w"> </span>with<span class="w"> </span>prefix<span class="w"> </span>prefect<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>an<span class="w"> </span>identity<span class="w"> </span>prefect-acr-identity<span class="w"> </span>to<span class="w"> </span>allow<span class="w"> </span>access<span class="w"> </span>to<span class="w"> </span>the<span class="w"> </span>created<span class="w"> </span>registry<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Assign<span class="w"> </span>Contributor<span class="w"> </span>role<span class="w"> </span>to<span class="w"> </span>service<span class="w"> </span>account<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>an<span class="w"> </span>ACR<span class="w"> </span>registry<span class="w"> </span><span class="k">for</span><span class="w"> </span>image<span class="w"> </span>hosting<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>an<span class="w"> </span>identity<span class="w"> </span><span class="k">for</span><span class="w"> </span>Azure<span class="w"> </span>Container<span class="w"> </span>Instance<span class="w"> </span>to<span class="w"> </span>allow<span class="w"> </span>access<span class="w"> </span>to<span class="w"> </span>the<span class="w"> </span>registry<span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span>Updates<span class="w"> </span><span class="k">in</span><span class="w"> </span>Prefect<span class="w"> </span>workspace<span class="w"> </span>
<span class="w"> </span>
<span class="w"> </span>-<span class="w"> </span>Create<span class="w"> </span>Azure<span class="w"> </span>Container<span class="w"> </span>Instance<span class="w"> </span>credentials<span class="w"> </span>block<span class="w"> </span>aci-push-pool-credentials<span class="w"> </span>
<span class="w"> </span>
╰───────────────────────────────────────────────────────────────────────────────────────────╯
Proceed<span class="w"> </span>with<span class="w"> </span>infrastructure<span class="w"> </span>provisioning?<span class="w"> </span><span class="o">[</span>y/n<span class="o">]</span>:<span class="w"> </span>
Creating<span class="w"> </span>resource<span class="w"> </span>group
Provisioning<span class="w"> </span>infrastructure
Creating<span class="w"> </span>app<span class="w"> </span>registration
Generating<span class="w"> </span>secret<span class="w"> </span><span class="k">for</span><span class="w"> </span>app<span class="w"> </span>registration
Creating<span class="w"> </span>ACI<span class="w"> </span>credentials<span class="w"> </span>block
ACI<span class="w"> </span>credentials<span class="w"> </span>block<span class="w"> </span><span class="s1">&#39;aci-push-pool-credentials&#39;</span><span class="w"> </span>created<span class="w"> </span><span class="k">in</span><span class="w"> </span>Prefect<span class="w"> </span>Cloud
Assigning<span class="w"> </span>Contributor<span class="w"> </span>role<span class="w"> </span>to<span class="w"> </span>service<span class="w"> </span>account
Creating<span class="w"> </span>Azure<span class="w"> </span>Container<span class="w"> </span>Instance
Creating<span class="w"> </span>Azure<span class="w"> </span>Container<span class="w"> </span>Registry
Creating<span class="w"> </span>identity
Provisioning<span class="w"> </span>infrastructure...<span class="w"> </span>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━<span class="w"> </span><span class="m">100</span>%<span class="w"> </span><span class="m">0</span>:00:00
Infrastructure<span class="w"> </span>successfully<span class="w"> </span>provisioned<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="s1">&#39;my-aci-work-pool&#39;</span><span class="w"> </span>work<span class="w"> </span>pool!
Created<span class="w"> </span>work<span class="w"> </span>pool<span class="w"> </span><span class="s1">&#39;my-aci-work-pool&#39;</span>!
</code></pre></div>
</div>
<div class="admonition tip">
<p class="admonition-title">Default Docker build namespace</p>
<p>After infrastructure provisioning completes, you will be logged into your new Azure Container Registry and the default Docker build namespace will be set to the URL of the registry.</p>
<p>While the default namespace is set, any images you build without specifying a registry or username/organization will be pushed to the registry.</p>
<p>To take advantage of this functionality, you can write your deploy scripts like this:</p>
<div class="highlight"><span class="filename">example_deploy_script.py</span><pre><span></span><code><span class="kn">from</span> <span class="nn">prefect</span> <span class="kn">import</span> <span class="n">flow</span>
<span class="kn">from</span> <span class="nn">prefect.deployments</span> <span class="kn">import</span> <span class="n">DeploymentImage</span>


<span class="nd">@flow</span><span class="p">(</span><span class="n">log_prints</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">my_flow</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;world&quot;</span><span class="p">):</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Hello </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">! I&#39;m a flow running on an Azure Container Instance!&quot;</span><span class="p">)</span>


<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
<span class="n">my_flow</span><span class="o">.</span><span class="n">deploy</span><span class="p">(</span>
<span class="n">name</span><span class="o">=</span><span class="s2">&quot;my-deployment&quot;</span><span class="p">,</span>
<span class="n">work_pool_name</span><span class="o">=</span><span class="s2">&quot;my-work-pool&quot;</span><span class="p">,</span>
<span class="hll"> <span class="n">image</span><span class="o">=</span><span class="n">DeploymentImage</span><span class="p">(</span>
</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;my-image:latest&quot;</span><span class="p">,</span>
<span class="n">platform</span><span class="o">=</span><span class="s2">&quot;linux/amd64&quot;</span><span class="p">,</span>
<span class="p">)</span>
<span class="p">)</span>
</code></pre></div>
<p>This will build an image with the tag <code>&lt;acr-registry-url&gt;/my-image:latest</code> and push it to the registry.</p>
</div>
</div>
<div class="tabbed-block">
<div class="terminal">
Expand Down
2 changes: 1 addition & 1 deletion versions/unreleased/search/search_index.json

Large diffs are not rendered by default.

Binary file modified versions/unreleased/sitemap.xml.gz
Binary file not shown.

0 comments on commit 19cd8f4

Please sign in to comment.