diff --git a/extensions/openpower-pels/repository.hpp b/extensions/openpower-pels/repository.hpp
index e55808f..2e2f623 100644
--- a/extensions/openpower-pels/repository.hpp
+++ b/extensions/openpower-pels/repository.hpp
@@ -1,5 +1,6 @@
 #pragma once
 #include "bcd_time.hpp"
+#include "paths.hpp"
 #include "pel.hpp"
 
 #include <algorithm>
@@ -118,7 +119,21 @@
      *
      * @param[in] basePath - the base filesystem path for the repository
      */
-    Repository(const std::filesystem::path& basePath);
+    Repository(const std::filesystem::path& basePath) :
+        Repository(basePath, getPELRepoSize(), getMaxNumPELs())
+    {
+    }
+
+    /**
+     * @brief Constructor that takes the repository size
+     *
+     * @param[in] basePath - the base filesystem path for the repository
+     * @param[in] repoSize - The maximum amount of space to use for PELs,
+     *                       in bytes
+     * @param[in] maxNumPELs - The maximum number of PELs to allow
+     */
+    Repository(const std::filesystem::path& basePath, size_t repoSize,
+               size_t maxNumPELs);
 
     /**
      * @brief Adds a PEL to the repository
@@ -370,6 +385,18 @@
      * @brief Subscriptions for deleted PELs.
      */
     std::map<std::string, DeleteCallback> _deleteSubscriptions;
+
+    /**
+     * @brief The maximum amount of space that the PELs in the
+     *        repository can occupy.
+     */
+    const uint64_t _maxRepoSize;
+
+    /**
+     * @brief The maximum number of PELs to allow in the repo
+     *        before pruning.
+     */
+    const size_t _maxNumPELs;
 };
 
 } // namespace pels
