Integrate skills + v7-visibility + mcpctl passwd (deployed) #75

Merged
michal merged 19 commits from integration/skills-v7-passwd into main 2026-06-16 22:16:49 +00:00
2 changed files with 13 additions and 4 deletions
Showing only changes of commit 4c7e648771 - Show all commits

View File

@@ -44,6 +44,11 @@ REG_PUBLIC="mysources.co.uk" # what k8s pulls from (same backend)
# Deployments avoids that provider entirely.
MCPD_URN='urn:pulumi:homelab::k8s-deployments::kubernetes:core/v1:Namespace$kubernetes:apps/v1:Deployment::mcpd'
MCPLOCAL_URN='urn:pulumi:homelab::k8s-deployments::kubernetes:core/v1:Namespace$kubernetes:apps/v1:Deployment::mcplocal'
# Prior kubectl-based deploys (old fulldeploy.sh) took server-side-apply
# ownership of the Deployment .image field under the `kubectl-set` field
# manager, which makes a plain pulumi apply conflict. Force-apply lets Pulumi
# reclaim the field and become the single source of truth going forward.
export PULUMI_K8S_ENABLE_PATCH_FORCE=true
BACKUP_DIR="$HOME/tmp/mcpctl-backup"
DATE="$(date +%Y%m%d-%H%M%S)"

View File

@@ -62,10 +62,14 @@ async function healthz(): Promise<boolean> {
}
function adminToken(): string | undefined {
try {
const raw = readFileSync(join(homedir(), '.config', 'mcpctl', 'credentials'), 'utf-8');
return (JSON.parse(raw) as { token?: string }).token;
} catch { return undefined; }
// The CLI stores credentials at ~/.mcpctl/credentials (see config/loader.ts).
for (const p of [join(homedir(), '.mcpctl', 'credentials'), join(homedir(), '.config', 'mcpctl', 'credentials')]) {
try {
const tok = (JSON.parse(readFileSync(p, 'utf-8')) as { token?: string }).token;
if (tok) return tok;
} catch { /* try next */ }
}
return undefined;
}
async function login(email: string, password: string): Promise<Resp> {