<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="369001" data-post-id="369001">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="beamologist" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/beamologist/120/25290_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  beamologist
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi Andy,<br>
Kudos for your support and enthusiasm.</p>
<p>In the pipeline:</p>
<ul>
<li>
<p>dynamic store support: currently there is a one-store-per-cluster (1SPC) limitation, steered by config. In the philosophy  of ExESDB a store supports one business process/behavior (one aggregate type). If you are familiar with EventStoreDB, a ‘store’ in ExESDB corresponds to a ‘category’ in EventStoreDB. Though there is much to say for 1SPC, N-stores-per-cluster (NSPC) offers more options towards scenarios with budget constraints (less nodes), resource constraints (smaller hardware) and simplified inter-business process/behavior communication (less complexity)</p>
</li>
<li>
<p>An ExESDB Admin API (REST+gRPC) in order to support:</p>
</li>
<li>
<p>an ExESDB Administration tool: not sure yet in what format…probably a CLI for scripting (must have!), a TUI (I am a terminal jockey) and/or an Admin Web UI/Dashboard with fancy metrics and such</p>
</li>
</ul>
<p>Later:<br>
A REST/gRPC API that is 100% compatible with EventStoreDB, so it could form a ‘drop-in’ replacement. Since ExESDB supports dynamic clustering and is resilient against node shutdowns, I figure it has the advantage over EventStoreDB for Orchestrated scenarios (Kubernetes for instance)</p>
<p>All this is of course just a wishlist and it is a labor of love, so I won’t put planning on it <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369001" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/exesdb-a-beam-native-event-store/70200/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-369001" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369001"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="369002" data-post-id="369002">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="beamologist" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/beamologist/120/25290_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  beamologist
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi Byu!</p>
<p>Much appreciated and I’m looking forward to your feedback!<br>
do check out the repos, as they contain dev tools and a simple sample application <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369002" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/exesdb-a-beam-native-event-store/70200/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-369002" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369002"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="369021" data-post-id="369021">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="AndyX" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  AndyX
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>i will definitely test it with my commanded application. do you think it’s now on the level that i can switch from postresql-store and start using it during development of my app? i’m pretty new to event-sourcing, so i’m worried if i can run into issues that will make my study of commanded/es slower?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369021" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/exesdb-a-beam-native-event-store/70200/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-369021" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369021"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="369028" data-post-id="369028">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="beamologist" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/beamologist/120/25290_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  beamologist
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Well, maybe experiment a little in a separate branch and save your current work, first.</p>
<p>Have a look at <a href="https://github.com/beam-campus/ex-esdb-commanded-adapter" rel="noopener nofollow ugc">ExESDB Commanded Adapter at Github</a> there is a /apps/regulate-greenhouse folder with a demo app that should get you started…<em>in theory</em> it should boil down to add a dependency on {:ex_esdb, “~&gt; 0.1.0”} and {:ex_esdb_commanded, “~&gt; 0.1.0”} to your mix.exs</p>
<p>Looking forward to hear the results!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369028" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/exesdb-a-beam-native-event-store/70200/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-369028" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369028"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="369152" data-post-id="369152">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="asianfilm" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/asianfilm/120/36986_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  asianfilm
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I couldn’t get that working with dependencies on <code>{:ex_esdb, "~&gt; 0.1.0"}</code> and <code>{:ex_esdb_commanded, "~&gt; 0.1.0"}</code> in my <code>mix.exs</code>.</p>
<p>The issue is that ex_esdb uses relative paths like <code>../deps/khepri/include/khepri.hrl</code> in three locations in the source code. While I do have the <code>khepri.hrl</code> file in that path in my <code>deps</code> folder, ex_esdb isn’t finding it during compilation.</p>
<p>This affects anyone trying to use ex_esdb as a standard Mix dependency rather than vendoring it. Note that the sample greenhouse application also uses relative paths for its dependencies.</p>
<p>I’ve fixed the issue by changing these relative paths to standard <code>include_lib</code> format. The fix is minimal, maintains compatibility, and I’ve tested it successfully in development in our production-bound application that’s migrating from PostgreSQL to ex_esdb with Commanded.</p>
<p>I’ve submitted a pull request with the fix to the original repository. In the meantime, you can use my working fork: <code>{:ex_esdb, github: "iffies/ex-esdb", branch: "fix/khepri-include-paths", sparse: "system"}</code>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369152" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/exesdb-a-beam-native-event-store/70200/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-369152" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369152"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="369187" data-post-id="369187">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="beamologist" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/beamologist/120/25290_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  beamologist
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Oh wow thank you so much for finding that, PR is approved and merged <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"></p>
<p>Thanks also for testing it in a real-world setting, very important! Though a little word of caution: this project has been going only for a few months now and claiming it to be “production ready” would be a little ambitious, today. For that, it’d require a few more successful real-world scenarios.</p>
<p>The greenhouse sample application sources its dependencies from path right now, indeed, since it is primarily a development sandbox.</p>
<p>Thanks again for your valuable contribution!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369187" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/exesdb-a-beam-native-event-store/70200/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-369187" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369187"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="369318" data-post-id="369318">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="asianfilm" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/asianfilm/120/36986_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  asianfilm
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The caution is well-noted!</p>
<p>I was trying it out on a git worktree branch of my production app, to see if I could replace my bespoke event-sourcing of security events. My home-crafted version is working fine, but was always intended as an experiment to get my feet wet and make my own mistakes before migrating to Commanded, etc.</p>
<p>I’ve hit a bug with your recent store registration changes, that I’ve added a GitHub issue for. I can see the ex_esdb library is changing fast, so I’ll let its velocity slow down a bit before diving back into it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369318" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/exesdb-a-beam-native-event-store/70200/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-369318" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369318"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="369319" data-post-id="369319">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="beamologist" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/beamologist/120/25290_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  beamologist
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Absolutely! It is still very young, so better let it stabilize a little <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"><br>
In any case, thanks for the tryouts, feedback and contributions!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369319" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/exesdb-a-beam-native-event-store/70200/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-369319" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369319"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>