<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Installation</title><link>https://sourceforge.net/p/cordum/wiki/Installation/</link><description>Recent changes to Installation</description><atom:link href="https://sourceforge.net/p/cordum/wiki/Installation/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 30 Jan 2026 13:21:09 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/cordum/wiki/Installation/feed" rel="self" type="application/rss+xml"/><item><title>Installation modified by yaron Torgeman</title><link>https://sourceforge.net/p/cordum/wiki/Installation/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -16,6 +16,9 @@
     export CORDUM_API_KEY="$(openssl rand -hex 32)"
     export CORDUM_TENANT_ID=default

+Docker Compose loads `.env` automatically; the helper scripts read environment
+variables from your shell, so keep the `export` lines when running scripts.
+
 ## Option A: Quickstart (recommended)

     :::bash
@@ -29,6 +32,11 @@
     CORDUM_API_KEY="$(openssl rand -hex 32)" \
     CORDUM_TENANT_ID=default \
     curl -fsSL https://raw.githubusercontent.com/cordum-io/cordum/main/tools/scripts/install.sh | bash
+
+Local installer (from a clone):
+
+    :::bash
+    CORDUM_API_KEY="$(openssl rand -hex 32)" CORDUM_TENANT_ID=default ./tools/scripts/install.sh

 ## Option C: Docker Compose (manual)

@@ -63,7 +71,7 @@
     :::bash
     CORDUM_API_KEY=${CORDUM_API_KEY:?set CORDUM_API_KEY} \
     CORDUM_TENANT_ID=${CORDUM_TENANT_ID:-default} \
