kastell 2.2.4 → 2.2.6
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/.claude-plugin/marketplace.json +18 -18
- package/.claude-plugin/plugin.json +45 -38
- package/CHANGELOG.md +1313 -1266
- package/LICENSE +201 -201
- package/NOTICE +5 -5
- package/README.md +1 -1
- package/README.tr.md +1 -1
- package/bin/kastell +2 -2
- package/bin/kastell-mcp +5 -5
- package/dist/adapters/coolify.js +92 -92
- package/dist/adapters/dokploy.js +99 -99
- package/dist/commands/fix.d.ts +2 -0
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +26 -1
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/interactive/plugins.d.ts.map +1 -1
- package/dist/commands/interactive/plugins.js +26 -2
- package/dist/commands/interactive/plugins.js.map +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +6 -2
- package/dist/commands/plugin.js.map +1 -1
- package/dist/core/audit/commands.d.ts +13 -2
- package/dist/core/audit/commands.d.ts.map +1 -1
- package/dist/core/audit/commands.js +39 -2
- package/dist/core/audit/commands.js.map +1 -1
- package/dist/core/audit/explainCheck.d.ts +1 -0
- package/dist/core/audit/explainCheck.d.ts.map +1 -1
- package/dist/core/audit/explainCheck.js +1 -1
- package/dist/core/audit/explainCheck.js.map +1 -1
- package/dist/core/audit/fix-history.d.ts +3 -1
- package/dist/core/audit/fix-history.d.ts.map +1 -1
- package/dist/core/audit/fix-history.js +6 -2
- package/dist/core/audit/fix-history.js.map +1 -1
- package/dist/core/audit/fix.d.ts.map +1 -1
- package/dist/core/audit/fix.js +22 -0
- package/dist/core/audit/fix.js.map +1 -1
- package/dist/core/audit/formatters/badge.js +20 -20
- package/dist/core/audit/index.d.ts.map +1 -1
- package/dist/core/audit/index.js +12 -3
- package/dist/core/audit/index.js.map +1 -1
- package/dist/core/audit/listChecks.d.ts.map +1 -1
- package/dist/core/audit/listChecks.js +24 -0
- package/dist/core/audit/listChecks.js.map +1 -1
- package/dist/core/audit/pluginAudit.d.ts +8 -0
- package/dist/core/audit/pluginAudit.d.ts.map +1 -0
- package/dist/core/audit/pluginAudit.js +134 -0
- package/dist/core/audit/pluginAudit.js.map +1 -0
- package/dist/core/audit/pluginFix.d.ts +19 -0
- package/dist/core/audit/pluginFix.d.ts.map +1 -0
- package/dist/core/audit/pluginFix.js +122 -0
- package/dist/core/audit/pluginFix.js.map +1 -0
- package/dist/core/audit/snapshot.d.ts +4 -4
- package/dist/core/audit/types.d.ts +2 -1
- package/dist/core/audit/types.d.ts.map +1 -1
- package/dist/core/completions.js +631 -631
- package/dist/core/plugin.d.ts +6 -0
- package/dist/core/plugin.d.ts.map +1 -1
- package/dist/core/plugin.js +2 -0
- package/dist/core/plugin.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/pluginTools.d.ts +5 -0
- package/dist/mcp/pluginTools.d.ts.map +1 -0
- package/dist/mcp/pluginTools.js +54 -0
- package/dist/mcp/pluginTools.js.map +1 -0
- package/dist/mcp/prompts/workflows.d.ts +17 -0
- package/dist/mcp/prompts/workflows.d.ts.map +1 -0
- package/dist/mcp/prompts/workflows.js +73 -0
- package/dist/mcp/prompts/workflows.js.map +1 -0
- package/dist/mcp/resources/checks.d.ts +4 -0
- package/dist/mcp/resources/checks.d.ts.map +1 -0
- package/dist/mcp/resources/checks.js +49 -0
- package/dist/mcp/resources/checks.js.map +1 -0
- package/dist/mcp/resources/servers.d.ts +4 -0
- package/dist/mcp/resources/servers.d.ts.map +1 -0
- package/dist/mcp/resources/servers.js +59 -0
- package/dist/mcp/resources/servers.js.map +1 -0
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +68 -35
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/serverAudit.d.ts +1 -1
- package/dist/mcp/tools/serverExplain.d.ts.map +1 -1
- package/dist/mcp/tools/serverExplain.js.map +1 -1
- package/dist/mcp/tools/serverFix.d.ts.map +1 -1
- package/dist/mcp/tools/serverFix.js +7 -1
- package/dist/mcp/tools/serverFix.js.map +1 -1
- package/dist/mcp/tools/serverFleet.d.ts.map +1 -1
- package/dist/mcp/tools/serverFleet.js.map +1 -1
- package/dist/mcp/tools/serverInfo.d.ts +1 -1
- package/dist/mcp/tools/serverInfo.js +1 -1
- package/dist/mcp/tools/serverManage.d.ts +2 -1
- package/dist/mcp/tools/serverManage.d.ts.map +1 -1
- package/dist/mcp/tools/serverManage.js +50 -5
- package/dist/mcp/tools/serverManage.js.map +1 -1
- package/dist/mcp/tools/serverPlugin.d.ts +3 -0
- package/dist/mcp/tools/serverPlugin.d.ts.map +1 -1
- package/dist/mcp/tools/serverPlugin.js +11 -1
- package/dist/mcp/tools/serverPlugin.js.map +1 -1
- package/dist/mcp/tools/serverProvision.d.ts +5 -5
- package/dist/mcp/tools/serverProvision.d.ts.map +1 -1
- package/dist/mcp/tools/serverProvision.js +31 -9
- package/dist/mcp/tools/serverProvision.js.map +1 -1
- package/dist/mcp/tools/serverSecure.d.ts.map +1 -1
- package/dist/mcp/tools/serverSecure.js +30 -1
- package/dist/mcp/tools/serverSecure.js.map +1 -1
- package/dist/mcp/utils.d.ts +25 -0
- package/dist/mcp/utils.d.ts.map +1 -1
- package/dist/mcp/utils.js +36 -0
- package/dist/mcp/utils.js.map +1 -1
- package/dist/mcp-bundle.mjs +102301 -0
- package/dist/plugin/handlerResolver.d.ts +2 -0
- package/dist/plugin/handlerResolver.d.ts.map +1 -0
- package/dist/plugin/handlerResolver.js +16 -0
- package/dist/plugin/handlerResolver.js.map +1 -0
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +41 -4
- package/dist/plugin/loader.js.map +1 -1
- package/dist/plugin/registerCommands.d.ts +4 -0
- package/dist/plugin/registerCommands.d.ts.map +1 -0
- package/dist/plugin/registerCommands.js +45 -0
- package/dist/plugin/registerCommands.js.map +1 -0
- package/dist/plugin/registry.d.ts +20 -1
- package/dist/plugin/registry.d.ts.map +1 -1
- package/dist/plugin/registry.js +51 -1
- package/dist/plugin/registry.js.map +1 -1
- package/dist/plugin/sdk/constants.d.ts +2 -0
- package/dist/plugin/sdk/constants.d.ts.map +1 -1
- package/dist/plugin/sdk/constants.js +2 -0
- package/dist/plugin/sdk/constants.js.map +1 -1
- package/dist/plugin/sdk/types.d.ts +74 -1
- package/dist/plugin/sdk/types.d.ts.map +1 -1
- package/dist/plugin/validate.d.ts +2 -1
- package/dist/plugin/validate.d.ts.map +1 -1
- package/dist/plugin/validate.js +106 -1
- package/dist/plugin/validate.js.map +1 -1
- package/dist/utils/cloudInit.js +58 -58
- package/dist/utils/fileLock.d.ts +5 -1
- package/dist/utils/fileLock.d.ts.map +1 -1
- package/dist/utils/fileLock.js +70 -15
- package/dist/utils/fileLock.js.map +1 -1
- package/dist/utils/paths.d.ts +0 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +1 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/secureWrite.d.ts.map +1 -1
- package/dist/utils/secureWrite.js +3 -38
- package/dist/utils/secureWrite.js.map +1 -1
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +19 -4
- package/dist/utils/version.js.map +1 -1
- package/kastell-plugin/.claude-plugin/plugin.json +20 -20
- package/kastell-plugin/.mcp.json +15 -8
- package/kastell-plugin/README.md +113 -113
- package/kastell-plugin/agents/kastell-auditor.md +77 -77
- package/kastell-plugin/agents/scripts/bucket_mapper.sh +101 -101
- package/kastell-plugin/agents/scripts/trend_report.sh +91 -91
- package/kastell-plugin/hooks/destroy-block.cjs +31 -31
- package/kastell-plugin/hooks/hooks.json +57 -57
- package/kastell-plugin/hooks/pre-commit-audit-guard.cjs +75 -75
- package/kastell-plugin/hooks/session-audit.cjs +86 -86
- package/kastell-plugin/hooks/session-log.cjs +56 -56
- package/kastell-plugin/hooks/stop-quality-check.cjs +72 -72
- package/kastell-plugin/skills/kastell-careful/SKILL.md +64 -64
- package/kastell-plugin/skills/kastell-ops/SKILL.md +139 -139
- package/kastell-plugin/skills/kastell-ops/references/commands.md +45 -45
- package/kastell-plugin/skills/kastell-ops/references/mcp-tools.md +50 -50
- package/kastell-plugin/skills/kastell-ops/references/patterns.md +145 -145
- package/kastell-plugin/skills/kastell-ops/references/pitfalls.md +136 -136
- package/kastell-plugin/skills/kastell-ops/scripts/check_coverage.sh +101 -101
- package/kastell-plugin/skills/kastell-ops/scripts/fleet_report.sh +73 -73
- package/kastell-plugin/skills/kastell-ops/scripts/parse_audit.sh +76 -76
- package/kastell-plugin/skills/kastell-research/SKILL.md +90 -90
- package/kastell-plugin/skills/kastell-scaffold/SKILL.md +104 -104
- package/kastell-plugin/skills/kastell-scaffold/references/template-audit-check.md +150 -150
- package/kastell-plugin/skills/kastell-scaffold/references/template-command.md +80 -80
- package/kastell-plugin/skills/kastell-scaffold/references/template-mcp-tool.md +72 -72
- package/kastell-plugin/skills/kastell-scaffold/references/template-provider.md +67 -67
- package/kastell-plugin/skills/kastell-scaffold/scripts/scaffold.sh +180 -180
- package/kastell-plugin/skills/kastell-scaffold/templates/check-test.ts.tpl +27 -27
- package/kastell-plugin/skills/kastell-scaffold/templates/check.ts.tpl +50 -50
- package/kastell-plugin/skills/kastell-scaffold/templates/command-core.ts.tpl +18 -18
- package/kastell-plugin/skills/kastell-scaffold/templates/command-test.ts.tpl +17 -17
- package/kastell-plugin/skills/kastell-scaffold/templates/command.ts.tpl +25 -25
- package/kastell-plugin/skills/kastell-scaffold/templates/mcp-tool-test.ts.tpl +30 -30
- package/kastell-plugin/skills/kastell-scaffold/templates/mcp-tool.ts.tpl +29 -29
- package/kastell-plugin/skills/kastell-scaffold/templates/provider-test.ts.tpl +34 -34
- package/kastell-plugin/skills/kastell-scaffold/templates/provider.ts.tpl +32 -32
- package/package.json +125 -122
- package/dist/commands/interactive.d.ts +0 -11
- package/dist/commands/interactive.d.ts.map +0 -1
- package/dist/commands/interactive.js +0 -1079
- package/dist/commands/interactive.js.map +0 -1
- package/dist/core/lock.d.ts +0 -66
- package/dist/core/lock.d.ts.map +0 -1
- package/dist/core/lock.js +0 -556
- package/dist/core/lock.js.map +0 -1
package/dist/adapters/coolify.js
CHANGED
|
@@ -10,98 +10,98 @@ export class CoolifyAdapter {
|
|
|
10
10
|
platformPorts = [80, 443, COOLIFY_PORT, 6001, 6002];
|
|
11
11
|
getCloudInit(serverName, sshPublicKey) {
|
|
12
12
|
const safeName = serverName.replace(/[^a-z0-9-]/g, "");
|
|
13
|
-
return `#!/bin/bash
|
|
14
|
-
set +e
|
|
15
|
-
export DEBIAN_FRONTEND=noninteractive
|
|
16
|
-
touch /var/log/kastell-install.log
|
|
17
|
-
chmod 600 /var/log/kastell-install.log
|
|
18
|
-
exec > >(tee /var/log/kastell-install.log) 2>&1
|
|
19
|
-
|
|
20
|
-
echo "=================================="
|
|
21
|
-
echo "Kastell Auto-Installer"
|
|
22
|
-
echo "Server: ${safeName}"
|
|
23
|
-
echo "=================================="
|
|
24
|
-
|
|
25
|
-
# Wait for network connectivity (DO cloud-init may start before network is ready)
|
|
26
|
-
echo "Waiting for network connectivity..."
|
|
27
|
-
MAX_ATTEMPTS=30
|
|
28
|
-
ATTEMPTS=0
|
|
29
|
-
while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
|
|
30
|
-
if curl -s --max-time 5 https://cdn.coollabs.io > /dev/null 2>&1; then
|
|
31
|
-
echo "Network is ready!"
|
|
32
|
-
break
|
|
33
|
-
fi
|
|
34
|
-
ATTEMPTS=$((ATTEMPTS + 1))
|
|
35
|
-
echo "Network not ready (attempt $ATTEMPTS/$MAX_ATTEMPTS)..."
|
|
36
|
-
sleep 2
|
|
37
|
-
done
|
|
38
|
-
|
|
39
|
-
# Disable needrestart to prevent interactive prompts during Docker/package installation
|
|
40
|
-
echo "Disabling needrestart..."
|
|
41
|
-
if dpkg -l needrestart > /dev/null 2>&1; then
|
|
42
|
-
apt-get remove -y needrestart || true
|
|
43
|
-
fi
|
|
44
|
-
export NEEDRESTART_MODE=a
|
|
45
|
-
export NEEDRESTART_SUSPEND=1
|
|
46
|
-
|
|
47
|
-
# Update system
|
|
48
|
-
echo "Updating system packages..."
|
|
49
|
-
apt-get update -y
|
|
50
|
-
|
|
51
|
-
# Configure firewall BEFORE installer (prevents SSH lockout if installer hangs)
|
|
52
|
-
echo "Configuring firewall..."
|
|
53
|
-
if command -v ufw &> /dev/null; then
|
|
54
|
-
ufw allow 22/tcp
|
|
55
|
-
ufw allow 80/tcp
|
|
56
|
-
ufw allow 443/tcp
|
|
57
|
-
ufw allow 8000/tcp
|
|
58
|
-
ufw allow 6001/tcp
|
|
59
|
-
ufw allow 6002/tcp
|
|
60
|
-
echo "y" | ufw enable || true
|
|
61
|
-
else
|
|
62
|
-
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
|
|
63
|
-
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
|
|
64
|
-
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
|
|
65
|
-
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
|
|
66
|
-
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
67
|
-
mkdir -p /etc/iptables
|
|
68
|
-
iptables-save > /etc/iptables/rules.v4 || true
|
|
69
|
-
apt-get install -y iptables-persistent || true
|
|
70
|
-
fi
|
|
71
|
-
|
|
72
|
-
# Switch from socket activation to traditional SSH service (prevents Ubuntu 24.04 ssh.socket bugs)
|
|
73
|
-
echo "Switching to traditional SSH service..."
|
|
74
|
-
systemctl disable --now ssh.socket 2>/dev/null || true
|
|
75
|
-
systemctl enable --now ssh.service 2>/dev/null || true
|
|
76
|
-
|
|
77
|
-
# Install Coolify
|
|
78
|
-
echo "Installing Coolify..."
|
|
79
|
-
curl -fsSL https://cdn.coollabs.io/coolify/install.sh -o /tmp/coolify-install.sh && head -c2 /tmp/coolify-install.sh | grep -q "#!" && [ "$(wc -c < /tmp/coolify-install.sh)" -gt 100 ] && env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a NEEDRESTART_SUSPEND=1 bash /tmp/coolify-install.sh && rm -f /tmp/coolify-install.sh
|
|
80
|
-
|
|
81
|
-
# Ensure SSH remains accessible after Coolify installation
|
|
82
|
-
echo "Ensuring SSH service is active..."
|
|
83
|
-
if ! ss -tlnp | grep -q ':22 '; then
|
|
84
|
-
systemctl restart ssh.service 2>/dev/null || systemctl restart sshd.service 2>/dev/null || true
|
|
85
|
-
sleep 2
|
|
86
|
-
fi
|
|
87
|
-
|
|
88
|
-
# Re-inject SSH public key (Coolify installer may overwrite authorized_keys)
|
|
89
|
-
${sshPublicKey ? `echo "Re-injecting SSH public key..."
|
|
90
|
-
mkdir -p /root/.ssh
|
|
91
|
-
chmod 700 /root/.ssh
|
|
92
|
-
grep -qF '${sshPublicKey.trim().replace(/'/g, "'\\''")}' /root/.ssh/authorized_keys 2>/dev/null || echo '${sshPublicKey.trim().replace(/'/g, "'\\''")}' >> /root/.ssh/authorized_keys
|
|
93
|
-
chmod 600 /root/.ssh/authorized_keys` : "# No SSH public key provided — skipping re-injection"}
|
|
94
|
-
|
|
95
|
-
# Wait for services
|
|
96
|
-
echo "Waiting for Coolify services to start..."
|
|
97
|
-
sleep 30
|
|
98
|
-
|
|
99
|
-
echo "=================================="
|
|
100
|
-
echo "Coolify installation completed!"
|
|
101
|
-
echo "=================================="
|
|
102
|
-
echo ""
|
|
103
|
-
echo "Please wait 3-5 more minutes for Coolify to fully initialize."
|
|
104
|
-
echo "Then access your instance at: http://YOUR_SERVER_IP:8000"
|
|
13
|
+
return `#!/bin/bash
|
|
14
|
+
set +e
|
|
15
|
+
export DEBIAN_FRONTEND=noninteractive
|
|
16
|
+
touch /var/log/kastell-install.log
|
|
17
|
+
chmod 600 /var/log/kastell-install.log
|
|
18
|
+
exec > >(tee /var/log/kastell-install.log) 2>&1
|
|
19
|
+
|
|
20
|
+
echo "=================================="
|
|
21
|
+
echo "Kastell Auto-Installer"
|
|
22
|
+
echo "Server: ${safeName}"
|
|
23
|
+
echo "=================================="
|
|
24
|
+
|
|
25
|
+
# Wait for network connectivity (DO cloud-init may start before network is ready)
|
|
26
|
+
echo "Waiting for network connectivity..."
|
|
27
|
+
MAX_ATTEMPTS=30
|
|
28
|
+
ATTEMPTS=0
|
|
29
|
+
while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
|
|
30
|
+
if curl -s --max-time 5 https://cdn.coollabs.io > /dev/null 2>&1; then
|
|
31
|
+
echo "Network is ready!"
|
|
32
|
+
break
|
|
33
|
+
fi
|
|
34
|
+
ATTEMPTS=$((ATTEMPTS + 1))
|
|
35
|
+
echo "Network not ready (attempt $ATTEMPTS/$MAX_ATTEMPTS)..."
|
|
36
|
+
sleep 2
|
|
37
|
+
done
|
|
38
|
+
|
|
39
|
+
# Disable needrestart to prevent interactive prompts during Docker/package installation
|
|
40
|
+
echo "Disabling needrestart..."
|
|
41
|
+
if dpkg -l needrestart > /dev/null 2>&1; then
|
|
42
|
+
apt-get remove -y needrestart || true
|
|
43
|
+
fi
|
|
44
|
+
export NEEDRESTART_MODE=a
|
|
45
|
+
export NEEDRESTART_SUSPEND=1
|
|
46
|
+
|
|
47
|
+
# Update system
|
|
48
|
+
echo "Updating system packages..."
|
|
49
|
+
apt-get update -y
|
|
50
|
+
|
|
51
|
+
# Configure firewall BEFORE installer (prevents SSH lockout if installer hangs)
|
|
52
|
+
echo "Configuring firewall..."
|
|
53
|
+
if command -v ufw &> /dev/null; then
|
|
54
|
+
ufw allow 22/tcp
|
|
55
|
+
ufw allow 80/tcp
|
|
56
|
+
ufw allow 443/tcp
|
|
57
|
+
ufw allow 8000/tcp
|
|
58
|
+
ufw allow 6001/tcp
|
|
59
|
+
ufw allow 6002/tcp
|
|
60
|
+
echo "y" | ufw enable || true
|
|
61
|
+
else
|
|
62
|
+
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
|
|
63
|
+
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
|
|
64
|
+
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
|
|
65
|
+
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
|
|
66
|
+
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
67
|
+
mkdir -p /etc/iptables
|
|
68
|
+
iptables-save > /etc/iptables/rules.v4 || true
|
|
69
|
+
apt-get install -y iptables-persistent || true
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
# Switch from socket activation to traditional SSH service (prevents Ubuntu 24.04 ssh.socket bugs)
|
|
73
|
+
echo "Switching to traditional SSH service..."
|
|
74
|
+
systemctl disable --now ssh.socket 2>/dev/null || true
|
|
75
|
+
systemctl enable --now ssh.service 2>/dev/null || true
|
|
76
|
+
|
|
77
|
+
# Install Coolify
|
|
78
|
+
echo "Installing Coolify..."
|
|
79
|
+
curl -fsSL https://cdn.coollabs.io/coolify/install.sh -o /tmp/coolify-install.sh && head -c2 /tmp/coolify-install.sh | grep -q "#!" && [ "$(wc -c < /tmp/coolify-install.sh)" -gt 100 ] && env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a NEEDRESTART_SUSPEND=1 bash /tmp/coolify-install.sh && rm -f /tmp/coolify-install.sh
|
|
80
|
+
|
|
81
|
+
# Ensure SSH remains accessible after Coolify installation
|
|
82
|
+
echo "Ensuring SSH service is active..."
|
|
83
|
+
if ! ss -tlnp | grep -q ':22 '; then
|
|
84
|
+
systemctl restart ssh.service 2>/dev/null || systemctl restart sshd.service 2>/dev/null || true
|
|
85
|
+
sleep 2
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
# Re-inject SSH public key (Coolify installer may overwrite authorized_keys)
|
|
89
|
+
${sshPublicKey ? `echo "Re-injecting SSH public key..."
|
|
90
|
+
mkdir -p /root/.ssh
|
|
91
|
+
chmod 700 /root/.ssh
|
|
92
|
+
grep -qF '${sshPublicKey.trim().replace(/'/g, "'\\''")}' /root/.ssh/authorized_keys 2>/dev/null || echo '${sshPublicKey.trim().replace(/'/g, "'\\''")}' >> /root/.ssh/authorized_keys
|
|
93
|
+
chmod 600 /root/.ssh/authorized_keys` : "# No SSH public key provided — skipping re-injection"}
|
|
94
|
+
|
|
95
|
+
# Wait for services
|
|
96
|
+
echo "Waiting for Coolify services to start..."
|
|
97
|
+
sleep 30
|
|
98
|
+
|
|
99
|
+
echo "=================================="
|
|
100
|
+
echo "Coolify installation completed!"
|
|
101
|
+
echo "=================================="
|
|
102
|
+
echo ""
|
|
103
|
+
echo "Please wait 3-5 more minutes for Coolify to fully initialize."
|
|
104
|
+
echo "Then access your instance at: http://YOUR_SERVER_IP:8000"
|
|
105
105
|
`;
|
|
106
106
|
}
|
|
107
107
|
async healthCheck(ip, domain) {
|
package/dist/adapters/dokploy.js
CHANGED
|
@@ -10,105 +10,105 @@ export class DokployAdapter {
|
|
|
10
10
|
platformPorts = [80, 443, DOKPLOY_PORT];
|
|
11
11
|
getCloudInit(serverName, sshPublicKey) {
|
|
12
12
|
const safeName = serverName.replace(/[^a-z0-9-]/g, "");
|
|
13
|
-
return `#!/bin/bash
|
|
14
|
-
set +e
|
|
15
|
-
export DEBIAN_FRONTEND=noninteractive
|
|
16
|
-
touch /var/log/kastell-install.log
|
|
17
|
-
chmod 600 /var/log/kastell-install.log
|
|
18
|
-
exec > >(tee /var/log/kastell-install.log) 2>&1
|
|
19
|
-
|
|
20
|
-
echo "=================================="
|
|
21
|
-
echo "Kastell Auto-Installer"
|
|
22
|
-
echo "Server: ${safeName}"
|
|
23
|
-
echo "Platform: Dokploy"
|
|
24
|
-
echo "=================================="
|
|
25
|
-
|
|
26
|
-
# Wait for network connectivity
|
|
27
|
-
echo "Waiting for network connectivity..."
|
|
28
|
-
MAX_ATTEMPTS=30
|
|
29
|
-
ATTEMPTS=0
|
|
30
|
-
while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
|
|
31
|
-
if curl -s --max-time 5 https://dokploy.com > /dev/null 2>&1; then
|
|
32
|
-
echo "Network is ready!"
|
|
33
|
-
break
|
|
34
|
-
fi
|
|
35
|
-
ATTEMPTS=$((ATTEMPTS + 1))
|
|
36
|
-
echo "Network not ready (attempt $ATTEMPTS/$MAX_ATTEMPTS)..."
|
|
37
|
-
sleep 2
|
|
38
|
-
done
|
|
39
|
-
|
|
40
|
-
# Disable needrestart to prevent interactive prompts during Docker/package installation
|
|
41
|
-
echo "Disabling needrestart..."
|
|
42
|
-
if dpkg -l needrestart > /dev/null 2>&1; then
|
|
43
|
-
apt-get remove -y needrestart || true
|
|
44
|
-
fi
|
|
45
|
-
export NEEDRESTART_MODE=a
|
|
46
|
-
export NEEDRESTART_SUSPEND=1
|
|
47
|
-
|
|
48
|
-
# Update system
|
|
49
|
-
echo "Updating system packages..."
|
|
50
|
-
apt-get update -y
|
|
51
|
-
|
|
52
|
-
# Configure firewall BEFORE installer (prevents SSH lockout if installer hangs)
|
|
53
|
-
echo "Configuring firewall..."
|
|
54
|
-
if command -v ufw &> /dev/null; then
|
|
55
|
-
ufw allow 22/tcp
|
|
56
|
-
ufw allow 80/tcp
|
|
57
|
-
ufw allow 443/tcp
|
|
58
|
-
ufw allow 3000/tcp
|
|
59
|
-
ufw allow 2377/tcp
|
|
60
|
-
ufw allow 7946/tcp
|
|
61
|
-
ufw allow 7946/udp
|
|
62
|
-
ufw allow 4789/udp
|
|
63
|
-
echo "y" | ufw enable || true
|
|
64
|
-
else
|
|
65
|
-
iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
|
|
66
|
-
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
|
|
67
|
-
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
|
|
68
|
-
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
|
|
69
|
-
iptables -A INPUT -p tcp --dport 2377 -j ACCEPT
|
|
70
|
-
iptables -A INPUT -p tcp --dport 7946 -j ACCEPT
|
|
71
|
-
iptables -A INPUT -p udp --dport 7946 -j ACCEPT
|
|
72
|
-
iptables -A INPUT -p udp --dport 4789 -j ACCEPT
|
|
73
|
-
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
74
|
-
mkdir -p /etc/iptables
|
|
75
|
-
iptables-save > /etc/iptables/rules.v4 || true
|
|
76
|
-
apt-get install -y iptables-persistent || true
|
|
77
|
-
fi
|
|
78
|
-
|
|
79
|
-
# Switch from socket activation to traditional SSH service (prevents Ubuntu 24.04 ssh.socket bugs)
|
|
80
|
-
echo "Switching to traditional SSH service..."
|
|
81
|
-
systemctl disable --now ssh.socket 2>/dev/null || true
|
|
82
|
-
systemctl enable --now ssh.service 2>/dev/null || true
|
|
83
|
-
|
|
84
|
-
# Install Dokploy
|
|
85
|
-
echo "Installing Dokploy..."
|
|
86
|
-
curl -sSL https://dokploy.com/install.sh -o /tmp/dokploy-install.sh && head -c2 /tmp/dokploy-install.sh | grep -q "#!" && [ "$(wc -c < /tmp/dokploy-install.sh)" -gt 100 ] && env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a NEEDRESTART_SUSPEND=1 sh /tmp/dokploy-install.sh && rm -f /tmp/dokploy-install.sh
|
|
87
|
-
|
|
88
|
-
# Ensure SSH remains accessible after installation
|
|
89
|
-
echo "Ensuring SSH service is active..."
|
|
90
|
-
if ! ss -tlnp | grep -q ':22 '; then
|
|
91
|
-
systemctl restart ssh.service 2>/dev/null || systemctl restart sshd.service 2>/dev/null || true
|
|
92
|
-
sleep 2
|
|
93
|
-
fi
|
|
94
|
-
|
|
95
|
-
# Re-inject SSH public key (platform installer may overwrite authorized_keys)
|
|
96
|
-
${sshPublicKey ? `echo "Re-injecting SSH public key..."
|
|
97
|
-
mkdir -p /root/.ssh
|
|
98
|
-
chmod 700 /root/.ssh
|
|
99
|
-
grep -qF '${sshPublicKey.trim().replace(/'/g, "'\\''")}' /root/.ssh/authorized_keys 2>/dev/null || echo '${sshPublicKey.trim().replace(/'/g, "'\\''")}' >> /root/.ssh/authorized_keys
|
|
100
|
-
chmod 600 /root/.ssh/authorized_keys` : "# No SSH public key provided — skipping re-injection"}
|
|
101
|
-
|
|
102
|
-
# Wait for services
|
|
103
|
-
echo "Waiting for Dokploy services to start..."
|
|
104
|
-
sleep 30
|
|
105
|
-
|
|
106
|
-
echo "=================================="
|
|
107
|
-
echo "Dokploy installation completed!"
|
|
108
|
-
echo "=================================="
|
|
109
|
-
echo ""
|
|
110
|
-
echo "Please wait 3-5 more minutes for Dokploy to fully initialize."
|
|
111
|
-
echo "Then access your instance at: http://YOUR_SERVER_IP:3000"
|
|
13
|
+
return `#!/bin/bash
|
|
14
|
+
set +e
|
|
15
|
+
export DEBIAN_FRONTEND=noninteractive
|
|
16
|
+
touch /var/log/kastell-install.log
|
|
17
|
+
chmod 600 /var/log/kastell-install.log
|
|
18
|
+
exec > >(tee /var/log/kastell-install.log) 2>&1
|
|
19
|
+
|
|
20
|
+
echo "=================================="
|
|
21
|
+
echo "Kastell Auto-Installer"
|
|
22
|
+
echo "Server: ${safeName}"
|
|
23
|
+
echo "Platform: Dokploy"
|
|
24
|
+
echo "=================================="
|
|
25
|
+
|
|
26
|
+
# Wait for network connectivity
|
|
27
|
+
echo "Waiting for network connectivity..."
|
|
28
|
+
MAX_ATTEMPTS=30
|
|
29
|
+
ATTEMPTS=0
|
|
30
|
+
while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
|
|
31
|
+
if curl -s --max-time 5 https://dokploy.com > /dev/null 2>&1; then
|
|
32
|
+
echo "Network is ready!"
|
|
33
|
+
break
|
|
34
|
+
fi
|
|
35
|
+
ATTEMPTS=$((ATTEMPTS + 1))
|
|
36
|
+
echo "Network not ready (attempt $ATTEMPTS/$MAX_ATTEMPTS)..."
|
|
37
|
+
sleep 2
|
|
38
|
+
done
|
|
39
|
+
|
|
40
|
+
# Disable needrestart to prevent interactive prompts during Docker/package installation
|
|
41
|
+
echo "Disabling needrestart..."
|
|
42
|
+
if dpkg -l needrestart > /dev/null 2>&1; then
|
|
43
|
+
apt-get remove -y needrestart || true
|
|
44
|
+
fi
|
|
45
|
+
export NEEDRESTART_MODE=a
|
|
46
|
+
export NEEDRESTART_SUSPEND=1
|
|
47
|
+
|
|
48
|
+
# Update system
|
|
49
|
+
echo "Updating system packages..."
|
|
50
|
+
apt-get update -y
|
|
51
|
+
|
|
52
|
+
# Configure firewall BEFORE installer (prevents SSH lockout if installer hangs)
|
|
53
|
+
echo "Configuring firewall..."
|
|
54
|
+
if command -v ufw &> /dev/null; then
|
|
55
|
+
ufw allow 22/tcp
|
|
56
|
+
ufw allow 80/tcp
|
|
57
|
+
ufw allow 443/tcp
|
|
58
|
+
ufw allow 3000/tcp
|
|
59
|
+
ufw allow 2377/tcp
|
|
60
|
+
ufw allow 7946/tcp
|
|
61
|
+
ufw allow 7946/udp
|
|
62
|
+
ufw allow 4789/udp
|
|
63
|
+
echo "y" | ufw enable || true
|
|
64
|
+
else
|
|
65
|
+
iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
|
|
66
|
+
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
|
|
67
|
+
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
|
|
68
|
+
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
|
|
69
|
+
iptables -A INPUT -p tcp --dport 2377 -j ACCEPT
|
|
70
|
+
iptables -A INPUT -p tcp --dport 7946 -j ACCEPT
|
|
71
|
+
iptables -A INPUT -p udp --dport 7946 -j ACCEPT
|
|
72
|
+
iptables -A INPUT -p udp --dport 4789 -j ACCEPT
|
|
73
|
+
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
74
|
+
mkdir -p /etc/iptables
|
|
75
|
+
iptables-save > /etc/iptables/rules.v4 || true
|
|
76
|
+
apt-get install -y iptables-persistent || true
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
# Switch from socket activation to traditional SSH service (prevents Ubuntu 24.04 ssh.socket bugs)
|
|
80
|
+
echo "Switching to traditional SSH service..."
|
|
81
|
+
systemctl disable --now ssh.socket 2>/dev/null || true
|
|
82
|
+
systemctl enable --now ssh.service 2>/dev/null || true
|
|
83
|
+
|
|
84
|
+
# Install Dokploy
|
|
85
|
+
echo "Installing Dokploy..."
|
|
86
|
+
curl -sSL https://dokploy.com/install.sh -o /tmp/dokploy-install.sh && head -c2 /tmp/dokploy-install.sh | grep -q "#!" && [ "$(wc -c < /tmp/dokploy-install.sh)" -gt 100 ] && env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a NEEDRESTART_SUSPEND=1 sh /tmp/dokploy-install.sh && rm -f /tmp/dokploy-install.sh
|
|
87
|
+
|
|
88
|
+
# Ensure SSH remains accessible after installation
|
|
89
|
+
echo "Ensuring SSH service is active..."
|
|
90
|
+
if ! ss -tlnp | grep -q ':22 '; then
|
|
91
|
+
systemctl restart ssh.service 2>/dev/null || systemctl restart sshd.service 2>/dev/null || true
|
|
92
|
+
sleep 2
|
|
93
|
+
fi
|
|
94
|
+
|
|
95
|
+
# Re-inject SSH public key (platform installer may overwrite authorized_keys)
|
|
96
|
+
${sshPublicKey ? `echo "Re-injecting SSH public key..."
|
|
97
|
+
mkdir -p /root/.ssh
|
|
98
|
+
chmod 700 /root/.ssh
|
|
99
|
+
grep -qF '${sshPublicKey.trim().replace(/'/g, "'\\''")}' /root/.ssh/authorized_keys 2>/dev/null || echo '${sshPublicKey.trim().replace(/'/g, "'\\''")}' >> /root/.ssh/authorized_keys
|
|
100
|
+
chmod 600 /root/.ssh/authorized_keys` : "# No SSH public key provided — skipping re-injection"}
|
|
101
|
+
|
|
102
|
+
# Wait for services
|
|
103
|
+
echo "Waiting for Dokploy services to start..."
|
|
104
|
+
sleep 30
|
|
105
|
+
|
|
106
|
+
echo "=================================="
|
|
107
|
+
echo "Dokploy installation completed!"
|
|
108
|
+
echo "=================================="
|
|
109
|
+
echo ""
|
|
110
|
+
echo "Please wait 3-5 more minutes for Dokploy to fully initialize."
|
|
111
|
+
echo "Then access your instance at: http://YOUR_SERVER_IP:3000"
|
|
112
112
|
`;
|
|
113
113
|
}
|
|
114
114
|
async healthCheck(ip, domain) {
|
package/dist/commands/fix.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type FixPreview } from "../core/audit/fix.js";
|
|
2
|
+
export declare function renderForbiddenBlock(forbiddenFixes: FixPreview[], includeForbidden: boolean): string;
|
|
1
3
|
/**
|
|
2
4
|
* `kastell fix --safe` command.
|
|
3
5
|
* Applies only SAFE tier fixes with mandatory backup-first execution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAQA,OAAO,EAWL,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAyB9B,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,UAAU,EAAE,EAC5B,gBAAgB,EAAE,OAAO,GACxB,MAAM,CAUR;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,OAAO,CAAC,IAAI,CAAC,CAuhBf"}
|
package/dist/commands/fix.js
CHANGED
|
@@ -16,6 +16,21 @@ import { classifyError } from "../utils/errorMapper.js";
|
|
|
16
16
|
import { confirmOrCancel } from "../utils/prompts.js";
|
|
17
17
|
import { loadFixHistory, saveFixHistory, saveRollbackEntry, generateFixId, backupFilesBeforeFix, rollbackFix, backupRemoteCleanup, rollbackAllFixes, rollbackToFix, } from "../core/audit/fix-history.js";
|
|
18
18
|
import { saveBaselineSafe, loadBaseline, checkRegression, formatRegressionSummary, extractPassedCheckIds, shouldUpdateBaseline, hasRegression } from "../core/audit/regression.js";
|
|
19
|
+
import { getPluginBackupPaths, getAppliedPluginNames } from "../core/audit/pluginFix.js";
|
|
20
|
+
const FORBIDDEN_BLOCK_HEADER = "=== FORBIDDEN fixes (skipped, manual review required) ===";
|
|
21
|
+
const COMMAND_TRUNCATE_LEN = 80;
|
|
22
|
+
export function renderForbiddenBlock(forbiddenFixes, includeForbidden) {
|
|
23
|
+
if (!includeForbidden || forbiddenFixes.length === 0)
|
|
24
|
+
return "";
|
|
25
|
+
const lines = [FORBIDDEN_BLOCK_HEADER];
|
|
26
|
+
forbiddenFixes.forEach((fix, idx) => {
|
|
27
|
+
const cmd = fix.command.length > COMMAND_TRUNCATE_LEN
|
|
28
|
+
? fix.command.slice(0, COMMAND_TRUNCATE_LEN - 1) + "…"
|
|
29
|
+
: fix.command;
|
|
30
|
+
lines.push(`[F${idx + 1}] ${fix.checkId} — ${cmd}`);
|
|
31
|
+
});
|
|
32
|
+
return lines.join("\n");
|
|
33
|
+
}
|
|
19
34
|
/**
|
|
20
35
|
* `kastell fix --safe` command.
|
|
21
36
|
* Applies only SAFE tier fixes with mandatory backup-first execution.
|
|
@@ -281,6 +296,11 @@ export async function fixSafeCommand(query, options) {
|
|
|
281
296
|
}
|
|
282
297
|
// Dry-run exit (FIX-05): show preview only, no backup or fixes
|
|
283
298
|
if (options.dryRun) {
|
|
299
|
+
const forbiddenOutput = renderForbiddenBlock(forbiddenFixes ?? [], options.includeForbidden === true);
|
|
300
|
+
if (forbiddenOutput) {
|
|
301
|
+
logger.info("");
|
|
302
|
+
logger.info(forbiddenOutput);
|
|
303
|
+
}
|
|
284
304
|
return;
|
|
285
305
|
}
|
|
286
306
|
// Confirm with user (skip in non-interactive mode for scheduled/automated runs)
|
|
@@ -314,7 +334,9 @@ export async function fixSafeCommand(query, options) {
|
|
|
314
334
|
const fixCommands = fixCommandsFromChecks(selectedChecks);
|
|
315
335
|
const remoteBackupSpinner = createSpinner("Creating remote file backup...");
|
|
316
336
|
remoteBackupSpinner.start();
|
|
317
|
-
const
|
|
337
|
+
const failedCheckIds = auditResult.categories.flatMap((c) => c.checks.filter((ch) => !ch.passed).map((ch) => ch.id));
|
|
338
|
+
const pluginBackupPaths = getPluginBackupPaths(failedCheckIds);
|
|
339
|
+
const remoteBackupPath = await backupFilesBeforeFix(ip, fixId, fixCommands, pluginBackupPaths);
|
|
318
340
|
remoteBackupSpinner.stop();
|
|
319
341
|
// Apply SAFE fixes (prioritized)
|
|
320
342
|
const fixSpinner = createSpinner("Applying safe fixes...");
|
|
@@ -420,6 +442,7 @@ export async function fixSafeCommand(query, options) {
|
|
|
420
442
|
}
|
|
421
443
|
}
|
|
422
444
|
// Save to fix history (FIXPRO-02)
|
|
445
|
+
const appliedPluginNames = getAppliedPluginNames([...applied]);
|
|
423
446
|
await saveFixHistory({
|
|
424
447
|
fixId,
|
|
425
448
|
serverIp: ip,
|
|
@@ -430,6 +453,8 @@ export async function fixSafeCommand(query, options) {
|
|
|
430
453
|
scoreAfter: newScore,
|
|
431
454
|
status: applied.length > 0 ? "applied" : "failed",
|
|
432
455
|
backupPath: remoteBackupPath,
|
|
456
|
+
source: appliedPluginNames.length > 0 ? "plugin" : "fix",
|
|
457
|
+
pluginName: appliedPluginNames.length > 0 ? appliedPluginNames.join(",") : undefined,
|
|
433
458
|
});
|
|
434
459
|
// Generate fix report (FIXPRO-07, D-10)
|
|
435
460
|
if (options.report) {
|
package/dist/commands/fix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/commands/interactive/plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/commands/interactive/plugins.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAqD7D"}
|
|
@@ -1,14 +1,38 @@
|
|
|
1
1
|
import inquirer from "inquirer";
|
|
2
2
|
import { promptList } from "./shared.js";
|
|
3
|
+
import { getPluginCommands } from "../../plugin/registry.js";
|
|
3
4
|
export async function promptPlugin() {
|
|
4
|
-
const
|
|
5
|
+
const pluginCmds = getPluginCommands();
|
|
6
|
+
const choices = [
|
|
5
7
|
{ name: "List installed plugins", value: "list" },
|
|
6
8
|
{ name: "Install a plugin", value: "install" },
|
|
7
9
|
{ name: "Remove a plugin", value: "remove" },
|
|
8
10
|
{ name: "Validate plugins", value: "validate" },
|
|
9
|
-
]
|
|
11
|
+
];
|
|
12
|
+
if (pluginCmds.length > 0) {
|
|
13
|
+
choices.push({ name: `Run plugin command (${pluginCmds.length} available)`, value: "run" });
|
|
14
|
+
}
|
|
15
|
+
const sub = await promptList("Plugin action:", choices);
|
|
10
16
|
if (!sub)
|
|
11
17
|
return null;
|
|
18
|
+
if (sub === "run") {
|
|
19
|
+
const grouped = new Map();
|
|
20
|
+
for (const entry of pluginCmds) {
|
|
21
|
+
const group = grouped.get(entry.pluginShortName) ?? [];
|
|
22
|
+
group.push(entry);
|
|
23
|
+
grouped.set(entry.pluginShortName, group);
|
|
24
|
+
}
|
|
25
|
+
const pluginChoices = [...grouped.keys()].map(name => ({ name, value: name }));
|
|
26
|
+
const { plugin } = await inquirer.prompt([
|
|
27
|
+
{ type: "list", name: "plugin", message: "Select plugin:", choices: pluginChoices },
|
|
28
|
+
]);
|
|
29
|
+
const cmds = grouped.get(plugin);
|
|
30
|
+
const cmdChoices = cmds.map(c => ({ name: `${c.command.name} — ${c.command.description}`, value: c.command.name }));
|
|
31
|
+
const { command } = await inquirer.prompt([
|
|
32
|
+
{ type: "list", name: "command", message: "Select command:", choices: cmdChoices },
|
|
33
|
+
]);
|
|
34
|
+
return [plugin, command];
|
|
35
|
+
}
|
|
12
36
|
if (sub === "install") {
|
|
13
37
|
const { name } = await inquirer.prompt([
|
|
14
38
|
{ type: "input", name: "name", message: "Plugin name (kastell-plugin-<name>):" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/commands/interactive/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/commands/interactive/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"AAWA,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYrE;AAED,wBAAgB,iBAAiB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"AAWA,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYrE;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAqCxC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAezD"}
|