constellation/reference/migration/index.html

94 lines
No EOL
37 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.24 docs-doc-page docs-doc-id-reference/migration" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Migrations | Constellation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.edgeless.systems/constellation/reference/migration"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="2.24"><meta data-rh="true" name="docusaurus_tag" content="docs-default-2.24"><meta data-rh="true" name="docsearch:version" content="2.24"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-2.24"><meta data-rh="true" property="og:title" content="Migrations | Constellation"><meta data-rh="true" name="description" content="This document describes breaking changes and migrations between Constellation releases."><meta data-rh="true" property="og:description" content="This document describes breaking changes and migrations between Constellation releases."><link data-rh="true" rel="icon" href="/constellation/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.edgeless.systems/constellation/reference/migration"><link data-rh="true" rel="alternate" href="https://docs.edgeless.systems/constellation/reference/migration" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.edgeless.systems/constellation/reference/migration" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Reference","item":"https://docs.edgeless.systems/constellation/category/reference"},{"@type":"ListItem","position":2,"name":"Configuration migrations","item":"https://docs.edgeless.systems/constellation/reference/migration"}]}</script><script src="/constellation/gtagman.js" async data-cookieconsent="ignore"></script><link rel="stylesheet" href="/constellation/assets/css/styles.9ca3c5b3.css">
<script src="/constellation/assets/js/runtime~main.87c4c513.js" defer="defer"></script>
<script src="/constellation/assets/js/main.add27954.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="theme-announcement-bar announcementBar_mb4j" style="background-color:#E7E6E6" role="banner"><div class="announcementBarPlaceholder_vyr4"></div><div class="content_knG7 announcementBarContent_xLdY">If you like Constellation, give it a star on <a target="_blank" rel="noopener noreferrer" href="https://github.com/edgelesssys/constellation">GitHub</a> ⭐️</div><button type="button" aria-label="Close" class="clean-btn close closeButton_CVFx announcementBarClose_gvF7"><svg viewBox="0 0 15 15" width="14" height="14"><g stroke="currentColor" stroke-width="3.1"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/constellation/"><div class="navbar__logo"><img src="/constellation/img/logos/constellation_oneline.svg" alt="Constellation Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/constellation/img/logos/constellation_oneline.svg" alt="Constellation Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a aria-current="page" class="navbar__link active" aria-haspopup="true" aria-expanded="false" role="button" href="/constellation/reference/migration">2.24</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/constellation/next/reference/migration">Next</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/constellation/reference/migration">2.24</a></li><li><a class="dropdown__link" href="/constellation/2.23/reference/migration">2.23</a></li><li><a class="dropdown__link" href="/constellation/2.22/reference/migration">2.22</a></li></ul></div><a href="https://github.com/edgelesssys/constellation" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link"></a><div class="navbarSearchContainer_Bca1"><div class="dsla-search-wrapper"><div class="dsla-search-field" data-tags="default,docs-default-2.24"></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG menuWithAnnouncementBar_GW3s"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/constellation/"><span title="Introduction" class="linkLabel_WmDU">Introduction</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/constellation/category/basics"><span title="Basics" class="categoryLinkLabel_W154">Basics</span></a><button aria-label="Expand sidebar category &#x27;Basics&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/constellation/category/getting-started"><span title="Getting started" class="categoryLinkLabel_W154">Getting started</span></a><button aria-label="Expand sidebar category &#x27;Getting started&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/constellation/category/workflows"><span title="Workflows" class="categoryLinkLabel_W154">Workflows</span></a><button aria-label="Expand sidebar category &#x27;Workflows&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/constellation/category/architecture"><span title="Architecture" class="categoryLinkLabel_W154">Architecture</span></a><button aria-label="Expand sidebar category &#x27;Architecture&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--active" href="/constellation/category/reference"><span title="Reference" class="categoryLinkLabel_W154">Reference</span></a><button aria-label="Collapse sidebar category &#x27;Reference&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/constellation/reference/cli"><span title="CLI" class="linkLabel_WmDU">CLI</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/constellation/reference/migration"><span title="Configuration migrations" class="linkLabel_WmDU">Configuration migrations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/constellation/reference/terraform"><span title="Terraform usage" class="linkLabel_WmDU">Terraform usage</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/constellation/reference/slsa"><span title="SLSA adoption" class="linkLabel_WmDU">SLSA adoption</span></a></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/constellation/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><a class="breadcrumbs__link" href="/constellation/category/reference"><span>Reference</span></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Configuration migrations</span></li></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: 2.24</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Migrations</h1></header>
<p>This document describes breaking changes and migrations between Constellation releases.
Use <a class="" href="/constellation/reference/cli#constellation-config-migrate"><code>constellation config migrate</code></a> to automatically update an old config file to a new format.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrations-to-v2230">Migrations to v2.23.0<a href="#migrations-to-v2230" class="hash-link" aria-label="Direct link to Migrations to v2.23.0" title="Direct link to Migrations to v2.23.0" translate="no"></a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="gcp">GCP<a href="#gcp" class="hash-link" aria-label="Direct link to GCP" title="Direct link to GCP" translate="no"></a></h3>
<p>GCP will require the additional permission <code>compute.forwardingRules.list</code>. Please update your IAM roles using <code>constellation iam upgrade apply</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrations-to-v2191">Migrations to v2.19.1<a href="#migrations-to-v2191" class="hash-link" aria-label="Direct link to Migrations to v2.19.1" title="Direct link to Migrations to v2.19.1" translate="no"></a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="azure">Azure<a href="#azure" class="hash-link" aria-label="Direct link to Azure" title="Direct link to Azure" translate="no"></a></h3>
<ul>
<li class="">During the upgrade, security rules are migrated and the old ones need to be cleaned up manually by the user. The below script shows how to delete them through the Azure CLI:</li>
</ul>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">#!/usr/bin/env bash</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">name=&quot;&lt;insert&gt;&quot; # the name provided in the config</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">uid=&quot;&lt;insert&gt;&quot; # the cluster id can be retrieved via `yq &#x27;.infrastructure.uid&#x27; constellation-state.yaml`</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">resource_group=&quot;&lt;insert&gt;&quot; # the RG can be retrieved via `yq &#x27;.provider.azure.resourceGroup&#x27; constellation-conf.yaml`</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">rules=(</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> &quot;kubernetes&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> &quot;bootstrapper&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> &quot;verify&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> &quot;recovery&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> &quot;join&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> &quot;debugd&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> &quot;konnectivity&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">for rule in &quot;${rules[@]}&quot;; do</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> echo &quot;Deleting rule: ${rule}&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> az network nsg rule delete \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --resource-group &quot;${resource_group}&quot; \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --nsg-name &quot;${name}-${uid}&quot; \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --name &quot;${rule}&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">done</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">echo &quot;All specified rules have been deleted.&quot;</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrating-from-cli-versions-before-2211">Migrating from CLI versions before 2.21.1<a href="#migrating-from-cli-versions-before-2211" class="hash-link" aria-label="Direct link to Migrating from CLI versions before 2.21.1" title="Direct link to Migrating from CLI versions before 2.21.1" translate="no"></a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws">AWS<a href="#aws" class="hash-link" aria-label="Direct link to AWS" title="Direct link to AWS" translate="no"></a></h3>
<ul>
<li class="">AWS clusters that use <code>LoadBalancer</code> resources require more IAM permissions. Please upgrade your IAM roles using <code>constellation iam upgrade apply</code>. This will show necessary changes and apply them, if desired.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrating-from-cli-versions-before-2190">Migrating from CLI versions before 2.19.0<a href="#migrating-from-cli-versions-before-2190" class="hash-link" aria-label="Direct link to Migrating from CLI versions before 2.19.0" title="Direct link to Migrating from CLI versions before 2.19.0" translate="no"></a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="azure-1">Azure<a href="#azure-1" class="hash-link" aria-label="Direct link to Azure" title="Direct link to Azure" translate="no"></a></h3>
<ul>
<li class="">To allow seamless upgrades on Azure when Kubernetes services of type <code>LoadBalancer</code> are deployed, the target
load balancer in which the <code>cloud-controller-manager</code> creates load balancing rules was changed. Instead of using the load balancer
created and maintained by the CLI&#x27;s Terraform code, the <code>cloud-controller-manager</code> now creates its own load balancer in Azure.
If your Constellation has services of type <code>LoadBalancer</code>, please remove them before the upgrade and re-apply them
afterward.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrating-from-cli-versions-before-2180">Migrating from CLI versions before 2.18.0<a href="#migrating-from-cli-versions-before-2180" class="hash-link" aria-label="Direct link to Migrating from CLI versions before 2.18.0" title="Direct link to Migrating from CLI versions before 2.18.0" translate="no"></a></h2>
<ul>
<li class="">The <code>provider.azure.appClientID</code> and <code>provider.azure.appClientSecret</code> fields are no longer supported and should be removed.</li>
<li class="">To keep using an existing UAMI, add the <code>Owner</code> permission with the scope of your <code>resourceGroup</code>.</li>
<li class="">Otherwise, simply <a class="" href="/constellation/workflows/config#creating-an-iam-configuration">create new Constellation IAM credentials</a> and use the created UAMI.</li>
<li class="">To migrate the authentication for an existing cluster on Azure to an UAMI with the necessary permissions:<!-- -->
<ol>
<li class="">Remove the <code>aadClientId</code> and <code>aadClientSecret</code> from the azureconfig secret.</li>
<li class="">Set <code>useManagedIdentityExtension</code> to <code>true</code> and use the <code>userAssignedIdentity</code> from the Constellation config for the value of <code>userAssignedIdentityID</code>.</li>
<li class="">Restart the CSI driver, cloud controller manager, cluster autoscaler, and Constellation operator pods.</li>
</ol>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrating-from-cli-versions-before-210">Migrating from CLI versions before 2.10<a href="#migrating-from-cli-versions-before-210" class="hash-link" aria-label="Direct link to Migrating from CLI versions before 2.10" title="Direct link to Migrating from CLI versions before 2.10" translate="no"></a></h2>
<ul>
<li class="">AWS cluster upgrades require additional IAM permissions for the newly introduced <code>aws-load-balancer-controller</code>. Please upgrade your IAM roles using <code>iam upgrade apply</code>. This will show necessary changes and apply them, if desired.</li>
<li class="">The global <code>nodeGroups</code> field was added.</li>
<li class="">The fields <code>instanceType</code>, <code>stateDiskSizeGB</code>, and <code>stateDiskType</code> for each cloud provider are now part of the configuration of individual node groups.</li>
<li class="">The <code>constellation create</code> command no longer uses the flags <code>--control-plane-count</code> and <code>--worker-count</code>. Instead, the initial node count is configured per node group in the <code>nodeGroups</code> field.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrating-from-cli-versions-before-29">Migrating from CLI versions before 2.9<a href="#migrating-from-cli-versions-before-29" class="hash-link" aria-label="Direct link to Migrating from CLI versions before 2.9" title="Direct link to Migrating from CLI versions before 2.9" translate="no"></a></h2>
<ul>
<li class="">The <code>provider.azure.appClientID</code> and <code>provider.azure.clientSecretValue</code> fields were removed to enforce migration to managed identity authentication</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrating-from-cli-versions-before-28">Migrating from CLI versions before 2.8<a href="#migrating-from-cli-versions-before-28" class="hash-link" aria-label="Direct link to Migrating from CLI versions before 2.8" title="Direct link to Migrating from CLI versions before 2.8" translate="no"></a></h2>
<ul>
<li class="">The <code>measurements</code> field for each cloud service provider was replaced with a global <code>attestation</code> field.</li>
<li class="">The <code>confidentialVM</code>, <code>idKeyDigest</code>, and <code>enforceIdKeyDigest</code> fields for the Azure cloud service provider were removed in favor of using the global <code>attestation</code> field.</li>
<li class="">The optional global field <code>attestationVariant</code> was replaced by the now required <code>attestation</code> field.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrating-from-cli-versions-before-23">Migrating from CLI versions before 2.3<a href="#migrating-from-cli-versions-before-23" class="hash-link" aria-label="Direct link to Migrating from CLI versions before 2.3" title="Direct link to Migrating from CLI versions before 2.3" translate="no"></a></h2>
<ul>
<li class="">
<p>The <code>sshUsers</code> field was deprecated in v2.2 and has been removed from the configuration in v2.3.
As an alternative for SSH, check the workflow section <a class="" href="/constellation/workflows/troubleshooting#node-shell-access">Connect to nodes</a>.</p>
</li>
<li class="">
<p>The <code>image</code> field for each cloud service provider has been replaced with a global <code>image</code> field. Use the following mapping to migrate your configuration:</p>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Show all</summary><div><div class="collapsibleContent_i85q"><table><thead><tr><th>CSP</th><th>old image</th><th>new image</th></tr></thead><tbody><tr><td>AWS</td><td><code>ami-06b8cbf4837a0a57c</code></td><td><code>v2.2.2</code></td></tr><tr><td>AWS</td><td><code>ami-02e96dc04a9e438cd</code></td><td><code>v2.2.2</code></td></tr><tr><td>AWS</td><td><code>ami-028ead928a9034b2f</code></td><td><code>v2.2.2</code></td></tr><tr><td>AWS</td><td><code>ami-032ac10dd8d8266e3</code></td><td><code>v2.2.1</code></td></tr><tr><td>AWS</td><td><code>ami-032e0d57cc4395088</code></td><td><code>v2.2.1</code></td></tr><tr><td>AWS</td><td><code>ami-053c3e49e19b96bdd</code></td><td><code>v2.2.1</code></td></tr><tr><td>AWS</td><td><code>ami-0e27ebcefc38f648b</code></td><td><code>v2.2.0</code></td></tr><tr><td>AWS</td><td><code>ami-098cd37f66523b7c3</code></td><td><code>v2.2.0</code></td></tr><tr><td>AWS</td><td><code>ami-04a87d302e2509aad</code></td><td><code>v2.2.0</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation/images/constellation/versions/2.2.2</code></td><td><code>v2.2.2</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation_CVM/images/constellation/versions/2.2.2</code></td><td><code>v2.2.2</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation/images/constellation/versions/2.2.1</code></td><td><code>v2.2.1</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation_CVM/images/constellation/versions/2.2.1</code></td><td><code>v2.2.1</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation/images/constellation/versions/2.2.0</code></td><td><code>v2.2.0</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation_CVM/images/constellation/versions/2.2.0</code></td><td><code>v2.2.0</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation/images/constellation/versions/2.1.0</code></td><td><code>v2.1.0</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation_CVM/images/constellation/versions/2.1.0</code></td><td><code>v2.1.0</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation/images/constellation/versions/2.0.0</code></td><td><code>v2.0.0</code></td></tr><tr><td>Azure</td><td><code>/subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/constellation-images/providers/Microsoft.Compute/galleries/Constellation_CVM/images/constellation/versions/2.0.0</code></td><td><code>v2.0.0</code></td></tr><tr><td>GCP</td><td><code>projects/constellation-images/global/images/constellation-v2-2-2</code></td><td><code>v2.2.2</code></td></tr><tr><td>GCP</td><td><code>projects/constellation-images/global/images/constellation-v2-2-1</code></td><td><code>v2.2.1</code></td></tr><tr><td>GCP</td><td><code>projects/constellation-images/global/images/constellation-v2-2-0</code></td><td><code>v2.2.0</code></td></tr><tr><td>GCP</td><td><code>projects/constellation-images/global/images/constellation-v2-1-0</code></td><td><code>v2.1.0</code></td></tr><tr><td>GCP</td><td><code>projects/constellation-images/global/images/constellation-v2-0-0</code></td><td><code>v2.0.0</code></td></tr></tbody></table></div></div></details>
</li>
<li class="">
<p>The <code>enforcedMeasurements</code> field has been removed and merged with the <code>measurements</code> field.</p>
<ul>
<li class="">
<p>To migrate your config containing a new image (<code>v2.3</code> or greater), remove the old <code>measurements</code> and <code>enforcedMeasurements</code> entries from your config and run <code>constellation fetch-measurements</code></p>
</li>
<li class="">
<p>To migrate your config containing an image older than <code>v2.3</code>, remove the <code>enforcedMeasurements</code> entry and replace the entries in <code>measurements</code> as shown in the example below:</p>
<div class="language-diff codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-diff codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">measurements:</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">- 0: DzXCFGCNk8em5ornNZtKi+Wg6Z7qkQfs5CfE3qTkOc8=</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">+ 0:</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">+ expected: DzXCFGCNk8em5ornNZtKi+Wg6Z7qkQfs5CfE3qTkOc8=</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">+ warnOnly: true</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">- 8: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">+ 8:</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">+ expected: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">+ warnOnly: false</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">-enforcedMeasurements:</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">- - 8</span><br></span></code></pre></div></div>
</li>
</ul>
</li>
</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/edgelesssys/constellation/edit/main/docs/versioned_docs/version-2.24/reference/migration.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/constellation/reference/cli"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">CLI</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/constellation/reference/terraform"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Terraform usage</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#migrations-to-v2230" class="table-of-contents__link toc-highlight">Migrations to v2.23.0</a><ul><li><a href="#gcp" class="table-of-contents__link toc-highlight">GCP</a></li></ul></li><li><a href="#migrations-to-v2191" class="table-of-contents__link toc-highlight">Migrations to v2.19.1</a><ul><li><a href="#azure" class="table-of-contents__link toc-highlight">Azure</a></li></ul></li><li><a href="#migrating-from-cli-versions-before-2211" class="table-of-contents__link toc-highlight">Migrating from CLI versions before 2.21.1</a><ul><li><a href="#aws" class="table-of-contents__link toc-highlight">AWS</a></li></ul></li><li><a href="#migrating-from-cli-versions-before-2190" class="table-of-contents__link toc-highlight">Migrating from CLI versions before 2.19.0</a><ul><li><a href="#azure-1" class="table-of-contents__link toc-highlight">Azure</a></li></ul></li><li><a href="#migrating-from-cli-versions-before-2180" class="table-of-contents__link toc-highlight">Migrating from CLI versions before 2.18.0</a></li><li><a href="#migrating-from-cli-versions-before-210" class="table-of-contents__link toc-highlight">Migrating from CLI versions before 2.10</a></li><li><a href="#migrating-from-cli-versions-before-29" class="table-of-contents__link toc-highlight">Migrating from CLI versions before 2.9</a></li><li><a href="#migrating-from-cli-versions-before-28" class="table-of-contents__link toc-highlight">Migrating from CLI versions before 2.8</a></li><li><a href="#migrating-from-cli-versions-before-23" class="table-of-contents__link toc-highlight">Migrating from CLI versions before 2.3</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Learn</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/constellation/overview/confidential-kubernetes">Confidential Kubernetes</a></li><li class="footer__item"><a class="footer__link-item" href="/constellation/getting-started/install">Install</a></li><li class="footer__item"><a class="footer__link-item" href="/constellation/getting-started/first-steps">First steps</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/edgelesssys/constellation" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://www.edgeless.systems/#footer" target="_blank" rel="noopener noreferrer" class="footer__link-item">Newsletter<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Social</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.edgeless.systems/blog/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Blog<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://twitter.com/EdgelessSystems" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://www.linkedin.com/company/edgeless-systems/" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://www.youtube.com/channel/UCOOInN0sCv6icUesisYIDeA" target="_blank" rel="noopener noreferrer" class="footer__link-item">Youtube<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Company</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.edgeless.systems/imprint/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Imprint<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://www.edgeless.systems/privacy/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Privacy Policy<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="javascript: Cookiebot.renew()" class="footer__link-item">Cookie Settings</a></li><li class="footer__item"><a href="https://www.edgeless.systems/contact-us/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Contact Us<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2025 Edgeless Systems</div></div></div></footer></div>
</body>
</html>