<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Mono Repo or not Mono Repo - that is the question? in Administration &amp; Architecture</title>
    <link>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165031#M5500</link>
    <description>&lt;P&gt;We run this at a mid-size scale (multiple business units on one Databricks-on-Azure workspace set) and landed on a hybrid, which I'd recommend over either pure extreme:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- One repo per team/domain for the actual pipeline code (bundle resources + src). This gives natural blast-radius isolation, independent CI/CD pipelines, and CODEOWNERS enforcement without fighting folder-level permissions inside a single shared repo.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- A shared/platform repo for common bundle templates, reusable Python packages (utils, connectors, logging wrappers), and CI workflow templates that team repos pull in via a published internal package or reusable workflow. This is what kills the "duplication" pain people cite as the monorepo's advantage - you're not duplicating logic, you're just not co-locating it in the same git history as unrelated teams.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Environment/target definitions (dev/staging/prod, cluster policies, service principals) live in the platform repo too, referenced by each team repo's databricks.yml via variable overrides, so the platform team retains control of where things deploy without touching each team's pipeline code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why not the single-repo-with-folders approach the docs suggest: at any real headcount, "separation with folders and code owner files" degrades badly. Branch protection rules, PR review requirements, and CI triggers all get harder to scope precisely per-folder, and one team's bad merge/rebase can block CI for everyone. It works fine at PoC scale, which is where you are now, but it's worth revisiting before you onboard a 2nd or 3rd team.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One thing multi-repo genuinely costs you: cross-team bundle dependencies (Team A's pipeline needs Team B's Delta table) still need a contract. We handle that with Unity Catalog grants plus a lightweight schema registry doc, not git.&lt;/P&gt;</description>
    <pubDate>Thu, 06 Aug 2026 14:11:11 GMT</pubDate>
    <dc:creator>DoTA</dc:creator>
    <dc:date>2026-08-06T14:11:11Z</dc:date>
    <item>
      <title>Mono Repo or not Mono Repo - that is the question?</title>
      <link>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165028#M5499</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;We are just getting started with a Databricks on Azure Proof of Concept platform. Right now we are thinking about the deployment of workloads using data bundles driven by GitHub Action workflows. The documents recommend using a single repo for all data bundles and managing some level of separation with folders and code owner files. Our concern comes from the idea of having multiple unrelated groups pushing and pulling from the same repo - and all the potential risks that poses. The alternative is to have multiple repos - one per team - but our searched suggest this adds a lot of administration overhead and duplication or code resulting in a more complex maintenance profile. We are wondering what people do out in the real world who are using databricks in large organisations? Any thoughts or suggestions will be gratefully received.&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2026 13:45:01 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165028#M5499</guid>
      <dc:creator>MrDecisive</dc:creator>
      <dc:date>2026-08-06T13:45:01Z</dc:date>
    </item>
    <item>
      <title>Re: Mono Repo or not Mono Repo - that is the question?</title>
      <link>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165031#M5500</link>
      <description>&lt;P&gt;We run this at a mid-size scale (multiple business units on one Databricks-on-Azure workspace set) and landed on a hybrid, which I'd recommend over either pure extreme:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- One repo per team/domain for the actual pipeline code (bundle resources + src). This gives natural blast-radius isolation, independent CI/CD pipelines, and CODEOWNERS enforcement without fighting folder-level permissions inside a single shared repo.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- A shared/platform repo for common bundle templates, reusable Python packages (utils, connectors, logging wrappers), and CI workflow templates that team repos pull in via a published internal package or reusable workflow. This is what kills the "duplication" pain people cite as the monorepo's advantage - you're not duplicating logic, you're just not co-locating it in the same git history as unrelated teams.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Environment/target definitions (dev/staging/prod, cluster policies, service principals) live in the platform repo too, referenced by each team repo's databricks.yml via variable overrides, so the platform team retains control of where things deploy without touching each team's pipeline code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why not the single-repo-with-folders approach the docs suggest: at any real headcount, "separation with folders and code owner files" degrades badly. Branch protection rules, PR review requirements, and CI triggers all get harder to scope precisely per-folder, and one team's bad merge/rebase can block CI for everyone. It works fine at PoC scale, which is where you are now, but it's worth revisiting before you onboard a 2nd or 3rd team.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One thing multi-repo genuinely costs you: cross-team bundle dependencies (Team A's pipeline needs Team B's Delta table) still need a contract. We handle that with Unity Catalog grants plus a lightweight schema registry doc, not git.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2026 14:11:11 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165031#M5500</guid>
      <dc:creator>DoTA</dc:creator>
      <dc:date>2026-08-06T14:11:11Z</dc:date>
    </item>
    <item>
      <title>Re: Mono Repo or not Mono Repo - that is the question?</title>
      <link>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165033#M5501</link>
      <description>&lt;P&gt;&lt;FONT size="3"&gt;Hi MrDecisive,&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;You can go with a Mono repo governed by Path Filtering and code owner approach for PoC &amp;amp; early scaling phases. The administrative overhead of setting up and managing dozens of repositories during a PoC will slow down team's velocity. It's the recommended approach with low initial C&lt;SPAN&gt;I/CD Overhead&lt;/SPAN&gt;&lt;SPAN&gt;. You configure unified pipelines, centralized secrets and reusable workflow templates once.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Teams can easily share common Python utilities, base bundle configurations, and custom data quality functions without managing separate package feeds. It r&lt;/SPAN&gt;&lt;SPAN&gt;elies on Git controls such as directory ownership rules and path filtering to isolate environments and changes.&amp;nbsp;You can setup proper &lt;STRONG&gt;repository governance&lt;/STRONG&gt; rather than splitting code across multiple repositories.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;H3&gt;&lt;FONT size="3"&gt;Folder Layout -&amp;nbsp;&lt;/FONT&gt;&lt;/H3&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;You can structure the single repository with clear boundaries. D&lt;/FONT&gt;&lt;SPAN&gt;edicated workflows directory to handle deployment definitions. C&lt;/SPAN&gt;&lt;SPAN&gt;entral shared folder for common libraries, reusable helper scripts, and base bundle templates maintained by the core platform team. T&lt;/SPAN&gt;&lt;SPAN&gt;op-level bundles directory contains distinct subfolders for each &lt;STRONG&gt;team&lt;/STRONG&gt;&amp;nbsp;( bundles/marketing_analytics bundles/finance_forecasting) holding its own databricks.yml file and resources.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;H3&gt;&lt;FONT size="3"&gt;Setup Considerations&lt;/FONT&gt;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;Path-Filtered Deployment Workflows -&amp;nbsp;&lt;/FONT&gt;&lt;FONT size="3"&gt;Configure GitHub Actions using path filters so that a push to a specific team folder only triggers the deployment pipeline for that specific bundle. A broken deployment in the finance folder will never block or affect the marketing team's pipeline.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;CODE OWNERS Rules -&amp;nbsp;&lt;/FONT&gt;&lt;FONT size="3"&gt;Define explicit ownership paths so that developers cannot merge changes into directories they don't own without an explicit approval from that specific team's code owners. Changes to the shared platform folder should require approval from the core platform team.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;Branch Protection Enforcement -&amp;nbsp;&lt;/FONT&gt;&lt;FONT size="3"&gt;Lock down the main branch to prevent direct pushes. Require pull requests to pass automated validation checks (databricks bundle validate, linting and tests) alongside mandatory approvals from designated code owners before any merge can occur.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;It gives the simplicity you need in a PoC while establishing a modular structure that can easily be split into domain-level mono repos later if you need it.&amp;nbsp;Use the alternative approach of multi repos only if you have hard isolation requirements (legal etc)&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="3"&gt;More details &lt;A href="https://docs.databricks.com/aws/en/developers/best-practices" target="_self"&gt;here&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2026 14:25:18 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165033#M5501</guid>
      <dc:creator>balajij8</dc:creator>
      <dc:date>2026-08-06T14:25:18Z</dc:date>
    </item>
    <item>
      <title>Re: Mono Repo or not Mono Repo - that is the question?</title>
      <link>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165069#M5503</link>
      <description>&lt;DIV&gt;&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/247026"&gt;@MrDecisive&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Based on your requirements, I would recommend adopting a &lt;STRONG&gt;dedicated repository per team&lt;/STRONG&gt;. While it may require some upfront effort in terms of setup and governance, it will significantly streamline development and deployment processes in the long run. Decoupling teams and codebases improves autonomy, reduces dependencies, and simplifies maintenance.&lt;/P&gt;&lt;P&gt;A &lt;STRONG&gt;single repository&lt;/STRONG&gt; is more suitable in a &lt;STRONG&gt;Data Fabric&lt;/STRONG&gt; architecture where multiple teams contribute shared code, definitions, or assets that need to be centrally managed and consumed by downstream systems. In such scenarios, a fork-based workflow may be more practical than relying solely on pull requests.&lt;/P&gt;&lt;P&gt;Overall, unless you are implementing a Data Fabric model or building a quick proof of concept, a &lt;STRONG&gt;repository-per-team approach aligns better with Data Mesh principles and is generally the preferred option.&lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 07 Aug 2026 05:31:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165069#M5503</guid>
      <dc:creator>rkhand14_ltm</dc:creator>
      <dc:date>2026-08-07T05:31:37Z</dc:date>
    </item>
    <item>
      <title>Re: Mono Repo or not Mono Repo - that is the question?</title>
      <link>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165095#M5504</link>
      <description>&lt;P&gt;Thanks for all the replies so far - definitely food for thought. I think as this is a POC we will probably go with the mono repo for easy of deployment with the view that as we learn more about our potential customer landscape we can always pivot to separate repos or a hybrid approach as best suits our position. Again thanks for all the really good information. Watch this space!&lt;/P&gt;</description>
      <pubDate>Fri, 07 Aug 2026 12:46:18 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/mono-repo-or-not-mono-repo-that-is-the-question/m-p/165095#M5504</guid>
      <dc:creator>MrDecisive</dc:creator>
      <dc:date>2026-08-07T12:46:18Z</dc:date>
    </item>
  </channel>
</rss>

