This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/iceberg-rust.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new fd786f5dd deploy: 5d3152f11ec8fbb210a48d1ce490bc1ea73b6ca0
fd786f5dd is described below

commit fd786f5ddea142b614b5b5778208097ff2e88e05
Author: blackmwk <[email protected]>
AuthorDate: Fri Jan 30 00:09:20 2026 +0000

    deploy: 5d3152f11ec8fbb210a48d1ce490bc1ea73b6ca0
---
 404.html                                           |   2 +-
 CONTRIBUTING.html                                  |   6 +-
 api.html                                           |   2 +-
 api/iceberg_catalog_hms/struct.HmsCatalog.html     |  90 +++----
 .../struct.HmsCatalogBuilder.html                  |   4 +-
 api/trait.impl/iceberg/catalog/trait.Catalog.js    |   4 +-
 .../iceberg/catalog/trait.CatalogBuilder.js        |   4 +-
 download.html                                      |   2 +-
 index.html                                         |   2 +-
 install.html                                       |   2 +-
 introduction.html                                  |   2 +-
 print.html                                         | 139 ++++++-----
 reference/{podman.html => container-runtimes.html} | 104 +++++---
 reference/orbstack.html                            | 272 ---------------------
 reference/setup_gpg.html                           |   6 +-
 release.html                                       |   6 +-
 searchindex.js                                     |   2 +-
 searchindex.json                                   |   2 +-
 18 files changed, 208 insertions(+), 443 deletions(-)

