@oasissys/k8s-cli 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Minimal, read-only Kubernetes REST client.
3
+ *
4
+ * Talks straight to the kube-apiserver (`https://host:6443`) with a
5
+ * ServiceAccount bearer token — no kubeconfig, no client certs, no cloud SDK.
6
+ * This is exactly how an in-cluster pod authenticates.
7
+ *
8
+ * TLS: verification is intentionally skipped (`rejectUnauthorized: false`).
9
+ * Internal Oasis clusters use self-signed CAs, and the CLI is a trusted-network
10
+ * dev/ops tool — so we trade CA pinning for zero-config connectivity. Never
11
+ * point this at an endpoint you don't control.
12
+ *
13
+ * Every method is a GET. The client never mutates cluster state.
14
+ */
15
+ /** Error carrying the HTTP status so callers can map 401/403/404 to advice. */
16
+ export declare class K8sError extends Error {
17
+ readonly status: number;
18
+ readonly reason?: string | undefined;
19
+ constructor(message: string, status: number, reason?: string | undefined);
20
+ /** The SA lacks RBAC for this resource (common with scoped read tokens). */
21
+ get forbidden(): boolean;
22
+ get unauthorized(): boolean;
23
+ get notFound(): boolean;
24
+ }
25
+ export interface ObjectMeta {
26
+ name?: string;
27
+ namespace?: string;
28
+ creationTimestamp?: string;
29
+ labels?: Record<string, string>;
30
+ annotations?: Record<string, string>;
31
+ }
32
+ export interface K8sList<T> {
33
+ items: T[];
34
+ metadata?: {
35
+ continue?: string;
36
+ remainingItemCount?: number;
37
+ };
38
+ }
39
+ export interface Pod {
40
+ metadata?: ObjectMeta;
41
+ spec?: {
42
+ nodeName?: string;
43
+ containers?: {
44
+ name: string;
45
+ }[];
46
+ };
47
+ status?: {
48
+ phase?: string;
49
+ podIP?: string;
50
+ startTime?: string;
51
+ containerStatuses?: {
52
+ name: string;
53
+ ready?: boolean;
54
+ restartCount?: number;
55
+ state?: Record<string, {
56
+ reason?: string;
57
+ }>;
58
+ }[];
59
+ };
60
+ }
61
+ export interface Namespace {
62
+ metadata?: ObjectMeta;
63
+ status?: {
64
+ phase?: string;
65
+ };
66
+ }
67
+ export interface Node {
68
+ metadata?: ObjectMeta;
69
+ status?: {
70
+ conditions?: {
71
+ type: string;
72
+ status: string;
73
+ }[];
74
+ nodeInfo?: {
75
+ kubeletVersion?: string;
76
+ osImage?: string;
77
+ containerRuntimeVersion?: string;
78
+ };
79
+ capacity?: Record<string, string>;
80
+ };
81
+ }
82
+ export interface Deployment {
83
+ metadata?: ObjectMeta;
84
+ spec?: {
85
+ replicas?: number;
86
+ };
87
+ status?: {
88
+ replicas?: number;
89
+ readyReplicas?: number;
90
+ availableReplicas?: number;
91
+ updatedReplicas?: number;
92
+ };
93
+ }
94
+ export interface Service {
95
+ metadata?: ObjectMeta;
96
+ spec?: {
97
+ type?: string;
98
+ clusterIP?: string;
99
+ ports?: {
100
+ port: number;
101
+ targetPort?: number | string;
102
+ protocol?: string;
103
+ nodePort?: number;
104
+ }[];
105
+ selector?: Record<string, string>;
106
+ };
107
+ }
108
+ export interface Event {
109
+ metadata?: ObjectMeta;
110
+ type?: string;
111
+ reason?: string;
112
+ message?: string;
113
+ lastTimestamp?: string;
114
+ eventTime?: string;
115
+ count?: number;
116
+ involvedObject?: {
117
+ kind?: string;
118
+ name?: string;
119
+ namespace?: string;
120
+ };
121
+ }
122
+ export interface VersionInfo {
123
+ gitVersion?: string;
124
+ major?: string;
125
+ minor?: string;
126
+ platform?: string;
127
+ }
128
+ /** Normalize common aliases/plurals to a canonical singular kind. */
129
+ export declare function normalizeKind(raw: string): string | undefined;
130
+ export declare const SUPPORTED_KINDS: string[];
131
+ export declare class K8sClient {
132
+ private readonly base;
133
+ private readonly token;
134
+ private readonly agent;
135
+ constructor(baseUrl: string, token: string);
136
+ /** Raw authenticated GET. Resolves the body text + status; never throws on non-2xx. */
137
+ private raw;
138
+ /** GET returning parsed JSON, throwing K8sError on any non-2xx (with the API's `message`/`reason`). */
139
+ private getJson;
140
+ /** GET returning the raw text body (for pod logs), throwing K8sError on non-2xx. */
141
+ private getText;
142
+ /** apiserver /version — the cheapest reachability + auth probe. */
143
+ version(): Promise<VersionInfo>;
144
+ namespaces(): Promise<K8sList<Namespace>>;
145
+ nodes(): Promise<K8sList<Node>>;
146
+ pods(namespace?: string): Promise<K8sList<Pod>>;
147
+ deployments(namespace?: string): Promise<K8sList<Deployment>>;
148
+ services(namespace?: string): Promise<K8sList<Service>>;
149
+ events(namespace?: string): Promise<K8sList<Event>>;
150
+ /** Fetch a single object by kind + name (+ namespace for namespaced kinds). */
151
+ getObject(kind: string, name: string, namespace?: string): Promise<Record<string, unknown>>;
152
+ /** Pod container logs. `tailLines` caps the tail; `previous` reads the crashed instance. */
153
+ podLogs(namespace: string, pod: string, opts?: {
154
+ container?: string;
155
+ tailLines?: number;
156
+ previous?: boolean;
157
+ }): Promise<string>;
158
+ }
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Minimal, read-only Kubernetes REST client.
3
+ *
4
+ * Talks straight to the kube-apiserver (`https://host:6443`) with a
5
+ * ServiceAccount bearer token — no kubeconfig, no client certs, no cloud SDK.
6
+ * This is exactly how an in-cluster pod authenticates.
7
+ *
8
+ * TLS: verification is intentionally skipped (`rejectUnauthorized: false`).
9
+ * Internal Oasis clusters use self-signed CAs, and the CLI is a trusted-network
10
+ * dev/ops tool — so we trade CA pinning for zero-config connectivity. Never
11
+ * point this at an endpoint you don't control.
12
+ *
13
+ * Every method is a GET. The client never mutates cluster state.
14
+ */
15
+ import https from "node:https";
16
+ /** Error carrying the HTTP status so callers can map 401/403/404 to advice. */
17
+ export class K8sError extends Error {
18
+ status;
19
+ reason;
20
+ constructor(message, status, reason) {
21
+ super(message);
22
+ this.status = status;
23
+ this.reason = reason;
24
+ this.name = "K8sError";
25
+ }
26
+ /** The SA lacks RBAC for this resource (common with scoped read tokens). */
27
+ get forbidden() {
28
+ return this.status === 403;
29
+ }
30
+ get unauthorized() {
31
+ return this.status === 401;
32
+ }
33
+ get notFound() {
34
+ return this.status === 404;
35
+ }
36
+ }
37
+ /** Resource kind → REST path template. Only read-safe kinds are exposed. */
38
+ const KIND_PATHS = {
39
+ pod: { api: "/api/v1", plural: "pods", namespaced: true },
40
+ service: { api: "/api/v1", plural: "services", namespaced: true },
41
+ configmap: { api: "/api/v1", plural: "configmaps", namespaced: true },
42
+ secret: { api: "/api/v1", plural: "secrets", namespaced: true },
43
+ namespace: { api: "/api/v1", plural: "namespaces", namespaced: false },
44
+ node: { api: "/api/v1", plural: "nodes", namespaced: false },
45
+ event: { api: "/api/v1", plural: "events", namespaced: true },
46
+ deployment: { api: "/apis/apps/v1", plural: "deployments", namespaced: true },
47
+ replicaset: { api: "/apis/apps/v1", plural: "replicasets", namespaced: true },
48
+ statefulset: { api: "/apis/apps/v1", plural: "statefulsets", namespaced: true },
49
+ daemonset: { api: "/apis/apps/v1", plural: "daemonsets", namespaced: true },
50
+ ingress: { api: "/apis/networking.k8s.io/v1", plural: "ingresses", namespaced: true },
51
+ };
52
+ /** Normalize common aliases/plurals to a canonical singular kind. */
53
+ export function normalizeKind(raw) {
54
+ const k = raw.toLowerCase().replace(/s$/, "");
55
+ const aliases = {
56
+ po: "pod",
57
+ svc: "service",
58
+ ns: "namespace",
59
+ no: "node",
60
+ deploy: "deployment",
61
+ rs: "replicaset",
62
+ sts: "statefulset",
63
+ ds: "daemonset",
64
+ ing: "ingress",
65
+ cm: "configmap",
66
+ ev: "event",
67
+ };
68
+ const canonical = aliases[k] ?? k;
69
+ return canonical in KIND_PATHS ? canonical : undefined;
70
+ }
71
+ export const SUPPORTED_KINDS = Object.keys(KIND_PATHS);
72
+ export class K8sClient {
73
+ base;
74
+ token;
75
+ agent;
76
+ constructor(baseUrl, token) {
77
+ this.base = baseUrl.replace(/\/+$/, "");
78
+ this.token = token;
79
+ // One keep-alive agent per client. rejectUnauthorized:false = skip TLS verify.
80
+ this.agent = new https.Agent({ keepAlive: true, rejectUnauthorized: false });
81
+ }
82
+ /** Raw authenticated GET. Resolves the body text + status; never throws on non-2xx. */
83
+ raw(path, timeoutMs = 15000) {
84
+ const url = new URL(this.base + path);
85
+ return new Promise((resolve, reject) => {
86
+ const req = https.request(url, {
87
+ method: "GET",
88
+ agent: this.agent,
89
+ headers: { Authorization: `Bearer ${this.token}`, Accept: "application/json" },
90
+ }, (res) => {
91
+ const chunks = [];
92
+ res.on("data", (c) => chunks.push(c));
93
+ res.on("end", () => resolve({ status: res.statusCode ?? 0, body: Buffer.concat(chunks).toString("utf-8") }));
94
+ });
95
+ req.on("error", reject);
96
+ req.setTimeout(timeoutMs, () => req.destroy(new Error(`request timed out after ${timeoutMs}ms`)));
97
+ req.end();
98
+ });
99
+ }
100
+ /** GET returning parsed JSON, throwing K8sError on any non-2xx (with the API's `message`/`reason`). */
101
+ async getJson(path, timeoutMs) {
102
+ const { status, body } = await this.raw(path, timeoutMs);
103
+ if (status < 200 || status >= 300) {
104
+ let message = `HTTP ${status}`;
105
+ let reason;
106
+ try {
107
+ const parsed = JSON.parse(body);
108
+ if (parsed.message)
109
+ message = parsed.message;
110
+ reason = parsed.reason;
111
+ }
112
+ catch {
113
+ /* non-JSON error body — keep the status line */
114
+ }
115
+ throw new K8sError(message, status, reason);
116
+ }
117
+ return JSON.parse(body);
118
+ }
119
+ /** GET returning the raw text body (for pod logs), throwing K8sError on non-2xx. */
120
+ async getText(path, timeoutMs) {
121
+ const { status, body } = await this.raw(path, timeoutMs);
122
+ if (status < 200 || status >= 300) {
123
+ let message = `HTTP ${status}`;
124
+ try {
125
+ message = JSON.parse(body).message ?? message;
126
+ }
127
+ catch {
128
+ /* keep status line */
129
+ }
130
+ throw new K8sError(message, status);
131
+ }
132
+ return body;
133
+ }
134
+ // ─── Public API ────────────────────────────────────────────────
135
+ /** apiserver /version — the cheapest reachability + auth probe. */
136
+ version() {
137
+ return this.getJson("/version", 8000);
138
+ }
139
+ namespaces() {
140
+ return this.getJson("/api/v1/namespaces");
141
+ }
142
+ nodes() {
143
+ return this.getJson("/api/v1/nodes");
144
+ }
145
+ pods(namespace) {
146
+ return this.getJson(namespace ? `/api/v1/namespaces/${enc(namespace)}/pods` : "/api/v1/pods");
147
+ }
148
+ deployments(namespace) {
149
+ return this.getJson(namespace ? `/apis/apps/v1/namespaces/${enc(namespace)}/deployments` : "/apis/apps/v1/deployments");
150
+ }
151
+ services(namespace) {
152
+ return this.getJson(namespace ? `/api/v1/namespaces/${enc(namespace)}/services` : "/api/v1/services");
153
+ }
154
+ events(namespace) {
155
+ return this.getJson(namespace ? `/api/v1/namespaces/${enc(namespace)}/events` : "/api/v1/events");
156
+ }
157
+ /** Fetch a single object by kind + name (+ namespace for namespaced kinds). */
158
+ getObject(kind, name, namespace) {
159
+ const spec = KIND_PATHS[kind];
160
+ if (!spec)
161
+ throw new K8sError(`unsupported kind '${kind}'`, 400);
162
+ if (spec.namespaced && !namespace)
163
+ throw new K8sError(`kind '${kind}' requires a namespace`, 400);
164
+ const path = spec.namespaced
165
+ ? `${spec.api}/namespaces/${enc(namespace)}/${spec.plural}/${enc(name)}`
166
+ : `${spec.api}/${spec.plural}/${enc(name)}`;
167
+ return this.getJson(path);
168
+ }
169
+ /** Pod container logs. `tailLines` caps the tail; `previous` reads the crashed instance. */
170
+ podLogs(namespace, pod, opts = {}) {
171
+ const params = new URLSearchParams();
172
+ if (opts.container)
173
+ params.set("container", opts.container);
174
+ if (opts.tailLines && opts.tailLines > 0)
175
+ params.set("tailLines", String(opts.tailLines));
176
+ if (opts.previous)
177
+ params.set("previous", "true");
178
+ const qs = params.toString();
179
+ return this.getText(`/api/v1/namespaces/${enc(namespace)}/pods/${enc(pod)}/log${qs ? `?${qs}` : ""}`, 20000);
180
+ }
181
+ }
182
+ function enc(segment) {
183
+ return encodeURIComponent(segment);
184
+ }
185
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Service identity + base URL for this CLI.
3
+ *
4
+ * The ServiceId union spans every Oasis service so credential sections in the
5
+ * shared ~/.oasis.json keep their canonical keys — this CLI only ever passes
6
+ * SERVICE, but the harness (axi.ts) stays byte-identical across all five
7
+ * standalone CLI repos.
8
+ */
9
+ export type ServiceId = "jira" | "bitbucket" | "jenkins" | "sqlcl" | "k8s";
10
+ export declare const SERVICE: ServiceId;
11
+ export declare const SERVICE_LABEL = "K8s";
12
+ /** Resolve the base URL for a service, honouring a user-supplied override in creds. */
13
+ export declare function getServiceBaseUrl(service: ServiceId, credsUrl?: string): string | undefined;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Service identity + base URL for this CLI.
3
+ *
4
+ * The ServiceId union spans every Oasis service so credential sections in the
5
+ * shared ~/.oasis.json keep their canonical keys — this CLI only ever passes
6
+ * SERVICE, but the harness (axi.ts) stays byte-identical across all five
7
+ * standalone CLI repos.
8
+ */
9
+ export const SERVICE = "k8s";
10
+ export const SERVICE_LABEL = "K8s";
11
+ const BASE_URLS = {
12
+ jira: "https://support.oasisapp.services/",
13
+ bitbucket: "https://jedbucket.oasisapp.services",
14
+ jenkins: "https://jenkins.oasisapp.services/",
15
+ };
16
+ /** Resolve the base URL for a service, honouring a user-supplied override in creds. */
17
+ export function getServiceBaseUrl(service, credsUrl) {
18
+ return credsUrl || BASE_URLS[service];
19
+ }
20
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,OAAO,GAAc,KAAK,CAAC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AAEnC,MAAM,SAAS,GAAuC;IACpD,IAAI,EAAE,oCAAoC;IAC1C,SAAS,EAAE,qCAAqC;IAChD,OAAO,EAAE,oCAAoC;CAC9C,CAAC;AAEF,uFAAuF;AACvF,MAAM,UAAU,iBAAiB,CAAC,OAAkB,EAAE,QAAiB;IACrE,OAAO,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Single owner of ~/.oasis.json. All reads/writes for creds and
3
+ * service-specific sections (sqlcl.connections, etc.) go through here.
4
+ *
5
+ * Guarantees:
6
+ * - Atomic writes: write to a sibling `.tmp` then rename.
7
+ * - In-process mutex: concurrent updateStore() calls serialize, so two
8
+ * callers can't lose each other's writes within the same process.
9
+ */
10
+ export declare const OASIS_FILE: string;
11
+ export interface ServiceSection {
12
+ creds?: Record<string, string>;
13
+ [key: string]: unknown;
14
+ }
15
+ export type OasisStore = Record<string, ServiceSection>;
16
+ export declare function readStore(): OasisStore;
17
+ export declare function updateStore<T>(mutator: (store: OasisStore) => T | Promise<T>): Promise<T>;
18
+ export declare function loadCreds(serviceKey: string): Record<string, string> | null;
19
+ export declare function saveCreds(serviceKey: string, creds: Record<string, string>): Promise<void>;
20
+ export declare function removeCreds(serviceKey: string): Promise<void>;
21
+ export declare function loadSection<T extends ServiceSection>(serviceKey: string): T;
22
+ export declare function saveSection<T extends ServiceSection>(serviceKey: string, mutator: (section: T) => T | void): Promise<void>;
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Single owner of ~/.oasis.json. All reads/writes for creds and
3
+ * service-specific sections (sqlcl.connections, etc.) go through here.
4
+ *
5
+ * Guarantees:
6
+ * - Atomic writes: write to a sibling `.tmp` then rename.
7
+ * - In-process mutex: concurrent updateStore() calls serialize, so two
8
+ * callers can't lose each other's writes within the same process.
9
+ */
10
+ import fs from "node:fs";
11
+ import os from "node:os";
12
+ import path from "node:path";
13
+ export const OASIS_FILE = path.join(os.homedir(), ".oasis.json");
14
+ // ─── Atomic I/O ────────────────────────────────────────────────────
15
+ function readStoreRaw() {
16
+ try {
17
+ const data = JSON.parse(fs.readFileSync(OASIS_FILE, "utf-8"));
18
+ if (data && typeof data === "object")
19
+ return data;
20
+ }
21
+ catch {
22
+ /* unreadable or missing file — start from an empty store */
23
+ }
24
+ return {};
25
+ }
26
+ function writeStoreRaw(store) {
27
+ const tmp = OASIS_FILE + ".tmp";
28
+ fs.writeFileSync(tmp, JSON.stringify(store, null, 2));
29
+ fs.renameSync(tmp, OASIS_FILE);
30
+ }
31
+ // In-process serializer. Each update() waits for the previous promise to
32
+ // settle before reading -> mutating -> writing. Fine for localhost single
33
+ // node; doesn't protect against cross-process races (acceptable — dashboard
34
+ // API and MCP handlers live in the same node process).
35
+ let chain = Promise.resolve();
36
+ export function readStore() {
37
+ return readStoreRaw();
38
+ }
39
+ export function updateStore(mutator) {
40
+ const next = chain.then(async () => {
41
+ const store = readStoreRaw();
42
+ const result = await mutator(store);
43
+ writeStoreRaw(store);
44
+ return result;
45
+ });
46
+ chain = next.catch(() => { }); // don't let a failed mutator break the chain
47
+ return next;
48
+ }
49
+ // ─── Typed section helpers ─────────────────────────────────────────
50
+ export function loadCreds(serviceKey) {
51
+ const section = readStoreRaw()[serviceKey];
52
+ return section?.creds ?? null;
53
+ }
54
+ export function saveCreds(serviceKey, creds) {
55
+ return updateStore(store => {
56
+ store[serviceKey] = { ...store[serviceKey], creds };
57
+ });
58
+ }
59
+ export function removeCreds(serviceKey) {
60
+ return updateStore(store => {
61
+ if (!store[serviceKey])
62
+ return;
63
+ delete store[serviceKey].creds;
64
+ // Legacy: older versions of the server persisted OAuth tokens here.
65
+ // Clean them out on logout so the file doesn't carry dead state forward.
66
+ delete store[serviceKey].tokens;
67
+ if (Object.keys(store[serviceKey]).length === 0)
68
+ delete store[serviceKey];
69
+ });
70
+ }
71
+ // Generic section I/O — used by sqlcl for its `connections` / `active` keys
72
+ // and by any future service with custom schema.
73
+ export function loadSection(serviceKey) {
74
+ return readStoreRaw()[serviceKey] ?? {};
75
+ }
76
+ export function saveSection(serviceKey, mutator) {
77
+ return updateStore(store => {
78
+ const current = (store[serviceKey] ?? {});
79
+ const updated = mutator(current) ?? current;
80
+ if (updated === null || (typeof updated === "object" && Object.keys(updated).length === 0)) {
81
+ delete store[serviceKey];
82
+ }
83
+ else {
84
+ store[serviceKey] = updated;
85
+ }
86
+ });
87
+ }
88
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Minimal TOON (Token-Oriented Object Notation) encoder.
3
+ *
4
+ * TOON is the stdout format for AXI CLIs — ~40% fewer tokens than JSON while
5
+ * staying readable by agents. See https://toonformat.dev/reference/spec.html.
6
+ *
7
+ * Keep all internal logic on plain JS objects; call `encode()` only at the
8
+ * output boundary. This encoder covers the shapes an AXI CLI actually emits:
9
+ *
10
+ * - objects key: value
11
+ * - nested objects key:\n child: value
12
+ * - tabular arrays key[N]{f1,f2}:\n a,b\n c,d
13
+ * - primitive arrays key[N]: a,b,c
14
+ * - empty arrays key[0]:
15
+ *
16
+ * Two-space indentation, no tabs, no trailing newline (§12).
17
+ */
18
+ /** Encode a JS value to a TOON document (no trailing newline). */
19
+ export declare function encode(value: unknown): string;