-    ./tools/scripts/platform_smoke.sh
+    bash ./tools/scripts/platform_smoke.sh

 Status endpoint:

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">yaron Torgeman</dc:creator><pubDate>Fri, 30 Jan 2026 13:21:09 -0000</pubDate><guid>https://sourceforge.net1650aa2392c2202be6fd36925d713be359b0d385</guid></item><item><title>Installation modified by yaron Torgeman</title><link>https://sourceforge.net/p/cordum/wiki/Installation/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">yaron Torgeman</dc:creator><pubDate>Fri, 30 Jan 2026 13:21:09 -0000</pubDate><guid>https://sourceforge.net6fffdb78c41a7a6603fe01d89fb9cd4d4264f68e</guid></item><item><title>Installation modified by yaron Torgeman</title><link>https://sourceforge.net/p/cordum/wiki/Installation/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="h-installation"&gt;Installation&lt;/h1&gt;
&lt;p&gt;Cordum supports a fast local quickstart and production-grade Kubernetes&lt;br/&gt;
installations. All options require an API key and tenant ID.&lt;/p&gt;
&lt;h2 id="h-prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Docker + Docker Compose (local install)&lt;/li&gt;
&lt;li&gt;curl + jq (smoke tests)&lt;/li&gt;
&lt;li&gt;Go (optional, for &lt;code&gt;cordumctl&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Helm + kubectl (Kubernetes)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h-required-environment-variables"&gt;Required environment variables&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;CORDUM_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;openssl&lt;span class="w"&gt; &lt;/span&gt;rand&lt;span class="w"&gt; &lt;/span&gt;-hex&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;32&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;CORDUM_TENANT_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;default
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="h-option-a-quickstart-recommended"&gt;Option A: Quickstart (recommended)&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;./tools/scripts/quickstart.sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;This builds the stack, starts services, and runs a workflow smoke test.&lt;/p&gt;
&lt;h2 id="h-option-b-install-script"&gt;Option B: Install script&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nv"&gt;CORDUM_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;openssl&lt;span class="w"&gt; &lt;/span&gt;rand&lt;span class="w"&gt; &lt;/span&gt;-hex&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;32&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nv"&gt;CORDUM_TENANT_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;default&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
curl&lt;span class="w"&gt; &lt;/span&gt;-fsSL&lt;span class="w"&gt; &lt;/span&gt;https://raw.githubusercontent.com/cordum-io/cordum/main/tools/scripts/install.sh&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;bash
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="h-option-c-docker-compose-manual"&gt;Option C: Docker Compose (manual)&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;CORDUM_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;openssl&lt;span class="w"&gt; &lt;/span&gt;rand&lt;span class="w"&gt; &lt;/span&gt;-hex&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;32&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;CORDUM_TENANT_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;default

docker&lt;span class="w"&gt; &lt;/span&gt;compose&lt;span class="w"&gt; &lt;/span&gt;build

docker&lt;span class="w"&gt; &lt;/span&gt;compose&lt;span class="w"&gt; &lt;/span&gt;up&lt;span class="w"&gt; &lt;/span&gt;-d
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="h-option-d-kubernetes-helm"&gt;Option D: Kubernetes (Helm)&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;helm&lt;span class="w"&gt; &lt;/span&gt;repo&lt;span class="w"&gt; &lt;/span&gt;add&lt;span class="w"&gt; &lt;/span&gt;cordum&lt;span class="w"&gt; &lt;/span&gt;https://charts.cordum.io
helm&lt;span class="w"&gt; &lt;/span&gt;repo&lt;span class="w"&gt; &lt;/span&gt;update
helm&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;cordum&lt;span class="w"&gt; &lt;/span&gt;cordum/cordum&lt;span class="w"&gt; &lt;/span&gt;-n&lt;span class="w"&gt; &lt;/span&gt;cordum&lt;span class="w"&gt; &lt;/span&gt;--create-namespace&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;--set&lt;span class="w"&gt; &lt;/span&gt;secrets.apiKey&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;your-api-key&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;--set&lt;span class="w"&gt; &lt;/span&gt;gateway.env.tenantId&lt;span class="o"&gt;=&lt;/span&gt;default&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;--set&lt;span class="w"&gt; &lt;/span&gt;dashboard.env.tenantId&lt;span class="o"&gt;=&lt;/span&gt;default
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Port-forward to access locally:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;kubectl&lt;span class="w"&gt; &lt;/span&gt;-n&lt;span class="w"&gt; &lt;/span&gt;cordum&lt;span class="w"&gt; &lt;/span&gt;port-forward&lt;span class="w"&gt; &lt;/span&gt;svc/cordum-api-gateway&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;8081&lt;/span&gt;:8081
kubectl&lt;span class="w"&gt; &lt;/span&gt;-n&lt;span class="w"&gt; &lt;/span&gt;cordum&lt;span class="w"&gt; &lt;/span&gt;port-forward&lt;span class="w"&gt; &lt;/span&gt;svc/cordum-dashboard&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;8082&lt;/span&gt;:8080
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="h-verify"&gt;Verify&lt;/h2&gt;
&lt;p&gt;Smoke test:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nv"&gt;CORDUM_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CORDUM_API_KEY&lt;/span&gt;&lt;span class="p"&gt;:?set CORDUM_API_KEY&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nv"&gt;CORDUM_TENANT_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CORDUM_TENANT_ID&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;default&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
./tools/scripts/platform_smoke.sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Status endpoint:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;curl&lt;span class="w"&gt; &lt;/span&gt;-sS&lt;span class="w"&gt; &lt;/span&gt;http://localhost:8081/api/v1/status&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;-H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"X-API-Key: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CORDUM_API_KEY&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;-H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"X-Tenant-ID: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CORDUM_TENANT_ID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;jq
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="h-next-steps"&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="" href="./Quickstart"&gt;Quickstart&lt;/a&gt; walkthrough&lt;/li&gt;
&lt;li&gt;&lt;a class="" href="./Security"&gt;Security&lt;/a&gt; production hardening&lt;/li&gt;
&lt;li&gt;&lt;a class="" href="/p/cordum/wiki/Configuration/"&gt;Configuration&lt;/a&gt; for env + config files&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">yaron Torgeman</dc:creator><pubDate>Fri, 30 Jan 2026 13:21:07 -0000</pubDate><guid>https://sourceforge.net08b39e7534f3ffd5e81edafd35e2cecb1b3aa60e</guid></item></channel></rss>