diff --git a/404.html b/404.html
index 0fbc363c2..d18b608dc 100644
--- a/404.html
+++ b/404.html
@@ -89,7 +89,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html">API</a></li><li class="chapter-item expanded affix "><li 
class="part-title">Developer Gui [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html">API</a></li><li class="chapter-item expanded affix "><li 
class="part-title">Developer Gui [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html
index fbb2555bb..63ffed1c5 100644
--- a/CONTRIBUTING.html
+++ b/CONTRIBUTING.html
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html">API</a></li><li class="chapter-item expanded affix "><li 
class="part-title">Developer Gui [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html">API</a></li><li class="chapter-item expanded affix "><li 
class="part-title">Developer Gui [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
@@ -245,9 +245,7 @@ refactor: Polish the implementation of read parquet
 cargo 1.69.0 (6e9a83356 2023-04-12)
 </code></pre>
 <h4 id="install-docker-or-podman"><a class="header" 
href="#install-docker-or-podman">Install Docker or Podman</a></h4>
-<p>Currently, iceberg-rust uses Docker to set up environment for integration 
tests. Native Docker has some limitations, please check 
(https://github.com/apache/iceberg-rust/pull/748). Please use Orbstack or 
Podman.</p>
-<p>For MacOS users, you can install <a 
href="website/src/reference/orbstack.html">OrbStack as a docker alternative</a>.
-For Podman users, refer to <a href="website/src/reference/podman.html">Using 
Podman instead of Docker</a></p>
+<p>Currently, iceberg-rust uses Docker to set up environment for integration 
tests. See <a href="website/src/reference/container-runtimes.html">Container 
Runtimes</a> for setup instructions.</p>
 <h2 id="build"><a class="header" href="#build">Build</a></h2>
 <ul>
 <li>To compile the project: <code>make build</code></li>
diff --git a/api.html b/api.html
index dba2b8659..4ecd48ce6 100644
--- a/api.html
+++ b/api.html
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html" class="active">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html" class="active">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
diff --git a/api/iceberg_catalog_hms/struct.HmsCatalog.html 
b/api/iceberg_catalog_hms/struct.HmsCatalog.html
index 3d9fe14c6..5e8189545 100644
--- a/api/iceberg_catalog_hms/struct.HmsCatalog.html
+++ b/api/iceberg_catalog_hms/struct.HmsCatalog.html
@@ -1,19 +1,19 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Hive 
metastore Catalog."><title>HmsCatalog in iceberg_catalog_hms - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medi
 [...]
-</div></details><h2 id="implementations" 
class="section-header">Implementations<a href="#implementations" 
class="anchor">§</a></h2><div id="implementations-list"><details class="toggle 
implementors-toggle" open><summary><section id="impl-HmsCatalog" 
class="impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#170-211">Source</a><a 
href="#impl-HmsCatalog" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.HmsCatalog.html" title="struc [...]
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Catalog-for-HmsCatalog" class="impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#214-612">Source</a><a 
href="#impl-Catalog-for-HmsCatalog" class="anchor">§</a><h3 class="code-hea 
[...]
+</div></details><h2 id="implementations" 
class="section-header">Implementations<a href="#implementations" 
class="anchor">§</a></h2><div id="implementations-list"><details class="toggle 
implementors-toggle" open><summary><section id="impl-HmsCatalog" 
class="impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#170-211">Source</a><a 
href="#impl-HmsCatalog" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.HmsCatalog.html" title="struc [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Catalog-for-HmsCatalog" class="impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#214-612">Source</a><a 
href="#impl-Catalog-for-HmsCatalog" class="anchor">§</a><h3 class="code-hea 
[...]
     &amp;'life0 self,
-    parent: <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"; 
title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct 
iceberg::catalog::NamespaceIdent">NamespaceIdent</a>&gt;,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    parent: <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"; 
title="enum core::option::Option">Option</a>&lt;&amp;'life1 NamespaceIdent&gt;,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = Result&lt;<a 
class="struct" href="https://doc.rust-lang.org/nig [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>HMS doesn’t support nested namespaces.</p>
 <p>We will return empty list if parent is some.</p>
 <p>Align with java implementation: <a 
href="https://github.com/apache/iceberg/blob/9bd62f79f8cd973c39d14e89163cb1c707470ed2/hive-metastore/src/main/java/org/apache/iceberg/hive/HiveCatalog.java#L305C26-L330";>https://github.com/apache/iceberg/blob/9bd62f79f8cd973c39d14e89163cb1c707470ed2/hive-metastore/src/main/java/org/apache/iceberg/hive/HiveCatalog.java#L305C26-L330</a></p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.create_namespace" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#256-270">Source</a><a 
href="#method.create_namespace" class="anchor">§</a><h4 class="code-header">fn 
<a href="../iceberg/catalog/trait.Catalog.html#tymethod.create_namespace" 
class="fn">create_namespace</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.create_namespace" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#256-270">Source</a><a 
href="#method.create_namespace" class="anchor">§</a><h4 class="code-header">fn 
<a class="fn">create_namespace</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    namespace: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct 
iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
+    namespace: &amp;'life1 NamespaceIdent,
     properties: <a class="struct" 
href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html";
 title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a 
class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>, <a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>&gt;,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = 
Result&lt;Namespace&gt;&gt; + <a class="trait" href="https://do [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Creates a new namespace with the given identifier and 
properties.</p>
@@ -30,10 +30,10 @@ successfully converted into a database configuration.</li>
 <li>Errors from the underlying database creation process, converted using
 <code>from_thrift_error</code>.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.get_namespace" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#282-296">Source</a><a 
href="#method.get_namespace" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.get_namespace" 
class="fn">get_namespace</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.get_namespace" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#282-296">Source</a><a 
href="#method.get_namespace" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">get_namespace</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    namespace: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct 
iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    namespace: &amp;'life1 NamespaceIdent,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = 
Result&lt;Namespace&gt;&gt; + <a class="trait" href="https://do [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Retrieves a namespace by its identifier.</p>
@@ -46,10 +46,10 @@ Constructs a <code>Namespace</code> object with the 
retrieved data and returns i
 <li>If there is an error querying the database, returned by
 <code>from_thrift_error</code>.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.namespace_exists" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#310-327">Source</a><a 
href="#method.namespace_exists" class="anchor">§</a><h4 class="code-header">fn 
<a href="../iceberg/catalog/trait.Catalog.html#tymethod.namespace_exists" 
class="fn">namespace_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.namespace_exists" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#310-327">Source</a><a 
href="#method.namespace_exists" class="anchor">§</a><h4 class="code-header">fn 
<a class="fn">namespace_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    namespace: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct 
iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    namespace: &amp;'life1 NamespaceIdent,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = Result&lt;<a 
class="primitive" href="https://doc.rust-lang.org/ [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Checks if a namespace exists within the Hive Metastore.</p>
@@ -64,11 +64,11 @@ to determine if the specified namespace (database) 
exists.</p>
 <li><code>Err(...)</code> if an error occurs during validation or the Hive 
Metastore
 query, with the error encapsulating the issue.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.update_namespace" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#339-363">Source</a><a 
href="#method.update_namespace" class="anchor">§</a><h4 class="code-header">fn 
<a href="../iceberg/catalog/trait.Catalog.html#tymethod.update_namespace" 
class="fn">update_namespace</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.update_namespace" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#339-363">Source</a><a 
href="#method.update_namespace" class="anchor">§</a><h4 class="code-header">fn 
<a class="fn">update_namespace</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    namespace: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct 
iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
+    namespace: &amp;'life1 NamespaceIdent,
     properties: <a class="struct" 
href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html";
 title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a 
class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>, <a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>&gt;,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = Result&lt;<a 
class="primitive" href="https://doc.rust-lang.org/ [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Asynchronously updates properties of an existing 
namespace.</p>
@@ -79,10 +79,10 @@ in the Hive Metastore.</p>
 <p>Returns <code>Ok(())</code> if the namespace update is successful. If the
 namespace cannot be updated due to missing information or an error
 during the update process, an <code>Err(...)</code> is returned.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.drop_namespace" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#372-382">Source</a><a 
href="#method.drop_namespace" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.drop_namespace" 
class="fn">drop_namespace</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.drop_namespace" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#372-382">Source</a><a 
href="#method.drop_namespace" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">drop_namespace</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    namespace: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct 
iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    namespace: &amp;'life1 NamespaceIdent,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = Result&lt;<a 
class="primitive" href="https://doc.rust-lang.org/ [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Asynchronously drops a namespace from the Hive 
Metastore.</p>
@@ -93,10 +93,10 @@ during the update process, an <code>Err(...)</code> is 
returned.</p>
 <li><code>Err(...)</code> signifies failure to drop the namespace due to 
validation
 errors, connectivity issues, or Hive Metastore constraints.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.list_tables" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#393-410">Source</a><a 
href="#method.list_tables" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.list_tables" 
class="fn">list_tables</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.list_tables" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#393-410">Source</a><a 
href="#method.list_tables" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">list_tables</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    namespace: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct 
iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    namespace: &amp;'life1 NamespaceIdent,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = Result&lt;<a 
class="struct" href="https://doc.rust-lang.org/nig [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Asynchronously lists all tables within a specified 
namespace.</p>
@@ -108,11 +108,11 @@ representing a table within the specified namespace.</li>
 <li><code>Err(...)</code> if an error occurs during namespace validation or 
while
 querying the database.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.create_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#424-471">Source</a><a 
href="#method.create_table" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.create_table" 
class="fn">create_table</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.create_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#424-471">Source</a><a 
href="#method.create_table" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">create_table</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    namespace: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct 
iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-    creation: <a class="struct" 
href="../iceberg/catalog/struct.TableCreation.html" title="struct 
iceberg::catalog::TableCreation">TableCreation</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    namespace: &amp;'life1 NamespaceIdent,
+    creation: TableCreation,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = 
Result&lt;Table&gt;&gt; + <a class="trait" href="https://doc.ru [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Creates a new table within a specified namespace using the 
provided
@@ -125,10 +125,10 @@ table.</p>
 namespace identifiers, failure to determine a default storage location,
 issues generating or writing table metadata, and errors communicating
 with the Hive Metastore.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.load_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#485-509">Source</a><a 
href="#method.load_table" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.load_table" 
class="fn">load_table</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.load_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#485-509">Source</a><a 
href="#method.load_table" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">load_table</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    table: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.TableIdent.html" title="struct 
iceberg::catalog::TableIdent">TableIdent</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    table: &amp;'life1 TableIdent,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = 
Result&lt;Table&gt;&gt; + <a class="trait" href="https://doc.ru [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Loads a table from the Hive Metastore and constructs a 
<code>Table</code> object
@@ -143,10 +143,10 @@ based on its metadata.</p>
 <li>Absence of metadata location information in the table’s properties.</li>
 <li>Issues reading or deserializing the table’s metadata file.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.drop_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#521-531">Source</a><a 
href="#method.drop_table" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.drop_table" 
class="fn">drop_table</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.drop_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#521-531">Source</a><a 
href="#method.drop_table" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">drop_table</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    table: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.TableIdent.html" title="struct 
iceberg::catalog::TableIdent">TableIdent</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    table: &amp;'life1 TableIdent,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = Result&lt;<a 
class="primitive" href="https://doc.rust-lang.org/ [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Asynchronously drops a table from the database.</p>
@@ -160,10 +160,10 @@ attempting to drop the table. This includes scenarios 
where
 the table does not exist.</li>
 <li>Any network or communication error occurs with the database backend.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.table_exists" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#540-560">Source</a><a 
href="#method.table_exists" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.table_exists" 
class="fn">table_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.table_exists" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#540-560">Source</a><a 
href="#method.table_exists" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">table_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    table: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.TableIdent.html" title="struct 
iceberg::catalog::TableIdent">TableIdent</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    table: &amp;'life1 TableIdent,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = Result&lt;<a 
class="primitive" href="https://doc.rust-lang.org/ [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Asynchronously checks the existence of a specified table
@@ -174,11 +174,11 @@ in the database.</p>
 <li><code>Ok(false)</code> if the table does not exist in the database.</li>
 <li><code>Err(...)</code> if an error occurs during the process</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.rename_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#568-593">Source</a><a 
href="#method.rename_table" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.rename_table" 
class="fn">rename_table</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.rename_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#568-593">Source</a><a 
href="#method.rename_table" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">rename_table</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
     &amp;'life0 self,
-    src: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.TableIdent.html" title="struct 
iceberg::catalog::TableIdent">TableIdent</a>,
-    dest: &amp;'life2 <a class="struct" 
href="../iceberg/catalog/struct.TableIdent.html" title="struct 
iceberg::catalog::TableIdent">TableIdent</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    src: &amp;'life1 TableIdent,
+    dest: &amp;'life2 TableIdent,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = Result&lt;<a 
class="primitive" href="https://doc.rust-lang.org/ [...]
     Self: 'async_trait,
     'life0: 'async_trait,
     'life1: 'async_trait,
@@ -189,17 +189,17 @@ or moves it between namespaces (databases).</p>
 <li><code>Ok(())</code> on successful rename or move of the table.</li>
 <li><code>Err(...)</code> if an error occurs during the process.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.register_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#595-604">Source</a><a 
href="#method.register_table" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.register_table" 
class="fn">register_table</a>&lt;'life0, 'life1, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.register_table" class="method trait-impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#595-604">Source</a><a 
href="#method.register_table" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">register_table</a>&lt;'life0, 'life1, 'async_trait&gt;(
     &amp;'life0 self,
-    _table_ident: &amp;'life1 <a class="struct" 
href="../iceberg/catalog/struct.TableIdent.html" title="struct 
iceberg::catalog::TableIdent">TableIdent</a>,
+    _table_ident: &amp;'life1 TableIdent,
     _metadata_location: <a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = 
Result&lt;Table&gt;&gt; + <a class="trait" href="https://doc.ru [...]
     Self: 'async_trait,
     'life0: 'async_trait,
-    'life1: 'async_trait,</div></h4></section></summary><div 
class='docblock'>Register an existing table to the 
catalog.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.update_table" class="method trait-impl"><a 
class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#606-611">Source</a><a 
href="#method.update_table" class="anchor">§</a><h4 class="code-header">fn <a 
href="../iceberg/catalog/trait.Catalog.html#tymethod.update_table" cla [...]
+    'life1: 'async_trait,</div></h4></section></summary><div 
class='docblock'>Register an existing table to the 
catalog.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.update_table" class="method trait-impl"><a 
class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#606-611">Source</a><a 
href="#method.update_table" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">update_table</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _commit: <a class="struct" 
href="../iceberg/catalog/struct.TableCommit.html" title="struct 
iceberg::catalog::TableCommit">TableCommit</a>,
-) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title= [...]
+    _commit: TableCommit,
+) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = 
Result&lt;Table&gt;&gt; + <a class="trait" href="https://doc.ru [...]
     Self: 'async_trait,
     'life0: 'async_trait,</div></h4></section></summary><div 
class='docblock'>Update a table to the 
catalog.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Debug-for-HmsCatalog" 
class="impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#162-168">Source</a><a 
href="#impl-Debug-for-HmsCatalog" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/ [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139";>Source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
diff --git a/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html 
b/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html
index e1a4a2649..3f94ad90a 100644
--- a/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html
+++ b/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html
@@ -1,9 +1,9 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Builder 
for [`RestCatalog`]."><title>HmsCatalogBuilder in iceberg_catalog_hms - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,F
 [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-CatalogBuilder-for-HmsCatalogBuilder" 
class="impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#69-130">Source</a><a 
href="#impl-CatalogBuilder-for-HmsCatalogBuilder" class="anchor">§</a><h3 
class="cod [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-CatalogBuilder-for-HmsCatalogBuilder" 
class="impl"><a class="src rightside" 
href="../src/iceberg_catalog_hms/catalog.rs.html#69-130">Source</a><a 
href="#impl-CatalogBuilder-for-HmsCatalogBuilder" class="anchor">§</a><h3 
class="cod [...]
     self,
     name: impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"; 
title="trait core::convert::Into">Into</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>&gt;,
     props: <a class="struct" 
href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html";
 title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a 
class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>, <a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>&gt;,
-) -&gt; impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../iceberg/error/type.Result.html" title="type 
iceberg::error::Result">Result</a>&lt;Self::<a class="associatedtype" 
href="../iceberg/catalog/trait.CatalogBuilder.html#associatedtype.C" 
title="type iceberg::catalog::CatalogBuilder::C">C</a>&gt;&gt; + <a 
class="trait" href="https://doc.rust-lang. [...]
+) -&gt; impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = 
Result&lt;Self::C&gt;&gt; + <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"; 
title="trait core::marker::Send">Send</a></h4></section></summary><div 
class='docblock'>Create a new catalog 
instance.</div></details></div></details><details class="toggle 
implementors-toggle" open><summ [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139";>Source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
     T: CastFrom&lt;U&gt;,</div></h4></section></summary><div 
class='docblock'>Casts <code>self</code> to type <code>T</code>. The <a 
href="https://doc.rust-lang.org/reference/expressions/operator-expr.html#semantics";>semantics
 of numeric casting</a> with the <code>as</code> operator are followed, so 
<code>&lt;T as As&gt;::as_::&lt;U&gt;</code> can be used in the same way as 
<code>T as U</code> for numeric conversions. <a>Read 
more</a></div></details></div></details><details class="toggle [...]
     T: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"; title="trait 
core::any::Any">Any</a>,</div></h3></section></summary><div 
class="impl-items"><section id="method.as_any" class="method trait-impl"><a 
href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"; title="trait 
core::any::Any">Any</a> + 'static)</h4 [...]
diff --git a/api/trait.impl/iceberg/catalog/trait.Catalog.js 
b/api/trait.impl/iceberg/catalog/trait.Catalog.js
index 818669858..6a5715595 100644
--- a/api/trait.impl/iceberg/catalog/trait.Catalog.js
+++ b/api/trait.impl/iceberg/catalog/trait.Catalog.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = 
Object.fromEntries([["iceberg",[]],["iceberg_catalog_glue",[["impl <a 
class=\"trait\" href=\"iceberg/catalog/trait.Catalog.html\" title=\"trait 
iceberg::catalog::Catalog\">Catalog</a> for <a class=\"struct\" 
href=\"iceberg_catalog_glue/struct.GlueCatalog.html\" title=\"struct 
iceberg_catalog_glue::GlueCatalog\">GlueCatalog</a>"]]],["iceberg_catalog_hms",[["impl
 <a class=\"trait\" href=\"iceberg/catalog/trait.Catalog.html\" title=\"trait 
iceberg::catalog::Catalog\"> [...]
+    var implementors = 
Object.fromEntries([["iceberg",[]],["iceberg_catalog_glue",[["impl <a 
class=\"trait\" href=\"iceberg/catalog/trait.Catalog.html\" title=\"trait 
iceberg::catalog::Catalog\">Catalog</a> for <a class=\"struct\" 
href=\"iceberg_catalog_glue/struct.GlueCatalog.html\" title=\"struct 
iceberg_catalog_glue::GlueCatalog\">GlueCatalog</a>"]]],["iceberg_catalog_hms",[["impl
 Catalog for <a class=\"struct\" 
href=\"iceberg_catalog_hms/struct.HmsCatalog.html\" title=\"struct iceber [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[14,298,292,189,213,183]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[14,298,183,189,213,183]}
\ No newline at end of file
diff --git a/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js 
b/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js
index 878cb1be5..a53aa68a0 100644
--- a/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js
+++ b/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = 
Object.fromEntries([["iceberg",[]],["iceberg_catalog_glue",[["impl <a 
class=\"trait\" href=\"iceberg/catalog/trait.CatalogBuilder.html\" 
title=\"trait iceberg::catalog::CatalogBuilder\">CatalogBuilder</a> for <a 
class=\"struct\" href=\"iceberg_catalog_glue/struct.GlueCatalogBuilder.html\" 
title=\"struct 
iceberg_catalog_glue::GlueCatalogBuilder\">GlueCatalogBuilder</a>"]]],["iceberg_catalog_hms",[["impl
 <a class=\"trait\" href=\"iceberg/catalog/trait.CatalogBuilder. [...]
+    var implementors = 
Object.fromEntries([["iceberg",[]],["iceberg_catalog_glue",[["impl <a 
class=\"trait\" href=\"iceberg/catalog/trait.CatalogBuilder.html\" 
title=\"trait iceberg::catalog::CatalogBuilder\">CatalogBuilder</a> for <a 
class=\"struct\" href=\"iceberg_catalog_glue/struct.GlueCatalogBuilder.html\" 
title=\"struct 
iceberg_catalog_glue::GlueCatalogBuilder\">GlueCatalogBuilder</a>"]]],["iceberg_catalog_hms",[["impl
 CatalogBuilder for <a class=\"struct\" href=\"iceberg_catalog_h [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[14,340,334,217,241,211]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[14,340,211,217,241,211]}
\ No newline at end of file
diff --git a/download.html b/download.html
index f539f9624..de34f9127 100644
--- a/download.html
+++ b/download.html
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html" class="active">Download</a></li><li class="chapter-item 
expanded "><a href="api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html" class="active">Download</a></li><li class="chapter-item 
expanded "><a href="api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
diff --git a/index.html b/index.html
index d796f4e8e..5b0233962 100644
--- a/index.html
+++ b/index.html
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html" class="active">Introduction</a></li><li 
class="chapter-item expanded affix "><li class="part-title">User Guide</li><li 
class="chapter-item expanded "><a href="install.html">Install</a></li><li 
class="chapter-item expanded "><a href="download.html">Download</a></li><li 
class="chapter-item expanded "><a href="api.html">API</a></li><li 
class="chapter-item expanded affix "><li class="part-title [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html" class="active">Introduction</a></li><li 
class="chapter-item expanded affix "><li class="part-title">User Guide</li><li 
class="chapter-item expanded "><a href="install.html">Install</a></li><li 
class="chapter-item expanded "><a href="download.html">Download</a></li><li 
class="chapter-item expanded "><a href="api.html">API</a></li><li 
class="chapter-item expanded affix "><li class="part-title [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
diff --git a/install.html b/install.html
index 80acab72f..f2a34dde8 100644
--- a/install.html
+++ b/install.html
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html" class="active">Install</a></li><li class="chapter-item 
expanded "><a href="download.html">Download</a></li><li class="chapter-item 
expanded "><a href="api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html" class="active">Install</a></li><li class="chapter-item 
expanded "><a href="download.html">Download</a></li><li class="chapter-item 
expanded "><a href="api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
diff --git a/introduction.html b/introduction.html
index d796f4e8e..5b0233962 100644
--- a/introduction.html
+++ b/introduction.html
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html" class="active">Introduction</a></li><li 
class="chapter-item expanded affix "><li class="part-title">User Guide</li><li 
class="chapter-item expanded "><a href="install.html">Install</a></li><li 
class="chapter-item expanded "><a href="download.html">Download</a></li><li 
class="chapter-item expanded "><a href="api.html">API</a></li><li 
class="chapter-item expanded affix "><li class="part-title [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html" class="active">Introduction</a></li><li 
class="chapter-item expanded affix "><li class="part-title">User Guide</li><li 
class="chapter-item expanded "><a href="install.html">Install</a></li><li 
class="chapter-item expanded "><a href="download.html">Download</a></li><li 
class="chapter-item expanded "><a href="api.html">API</a></li><li 
class="chapter-item expanded affix "><li class="part-title [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
diff --git a/print.html b/print.html
index cb3357489..ad5c6d9f7 100644
--- a/print.html
+++ b/print.html
@@ -89,7 +89,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html">API</a></li><li class="chapter-item expanded affix "><li 
class="part-title">Developer Gui [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html">API</a></li><li class="chapter-item expanded affix "><li 
class="part-title">Developer Gui [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
@@ -796,9 +796,7 @@ refactor: Polish the implementation of read parquet
 cargo 1.69.0 (6e9a83356 2023-04-12)
 </code></pre>
 <h4 id="install-docker-or-podman"><a class="header" 
href="#install-docker-or-podman">Install Docker or Podman</a></h4>
-<p>Currently, iceberg-rust uses Docker to set up environment for integration 
tests. Native Docker has some limitations, please check 
(https://github.com/apache/iceberg-rust/pull/748). Please use Orbstack or 
Podman.</p>
-<p>For MacOS users, you can install <a 
href="website/src/reference/orbstack.html">OrbStack as a docker alternative</a>.
-For Podman users, refer to <a href="website/src/reference/podman.html">Using 
Podman instead of Docker</a></p>
+<p>Currently, iceberg-rust uses Docker to set up environment for integration 
tests. See <a href="website/src/reference/container-runtimes.html">Container 
Runtimes</a> for setup instructions.</p>
 <h2 id="build"><a class="header" href="#build">Build</a></h2>
 <ul>
 <li>To compile the project: <code>make build</code></li>
@@ -1183,32 +1181,79 @@ On behalf of Apache Iceberg Community
   ~ specific language governing permissions and limitations
   ~ under the License.
 -->
-<h1 id="using-podman-instead-of-docker"><a class="header" 
href="#using-podman-instead-of-docker">Using Podman instead of Docker</a></h1>
-<p>Iceberg-rust does not require containerization, except for integration 
tests, where &quot;docker&quot; and &quot;docker-compose&quot; are used to 
start containers for minio and various catalogs. Below instructions setup 
&quot;rootful podman&quot; and docker's official docker-compose plugin to run 
integration tests as an alternative to docker or Orbstack.</p>
+<h1 id="container-runtimes"><a class="header" 
href="#container-runtimes">Container Runtimes</a></h1>
+<p>Iceberg-rust uses containers for integration tests, where 
<code>docker</code> and <code>docker compose</code> start containers for MinIO 
and various catalogs. You can use any of the following container runtimes.</p>
+<h2 id="docker-desktop"><a class="header" href="#docker-desktop">Docker 
Desktop</a></h2>
+<p><a href="https://www.docker.com/products/docker-desktop/";>Docker 
Desktop</a> is available for macOS, Windows, and Linux.</p>
 <ol>
-<li>Have podman v4 or newer.
+<li>
+<p>Install Docker Desktop by downloading the <a 
href="https://www.docker.com/products/docker-desktop/";>installer</a> or using 
Homebrew on macOS.</p>
+<pre><code class="language-shell">brew install --cask docker
+</code></pre>
+</li>
+<li>
+<p>Launch Docker Desktop and complete the setup.</p>
+</li>
+<li>
+<p>Verify the installation.</p>
+<pre><code class="language-shell">docker --version
+docker compose version
+</code></pre>
+</li>
+<li>
+<p>Try some integration tests!</p>
+<pre><code class="language-shell">make test
+</code></pre>
+</li>
+</ol>
+<h2 id="orbstack-macos"><a class="header" href="#orbstack-macos">OrbStack 
(macOS)</a></h2>
+<p><a href="https://orbstack.dev/";>OrbStack</a> is a lightweight alternative 
to Docker Desktop on macOS.</p>
+<ol>
+<li>
+<p>Install OrbStack by downloading the <a 
href="https://orbstack.dev/download";>installer</a> or using Homebrew.</p>
+<pre><code class="language-shell">brew install orbstack
+</code></pre>
+</li>
+<li>
+<p>Migrate Docker data (if switching from Docker Desktop).</p>
+<pre><code class="language-shell">orb migrate docker
+</code></pre>
+</li>
+<li>
+<p>(Optional) Add registry mirrors.</p>
+<p>You can edit the config directly at 
<code>~/.orbstack/config/docker.json</code> and restart the engine with 
<code>orb restart docker</code>.</p>
+<pre><code class="language-json">{
+    &quot;registry-mirrors&quot;: [&quot;&lt;mirror_addr&gt;&quot;]
+}
+</code></pre>
+</li>
+<li>
+<p>Try some integration tests!</p>
+<pre><code class="language-shell">make test
+</code></pre>
+</li>
+</ol>
+<h2 id="podman"><a class="header" href="#podman">Podman</a></h2>
+<p><a href="https://podman.io/";>Podman</a> is a daemonless container engine. 
The instructions below set up &quot;rootful podman&quot; with docker's official 
docker-compose plugin.</p>
+<ol>
+<li>
+<p>Have podman v4 or newer.</p>
 <pre><code class="language-shell">$ podman --version
 podman version 4.9.4-rhel
 </code></pre>
 </li>
-<li>Create a docker wrapper script:</li>
-</ol>
-<ul>
 <li>
+<p>Create a docker wrapper script:</p>
 <p>Create a fresh <code>/usr/bin/docker</code> file and add the below 
contents:</p>
 <pre><code class="language-bash">#!/bin/sh
 [ -e /etc/containers/nodocker ] || \
 echo &quot;Emulate Docker CLI using podman. Create /etc/containers/nodocker to 
quiet msg.&quot; &gt;&amp;2
 exec sudo /usr/bin/podman &quot;$@&quot;
 </code></pre>
-</li>
-<li>
 <p>Set new <code>/usr/bin/docker</code> file to executable.</p>
 <pre><code class="language-shell">sudo chmod +x /usr/bin/docker
 </code></pre>
 </li>
-</ul>
-<ol start="3">
 <li>
 <p>Install the <a href="https://docs.docker.com/compose/install/linux";>docker 
compose plugin</a>. Check for successful installation.</p>
 <pre><code class="language-shell">$ docker compose version
@@ -1246,68 +1291,22 @@ lrwxrwxrwx 1 root root 27 Jul 24 12:18 
/var/run/docker.sock -&gt; /var/run/podma
 </code></pre>
 </li>
 </ol>
-<h1 id="references"><a class="header" href="#references">References</a></h1>
+<h3 id="note-on-rootless-containers"><a class="header" 
href="#note-on-rootless-containers">Note on rootless containers</a></h3>
+<p>As of podman v4, <a 
href="https://www.redhat.com/sysadmin/container-ip-address-podman";>&quot;To be 
succinct and simple, when running rootless containers, the container itself 
does not have an IP address&quot;</a>. This causes issues with iceberg-rust's 
integration tests, which rely upon IP-addressable containers via 
docker-compose. As a result, podman &quot;rootful&quot; containers are required 
to ensure containers have IP addresses.</p>
+<h3 id="podman-troubleshooting"><a class="header" 
href="#podman-troubleshooting">Podman troubleshooting</a></h3>
+<p><strong>Error:</strong> <code>short-name 
&quot;apache/iceberg-rest-fixture&quot; did not resolve to an alias and no 
unqualified-search registries are defined in 
&quot;/etc/containers/registries.conf&quot;</code></p>
+<p><strong>Fix:</strong> Add or modify the 
<code>/etc/containers/registries.conf</code> file:</p>
+<pre><code class="language-toml">[[registry]]
+prefix = &quot;docker.io&quot;
+location = &quot;docker.io&quot;
+</code></pre>
+<h3 id="podman-references"><a class="header" href="#podman-references">Podman 
references</a></h3>
 <ul>
 <li><a 
href="https://docs.docker.com/compose/install/linux";>https://docs.docker.com/compose/install/linux</a></li>
 <li><a 
href="https://www.redhat.com/sysadmin/podman-docker-compose";>https://www.redhat.com/sysadmin/podman-docker-compose</a></li>
-</ul>
-<h1 id="note-on-rootless-containers"><a class="header" 
href="#note-on-rootless-containers">Note on rootless containers</a></h1>
-<p>As of podman v4, <a 
href="https://www.redhat.com/sysadmin/container-ip-address-podman";>&quot;To be 
succinct and simple, when running rootless containers, the container itself 
does not have an IP address&quot;</a> This causes issues with iceberg-rust's 
integration tests, which rely upon ip-addressable containers via 
docker-compose. As a result, podman &quot;rootful&quot; containers are required 
throughout to ensure containers have IP addresses. Perhaps as a future work or 
with updates  [...]
-<ul>
 <li><a 
href="https://www.redhat.com/sysadmin/container-ip-address-podman";>https://www.redhat.com/sysadmin/container-ip-address-podman</a></li>
 <li><a 
href="https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md";>https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md</a></li>
 </ul>
-<h1 id="debugging-note"><a class="header" href="#debugging-note">Debugging 
Note:</a></h1>
-<ul>
-<li>Fix for error: <code>Error: short-name 
&quot;apache/iceberg-rest-fixture&quot; did not resolve to an alias and no 
unqualified-search registries are defined in 
&quot;/etc/containers/registries.conf&quot;</code>
-<ul>
-<li>Add or modify the <code>/etc/containers/registries.conf</code> file:</li>
-</ul>
-<pre><code class="language-toml">[[registry]]
-prefix = &quot;docker.io&quot;
-location = &quot;docker.io&quot;
-</code></pre>
-</li>
-</ul>
-<div style="break-before: page; page-break-before: always;"></div><!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-<h1 id="orbstack-as-a-docker-alternative-on-macos"><a class="header" 
href="#orbstack-as-a-docker-alternative-on-macos">OrbStack as a docker 
alternative on macOS</a></h1>
-<ol>
-<li>
-<p>Install OrbStack by downloading <a 
href="https://orbstack.dev/download";>installer</a> or using Homebrew.</p>
-<pre><code class="language-shell">brew install orbstack
-</code></pre>
-</li>
-<li>
-<p>Migrate Docker data</p>
-<pre><code class="language-shell">orb migrate docker
-</code></pre>
-</li>
-<li>
-<p>(Optional) Add registry mirrors</p>
-<p>You can edit the config directly at 
<code>~/.orbstack/config/docker.json</code> and restart the engine with 
<code>orb restart docker</code>.</p>
-<pre><code>{
-    &quot;registry-mirrors&quot;: [&quot;&lt;mirror_addr&gt;&quot;]
-}
-</code></pre>
-</li>
-</ol>
 <div style="break-before: page; page-break-before: always;"></div><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
diff --git a/reference/podman.html b/reference/container-runtimes.html
similarity index 79%
rename from reference/podman.html
rename to reference/container-runtimes.html
index 5efacaab9..5b66ddc71 100644
--- a/reference/podman.html
+++ b/reference/container-runtimes.html
@@ -3,7 +3,7 @@
     <head>
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
-        <title>Using Podman instead of Docker - Iceberg Rust</title>
+        <title>Container Runtimes - Iceberg Rust</title>
 
 
         <!-- Custom HTML head -->
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="../introduction.html">Introduction</a></li><li class="chapter-item 
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item 
expanded "><a href="../install.html">Install</a></li><li class="chapter-item 
expanded "><a href="../download.html">Download</a></li><li class="chapter-item 
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title">D [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="../introduction.html">Introduction</a></li><li class="chapter-item 
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item 
expanded "><a href="../install.html">Install</a></li><li class="chapter-item 
expanded "><a href="../download.html">Download</a></li><li class="chapter-item 
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title">D [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
@@ -150,7 +150,7 @@
                         <a href="https://github.com/apache/iceberg-rust"; 
title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa 
fa-github"></i>
                         </a>
-                        <a 
href="https://github.com/apache/iceberg-rust/edit/main/website/src/reference/podman.md";
 title="Suggest an edit" aria-label="Suggest an edit">
+                        <a 
href="https://github.com/apache/iceberg-rust/edit/main/website/src/reference/container-runtimes.md";
 title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
 
@@ -197,32 +197,79 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
 -->
-<h1 id="using-podman-instead-of-docker"><a class="header" 
href="#using-podman-instead-of-docker">Using Podman instead of Docker</a></h1>
-<p>Iceberg-rust does not require containerization, except for integration 
tests, where &quot;docker&quot; and &quot;docker-compose&quot; are used to 
start containers for minio and various catalogs. Below instructions setup 
&quot;rootful podman&quot; and docker's official docker-compose plugin to run 
integration tests as an alternative to docker or Orbstack.</p>
+<h1 id="container-runtimes"><a class="header" 
href="#container-runtimes">Container Runtimes</a></h1>
+<p>Iceberg-rust uses containers for integration tests, where 
<code>docker</code> and <code>docker compose</code> start containers for MinIO 
and various catalogs. You can use any of the following container runtimes.</p>
+<h2 id="docker-desktop"><a class="header" href="#docker-desktop">Docker 
Desktop</a></h2>
+<p><a href="https://www.docker.com/products/docker-desktop/";>Docker 
Desktop</a> is available for macOS, Windows, and Linux.</p>
 <ol>
-<li>Have podman v4 or newer.
+<li>
+<p>Install Docker Desktop by downloading the <a 
href="https://www.docker.com/products/docker-desktop/";>installer</a> or using 
Homebrew on macOS.</p>
+<pre><code class="language-shell">brew install --cask docker
+</code></pre>
+</li>
+<li>
+<p>Launch Docker Desktop and complete the setup.</p>
+</li>
+<li>
+<p>Verify the installation.</p>
+<pre><code class="language-shell">docker --version
+docker compose version
+</code></pre>
+</li>
+<li>
+<p>Try some integration tests!</p>
+<pre><code class="language-shell">make test
+</code></pre>
+</li>
+</ol>
+<h2 id="orbstack-macos"><a class="header" href="#orbstack-macos">OrbStack 
(macOS)</a></h2>
+<p><a href="https://orbstack.dev/";>OrbStack</a> is a lightweight alternative 
to Docker Desktop on macOS.</p>
+<ol>
+<li>
+<p>Install OrbStack by downloading the <a 
href="https://orbstack.dev/download";>installer</a> or using Homebrew.</p>
+<pre><code class="language-shell">brew install orbstack
+</code></pre>
+</li>
+<li>
+<p>Migrate Docker data (if switching from Docker Desktop).</p>
+<pre><code class="language-shell">orb migrate docker
+</code></pre>
+</li>
+<li>
+<p>(Optional) Add registry mirrors.</p>
+<p>You can edit the config directly at 
<code>~/.orbstack/config/docker.json</code> and restart the engine with 
<code>orb restart docker</code>.</p>
+<pre><code class="language-json">{
+    &quot;registry-mirrors&quot;: [&quot;&lt;mirror_addr&gt;&quot;]
+}
+</code></pre>
+</li>
+<li>
+<p>Try some integration tests!</p>
+<pre><code class="language-shell">make test
+</code></pre>
+</li>
+</ol>
+<h2 id="podman"><a class="header" href="#podman">Podman</a></h2>
+<p><a href="https://podman.io/";>Podman</a> is a daemonless container engine. 
The instructions below set up &quot;rootful podman&quot; with docker's official 
docker-compose plugin.</p>
+<ol>
+<li>
+<p>Have podman v4 or newer.</p>
 <pre><code class="language-shell">$ podman --version
 podman version 4.9.4-rhel
 </code></pre>
 </li>
-<li>Create a docker wrapper script:</li>
-</ol>
-<ul>
 <li>
+<p>Create a docker wrapper script:</p>
 <p>Create a fresh <code>/usr/bin/docker</code> file and add the below 
contents:</p>
 <pre><code class="language-bash">#!/bin/sh
 [ -e /etc/containers/nodocker ] || \
 echo &quot;Emulate Docker CLI using podman. Create /etc/containers/nodocker to 
quiet msg.&quot; &gt;&amp;2
 exec sudo /usr/bin/podman &quot;$@&quot;
 </code></pre>
-</li>
-<li>
 <p>Set new <code>/usr/bin/docker</code> file to executable.</p>
 <pre><code class="language-shell">sudo chmod +x /usr/bin/docker
 </code></pre>
 </li>
-</ul>
-<ol start="3">
 <li>
 <p>Install the <a href="https://docs.docker.com/compose/install/linux";>docker 
compose plugin</a>. Check for successful installation.</p>
 <pre><code class="language-shell">$ docker compose version
@@ -260,28 +307,21 @@ lrwxrwxrwx 1 root root 27 Jul 24 12:18 
/var/run/docker.sock -&gt; /var/run/podma
 </code></pre>
 </li>
 </ol>
-<h1 id="references"><a class="header" href="#references">References</a></h1>
+<h3 id="note-on-rootless-containers"><a class="header" 
href="#note-on-rootless-containers">Note on rootless containers</a></h3>
+<p>As of podman v4, <a 
href="https://www.redhat.com/sysadmin/container-ip-address-podman";>&quot;To be 
succinct and simple, when running rootless containers, the container itself 
does not have an IP address&quot;</a>. This causes issues with iceberg-rust's 
integration tests, which rely upon IP-addressable containers via 
docker-compose. As a result, podman &quot;rootful&quot; containers are required 
to ensure containers have IP addresses.</p>
+<h3 id="podman-troubleshooting"><a class="header" 
href="#podman-troubleshooting">Podman troubleshooting</a></h3>
+<p><strong>Error:</strong> <code>short-name 
&quot;apache/iceberg-rest-fixture&quot; did not resolve to an alias and no 
unqualified-search registries are defined in 
&quot;/etc/containers/registries.conf&quot;</code></p>
+<p><strong>Fix:</strong> Add or modify the 
<code>/etc/containers/registries.conf</code> file:</p>
+<pre><code class="language-toml">[[registry]]
+prefix = &quot;docker.io&quot;
+location = &quot;docker.io&quot;
+</code></pre>
+<h3 id="podman-references"><a class="header" href="#podman-references">Podman 
references</a></h3>
 <ul>
 <li><a 
href="https://docs.docker.com/compose/install/linux";>https://docs.docker.com/compose/install/linux</a></li>
 <li><a 
href="https://www.redhat.com/sysadmin/podman-docker-compose";>https://www.redhat.com/sysadmin/podman-docker-compose</a></li>
-</ul>
-<h1 id="note-on-rootless-containers"><a class="header" 
href="#note-on-rootless-containers">Note on rootless containers</a></h1>
-<p>As of podman v4, <a 
href="https://www.redhat.com/sysadmin/container-ip-address-podman";>&quot;To be 
succinct and simple, when running rootless containers, the container itself 
does not have an IP address&quot;</a> This causes issues with iceberg-rust's 
integration tests, which rely upon ip-addressable containers via 
docker-compose. As a result, podman &quot;rootful&quot; containers are required 
throughout to ensure containers have IP addresses. Perhaps as a future work or 
with updates  [...]
-<ul>
 <li><a 
href="https://www.redhat.com/sysadmin/container-ip-address-podman";>https://www.redhat.com/sysadmin/container-ip-address-podman</a></li>
 <li><a 
href="https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md";>https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md</a></li>
-</ul>
-<h1 id="debugging-note"><a class="header" href="#debugging-note">Debugging 
Note:</a></h1>
-<ul>
-<li>Fix for error: <code>Error: short-name 
&quot;apache/iceberg-rest-fixture&quot; did not resolve to an alias and no 
unqualified-search registries are defined in 
&quot;/etc/containers/registries.conf&quot;</code>
-<ul>
-<li>Add or modify the <code>/etc/containers/registries.conf</code> file:</li>
-</ul>
-<pre><code class="language-toml">[[registry]]
-prefix = &quot;docker.io&quot;
-location = &quot;docker.io&quot;
-</code></pre>
-</li>
 </ul>
 
                     </main>
@@ -292,7 +332,7 @@ location = &quot;docker.io&quot;
                                 <i class="fa fa-angle-left"></i>
                             </a>
 
-                            <a rel="next prefetch" 
href="../reference/orbstack.html" class="mobile-nav-chapters next" title="Next 
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
+                            <a rel="next prefetch" 
href="../reference/setup_gpg.html" class="mobile-nav-chapters next" title="Next 
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                             </a>
 
@@ -306,7 +346,7 @@ location = &quot;docker.io&quot;
                         <i class="fa fa-angle-left"></i>
                     </a>
 
-                    <a rel="next prefetch" href="../reference/orbstack.html" 
class="nav-chapters next" title="Next chapter" aria-label="Next chapter" 
aria-keyshortcuts="Right">
+                    <a rel="next prefetch" href="../reference/setup_gpg.html" 
class="nav-chapters next" title="Next chapter" aria-label="Next chapter" 
aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                     </a>
             </nav>
diff --git a/reference/orbstack.html b/reference/orbstack.html
deleted file mode 100644
index c968194cb..000000000
--- a/reference/orbstack.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en" class="light" dir="ltr">
-    <head>
-        <!-- Book generated using mdBook -->
-        <meta charset="UTF-8">
-        <title>OrbStack as a docker alternative - Iceberg Rust</title>
-
-
-        <!-- Custom HTML head -->
-        
-        <meta name="description" content="">
-        <meta name="viewport" content="width=device-width, initial-scale=1">
-        <meta name="theme-color" content="#ffffff">
-
-        <link rel="icon" href="../favicon.svg">
-        <link rel="shortcut icon" href="../favicon.png">
-        <link rel="stylesheet" href="../css/variables.css">
-        <link rel="stylesheet" href="../css/general.css">
-        <link rel="stylesheet" href="../css/chrome.css">
-        <link rel="stylesheet" href="../css/print.css" media="print">
-
-        <!-- Fonts -->
-        <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        <link rel="stylesheet" href="../fonts/fonts.css">
-
-        <!-- Highlight.js Stylesheets -->
-        <link rel="stylesheet" href="../highlight.css">
-        <link rel="stylesheet" href="../tomorrow-night.css">
-        <link rel="stylesheet" href="../ayu-highlight.css">
-
-        <!-- Custom theme stylesheets -->
-
-    </head>
-    <body class="sidebar-visible no-js">
-    <div id="body-container">
-        <!-- Provide site root to javascript -->
-        <script>
-            var path_to_root = "../";
-            var default_theme = window.matchMedia("(prefers-color-scheme: 
dark)").matches ? "navy" : "light";
-        </script>
-
-        <!-- Work around some values being stored in localStorage wrapped in 
quotes -->
-        <script>
-            try {
-                var theme = localStorage.getItem('mdbook-theme');
-                var sidebar = localStorage.getItem('mdbook-sidebar');
-
-                if (theme.startsWith('"') && theme.endsWith('"')) {
-                    localStorage.setItem('mdbook-theme', theme.slice(1, 
theme.length - 1));
-                }
-
-                if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
-                    localStorage.setItem('mdbook-sidebar', sidebar.slice(1, 
sidebar.length - 1));
-                }
-            } catch (e) { }
-        </script>
-
-        <!-- Set the theme before any content is loaded, prevents flash -->
-        <script>
-            var theme;
-            try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
-            if (theme === null || theme === undefined) { theme = 
default_theme; }
-            var html = document.querySelector('html');
-            html.classList.remove('light')
-            html.classList.add(theme);
-            var body = document.querySelector('body');
-            body.classList.remove('no-js')
-            body.classList.add('js');
-        </script>
-
-        <input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
-
-        <!-- Hide / unhide sidebar before it is displayed -->
-        <script>
-            var body = document.querySelector('body');
-            var sidebar = null;
-            var sidebar_toggle = 
document.getElementById("sidebar-toggle-anchor");
-            if (document.body.clientWidth >= 1080) {
-                try { sidebar = localStorage.getItem('mdbook-sidebar'); } 
catch(e) { }
-                sidebar = sidebar || 'visible';
-            } else {
-                sidebar = 'hidden';
-            }
-            sidebar_toggle.checked = sidebar === 'visible';
-            body.classList.remove('sidebar-visible');
-            body.classList.add("sidebar-" + sidebar);
-        </script>
-
-        <nav id="sidebar" class="sidebar" aria-label="Table of contents">
-            <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="../introduction.html">Introduction</a></li><li class="chapter-item 
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item 
expanded "><a href="../install.html">Install</a></li><li class="chapter-item 
expanded "><a href="../download.html">Download</a></li><li class="chapter-item 
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title">D [...]
-            </div>
-            <div id="sidebar-resize-handle" class="sidebar-resize-handle">
-                <div class="sidebar-resize-indicator"></div>
-            </div>
-        </nav>
-
-        <!-- Track and set sidebar scroll position -->
-        <script>
-            var sidebarScrollbox = document.querySelector('#sidebar 
.sidebar-scrollbox');
-            sidebarScrollbox.addEventListener('click', function(e) {
-                if (e.target.tagName === 'A') {
-                    sessionStorage.setItem('sidebar-scroll', 
sidebarScrollbox.scrollTop);
-                }
-            }, { passive: true });
-            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
-            sessionStorage.removeItem('sidebar-scroll');
-            if (sidebarScrollTop) {
-                // preserve sidebar scroll position when navigating via links 
within sidebar
-                sidebarScrollbox.scrollTop = sidebarScrollTop;
-            } else {
-                // scroll sidebar to current active section when navigating 
via "next/previous chapter" buttons
-                var activeSection = document.querySelector('#sidebar .active');
-                if (activeSection) {
-                    activeSection.scrollIntoView({ block: 'center' });
-                }
-            }
-        </script>
-
-        <div id="page-wrapper" class="page-wrapper">
-
-            <div class="page">
-                                <div id="menu-bar-hover-placeholder"></div>
-                <div id="menu-bar" class="menu-bar sticky">
-                    <div class="left-buttons">
-                        <label id="sidebar-toggle" class="icon-button" 
for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle 
Table of Contents" aria-controls="sidebar">
-                            <i class="fa fa-bars"></i>
-                        </label>
-                        <button id="theme-toggle" class="icon-button" 
type="button" title="Change theme" aria-label="Change theme" 
aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
-                            <i class="fa fa-paint-brush"></i>
-                        </button>
-                        <ul id="theme-list" class="theme-popup" 
aria-label="Themes" role="menu">
-                            <li role="none"><button role="menuitem" 
class="theme" id="light">Light</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="rust">Rust</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="coal">Coal</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="navy">Navy</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="ayu">Ayu</button></li>
-                        </ul>
-                        <button id="search-toggle" class="icon-button" 
type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" 
aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
-                            <i class="fa fa-search"></i>
-                        </button>
-                    </div>
-
-                    <h1 class="menu-title">Iceberg Rust</h1>
-
-                    <div class="right-buttons">
-                        <a href="../print.html" title="Print this book" 
aria-label="Print this book">
-                            <i id="print-button" class="fa fa-print"></i>
-                        </a>
-                        <a href="https://github.com/apache/iceberg-rust"; 
title="Git repository" aria-label="Git repository">
-                            <i id="git-repository-button" class="fa 
fa-github"></i>
-                        </a>
-                        <a 
href="https://github.com/apache/iceberg-rust/edit/main/website/src/reference/orbstack.md";
 title="Suggest an edit" aria-label="Suggest an edit">
-                            <i id="git-edit-button" class="fa fa-edit"></i>
-                        </a>
-
-                    </div>
-                </div>
-
-                <div id="search-wrapper" class="hidden">
-                    <form id="searchbar-outer" class="searchbar-outer">
-                        <input type="search" id="searchbar" name="searchbar" 
placeholder="Search this book ..." aria-controls="searchresults-outer" 
aria-describedby="searchresults-header">
-                    </form>
-                    <div id="searchresults-outer" class="searchresults-outer 
hidden">
-                        <div id="searchresults-header" 
class="searchresults-header"></div>
-                        <ul id="searchresults">
-                        </ul>
-                    </div>
-                </div>
-
-                <!-- Apply ARIA attributes after the sidebar and the sidebar 
toggle button are added to the DOM -->
-                <script>
-                    
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar 
=== 'visible');
-                    
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 
'visible');
-                    Array.from(document.querySelectorAll('#sidebar 
a')).forEach(function(link) {
-                        link.setAttribute('tabIndex', sidebar === 'visible' ? 
0 : -1);
-                    });
-                </script>
-
-                <div id="content" class="content">
-                    <main>
-                        <!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-<h1 id="orbstack-as-a-docker-alternative-on-macos"><a class="header" 
href="#orbstack-as-a-docker-alternative-on-macos">OrbStack as a docker 
alternative on macOS</a></h1>
-<ol>
-<li>
-<p>Install OrbStack by downloading <a 
href="https://orbstack.dev/download";>installer</a> or using Homebrew.</p>
-<pre><code class="language-shell">brew install orbstack
-</code></pre>
-</li>
-<li>
-<p>Migrate Docker data</p>
-<pre><code class="language-shell">orb migrate docker
-</code></pre>
-</li>
-<li>
-<p>(Optional) Add registry mirrors</p>
-<p>You can edit the config directly at 
<code>~/.orbstack/config/docker.json</code> and restart the engine with 
<code>orb restart docker</code>.</p>
-<pre><code>{
-    &quot;registry-mirrors&quot;: [&quot;&lt;mirror_addr&gt;&quot;]
-}
-</code></pre>
-</li>
-</ol>
-
-                    </main>
-
-                    <nav class="nav-wrapper" aria-label="Page navigation">
-                        <!-- Mobile navigation buttons -->
-                            <a rel="prev" href="../reference/podman.html" 
class="mobile-nav-chapters previous" title="Previous chapter" 
aria-label="Previous chapter" aria-keyshortcuts="Left">
-                                <i class="fa fa-angle-left"></i>
-                            </a>
-
-                            <a rel="next prefetch" 
href="../reference/setup_gpg.html" class="mobile-nav-chapters next" title="Next 
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
-                                <i class="fa fa-angle-right"></i>
-                            </a>
-
-                        <div style="clear: both"></div>
-                    </nav>
-                </div>
-            </div>
-
-            <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                    <a rel="prev" href="../reference/podman.html" 
class="nav-chapters previous" title="Previous chapter" aria-label="Previous 
chapter" aria-keyshortcuts="Left">
-                        <i class="fa fa-angle-left"></i>
-                    </a>
-
-                    <a rel="next prefetch" href="../reference/setup_gpg.html" 
class="nav-chapters next" title="Next chapter" aria-label="Next chapter" 
aria-keyshortcuts="Right">
-                        <i class="fa fa-angle-right"></i>
-                    </a>
-            </nav>
-
-        </div>
-
-
-
-
-        <script>
-            window.playground_copyable = true;
-        </script>
-
-
-        <script src="../elasticlunr.min.js"></script>
-        <script src="../mark.min.js"></script>
-        <script src="../searcher.js"></script>
-
-        <script src="../clipboard.min.js"></script>
-        <script src="../highlight.js"></script>
-        <script src="../book.js"></script>
-
-        <!-- Custom JS scripts -->
-
-
-    </div>
-    </body>
-</html>
diff --git a/reference/setup_gpg.html b/reference/setup_gpg.html
index b6e1c7ed9..bdd551ba2 100644
--- a/reference/setup_gpg.html
+++ b/reference/setup_gpg.html
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="../introduction.html">Introduction</a></li><li class="chapter-item 
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item 
expanded "><a href="../install.html">Install</a></li><li class="chapter-item 
expanded "><a href="../download.html">Download</a></li><li class="chapter-item 
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title">D [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="../introduction.html">Introduction</a></li><li class="chapter-item 
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item 
expanded "><a href="../install.html">Install</a></li><li class="chapter-item 
expanded "><a href="../download.html">Download</a></li><li class="chapter-item 
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded 
affix "><li class="part-title">D [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
@@ -314,7 +314,7 @@ svn ci -m &quot;add gpg key for YOUR_NAME&quot; # Later on, 
if you are asked to
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
-                            <a rel="prev" href="../reference/orbstack.html" 
class="mobile-nav-chapters previous" title="Previous chapter" 
aria-label="Previous chapter" aria-keyshortcuts="Left">
+                            <a rel="prev" 
href="../reference/container-runtimes.html" class="mobile-nav-chapters 
previous" title="Previous chapter" aria-label="Previous chapter" 
aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                             </a>
 
@@ -325,7 +325,7 @@ svn ci -m &quot;add gpg key for YOUR_NAME&quot; # Later on, 
if you are asked to
             </div>
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                    <a rel="prev" href="../reference/orbstack.html" 
class="nav-chapters previous" title="Previous chapter" aria-label="Previous 
chapter" aria-keyshortcuts="Left">
+                    <a rel="prev" href="../reference/container-runtimes.html" 
class="nav-chapters previous" title="Previous chapter" aria-label="Previous 
chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                     </a>
 
diff --git a/release.html b/release.html
index db92f31d8..bff130e54 100644
--- a/release.html
+++ b/release.html
@@ -88,7 +88,7 @@
 
         <nav id="sidebar" class="sidebar" aria-label="Table of contents">
             <div class="sidebar-scrollbox">
-                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html">API</a></li><li class="chapter-item expanded affix "><li 
class="part-title">Developer Gui [...]
+                <ol class="chapter"><li class="chapter-item expanded "><a 
href="introduction.html">Introduction</a></li><li class="chapter-item expanded 
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded 
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a 
href="download.html">Download</a></li><li class="chapter-item expanded "><a 
href="api.html">API</a></li><li class="chapter-item expanded affix "><li 
class="part-title">Developer Gui [...]
             </div>
             <div id="sidebar-resize-handle" class="sidebar-resize-handle">
                 <div class="sidebar-resize-indicator"></div>
@@ -540,7 +540,7 @@ On behalf of Apache Iceberg Community
                                 <i class="fa fa-angle-left"></i>
                             </a>
 
-                            <a rel="next prefetch" 
href="reference/podman.html" class="mobile-nav-chapters next" title="Next 
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
+                            <a rel="next prefetch" 
href="reference/container-runtimes.html" class="mobile-nav-chapters next" 
title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                             </a>
 
@@ -554,7 +554,7 @@ On behalf of Apache Iceberg Community
                         <i class="fa fa-angle-left"></i>
                     </a>
 
-                    <a rel="next prefetch" href="reference/podman.html" 
class="nav-chapters next" title="Next chapter" aria-label="Next chapter" 
aria-keyshortcuts="Right">
+                    <a rel="next prefetch" 
href="reference/container-runtimes.html" class="nav-chapters next" title="Next 
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                     </a>
             </nav>
diff --git a/searchindex.js b/searchindex.js
index ac3186395..f27b8aeb9 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Object.assign(window.search, 
{"doc_urls":["introduction.html#iceberg-rust","introduction.html#what-is-apache-iceberg","install.html#install","download.html#apache-iceberg-rust-downloads","download.html#releases","download.html#notes","download.html#to-verify-the-signature-of-the-release-artifact","download.html#to-verify-the-checksum-of-the-release-artifact","api.html#catalog","api.html#restcatalog","api.html#table","CONTRIBUTING.html#contributing","CONTRIBUTING.html#your-first-contribut
 [...]
\ No newline at end of file
+Object.assign(window.search, 
{"doc_urls":["introduction.html#iceberg-rust","introduction.html#what-is-apache-iceberg","install.html#install","download.html#apache-iceberg-rust-downloads","download.html#releases","download.html#notes","download.html#to-verify-the-signature-of-the-release-artifact","download.html#to-verify-the-checksum-of-the-release-artifact","api.html#catalog","api.html#restcatalog","api.html#table","CONTRIBUTING.html#contributing","CONTRIBUTING.html#your-first-contribut
 [...]
\ No newline at end of file
diff --git a/searchindex.json b/searchindex.json
index aac22a32c..b9b2022dd 100644
--- a/searchindex.json
+++ b/searchindex.json
@@ -1 +1 @@
-{"doc_urls":["introduction.html#iceberg-rust","introduction.html#what-is-apache-iceberg","install.html#install","download.html#apache-iceberg-rust-downloads","download.html#releases","download.html#notes","download.html#to-verify-the-signature-of-the-release-artifact","download.html#to-verify-the-checksum-of-the-release-artifact","api.html#catalog","api.html#restcatalog","api.html#table","CONTRIBUTING.html#contributing","CONTRIBUTING.html#your-first-contribution","CONTRIBUTING.html#workf
 [...]
\ No newline at end of file
+{"doc_urls":["introduction.html#iceberg-rust","introduction.html#what-is-apache-iceberg","install.html#install","download.html#apache-iceberg-rust-downloads","download.html#releases","download.html#notes","download.html#to-verify-the-signature-of-the-release-artifact","download.html#to-verify-the-checksum-of-the-release-artifact","api.html#catalog","api.html#restcatalog","api.html#table","CONTRIBUTING.html#contributing","CONTRIBUTING.html#your-first-contribution","CONTRIBUTING.html#workf
 [...]
\ No newline at end of file

Reply via email to