<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ipmhub Docs</title>
    <link>https://docs.ipmhub.io/</link>
    <description>Recent content on ipmhub Docs</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 27 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://docs.ipmhub.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://docs.ipmhub.io/docs/about-ipm/about/</link>
      <pubDate>Mon, 22 May 2023 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/about-ipm/about/</guid>
      <description>&lt;h1 id=&#34;about-ipmhub&#34;&gt;About IPMHub &lt;a href=&#34;#about-ipmhub&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;IPMHub is a modern package management platform designed to simplify and streamline Infrastructure as Code (IaC) distribution. Founded in 2024, we focus on making infrastructure code sharing and management effortless, whether within your organization or across your customer base.&lt;/p&gt;&#xA;&lt;h2 id=&#34;our-solution&#34;&gt;Our Solution &lt;a href=&#34;#our-solution&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;IPMHub, along with our CLI client IPM (Infrastructure Package Manager), provides a robust ecosystem for cloud engineers, DevOps practitioners, and platform engineers to share, manage, and deploy infrastructure code efficiently. What sets us apart is our innovative &amp;ldquo;Tracked Workspaces&amp;rdquo; feature, which provides unprecedented visibility into your infrastructure code usage across your organization. This functionality enables teams to monitor workspace status through our portal (&lt;a href=&#34;https://portal.ipmhub.io&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;https://portal.ipmhub.io&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;), tracking package usage, version status, and change history with precision.&lt;/p&gt;</description>
    </item>
    <item>
      <title>prep-ipm</title>
      <link>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/prep-ipm/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/prep-ipm/</guid>
      <description>&lt;h1 id=&#34;prep-ipm&#34;&gt;prep-ipm &lt;a href=&#34;#prep-ipm&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Downloads and installs the IPM CLI for the runner&amp;rsquo;s OS and architecture, then exposes it on &lt;code&gt;PATH&lt;/code&gt;. Safe to call multiple times within a job — it skips the download if the requested version is already installed.&lt;/p&gt;&#xA;&lt;p&gt;This action is used internally by &lt;code&gt;ipm-init&lt;/code&gt;, &lt;code&gt;ipm-sync&lt;/code&gt;, and &lt;code&gt;ipm-status&lt;/code&gt;. You only need to use it directly if you want to run IPM CLI commands manually in a subsequent step.&lt;/p&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage &lt;a href=&#34;#usage&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;1ccef9e&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1&#xA;  with:&#xA;    version: &amp;#39;&amp;#39;          # Optional: specific version without &amp;#39;v&amp;#39; prefix (default: latest)&#xA;    alias-name: &amp;#39;ipm&amp;#39;   # Optional: alias exposed on PATH (default: &amp;#39;ipm&amp;#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h2 id=&#34;inputs&#34;&gt;Inputs &lt;a href=&#34;#inputs&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Input&lt;/th&gt;&#xA;          &lt;th&gt;Required&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;latest&lt;/td&gt;&#xA;          &lt;td&gt;Specific IPM version to install, without the &lt;code&gt;v&lt;/code&gt; prefix (e.g. &lt;code&gt;0.12.0&lt;/code&gt;). Omit or leave empty for latest.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias-name&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;ipm&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The name of the binary alias exposed on &lt;code&gt;PATH&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias-per-version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;When &lt;code&gt;true&lt;/code&gt;, the alias becomes &lt;code&gt;&amp;lt;alias-name&amp;gt;-&amp;lt;version&amp;gt;&lt;/code&gt; so multiple versions can coexist in the same job.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;install-root&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;${{ runner.temp }}/ipm-bin&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Root directory used to cache installs across steps within the job.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;outputs&#34;&gt;Outputs &lt;a href=&#34;#outputs&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Output&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;bin_dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Directory containing the installed binary.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias_path&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Full path to the binary alias.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Alias name that was added to &lt;code&gt;PATH&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;version_key&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Normalized version key (e.g. &lt;code&gt;0.12.0&lt;/code&gt; or &lt;code&gt;latest&lt;/code&gt;).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;supported-platforms&#34;&gt;Supported Platforms &lt;a href=&#34;#supported-platforms&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;OS&lt;/th&gt;&#xA;          &lt;th&gt;Architectures&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Ubuntu&lt;/td&gt;&#xA;          &lt;td&gt;x64, arm, arm64&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS&lt;/td&gt;&#xA;          &lt;td&gt;x64, arm64&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Windows&lt;/td&gt;&#xA;          &lt;td&gt;x86, x64, arm64&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;examples&#34;&gt;Examples &lt;a href=&#34;#examples&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;install-latest-and-use-in-a-subsequent-step&#34;&gt;Install latest and use in a subsequent step &lt;a href=&#34;#install-latest-and-use-in-a-subsequent-step&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;cd16cdf&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Install IPM&#xA;  id: ipm&#xA;  uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1&#xA;&#xA;- name: Run custom IPM command&#xA;  run: ipm info myorg/mypackage --non-interactive&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;pin-a-specific-version&#34;&gt;Pin a specific version &lt;a href=&#34;#pin-a-specific-version&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;3c8776d&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Install IPM 0.12.0&#xA;  uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1&#xA;  with:&#xA;    version: &amp;#39;0.12.0&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;run-two-ipm-versions-in-the-same-job&#34;&gt;Run two IPM versions in the same job &lt;a href=&#34;#run-two-ipm-versions-in-the-same-job&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;d0444e0&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Install IPM latest&#xA;  uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1&#xA;  with:&#xA;    alias-per-version: &amp;#39;true&amp;#39;&#xA;&#xA;- name: Install IPM 0.10.0&#xA;  uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1&#xA;  with:&#xA;    version: &amp;#39;0.10.0&amp;#39;&#xA;    alias-per-version: &amp;#39;true&amp;#39;&#xA;&#xA;- name: Compare outputs&#xA;  run: |&#xA;    ipm-latest --version&#xA;    ipm-0.10.0 --version&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;</description>
    </item>
    <item>
      <title>Integrate with GitHub</title>
      <link>https://docs.ipmhub.io/docs/getting-started/ci-cd/github/</link>
      <pubDate>Thu, 08 Feb 2024 22:32:19 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/ci-cd/github/</guid>
      <description>&lt;h1 id=&#34;integrate-ipm-with-github-workflows&#34;&gt;Integrate IPM with GitHub Workflows &lt;a href=&#34;#integrate-ipm-with-github-workflows&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;This guide explains how to integrate IPM into your GitHub workflows. IPM can be installed dynamically within your workflows for tasks such as package management and status monitoring. Common use cases include downloading packages, publishing updates, and running status checks to enhance observability.&lt;/p&gt;&#xA;&lt;h2 id=&#34;installing-ipm-in-your-workflow&#34;&gt;Installing IPM in Your Workflow &lt;a href=&#34;#installing-ipm-in-your-workflow&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Add the following step to your workflow to install the latest version of IPM:&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;7060a25&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Install IPM CLI&#xA;  shell: bash&#xA;  run: |&#xA;      curl -Lo ipm-cli.tar.gz &amp;#34;https://github.com/ipmhubio/ipm/releases/download/0.7.0/ipm-linux-x64-full.tar.gz&amp;#34;&#xA;      tar -xzf ipm-cli.tar.gz&#xA;      rm -f ipm-cli.tar.gz &#xA;      sudo mv ./ipm /usr/local/bin/ipm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h2 id=&#34;authentication-setup&#34;&gt;Authentication Setup &lt;a href=&#34;#authentication-setup&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;To use IPM in your workflows, you&amp;rsquo;ll need to authenticate using the &lt;code&gt;--non-interactive&lt;/code&gt; parameter and a client secret. You can provide authentication either through environment variables or command-line parameters. For more details about non-interactive mode, see the &lt;a data-bs-delay=&#34;{&amp;#34;hide&amp;#34;:300,&amp;#34;show&amp;#34;:550}&#34; data-bs-html=&#34;true&#34; data-bs-title=&#34;&lt;a href=&#39;https://docs.ipmhub.io/docs/ipm/param_overview/&#39;&gt;&lt;p&gt;IPM CLI&lt;/p&gt;</description>
    </item>
    <item>
      <title>Third Party Licenses</title>
      <link>https://docs.ipmhub.io/docs/about-ipm/license/</link>
      <pubDate>Mon, 22 May 2023 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/about-ipm/license/</guid>
      <description>&lt;h3 id=&#34;autofac&#34;&gt;Autofac &lt;a href=&#34;#autofac&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Project Url: &lt;a href=&#34;https://github.com/autofac/Autofac&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;https://github.com/autofac/Autofac&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;br&gt;&#xA;License: MIT&lt;br&gt;&#xA;Copyright © 2014 Autofac Project&lt;/p&gt;&#xA;&lt;h3 id=&#34;commandlineparser&#34;&gt;CommandLineParser &lt;a href=&#34;#commandlineparser&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Project Url: &lt;a href=&#34;https://github.com/commandlineparser/commandline&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;https://github.com/commandlineparser/commandline&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;br&gt;&#xA;License: MIT&lt;br&gt;&#xA;Copyright © 2005 - 2015 Giacomo Stelluti Scala &amp;amp; Contributors&lt;/p&gt;</description>
    </item>
    <item>
      <title>Access organizations</title>
      <link>https://docs.ipmhub.io/docs/getting-started/request-access/</link>
      <pubDate>Thu, 08 Feb 2024 22:32:19 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/request-access/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview &lt;a href=&#34;#overview&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;This guide walks you through the process of creating an IPMHub account and joining an organization after receiving an invitation.&lt;/p&gt;&#xA;&lt;h1 id=&#34;prerequisites&#34;&gt;Prerequisites &lt;a href=&#34;#prerequisites&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;&#xA;&lt;li&gt;An email invitation from an IPMHub organization administrator&lt;/li&gt;&#xA;&lt;li&gt;The unique invitation code from the email&lt;/li&gt;&#xA;&lt;li&gt;A valid email address&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps &lt;a href=&#34;#steps&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h2 id=&#34;1-create-your-ipmhub-account&#34;&gt;1. Create Your IPMHub Account &lt;a href=&#34;#1-create-your-ipmhub-account&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Click the invitation link in your email or visit &lt;a href=&#34;https://portal.ipmhub.io&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;IPMHub Portal&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Create an account, more information can be found &lt;a data-bs-delay=&#34;{&amp;#34;hide&amp;#34;:300,&amp;#34;show&amp;#34;:550}&#34; data-bs-html=&#34;true&#34; data-bs-title=&#34;&lt;a href=&#39;https://docs.ipmhub.io/docs/getting-started/new-account/&#39;&gt;&lt;p&gt;GETTING STARTED&lt;/p&gt;</description>
    </item>
    <item>
      <title>Integrate with Azure DevOps</title>
      <link>https://docs.ipmhub.io/docs/getting-started/ci-cd/devops/</link>
      <pubDate>Thu, 08 Feb 2024 22:32:19 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/ci-cd/devops/</guid>
      <description>&lt;h1 id=&#34;integrate-ipm-with-azure-devops-pipelines&#34;&gt;Integrate IPM with Azure DevOps Pipelines &lt;a href=&#34;#integrate-ipm-with-azure-devops-pipelines&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;This guide explains how to integrate IPM into your Azure DevOps pipelines. IPM can be installed dynamically within your pipeline jobs for tasks such as package management and status monitoring. Common use cases include downloading packages, publishing updates, and running status checks to enhance observability.&lt;/p&gt;&#xA;&lt;h2 id=&#34;installing-ipm-in-your-pipeline&#34;&gt;Installing IPM in Your Pipeline &lt;a href=&#34;#installing-ipm-in-your-pipeline&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Add the following step to your pipeline to install the latest version of IPM:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ipm-init</title>
      <link>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/ipm-init/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/ipm-init/</guid>
      <description>&lt;h1 id=&#34;ipm-init&#34;&gt;ipm-init &lt;a href=&#34;#ipm-init&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Initializes a new IPM workspace in the specified directory by running &lt;code&gt;ipm init&lt;/code&gt;. Use this action when your workflow needs to set up a fresh workspace before adding or syncing packages.&lt;/p&gt;&#xA;&lt;p&gt;This action does not require authentication.&lt;/p&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage &lt;a href=&#34;#usage&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;ea48b40&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- uses: ipmhubio/ipm-actions/.github/actions/ipm-init@v1&#xA;  with:&#xA;    working-directory: &amp;#39;.&amp;#39;   # Optional: directory to initialize (default: &amp;#39;.&amp;#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h2 id=&#34;inputs&#34;&gt;Inputs &lt;a href=&#34;#inputs&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Input&lt;/th&gt;&#xA;          &lt;th&gt;Required&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;working-directory&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Directory where &lt;code&gt;ipm init&lt;/code&gt; will run.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;hide-banner&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Set to &lt;code&gt;true&lt;/code&gt; to suppress the IPM CLI banner in the log output.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ipm-version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;latest&lt;/td&gt;&#xA;          &lt;td&gt;Specific IPM version to use, without the &lt;code&gt;v&lt;/code&gt; prefix. Omit for latest.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;examples&#34;&gt;Examples &lt;a href=&#34;#examples&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;initialize-a-workspace-at-the-repo-root&#34;&gt;Initialize a workspace at the repo root &lt;a href=&#34;#initialize-a-workspace-at-the-repo-root&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;0285155&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- uses: actions/checkout@v4&#xA;&#xA;- name: Init IPM workspace&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-init@v1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;initialize-in-a-subdirectory&#34;&gt;Initialize in a subdirectory &lt;a href=&#34;#initialize-in-a-subdirectory&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;2e0a484&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Init workspace&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-init@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;use-a-pinned-ipm-version-with-a-clean-log&#34;&gt;Use a pinned IPM version with a clean log &lt;a href=&#34;#use-a-pinned-ipm-version-with-a-clean-log&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;1962ab0&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Init workspace&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-init@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;    ipm-version: &amp;#39;0.12.0&amp;#39;&#xA;    hide-banner: &amp;#39;true&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;&#xA;  &#xA;`ipm-init` only needs to run once per workspace. If your workspace already has an `ipmhub.json`, you can skip this action and go straight to `ipm-sync`.&#xA;&#xA;  &lt;/div&gt;&#xA;  &lt;/div&gt;</description>
    </item>
    <item>
      <title>ipm-sync</title>
      <link>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/ipm-sync/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/ipm-sync/</guid>
      <description>&lt;h1 id=&#34;ipm-sync&#34;&gt;ipm-sync &lt;a href=&#34;#ipm-sync&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Synchronizes packages in an existing IPM workspace by running &lt;code&gt;ipm sync&lt;/code&gt;. This is the primary action for downloading and updating packages in your CI/CD pipeline.&lt;/p&gt;&#xA;&lt;p&gt;Authentication is required via the &lt;code&gt;IPM_CLIENT_SECRETS&lt;/code&gt; environment variable.&lt;/p&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage &lt;a href=&#34;#usage&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;0dae2fb&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1&#xA;  with:&#xA;    working-directory: &amp;#39;.&amp;#39;            # Optional&#xA;    sync-mode: &amp;#39;KeepAllChanges&amp;#39;       # Optional&#xA;    package-name: &amp;#39;&amp;#39;                  # Optional&#xA;    package-names: &amp;#39;&amp;#39;                 # Optional&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h2 id=&#34;inputs&#34;&gt;Inputs &lt;a href=&#34;#inputs&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Input&lt;/th&gt;&#xA;          &lt;th&gt;Required&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;working-directory&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Directory containing the IPM workspace.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;sync-mode&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;KeepAllChanges&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Controls how local file changes are handled during sync. See &lt;a href=&#34;https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/ipm-sync/#sync-modes&#34;&gt;Sync Modes&lt;/a&gt; below.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;package-name&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Sync a single specific package by name.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;package-names&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Sync multiple packages. Separate names with semicolons, commas, or spaces.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;hide-banner&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Set to &lt;code&gt;true&lt;/code&gt; to suppress the IPM CLI banner in the log output.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ipm-version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;latest&lt;/td&gt;&#xA;          &lt;td&gt;Specific IPM version to use, without the &lt;code&gt;v&lt;/code&gt; prefix.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&#xA;&lt;div class=&#34;alert alert-warning d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  warning&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;&#xA;  &#xA;Use either `package-name` or `package-names`, not both. If neither is set, all packages in the workspace are synchronized.&#xA;&#xA;  &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;sync-modes&#34;&gt;Sync Modes &lt;a href=&#34;#sync-modes&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Mode&lt;/th&gt;&#xA;          &lt;th&gt;Behavior&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;KeepAllChanges&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Preserves all local modifications (default).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;KeepChangesOnly&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Preserves modified files, removes locally added files.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;KeepNewFilesOnly&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Keeps locally added files, overwrites modified files.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Clean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Removes all local changes and downloads a fresh copy.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;examples&#34;&gt;Examples &lt;a href=&#34;#examples&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;sync-all-packages-in-the-workspace&#34;&gt;Sync all packages in the workspace &lt;a href=&#34;#sync-all-packages-in-the-workspace&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;886329c&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Sync IPM packages&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;sync-with-a-clean-slate&#34;&gt;Sync with a clean slate &lt;a href=&#34;#sync-with-a-clean-slate&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;be3cdff&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Sync packages (clean)&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;    sync-mode: Clean&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;sync-a-specific-package&#34;&gt;Sync a specific package &lt;a href=&#34;#sync-a-specific-package&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;773f866&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Sync network module&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;    package-name: &amp;#39;myorg/virtual-networks&amp;#39;&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;sync-multiple-specific-packages&#34;&gt;Sync multiple specific packages &lt;a href=&#34;#sync-multiple-specific-packages&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;905f18d&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Sync network packages&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;    package-names: &amp;#39;myorg/virtual-networks; myorg/storage-accounts&amp;#39;&#xA;    sync-mode: Clean&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;multi-platform-sync&#34;&gt;Multi-platform sync &lt;a href=&#34;#multi-platform-sync&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;2d6c0ea&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;jobs:&#xA;  sync:&#xA;    runs-on: ${{ matrix.os }}&#xA;    strategy:&#xA;      matrix:&#xA;        os: [ubuntu-latest, macos-latest, windows-latest]&#xA;    steps:&#xA;      - uses: actions/checkout@v4&#xA;&#xA;      - name: Sync packages&#xA;        uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1&#xA;        with:&#xA;          working-directory: ./infrastructure&#xA;        env:&#xA;          IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;</description>
    </item>
    <item>
      <title>Link Entra</title>
      <link>https://docs.ipmhub.io/docs/getting-started/new-account/entra/</link>
      <pubDate>Thu, 08 Feb 2024 22:32:19 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/new-account/entra/</guid>
      <description>&lt;p&gt;&#xA;&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;We assume that you have have an Microsoft Entra account.&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;&lt;div class=&#34;alert alert-success d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  check_circle&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;We support personal and business accounts.&lt;/div&gt;&#xA;  &lt;/div&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Go to &lt;a href=&#34;https://portal.ipmhub.io&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;portal.ipmhub.io&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt; and select the Microsoft logo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ipm-status</title>
      <link>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/ipm-status/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/ipm-status/</guid>
      <description>&lt;h1 id=&#34;ipm-status&#34;&gt;ipm-status &lt;a href=&#34;#ipm-status&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Checks the status of packages in an existing IPM workspace by running &lt;code&gt;ipm status&lt;/code&gt;. Use this to verify that packages are in sync or to detect drift as part of a pipeline or scheduled check.&lt;/p&gt;&#xA;&lt;p&gt;Authentication is required via the &lt;code&gt;IPM_CLIENT_SECRETS&lt;/code&gt; environment variable.&lt;/p&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage &lt;a href=&#34;#usage&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;2ac32f8&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1&#xA;  with:&#xA;    working-directory: &amp;#39;.&amp;#39;   # Optional&#xA;    package-name: &amp;#39;&amp;#39;         # Optional&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h2 id=&#34;inputs&#34;&gt;Inputs &lt;a href=&#34;#inputs&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Input&lt;/th&gt;&#xA;          &lt;th&gt;Required&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;working-directory&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Directory containing the IPM workspace.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;package-name&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Check status for a single specific package. If omitted, all packages in the workspace are checked.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;hide-banner&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Set to &lt;code&gt;true&lt;/code&gt; to suppress the IPM CLI banner in the log output.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ipm-version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;latest&lt;/td&gt;&#xA;          &lt;td&gt;Specific IPM version to use, without the &lt;code&gt;v&lt;/code&gt; prefix.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;examples&#34;&gt;Examples &lt;a href=&#34;#examples&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;check-status-of-all-packages&#34;&gt;Check status of all packages &lt;a href=&#34;#check-status-of-all-packages&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;9de469d&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: IPM status&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;check-status-of-a-single-package&#34;&gt;Check status of a single package &lt;a href=&#34;#check-status-of-a-single-package&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;36127e3&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Check network module status&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;    package-name: &amp;#39;myorg/virtual-networks&amp;#39;&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;drift-detection-in-a-scheduled-workflow&#34;&gt;Drift detection in a scheduled workflow &lt;a href=&#34;#drift-detection-in-a-scheduled-workflow&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;1f2584a&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;name: Nightly drift check&#xA;&#xA;on:&#xA;  schedule:&#xA;    - cron: &amp;#39;0 6 * * *&amp;#39;&#xA;&#xA;jobs:&#xA;  drift:&#xA;    runs-on: ubuntu-latest&#xA;    steps:&#xA;      - uses: actions/checkout@v4&#xA;&#xA;      - name: Check package status&#xA;        uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1&#xA;        with:&#xA;          working-directory: ./infrastructure&#xA;        env:&#xA;          IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;use-alongside-sync-in-a-deploy-pipeline&#34;&gt;Use alongside sync in a deploy pipeline &lt;a href=&#34;#use-alongside-sync-in-a-deploy-pipeline&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;4a4a393&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Sync packages&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;    sync-mode: KeepAllChanges&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&#xA;- name: Verify status after sync&#xA;  uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1&#xA;  with:&#xA;    working-directory: ./infrastructure&#xA;  env:&#xA;    IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;</description>
    </item>
    <item>
      <title>Link GitHub</title>
      <link>https://docs.ipmhub.io/docs/getting-started/new-account/github/</link>
      <pubDate>Thu, 08 Feb 2024 22:32:19 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/new-account/github/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;We assume that you have have an GitHub account.&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Go to &lt;a href=&#34;https://portal.ipmhub.io&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;portal.ipmhub.io&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt; and select the GitHub logo.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;      &lt;img src=&#34;https://docs.ipmhub.io/images/gs/signin.png&#34; alt=&#34;portal signin&#34; width=&#34;774&#34; height=&#34;334&#34; loading=&#34;lazy&#34;&gt;&#xA;      &lt;p class=&#34;img-text&#34;&gt;Click the image to enlarge&lt;/p&gt;</description>
    </item>
    <item>
      <title>pin-your-bicep</title>
      <link>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/pin-your-bicep/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/getting-started/ci-cd/github-actions/pin-your-bicep/</guid>
      <description>&lt;h1 id=&#34;pin-your-bicep&#34;&gt;pin-your-bicep &lt;a href=&#34;#pin-your-bicep&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Installs and pins a specific Bicep CLI version on the runner, then adds it to &lt;code&gt;PATH&lt;/code&gt; so subsequent steps can use &lt;code&gt;bicep&lt;/code&gt; directly. If the requested version is already present on the agent, the download is skipped.&lt;/p&gt;&#xA;&lt;p&gt;This action does not require authentication.&lt;/p&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage &lt;a href=&#34;#usage&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;a8e746f&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- uses: ipmhubio/ipm-actions/.github/actions/pin-your-bicep@v1&#xA;  with:&#xA;    version: &amp;#39;latest&amp;#39;   # Optional: specific version or &amp;#39;latest&amp;#39; (default: latest)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h2 id=&#34;inputs&#34;&gt;Inputs &lt;a href=&#34;#inputs&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Input&lt;/th&gt;&#xA;          &lt;th&gt;Required&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;latest&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bicep version to install. Accepts &lt;code&gt;latest&lt;/code&gt; or a specific version with or without the &lt;code&gt;v&lt;/code&gt; prefix (e.g. &lt;code&gt;0.38.3&lt;/code&gt; or &lt;code&gt;v0.38.3&lt;/code&gt;).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;outputs&#34;&gt;Outputs &lt;a href=&#34;#outputs&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Output&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;installed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt; if Bicep was downloaded; &lt;code&gt;false&lt;/code&gt; if the requested version was already present.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;resolved_version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The actual version that was installed (normalized, no leading &lt;code&gt;v&lt;/code&gt;).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;path&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Install directory added to &lt;code&gt;PATH&lt;/code&gt;, if a download occurred.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;supported-platforms&#34;&gt;Supported Platforms &lt;a href=&#34;#supported-platforms&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;OS&lt;/th&gt;&#xA;          &lt;th&gt;Architectures&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Ubuntu&lt;/td&gt;&#xA;          &lt;td&gt;x64, arm64&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS&lt;/td&gt;&#xA;          &lt;td&gt;x64, arm64&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Windows&lt;/td&gt;&#xA;          &lt;td&gt;x64, arm64&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;examples&#34;&gt;Examples &lt;a href=&#34;#examples&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;install-the-latest-bicep-release&#34;&gt;Install the latest Bicep release &lt;a href=&#34;#install-the-latest-bicep-release&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;d7652b6&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Pin Bicep&#xA;  uses: ipmhubio/ipm-actions/.github/actions/pin-your-bicep@v1&#xA;&#xA;- name: Compile Bicep template&#xA;  run: bicep build ./main.bicep&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;pin-a-specific-bicep-version&#34;&gt;Pin a specific Bicep version &lt;a href=&#34;#pin-a-specific-bicep-version&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;e5c11bf&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Pin Bicep 0.38.3&#xA;  uses: ipmhubio/ipm-actions/.github/actions/pin-your-bicep@v1&#xA;  with:&#xA;    version: &amp;#39;0.38.3&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;use-outputs-to-log-the-installed-version&#34;&gt;Use outputs to log the installed version &lt;a href=&#34;#use-outputs-to-log-the-installed-version&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;d242038&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;- name: Pin Bicep&#xA;  id: bicep&#xA;  uses: ipmhubio/ipm-actions/.github/actions/pin-your-bicep@v1&#xA;&#xA;- name: Log Bicep version&#xA;  run: echo &amp;#34;Installed Bicep ${{ steps.bicep.outputs.resolved_version }}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;combine-with-ipm-sync-in-a-bicep-deployment-workflow&#34;&gt;Combine with IPM sync in a Bicep deployment workflow &lt;a href=&#34;#combine-with-ipm-sync-in-a-bicep-deployment-workflow&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;c5d9957&#34; class=&#34;language-yaml&#34;&#xA;        &gt;&lt;code class=&#34;language-yaml&#34;&#xA;        &gt;name: Deploy Bicep infrastructure&#xA;&#xA;on:&#xA;  push:&#xA;    branches: [main]&#xA;&#xA;jobs:&#xA;  deploy:&#xA;    runs-on: ubuntu-latest&#xA;    steps:&#xA;      - uses: actions/checkout@v4&#xA;&#xA;      - name: Pin Bicep&#xA;        uses: ipmhubio/ipm-actions/.github/actions/pin-your-bicep@v1&#xA;        with:&#xA;          version: &amp;#39;0.38.3&amp;#39;&#xA;&#xA;      - name: Sync IPM packages&#xA;        uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1&#xA;        with:&#xA;          working-directory: ./infrastructure&#xA;          sync-mode: Clean&#xA;        env:&#xA;          IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}&#xA;&#xA;      - name: Build Bicep&#xA;        run: bicep build ./infrastructure/main.bicep&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;&#xA;  &#xA;The action checks if the requested version is already on the agent&#39;s `PATH` before downloading. On self-hosted runners with a pre-installed Bicep, the download step will be skipped automatically.&#xA;&#xA;  &lt;/div&gt;&#xA;  &lt;/div&gt;</description>
    </item>
    <item>
      <title>Install IPM</title>
      <link>https://docs.ipmhub.io/docs/installation/</link>
      <pubDate>Mon, 22 May 2023 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/installation/</guid>
      <description>&lt;nav&gt;&#xA;&#x9;&lt;div class=&#34;nav nav-tabs&#34; id=&#34;nav-tab&#34; role=&#34;tablist&#34;&gt;&#xA;&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&lt;a class=&#34;nav-link  active&#34;&#xA;&#x9;&#x9;   id=&#34;dfebacTab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#dfebac&#34;&#xA;&#x9;&#x9;   type=&#34;button&#34; role=&#34;tab&#34; aria-controls=&#34;dfebac&#34; aria-selected=&#34;true&#34;&gt;Windows&lt;/a&gt;&#xA;&#xA;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&lt;a class=&#34;nav-link &#34;&#xA;&#x9;&#x9;   id=&#34;cdeafbTab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#cdeafb&#34;&#xA;&#x9;&#x9;   type=&#34;button&#34; role=&#34;tab&#34; aria-controls=&#34;cdeafb&#34; aria-selected=&#34;true&#34;&gt;MacOs&lt;/a&gt;&#xA;&#xA;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&lt;a class=&#34;nav-link &#34;&#xA;&#x9;&#x9;   id=&#34;eadfcbTab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#eadfcb&#34;&#xA;&#x9;&#x9;   type=&#34;button&#34; role=&#34;tab&#34; aria-controls=&#34;eadfcb&#34; aria-selected=&#34;true&#34;&gt;Ubuntu&lt;/a&gt;&#xA;&#xA;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&lt;a class=&#34;nav-link &#34;&#xA;&#x9;&#x9;   id=&#34;bfcdeaTab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#bfcdea&#34;&#xA;&#x9;&#x9;   type=&#34;button&#34; role=&#34;tab&#34; aria-controls=&#34;bfcdea&#34; aria-selected=&#34;true&#34;&gt;Debian&lt;/a&gt;&#xA;&#xA;&#x9;&#x9;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&lt;/nav&gt;&#xA;&#xA;&lt;div class=&#34;tab-content&#34; id=&#34;nav-tab-content&#34;&gt;&#xA;&#xA;&#x9;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;tab-pane fade show active&#34; id=&#34;dfebac&#34; role=&#34;tabpanel&#34; aria-labelledby=&#34;nav-1&#34;&gt;&#xA;&#xA;&#x9;&#xA;&#xA;&lt;h3 id=&#34;windows&#34;&gt;Windows &lt;a href=&#34;#windows&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Windows 10/11&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;We strongly advise to use &lt;code&gt;winget&lt;/code&gt; to install &lt;code&gt;IPM&lt;/code&gt; on Windows 10 or 11. &lt;code&gt;winget&lt;/code&gt; is the easiest way to install and to update IPM.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;c71eeda&#34; class=&#34;language-bash&#34;&#xA;        &gt;&lt;code class=&#34;language-bash&#34;&#xA;        &gt;winget install IPMHub.IPM&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&#xA;&lt;h4 id=&#34;update-ipm&#34;&gt;Update IPM &lt;a href=&#34;#update-ipm&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h4&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;ce67927&#34; class=&#34;language-bash&#34;&#xA;        &gt;&lt;code class=&#34;language-bash&#34;&#xA;        &gt;winget upgrade IPMHub.IPM&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Windows 7 SP1 - Windows 8&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>IPM parameters</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_overview/</link>
      <pubDate>Thu, 08 Feb 2024 22:21:11 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_overview/</guid>
      <description>&lt;div class=&#34;alert alert-success d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  check_circle&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;IPM version 0.14.0 is now available with interactive search/add, CLI diagnostics, and workspace init improvements!&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;p&gt;The IPM client has a number of main verbs that can be used to interact with the IPMHub and get your project up and running.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Main verbs&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;account&lt;/code&gt;: Display current user information&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;add&lt;/code&gt;: Add packages to your workspace&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;build&lt;/code&gt;: Prepare package contents from a source directory&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;cache&lt;/code&gt;: Manage the IPM client cache&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;config&lt;/code&gt;: Configure the IPM client&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;export&lt;/code&gt;: Export a package to a local folder&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;info&lt;/code&gt;: Get package information&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;init&lt;/code&gt;: Initialize a local workspace&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;list&lt;/code&gt;: List available packages&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;login&lt;/code&gt;: Authenticate with IPMHub&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;logout&lt;/code&gt;: End the current session&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;publish&lt;/code&gt;: Publish a new package version&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;search&lt;/code&gt;: Find packages&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;status&lt;/code&gt;: Check workspace status&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;sync&lt;/code&gt;: Synchronize your workspace&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;account&#34;&gt;Account &lt;a href=&#34;#account&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Return the current user and the remaining lifetime of the current session.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/add/</link>
      <pubDate>Thu, 08 Feb 2024 22:27:48 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/add/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The &lt;code&gt;ipm add&lt;/code&gt; command facilitates adding new packages to the local workspace and also directly downloads it from our remote servers.&lt;/p&gt;&#xA;&lt;h2 id=&#34;interactive-mode&#34;&gt;Interactive Mode &lt;a href=&#34;#interactive-mode&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Starting with version 0.14.0, when &lt;code&gt;ipm add&lt;/code&gt; is run &lt;strong&gt;without a &lt;code&gt;--package&lt;/code&gt; argument&lt;/strong&gt; in a supported terminal, it launches the advanced interactive navigation.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Start typing to fuzzy-search packages by name&lt;/li&gt;&#xA;&lt;li&gt;Use &lt;strong&gt;↑ / ↓&lt;/strong&gt; arrow keys to navigate through the results&lt;/li&gt;&#xA;&lt;li&gt;Press &lt;strong&gt;Page Up / Page Down&lt;/strong&gt; to move between pages of results&lt;/li&gt;&#xA;&lt;li&gt;Press &lt;strong&gt;Enter&lt;/strong&gt; on a package to load all available versions&lt;/li&gt;&#xA;&lt;li&gt;Press &lt;strong&gt;← Left arrow&lt;/strong&gt; to go back to the package list&lt;/li&gt;&#xA;&lt;li&gt;Press &lt;strong&gt;F1&lt;/strong&gt; to show keyboard shortcut help&lt;/li&gt;&#xA;&lt;li&gt;Press &lt;strong&gt;F2&lt;/strong&gt; to view the package details (latest version); when browsing versions, &lt;strong&gt;F2&lt;/strong&gt; shows the details for the selected version&lt;/li&gt;&#xA;&lt;li&gt;Press &lt;strong&gt;Enter&lt;/strong&gt; on a version to add that package version to your local workspace&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This is the recommended way to explore and add packages when working interactively. For scripted or CI/CD use, continue providing &lt;code&gt;--package&lt;/code&gt; and optionally &lt;code&gt;--version&lt;/code&gt; as before.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Build</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/build/</link>
      <pubDate>Tue, 23 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/build/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The &lt;code&gt;ipm build&lt;/code&gt; command allows you to build a package from a source folder to a target folder. This is particularly useful when you want to inspect the package contents before publishing, ensuring that only the intended files are included and correctly organized.&lt;/p&gt;&#xA;&lt;h2 id=&#34;command-syntax&#34;&gt;Command Syntax &lt;a href=&#34;#command-syntax&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;      &lt;div class=&#34;prism-shortcode&#34;&gt;&#xA;      &lt;pre id=&#34;97cd7f9&#34; class=&#34;language-bash&#34;&#xA;        &gt;&lt;code class=&#34;language-bash&#34;&#xA;        &gt;ipm build -s &amp;lt;source-directory&amp;gt; [-d &amp;lt;destination-directory&amp;gt;] [--dry-run] [--include-manifest] [--summary-file &amp;lt;filepath&amp;gt;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;      &lt;/div&gt;&#xA;  &#xA;&#xA;&lt;h3 id=&#34;required-parameters-option-1&#34;&gt;Required Parameters (option 1) &lt;a href=&#34;#required-parameters-option-1&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;-s&lt;/code&gt; or &lt;code&gt;--source&lt;/code&gt;: The source directory containing your package content&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-d&lt;/code&gt; or &lt;code&gt;--destination&lt;/code&gt;: The destination directory where the built package will be placed&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;required-parameters-option-2&#34;&gt;Required Parameters (option 2) &lt;a href=&#34;#required-parameters-option-2&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;-s&lt;/code&gt; or &lt;code&gt;--source&lt;/code&gt;: The source directory containing your package content&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--dry-run&lt;/code&gt;: Execute the build process without actually copying files, showing what would happen&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;examples&#34;&gt;Examples &lt;a href=&#34;#examples&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Build package content from the current directory to a &amp;lsquo;dist&amp;rsquo; folder:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Export</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/export/</link>
      <pubDate>Wed, 23 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/export/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The &lt;code&gt;ipm export&lt;/code&gt; command enables you to export packages from IPMHub directly to local folders without configuring them as workspaces. This is particularly useful for scenarios where you need to extract package contents for reference, inspection, or integration into non-IPM environments.&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-benefits&#34;&gt;Key Benefits &lt;a href=&#34;#key-benefits&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Direct Export&lt;/strong&gt;: Extract package files to any folder without workspace configuration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Version Control&lt;/strong&gt;: Export specific versions of packages&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Simplified Access&lt;/strong&gt;: Get package content without creating workspace dependencies&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Reference Material&lt;/strong&gt;: Create local copies of packages for documentation or learning&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Flexible Destinations&lt;/strong&gt;: Export to empty or non-empty directories with &lt;code&gt;--force&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Audit Documentation&lt;/strong&gt;: Generate compliance reports with &lt;code&gt;--summary-file&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;use-cases&#34;&gt;Use Cases &lt;a href=&#34;#use-cases&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;The export command is designed for scenarios such as:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Verified Packages</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/verified-packages/</link>
      <pubDate>Sun, 08 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/verified-packages/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Verified packages provide enterprise-grade package integrity through cryptographic verification, ensuring that packages maintain their exact content from build to deployment. This feature addresses growing enterprise requirements for package provenance and content verification through comprehensive manifest generation and automated verification processes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-are-verified-packages&#34;&gt;What Are Verified Packages? &lt;a href=&#34;#what-are-verified-packages&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Verified packages are IPM packages that include cryptographic proof of their integrity through manifest files. These packages receive a &amp;ldquo;verified&amp;rdquo; badge and provide mathematical assurance that their content has not been tampered with between build and publication.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Audit Reporting</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/audit-reporting/</link>
      <pubDate>Sun, 08 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/audit-reporting/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;IPM&amp;rsquo;s &lt;code&gt;--summary-file&lt;/code&gt; parameter creates JSON reports that document what each operation did. These files record which files were processed, what was excluded, and basic operation metadata. They&amp;rsquo;re useful for tracking changes and understanding what happened during package operations.&lt;/p&gt;&#xA;&lt;h2 id=&#34;available-for-these-commands&#34;&gt;Available for These Commands &lt;a href=&#34;#available-for-these-commands&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;The &lt;code&gt;--summary-file&lt;/code&gt; parameter works with:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;ipm build&lt;/code&gt; - Records what files were included and excluded during build&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ipm export&lt;/code&gt; - Documents package export operations&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ipm publish&lt;/code&gt; - Logs package publication details&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;build-operation-summaries&#34;&gt;Build Operation Summaries &lt;a href=&#34;#build-operation-summaries&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;When you use &lt;code&gt;--summary-file&lt;/code&gt; with &lt;code&gt;ipm build&lt;/code&gt;, it creates a JSON file documenting:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Publishing</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/publish/</link>
      <pubDate>Tue, 23 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/publish/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The &lt;code&gt;ipm publish&lt;/code&gt; command allows you to publish new package versions to IPMHub. This guide covers the publishing process and best practices to ensure your packages are properly structured and accessible, including support for verified packages and audit reporting.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites &lt;a href=&#34;#prerequisites&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Before publishing a package with IPM, ensure you have:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Created the package on IPMHub portal (see &lt;a data-bs-delay=&#34;{&amp;#34;hide&amp;#34;:300,&amp;#34;show&amp;#34;:550}&#34; data-bs-html=&#34;true&#34; data-bs-title=&#34;&lt;a href=&#39;https://docs.ipmhub.io/docs/packages/publish/ipm/&#39;&gt;&lt;p&gt;PUBLISH&lt;/p&gt;&lt;strong&gt;IPM&lt;/strong&gt;&lt;br&gt;&lt;/a&gt;&#34; data-bs-toggle=&#34;tooltip&#34; href=&#34;https://docs.ipmhub.io/docs/packages/publish/ipm/&#34;&gt;IPM Publishing guide&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Prepared your package content in a local directory&lt;/li&gt;&#xA;&lt;li&gt;Authenticated with IPMHub using &lt;code&gt;ipm login&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Determined the appropriate semantic version (e.g., 1.0.0)&lt;/li&gt;&#xA;&lt;li&gt;For verified packages: Built package with manifest using &lt;code&gt;ipm build --include-manifest&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;publishing-workflow&#34;&gt;Publishing Workflow &lt;a href=&#34;#publishing-workflow&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;basic-publishing&#34;&gt;Basic Publishing &lt;a href=&#34;#basic-publishing&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The standard syntax for publishing a package:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exit Codes</title>
      <link>https://docs.ipmhub.io/docs/ipm/error_codes/</link>
      <pubDate>Mon, 20 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/error_codes/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;&#xA;  Error codes are introduced in IPM version 0.13.0&#xA;  &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The IPM CLI returns specific exit codes to indicate the success or failure of operations. These codes help with automation, scripting, and debugging by providing detailed information about what went wrong during command execution.&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;alert alert-warning d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  warning&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;&#xA;  On Linux and macOS, exit codes are limited to 0-255. Negative exit codes are converted using modulo 256 (e.g., -100 becomes 156).&#xA;  &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;exit-code-categories&#34;&gt;Exit Code Categories &lt;a href=&#34;#exit-code-categories&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Exit codes are organized into logical groups based on the type of operation or error:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Project Config (ipmhub.json)</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/project-config/</link>
      <pubDate>Thu, 08 Feb 2024 22:21:25 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/project-config/</guid>
      <description>&lt;p&gt;All packages that you are adding to your project are versioned. This means that you can specify which version of a package you wish to include in your project. To keep track of which version you are using within your project we save that information in a easy to read json file. This file is easy to read and can be used to add multiple packages at once.&#xA;Next to that it&amp;rsquo;s also possible to ship a copy of a whole project to a different environment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Diagnostics</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/diagnostics/</link>
      <pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/diagnostics/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;IPM 0.14.0 introduces configurable diagnostic levels. When enabled, the CLI sends telemetry about the current session to the IPMHub API. This information is used for troubleshooting, support, and analytics.&lt;/p&gt;&#xA;&lt;p&gt;Diagnostics are &lt;strong&gt;disabled by default&lt;/strong&gt; (&lt;code&gt;none&lt;/code&gt;). No data is sent unless you opt in.&lt;/p&gt;&#xA;&lt;h2 id=&#34;diagnostics-levels&#34;&gt;Diagnostics Levels &lt;a href=&#34;#diagnostics-levels&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Three levels are available:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Level&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;none&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;No session data is sent. This is the default.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;minimal&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Sends basic information about the CLI run.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;full&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Sends detailed contextual information about the run environment.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;minimal&#34;&gt;Minimal &lt;a href=&#34;#minimal&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The &lt;code&gt;minimal&lt;/code&gt; level sends the following at the start and end of each CLI session:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sync</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/sync/</link>
      <pubDate>Thu, 08 Feb 2024 22:27:38 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/sync/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The &lt;code&gt;ipm sync&lt;/code&gt; command facilitates the synchronization of your local workspace with our remote servers. In the sections below, we explore various scenarios in which the synchronization process proves to be beneficial.&lt;/p&gt;&#xA;&lt;h1 id=&#34;initialize-a-new-project&#34;&gt;Initialize a new project &lt;a href=&#34;#initialize-a-new-project&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;When starting a new project or replicating an existing one with multiple packages, diverse &lt;a data-bs-delay=&#34;{&amp;#34;hide&amp;#34;:300,&amp;#34;show&amp;#34;:550}&#34; data-bs-html=&#34;true&#34; data-bs-title=&#34;&lt;a href=&#39;https://docs.ipmhub.io/docs/ipm/param_details/add/&#39;&gt;&lt;p&gt;IPM FEATURES&lt;/p&gt;&lt;strong&gt;Add&lt;/strong&gt;&lt;br&gt;All information you may need to setup your project using IPM Add.&lt;/a&gt;&#34; data-bs-toggle=&#34;tooltip&#34; href=&#34;https://docs.ipmhub.io/docs/ipm/param_details/add/#multiple-strategy&#34;&gt;strategies&lt;/a&gt;, or a otherwise more complex setup, you can effortlessly duplicate the &lt;code&gt;ipmhub.json&lt;/code&gt; file from one project to another.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI Translation</title>
      <link>https://docs.ipmhub.io/docs/ipm/param_details/language/</link>
      <pubDate>Thu, 08 Feb 2024 22:21:25 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/ipm/param_details/language/</guid>
      <description>&lt;h1 id=&#34;ai-translation&#34;&gt;AI Translation &lt;a href=&#34;#ai-translation&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Welcome to the documentation for our AI Translation Service, an innovative feature designed to enhance user interaction with our IPM client in their preferred language. With this service, we aim to break language barriers by providing translations for Readme and Release notes in over 136 languages. This ensures that every user can seamlessly access and comprehend essential information in their preferred language, making our platform more inclusive and user-friendly. Explore the capabilities and integration details of our AI Translation Service in the sections below to elevate your user experience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IPM</title>
      <link>https://docs.ipmhub.io/docs/packages/publish/ipm/</link>
      <pubDate>Thu, 08 Feb 2024 22:27:38 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/packages/publish/ipm/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The released packages provide versioning support, facilitate exploration of version history, demonstrate examples and READMEs, and include additional functionalities. It is strongly advised to deploy reusable packages to a hub.&lt;/p&gt;&#xA;&lt;p&gt;When utilizing the IPM client to publish new versions to the IPM, it enables the creation of public, hybrid and private packages. This functionality also permits the building of applications from a designated folder.&lt;/p&gt;&#xA;&lt;h1 id=&#34;requirements&#34;&gt;Requirements &lt;a href=&#34;#requirements&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Everyone with a paid license can publish packages to our hub with IPM. You can follow the following requirements and guidelines:&lt;/p&gt;</description>
    </item>
    <item>
      <title>CSV Upload</title>
      <link>https://docs.ipmhub.io/docs/packages/publish/csv-upload/</link>
      <pubDate>Wed, 29 Oct 2025 22:27:38 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/packages/publish/csv-upload/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The CSV bulk import feature lets you create multiple packages at once by uploading a CSV file. This is useful when you need to create many packages quickly or migrate packages from another system.&lt;/p&gt;&#xA;&lt;h2 id=&#34;requirements&#34;&gt;Requirements &lt;a href=&#34;#requirements&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Maximum 100 packages per CSV file&lt;/li&gt;&#xA;&lt;li&gt;Contributor role or higher in the target organization(s)&lt;/li&gt;&#xA;&lt;li&gt;CSV must be semicolon-separated (&lt;code&gt;;&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;csv-format&#34;&gt;CSV Format &lt;a href=&#34;#csv-format&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id=&#34;required-columns&#34;&gt;Required Columns &lt;a href=&#34;#required-columns&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Your CSV must include these columns:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Malware Scanning</title>
      <link>https://docs.ipmhub.io/docs/packages/publish/malware-scanning/</link>
      <pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/packages/publish/malware-scanning/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Every package version published to IPMHub is automatically scanned for malicious content. This happens in the background after &lt;code&gt;ipm publish&lt;/code&gt; completes. The version is unavailable for download until the scan finishes.&lt;/p&gt;&#xA;&lt;h1 id=&#34;scan-process&#34;&gt;Scan Process &lt;a href=&#34;#scan-process&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Scanning runs as a background process triggered by the upload. It operates independently of the IPM client &amp;ndash; once publish returns, the scan is already queued.&lt;/p&gt;&#xA;&lt;p&gt;The scan can take up to 5 minutes to complete. During this time, the version is unlisted and cannot be downloaded by anyone, including the publisher.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Package visibility</title>
      <link>https://docs.ipmhub.io/docs/packages/visibility/</link>
      <pubDate>Thu, 08 Feb 2024 22:27:38 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/packages/visibility/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;On &lt;a href=&#34;https://ipmhub.io&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;IPMHub.io&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;, we provide support for three types of package visibility: Public, Hybrid, and Private. Below, you will find a more detailed explanation of each of these visibility types. Please be aware that in the Free tier, we only support public packages.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is a Tracked Workspaces?</title>
      <link>https://docs.ipmhub.io/docs/organization/tracked_workspaces/home/</link>
      <pubDate>Mon, 22 May 2023 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/tracked_workspaces/home/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;With IPM, it&amp;rsquo;s possible to automatically track the history and current state of your workspaces. You can also see which packages and versions are active in each workspace. This provides a unified and clear overview of the state and distribution of your packages. In addition to having a clear overview of your package distribution, we also provide clear insights into who updated a workspace, such as updating packages, and adding or removing them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Edit organization</title>
      <link>https://docs.ipmhub.io/docs/organization/management/edit_org/</link>
      <pubDate>Thu, 03 Oct 2024 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/management/edit_org/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Want to try out this feature? Join our &lt;a href=&#34;https://ipmhub.io/support&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Partner program&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;When you create an organization and publish hybrid or public packages, you will expose you organization on &lt;a href=&#34;https://ipmhub.io/&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;IPMHub.io&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;. You can manage  configuration settings from this page.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Invite users</title>
      <link>https://docs.ipmhub.io/docs/organization/user-management/invite_users/</link>
      <pubDate>Wed, 02 Oct 2024 00:34:57 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/user-management/invite_users/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;This guide the administrator. If you got invited, please please look here for more information: &lt;a href=&#34;https://ipmhub.io/support&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Partner program&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;To invite new team member to you organization they first need to have an account. This documenation guides you thought this process. This part of the documention is for the &amp;ldquo;Admins&amp;rdquo; of an organization. Please look at this documention if you are a user that is invited or want to be invited to an organization.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Users and roles</title>
      <link>https://docs.ipmhub.io/docs/organization/user-management/user_management/</link>
      <pubDate>Wed, 02 Oct 2024 00:34:57 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/user-management/user_management/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Want to try out this feature? Join our &lt;a href=&#34;https://ipmhub.io/support&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Partner program&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Within &lt;code&gt;IPMHub.io&lt;/code&gt;, you can manage user access and permissions. Each user is assigned a specific role that defines what actions they can perform within the system. Owners have full control over an organization, allowing them to create, assign, or update user roles to ensure proper access control across the platform. Roles help streamline permissions, making it easy to manage what users can see and do.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delete users</title>
      <link>https://docs.ipmhub.io/docs/organization/user-management/delete_users/</link>
      <pubDate>Wed, 02 Oct 2024 00:34:57 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/user-management/delete_users/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Want to try out this feature? Join our &lt;a href=&#34;https://ipmhub.io/support&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Partner program&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;To delete a user from your organization, follow these steps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use Tracked Workspace</title>
      <link>https://docs.ipmhub.io/docs/organization/tracked_workspaces/use/</link>
      <pubDate>Mon, 22 May 2023 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/tracked_workspaces/use/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Want to try out this feature? Join our &lt;a href=&#34;https://ipmhub.io/support&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Partner program&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;setup-local-workspace&#34;&gt;Setup local workspace &lt;a href=&#34;#setup-local-workspace&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id=&#34;using-ipm-init-recommended&#34;&gt;Using ipm init (recommended) &lt;a href=&#34;#using-ipm-init-recommended&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Starting with version 0.14.0, you can link a workspace to a tracked workspace directly when initializing with &lt;code&gt;ipm init&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Tracked Workspace</title>
      <link>https://docs.ipmhub.io/docs/organization/tracked_workspaces/create/</link>
      <pubDate>Mon, 22 May 2023 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/tracked_workspaces/create/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Want to try out this feature? Join our &lt;a href=&#34;https://ipmhub.io/support&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Partner program&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;create&#34;&gt;Create &lt;a href=&#34;#create&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;To create a Tracked Workspace, go to the &lt;a href=&#34;https://portal.ipmhub.io&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;portal&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt; and go to the organization page. Select the organization for which you want to create a Tracked Workspace; in our example, we create one for IPMHub.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating Groups</title>
      <link>https://docs.ipmhub.io/docs/organization/groups/create/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/groups/create/</guid>
      <description>&lt;h1 id=&#34;creating-a-group&#34;&gt;Creating a Group &lt;a href=&#34;#creating-a-group&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id=&#34;access-the-groups-section&#34;&gt;Access the Groups Section &lt;a href=&#34;#access-the-groups-section&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Navigate to your organization&lt;/li&gt;&#xA;&lt;li&gt;Expand the &amp;ldquo;Settings&amp;rdquo; menu&lt;/li&gt;&#xA;&lt;li&gt;Click on &amp;ldquo;Groups&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;create-new-group&#34;&gt;Create New Group &lt;a href=&#34;#create-new-group&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Click the &amp;ldquo;Create Group&amp;rdquo; button&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A modal will open with the following fields:&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;      &lt;img src=&#34;https://docs.ipmhub.io/images/groups/create.png&#34; alt=&#34;Create group&#34; width=&#34;493&#34; height=&#34;563&#34; loading=&#34;lazy&#34;&gt;&#xA;      &lt;p class=&#34;img-text&#34;&gt;Click the image to enlarge&lt;/p&gt;&#xA;    &#xA;  &#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;group-properties&#34;&gt;Group Properties &lt;a href=&#34;#group-properties&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; - Unique identifier for the group (max 64 characters: a-z, A-Z, 0-9, dashes)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt; - Brief description of the group&amp;rsquo;s purpose&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Organization Role&lt;/strong&gt; - Choose the role this group will have:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Global Contributor&lt;/li&gt;&#xA;&lt;li&gt;Global Viewer&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Click &amp;ldquo;Create Group&amp;rdquo; to finish&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing Group Members</title>
      <link>https://docs.ipmhub.io/docs/organization/groups/members/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/groups/members/</guid>
      <description>&lt;h1 id=&#34;managing-group-members&#34;&gt;Managing Group Members &lt;a href=&#34;#managing-group-members&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Groups can contain three types of entities: users, other groups (nested), and client secrets. This guide covers adding and removing members.&lt;/p&gt;&#xA;&lt;h2 id=&#34;accessing-member-management&#34;&gt;Accessing Member Management &lt;a href=&#34;#accessing-member-management&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;There are two ways to access the member management interface:&lt;/p&gt;&#xA;&lt;h3 id=&#34;option-1-from-the-groups-table&#34;&gt;Option 1: From the Groups Table &lt;a href=&#34;#option-1-from-the-groups-table&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;In the groups table, click the people icon in the &amp;ldquo;Actions&amp;rdquo; column for the group you want to manage.&lt;/p&gt;&#xA;&lt;h3 id=&#34;option-2-from-the-group-details&#34;&gt;Option 2: From the Group Details &lt;a href=&#34;#option-2-from-the-group-details&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open the group by clicking on its name&lt;/li&gt;&#xA;&lt;li&gt;In &amp;ldquo;Quick Actions&amp;rdquo;, click &amp;ldquo;Manage Members&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;adding-members&#34;&gt;Adding Members &lt;a href=&#34;#adding-members&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Click the &amp;ldquo;Add Members&amp;rdquo; button&lt;/p&gt;</description>
    </item>
    <item>
      <title>Editing Groups</title>
      <link>https://docs.ipmhub.io/docs/organization/groups/edit/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/groups/edit/</guid>
      <description>&lt;h1 id=&#34;editing-group-properties&#34;&gt;Editing Group Properties &lt;a href=&#34;#editing-group-properties&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;You can modify a group&amp;rsquo;s name, description, and organization role after creation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;accessing-edit-mode&#34;&gt;Accessing Edit Mode &lt;a href=&#34;#accessing-edit-mode&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;There are two ways to edit a group:&lt;/p&gt;&#xA;&lt;h3 id=&#34;option-1-from-the-group-details&#34;&gt;Option 1: From the Group Details &lt;a href=&#34;#option-1-from-the-group-details&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open the group by clicking on its name&lt;/li&gt;&#xA;&lt;li&gt;In &amp;ldquo;Quick Actions&amp;rdquo;, click &amp;ldquo;Edit Properties&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;option-2-from-the-groups-table&#34;&gt;Option 2: From the Groups Table &lt;a href=&#34;#option-2-from-the-groups-table&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;In the groups table, click the gear icon in the &amp;ldquo;Actions&amp;rdquo; column for the group you want to edit.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deleting Groups</title>
      <link>https://docs.ipmhub.io/docs/organization/groups/delete/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/groups/delete/</guid>
      <description>&lt;h1 id=&#34;deleting-a-group&#34;&gt;Deleting a Group &lt;a href=&#34;#deleting-a-group&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Deleting a group removes the group container but does not delete the entities that were members of the group.&lt;/p&gt;&#xA;&lt;h2 id=&#34;accessing-delete-function&#34;&gt;Accessing Delete Function &lt;a href=&#34;#accessing-delete-function&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;There are two ways to delete a group:&lt;/p&gt;&#xA;&lt;h3 id=&#34;option-1-from-the-group-details&#34;&gt;Option 1: From the Group Details &lt;a href=&#34;#option-1-from-the-group-details&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open the group by clicking on its name&lt;/li&gt;&#xA;&lt;li&gt;In &amp;ldquo;Quick Actions&amp;rdquo;, click &amp;ldquo;Edit Properties&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Click the &amp;ldquo;Delete Group&amp;rdquo; button at the bottom of the properties panel&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;option-2-from-the-groups-table&#34;&gt;Option 2: From the Groups Table &lt;a href=&#34;#option-2-from-the-groups-table&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;In the groups table, click the gear icon in the &amp;ldquo;Actions&amp;rdquo; column, then select delete from the options.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Edit Tracked Workspace</title>
      <link>https://docs.ipmhub.io/docs/organization/tracked_workspaces/edit/</link>
      <pubDate>Mon, 22 May 2023 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/tracked_workspaces/edit/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Want to try out this feature? Join our &lt;a href=&#34;https://ipmhub.io/support&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Partner program&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;edit-tracked-workspace&#34;&gt;Edit Tracked Workspace &lt;a href=&#34;#edit-tracked-workspace&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Within the portal you can change the name and the description.&#xA;Changing the name or the description has no impact on the current link&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delete and restore Tracked Workspace</title>
      <link>https://docs.ipmhub.io/docs/organization/tracked_workspaces/delete/</link>
      <pubDate>Mon, 22 May 2023 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/tracked_workspaces/delete/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Want to try out this feature? Join our &lt;a href=&#34;https://ipmhub.io/support&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Partner program&lt;svg width=&#34;16&#34; height=&#34;16&#34; viewBox=&#34;0 0 24 24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;delete-tracked-workspace&#34;&gt;Delete Tracked Workspace &lt;a href=&#34;#delete-tracked-workspace&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;To delete&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Go to the Tracked Workspace that you want to delete. Tracked Workspaces can be found under your organization.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Activity Log</title>
      <link>https://docs.ipmhub.io/docs/organization/activity-log/activity-log/</link>
      <pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/activity-log/activity-log/</guid>
      <description>&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Access to the Activity Log requires the &lt;strong&gt;Security Manager&lt;/strong&gt; role or higher within your organization.&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h1 id=&#34;activity-log&#34;&gt;Activity Log &lt;a href=&#34;#activity-log&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The Activity Log provides IPMHub administrators with a comprehensive, real-time record of all activities that occur within the application. Every administrative action, security event, and system operation is captured and surfaced here, giving you a clear picture of who did what, when, and how. Use the Activity Log to support security auditing, investigate anomalies, and maintain administrative oversight across your organization.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Client Secrets</title>
      <link>https://docs.ipmhub.io/docs/organization/client-secrets/client-secrets-intro/</link>
      <pubDate>Thu, 18 Jan 2024 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/client-secrets/client-secrets-intro/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Client secrets provide secure authentication for non-interactive processes in IPMHub, enabling automated workflows through platforms like DevOps pipelines and GitHub Actions. These secrets allow programmatic access to IPMHub functionality while maintaining security and control over permissions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-features&#34;&gt;Key Features &lt;a href=&#34;#key-features&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Role-Based Access&lt;/strong&gt;: Assign specific permission levels (Viewer or Contributor) to control access scope&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Configurable Analytics&lt;/strong&gt;: Choose the level of analytics data collection&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Managed Expiration&lt;/strong&gt;: Set validity periods up to 24 months&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Revocation Control&lt;/strong&gt;: Immediately revoke access when needed&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Security Compliance&lt;/strong&gt;: Administrative oversight with proper role requirements&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;usage-and-limitations&#34;&gt;Usage and Limitations &lt;a href=&#34;#usage-and-limitations&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;authentication-priority&#34;&gt;Authentication Priority &lt;a href=&#34;#authentication-priority&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Client secret authentication always takes precedence over interactive authentication&lt;/li&gt;&#xA;&lt;li&gt;When using a client secret, any existing interactive session will be ignored&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;multiple-secrets-support&#34;&gt;Multiple Secrets Support &lt;a href=&#34;#multiple-secrets-support&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;IPM supports the use of multiple client secrets simultaneously&lt;/li&gt;&#xA;&lt;li&gt;Each secret can have different roles and analytics settings&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;supported-operations&#34;&gt;Supported Operations &lt;a href=&#34;#supported-operations&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;When using client secrets, the IPM client only supports these commands:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Package Feed</title>
      <link>https://docs.ipmhub.io/docs/organization/feed/feed/</link>
      <pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/feed/feed/</guid>
      <description>&lt;h1 id=&#34;package-feed&#34;&gt;Package Feed &lt;a href=&#34;#package-feed&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The Package Feed gives you a live feed URL that delivers update notifications whenever a new version of a package is published. Subscribe using any feed reader or automation tool to stay informed of new releases in real time. Feed data can be retrieved as RSS or JSON (the Type), and the content within each entry can be rendered as HTML, Markdown, or plain text (the Format), allowing integration with a wide range of tools and workflows.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Client Secret</title>
      <link>https://docs.ipmhub.io/docs/organization/client-secrets/create/</link>
      <pubDate>Thu, 18 Jan 2024 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/client-secrets/create/</guid>
      <description>&lt;h1 id=&#34;creating-client-secrets&#34;&gt;Creating Client Secrets &lt;a href=&#34;#creating-client-secrets&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;You must have the Security Manager role or higher to create client secrets.&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites &lt;a href=&#34;#prerequisites&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Before creating a client secret, ensure you have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The Security Manager role or higher in the organization&lt;/li&gt;&#xA;&lt;li&gt;Determined the required access level (Viewer or Contributor)&lt;/li&gt;&#xA;&lt;li&gt;Planned the secret&amp;rsquo;s lifetime and analytics requirements&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;creation-process&#34;&gt;Creation Process &lt;a href=&#34;#creation-process&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Navigate to your organization&amp;rsquo;s settings:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Go to Organizations&lt;/li&gt;&#xA;&lt;li&gt;Select your organization&lt;/li&gt;&#xA;&lt;li&gt;Click Settings&lt;/li&gt;&#xA;&lt;li&gt;Select Client Secrets&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;      &lt;img src=&#34;https://docs.ipmhub.io/images/cs/cs_1.png&#34; alt=&#34;Navigation to client secrets &#34; width=&#34;622&#34; height=&#34;350&#34; loading=&#34;lazy&#34;&gt;&#xA;      &lt;p class=&#34;img-text&#34;&gt;Click the image to enlarge&lt;/p&gt;</description>
    </item>
    <item>
      <title>Edit Client Secret</title>
      <link>https://docs.ipmhub.io/docs/organization/client-secrets/edit/</link>
      <pubDate>Thu, 18 Jan 2024 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/client-secrets/edit/</guid>
      <description>&lt;h1 id=&#34;editing-client-secrets&#34;&gt;Editing Client Secrets &lt;a href=&#34;#editing-client-secrets&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;div class=&#34;alert alert-info d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  info&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Only the Analytics Mode can be modified after a client secret is created.&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;access-secret-settings&#34;&gt;Access Secret Settings &lt;a href=&#34;#access-secret-settings&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Navigate to your organization&amp;rsquo;s settings:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Go to Organizations&lt;/li&gt;&#xA;&lt;li&gt;Select your organization&lt;/li&gt;&#xA;&lt;li&gt;Click Settings&lt;/li&gt;&#xA;&lt;li&gt;Select Client Secrets&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;      &lt;img src=&#34;https://docs.ipmhub.io/images/cs/cs_0.png&#34; alt=&#34;Navigation to client secrets &#34; width=&#34;454&#34; height=&#34;704&#34; loading=&#34;lazy&#34;&gt;&#xA;      &lt;p class=&#34;img-text&#34;&gt;Click the image to enlarge&lt;/p&gt;&#xA;    &#xA;  &#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Locate the client secret you want to modify&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;      &lt;img src=&#34;https://docs.ipmhub.io/images/cs/cs_9.png&#34; alt=&#34;Locate the client secret that you want to change &#34; width=&#34;1124&#34; height=&#34;728&#34; loading=&#34;lazy&#34;&gt;&#xA;      &lt;p class=&#34;img-text&#34;&gt;Click the image to enlarge&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delete Client Secret</title>
      <link>https://docs.ipmhub.io/docs/organization/client-secrets/delete/</link>
      <pubDate>Thu, 18 Jan 2024 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/client-secrets/delete/</guid>
      <description>&lt;h1 id=&#34;deleting-client-secrets&#34;&gt;Deleting Client Secrets &lt;a href=&#34;#deleting-client-secrets&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;div class=&#34;alert alert-warning d-flex&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;flex-shrink-1 alert-icon&#34;&gt;&#xA;  &#xA;  &lt;span class=&#34;material-icons size-20 me-2&#34;&gt;&#xA;  warning&#xA;  &lt;/span&gt;&lt;/div&gt;&#xA;  &#xA;  &lt;div class=&#34;w-100&#34;&gt;Deleting a client secret immediately revokes access and cannot be undone.&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;revocation-process&#34;&gt;Revocation Process &lt;a href=&#34;#revocation-process&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Navigate to your organization&amp;rsquo;s settings:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Go to Organizations&lt;/li&gt;&#xA;&lt;li&gt;Select your organization&lt;/li&gt;&#xA;&lt;li&gt;Click Settings&lt;/li&gt;&#xA;&lt;li&gt;Select Client Secrets&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;      &lt;img src=&#34;https://docs.ipmhub.io/images/cs/cs_0.png&#34; alt=&#34;Navigation to client secrets &#34; width=&#34;454&#34; height=&#34;704&#34; loading=&#34;lazy&#34;&gt;&#xA;      &lt;p class=&#34;img-text&#34;&gt;Click the image to enlarge&lt;/p&gt;&#xA;    &#xA;  &#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Locate the client secret to revoke&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;      &lt;img src=&#34;https://docs.ipmhub.io/images/cs/cs_9.png&#34; alt=&#34;Locate the client secret that you want to change &#34; width=&#34;1124&#34; height=&#34;728&#34; loading=&#34;lazy&#34;&gt;&#xA;      &lt;p class=&#34;img-text&#34;&gt;Click the image to enlarge&lt;/p&gt;&#xA;    &#xA;  &#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open the client secret details and go to &lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Client Secrets</title>
      <link>https://docs.ipmhub.io/docs/organization/client-secrets/client-secrets-usage/</link>
      <pubDate>Thu, 18 Jan 2024 00:34:57 +0100</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/client-secrets/client-secrets-usage/</guid>
      <description>&lt;h1 id=&#34;using-client-secrets-with-ipm&#34;&gt;Using Client Secrets with IPM &lt;a href=&#34;#using-client-secrets-with-ipm&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Client secrets enable non-interactive authentication for automated processes. This guide explains how to use client secrets with the IPM client.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites &lt;a href=&#34;#prerequisites&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Before using client secrets, ensure you have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Created a client secret in the IPMHub portal&lt;/li&gt;&#xA;&lt;li&gt;Required permissions for the intended operations&lt;/li&gt;&#xA;&lt;li&gt;IPM client installed and configured&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;enabling-non-interactive-mode&#34;&gt;Enabling Non-Interactive Mode &lt;a href=&#34;#enabling-non-interactive-mode&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;To use client secrets, you must first enable non-interactive mode with the &lt;code&gt;--non-interactive&lt;/code&gt; parameter. This tells IPM to use client secret authentication instead of interactive login.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sandbox Organizations</title>
      <link>https://docs.ipmhub.io/docs/organization/sandbox/sandbox/</link>
      <pubDate>Wed, 29 Oct 2025 22:27:38 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/sandbox/sandbox/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Sandbox organizations provide isolated testing environments where you can experiment with infrastructure packages without affecting production systems. Each sandbox operates as an independent organization with full IPMHub functionality while maintaining your existing licensing structure.&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-features&#34;&gt;Key Features &lt;a href=&#34;#key-features&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Complete Isolation&lt;/strong&gt;: Dedicated organization with &amp;ldquo;-sandbox&amp;rdquo; suffix, fully separated from production&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Full Platform Access&lt;/strong&gt;: All IPMHub features including publishing, workspace management, and CLI operations&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Production Integration&lt;/strong&gt;: Use packages from your main organization as nested dependencies&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Protected Boundaries&lt;/strong&gt;: Technical controls prevent sandbox packages from contaminating production&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Quarterly Reset&lt;/strong&gt;: Automatic cleanup every 4 months keeps environments fresh&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;how-sandbox-organizations-work&#34;&gt;How Sandbox Organizations Work &lt;a href=&#34;#how-sandbox-organizations-work&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id=&#34;organization-structure&#34;&gt;Organization Structure &lt;a href=&#34;#organization-structure&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;When you request a sandbox, IPMHub creates a new organization with your organization name plus a &amp;ldquo;-sandbox&amp;rdquo; suffix:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sync from Production</title>
      <link>https://docs.ipmhub.io/docs/organization/sandbox/sync-from-prod/</link>
      <pubDate>Wed, 29 Oct 2025 22:27:38 +0000</pubDate>
      <guid>https://docs.ipmhub.io/docs/organization/sandbox/sync-from-prod/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The Sync from Production feature lets you copy package metadata from your production organization to your sandbox environment. This creates empty package shells in your sandbox that match your production packages, letting you experiment with existing package structures.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-gets-synced&#34;&gt;What Gets Synced &lt;a href=&#34;#what-gets-synced&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;When you sync from production, only package metadata is copied:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Package name&lt;/li&gt;&#xA;&lt;li&gt;Package description&lt;/li&gt;&#xA;&lt;li&gt;Package type (Bicep, Terraform, etc.)&lt;/li&gt;&#xA;&lt;li&gt;License information&lt;/li&gt;&#xA;&lt;li&gt;Visibility settings&lt;/li&gt;&#xA;&lt;li&gt;Project URL&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;what-doesnt-get-synced&#34;&gt;What Doesn&amp;rsquo;t Get Synced &lt;a href=&#34;#what-doesnt-get-synced&#34; class=&#34;anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;i class=&#34;material-icons align-middle&#34;&gt;link&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Package versions&lt;/li&gt;&#xA;&lt;li&gt;Package content/files&lt;/li&gt;&#xA;&lt;li&gt;Version history&lt;/li&gt;&#xA;&lt;li&gt;Download statistics&lt;/li&gt;&#xA;&lt;li&gt;Tracked workspaces&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The synced packages are created empty - you can then publish versions to them in your sandbox environment.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
