@arkhera30/cli 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +62 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -43,6 +43,7 @@ var LEGACY_HORUS_DIR = join(homedir(), ".horus");
|
|
|
43
43
|
var CONFIG_PATH = join(HORUS_DIR, "config.yaml");
|
|
44
44
|
var ENV_PATH = join(HORUS_DIR, ".env");
|
|
45
45
|
var COMPOSE_PATH = join(HORUS_DIR, "docker-compose.yml");
|
|
46
|
+
var COMPOSE_TEST_PATH = join(HORUS_DIR, "docker-compose.test.yml");
|
|
46
47
|
var DEFAULT_PORTS = {
|
|
47
48
|
anvil: 8100,
|
|
48
49
|
vault_rest: 8e3,
|
|
@@ -725,6 +726,63 @@ var HORUS_UI_SERVICE = ` # \u2500\u2500 Horus UI \u2500\u2500\u2500\u2500\u2500
|
|
|
725
726
|
timeout: 5s
|
|
726
727
|
start_period: 30s
|
|
727
728
|
retries: 3`;
|
|
729
|
+
var TEST_COMPOSE_CONTENT = `# \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
730
|
+
# Horus \u2014 Shadow Stack Overlay for Integration Testing
|
|
731
|
+
# \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
732
|
+
# Usage (managed by \`horus test-env acquire\`):
|
|
733
|
+
#
|
|
734
|
+
# docker compose \\
|
|
735
|
+
# -p horus-test-0 \\
|
|
736
|
+
# -f ~/Horus/docker-compose.yml \\
|
|
737
|
+
# -f ~/Horus/docker-compose.test.yml \\
|
|
738
|
+
# up -d
|
|
739
|
+
#
|
|
740
|
+
# All TEST_PORT_* and TEST_DATA_PATH are set by \`horus test-env acquire\`.
|
|
741
|
+
# Slot 0 defaults: ports 9100-9399, data at ~/Horus/data/test-env/slot-0/
|
|
742
|
+
#
|
|
743
|
+
# NOTE: vault-personal is assumed as the primary vault name. If your config
|
|
744
|
+
# uses a different vault name, set TEST_VAULT_NAME accordingly.
|
|
745
|
+
# \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
746
|
+
|
|
747
|
+
services:
|
|
748
|
+
anvil:
|
|
749
|
+
ports:
|
|
750
|
+
- "\${TEST_PORT_ANVIL:-9100}:8100"
|
|
751
|
+
volumes:
|
|
752
|
+
- "\${TEST_DATA_PATH:-/tmp/horus-test}/notes:/data/notes:rw"
|
|
753
|
+
|
|
754
|
+
vault-personal:
|
|
755
|
+
ports:
|
|
756
|
+
- "\${TEST_PORT_VAULT_SVC:-9101}:8000"
|
|
757
|
+
volumes:
|
|
758
|
+
- "\${TEST_DATA_PATH:-/tmp/horus-test}/vaults/personal:/data/knowledge-repo:rw"
|
|
759
|
+
|
|
760
|
+
vault-router:
|
|
761
|
+
ports:
|
|
762
|
+
- "\${TEST_PORT_VAULT_ROUTER:-9150}:8400"
|
|
763
|
+
|
|
764
|
+
vault-mcp:
|
|
765
|
+
ports:
|
|
766
|
+
- "\${TEST_PORT_VAULT_MCP:-9200}:8300"
|
|
767
|
+
|
|
768
|
+
forge:
|
|
769
|
+
ports:
|
|
770
|
+
- "\${TEST_PORT_FORGE:-9250}:8200"
|
|
771
|
+
volumes:
|
|
772
|
+
- "\${TEST_DATA_PATH:-/tmp/horus-test}/registry:/data/registry:rw"
|
|
773
|
+
- "\${TEST_DATA_PATH:-/tmp/horus-test}/workspaces:/data/workspaces:rw"
|
|
774
|
+
- "\${TEST_DATA_PATH:-/tmp/horus-test}/sessions:/data/sessions:rw"
|
|
775
|
+
|
|
776
|
+
typesense:
|
|
777
|
+
ports:
|
|
778
|
+
- "\${TEST_PORT_TYPESENSE:-9108}:8108"
|
|
779
|
+
volumes:
|
|
780
|
+
- "\${TEST_DATA_PATH:-/tmp/horus-test}/typesense-data:/data"
|
|
781
|
+
|
|
782
|
+
horus-ui:
|
|
783
|
+
ports:
|
|
784
|
+
- "\${TEST_PORT_UI:-9260}:8400"
|
|
785
|
+
`;
|
|
728
786
|
function generateComposeFile(config, runtime) {
|
|
729
787
|
const vaultEntries = Object.entries(config.vaults).sort(([a], [b]) => a.localeCompare(b));
|
|
730
788
|
const vaultServices = vaultEntries.map(([name, vault], index) => {
|
|
@@ -874,6 +932,7 @@ function installComposeFile(config, runtime) {
|
|
|
874
932
|
ensureHorusDir();
|
|
875
933
|
const content = generateComposeFile(config, runtime);
|
|
876
934
|
writeFileSync2(COMPOSE_PATH, content, "utf-8");
|
|
935
|
+
writeFileSync2(COMPOSE_TEST_PATH, TEST_COMPOSE_CONTENT, "utf-8");
|
|
877
936
|
}
|
|
878
937
|
|
|
879
938
|
// src/commands/connect.ts
|
|
@@ -1665,7 +1724,8 @@ var upCommand = new Command3("up").description("Start the Horus stack").option("
|
|
|
1665
1724
|
console.log("");
|
|
1666
1725
|
console.log(chalk3.bold("Starting Horus services..."));
|
|
1667
1726
|
try {
|
|
1668
|
-
|
|
1727
|
+
const upArgs = opts.pull ? ["up", "-d", "--force-recreate"] : ["up", "-d"];
|
|
1728
|
+
await composeStreaming(runtime, upArgs);
|
|
1669
1729
|
} catch (error) {
|
|
1670
1730
|
console.log(chalk3.red("Failed to start services."));
|
|
1671
1731
|
console.log(chalk3.dim(error.message));
|
|
@@ -2142,7 +2202,7 @@ var updateCommand = new Command7("update").description("Update Horus to the late
|
|
|
2142
2202
|
console.log("");
|
|
2143
2203
|
console.log(chalk7.bold("Restarting services..."));
|
|
2144
2204
|
try {
|
|
2145
|
-
await composeStreaming(runtime, ["up", "-d"]);
|
|
2205
|
+
await composeStreaming(runtime, ["up", "-d", "--force-recreate"]);
|
|
2146
2206
|
} catch (error) {
|
|
2147
2207
|
console.log(chalk7.red("Failed to restart services."));
|
|
2148
2208
|
console.log(chalk7.dim(error.message));
|