cloudops-cli 0.1.0

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.
Files changed (86) hide show
  1. package/README.md +132 -0
  2. package/dist/api/api-client.d.ts +78 -0
  3. package/dist/api/api-client.d.ts.map +1 -0
  4. package/dist/api/api-client.js +197 -0
  5. package/dist/api/api-client.js.map +1 -0
  6. package/dist/api/index.d.ts +3 -0
  7. package/dist/api/index.d.ts.map +1 -0
  8. package/dist/api/index.js +8 -0
  9. package/dist/api/index.js.map +1 -0
  10. package/dist/auth/__mocks__/auth-handler.d.ts +27 -0
  11. package/dist/auth/__mocks__/auth-handler.d.ts.map +1 -0
  12. package/dist/auth/__mocks__/auth-handler.js +24 -0
  13. package/dist/auth/__mocks__/auth-handler.js.map +1 -0
  14. package/dist/auth/auth-handler.d.ts +80 -0
  15. package/dist/auth/auth-handler.d.ts.map +1 -0
  16. package/dist/auth/auth-handler.js +266 -0
  17. package/dist/auth/auth-handler.js.map +1 -0
  18. package/dist/auth/callback-server.d.ts +31 -0
  19. package/dist/auth/callback-server.d.ts.map +1 -0
  20. package/dist/auth/callback-server.js +143 -0
  21. package/dist/auth/callback-server.js.map +1 -0
  22. package/dist/auth/index.d.ts +3 -0
  23. package/dist/auth/index.d.ts.map +1 -0
  24. package/dist/auth/index.js +8 -0
  25. package/dist/auth/index.js.map +1 -0
  26. package/dist/cli.d.ts +3 -0
  27. package/dist/cli.d.ts.map +1 -0
  28. package/dist/cli.js +422 -0
  29. package/dist/cli.js.map +1 -0
  30. package/dist/commands/accounts.d.ts +15 -0
  31. package/dist/commands/accounts.d.ts.map +1 -0
  32. package/dist/commands/accounts.js +307 -0
  33. package/dist/commands/accounts.js.map +1 -0
  34. package/dist/commands/audit.d.ts +23 -0
  35. package/dist/commands/audit.d.ts.map +1 -0
  36. package/dist/commands/audit.js +348 -0
  37. package/dist/commands/audit.js.map +1 -0
  38. package/dist/commands/config.d.ts +15 -0
  39. package/dist/commands/config.d.ts.map +1 -0
  40. package/dist/commands/config.js +148 -0
  41. package/dist/commands/config.js.map +1 -0
  42. package/dist/commands/incident.d.ts +59 -0
  43. package/dist/commands/incident.d.ts.map +1 -0
  44. package/dist/commands/incident.js +1032 -0
  45. package/dist/commands/incident.js.map +1 -0
  46. package/dist/commands/init.d.ts +9 -0
  47. package/dist/commands/init.d.ts.map +1 -0
  48. package/dist/commands/init.js +300 -0
  49. package/dist/commands/init.js.map +1 -0
  50. package/dist/commands/investigate.d.ts +15 -0
  51. package/dist/commands/investigate.d.ts.map +1 -0
  52. package/dist/commands/investigate.js +65 -0
  53. package/dist/commands/investigate.js.map +1 -0
  54. package/dist/commands/runbook.d.ts +20 -0
  55. package/dist/commands/runbook.d.ts.map +1 -0
  56. package/dist/commands/runbook.js +265 -0
  57. package/dist/commands/runbook.js.map +1 -0
  58. package/dist/config/__mocks__/config-handler.d.ts +11 -0
  59. package/dist/config/__mocks__/config-handler.d.ts.map +1 -0
  60. package/dist/config/__mocks__/config-handler.js +31 -0
  61. package/dist/config/__mocks__/config-handler.js.map +1 -0
  62. package/dist/config/certificate-pinning.d.ts +68 -0
  63. package/dist/config/certificate-pinning.d.ts.map +1 -0
  64. package/dist/config/certificate-pinning.js +249 -0
  65. package/dist/config/certificate-pinning.js.map +1 -0
  66. package/dist/config/config-handler.d.ts +45 -0
  67. package/dist/config/config-handler.d.ts.map +1 -0
  68. package/dist/config/config-handler.js +149 -0
  69. package/dist/config/config-handler.js.map +1 -0
  70. package/dist/config/index.d.ts +2 -0
  71. package/dist/config/index.d.ts.map +1 -0
  72. package/dist/config/index.js +7 -0
  73. package/dist/config/index.js.map +1 -0
  74. package/dist/index.d.ts +4 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +25 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/types/cli-options.d.ts +31 -0
  79. package/dist/types/cli-options.d.ts.map +1 -0
  80. package/dist/types/cli-options.js +3 -0
  81. package/dist/types/cli-options.js.map +1 -0
  82. package/dist/utils/output-formatter.d.ts +67 -0
  83. package/dist/utils/output-formatter.d.ts.map +1 -0
  84. package/dist/utils/output-formatter.js +147 -0
  85. package/dist/utils/output-formatter.js.map +1 -0
  86. package/package.json +65 -0
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.accountsListCommand = accountsListCommand;
7
+ exports.accountsAddCommand = accountsAddCommand;
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const inquirer_1 = __importDefault(require("inquirer"));
10
+ const api_client_1 = require("../api/api-client");
11
+ const cli_table3_1 = __importDefault(require("cli-table3"));
12
+ /**
13
+ * List all cloud accounts
14
+ */
15
+ async function accountsListCommand(_options) {
16
+ const apiClient = (0, api_client_1.createAPIClient)();
17
+ try {
18
+ console.log(chalk_1.default.gray('Fetching cloud accounts...\n'));
19
+ const accounts = await apiClient.get('/api/v1/accounts');
20
+ if (accounts.length === 0) {
21
+ console.log(chalk_1.default.yellow('No cloud accounts configured.'));
22
+ console.log(chalk_1.default.gray('Add an account with: cloudops accounts add <provider>\n'));
23
+ return;
24
+ }
25
+ // Create table
26
+ const table = new cli_table3_1.default({
27
+ head: [
28
+ chalk_1.default.cyan('Account ID'),
29
+ chalk_1.default.cyan('Provider'),
30
+ chalk_1.default.cyan('Identifier'),
31
+ chalk_1.default.cyan('Regions'),
32
+ chalk_1.default.cyan('Created'),
33
+ ],
34
+ colWidths: [20, 10, 30, 30, 20],
35
+ });
36
+ // Add rows
37
+ for (const account of accounts) {
38
+ table.push([
39
+ account.account_id,
40
+ account.provider.toUpperCase(),
41
+ account.account_identifier,
42
+ account.regions.join(', '),
43
+ new Date(account.created_at).toLocaleDateString(),
44
+ ]);
45
+ }
46
+ console.log(table.toString());
47
+ console.log(chalk_1.default.gray(`\nTotal: ${accounts.length} account(s)\n`));
48
+ }
49
+ catch (error) {
50
+ if (error instanceof Error) {
51
+ throw new Error(`Failed to list accounts: ${error.message}`);
52
+ }
53
+ throw error;
54
+ }
55
+ }
56
+ /**
57
+ * Add a new cloud account
58
+ */
59
+ async function accountsAddCommand(provider, _options) {
60
+ // Validate provider
61
+ if (!['aws', 'gcp', 'azure'].includes(provider.toLowerCase())) {
62
+ throw new Error('Provider must be one of: aws, gcp, azure');
63
+ }
64
+ const normalizedProvider = provider.toLowerCase();
65
+ console.log(chalk_1.default.bold.blue(`\n🔗 Adding ${provider.toUpperCase()} Account\n`));
66
+ let config;
67
+ // Provider-specific prompts
68
+ if (normalizedProvider === 'aws') {
69
+ config = await promptAWSConfig();
70
+ }
71
+ else if (normalizedProvider === 'gcp') {
72
+ config = await promptGCPConfig();
73
+ }
74
+ else if (normalizedProvider === 'azure') {
75
+ config = await promptAzureConfig();
76
+ }
77
+ // Create account via API
78
+ const apiClient = (0, api_client_1.createAPIClient)();
79
+ try {
80
+ console.log(chalk_1.default.gray('\nCreating account...'));
81
+ const result = await apiClient.post('/api/v1/accounts', {
82
+ provider: normalizedProvider,
83
+ config,
84
+ });
85
+ console.log(chalk_1.default.green(`\n✓ Account created successfully!`));
86
+ console.log(chalk_1.default.gray(`Account ID: ${result.account_id}`));
87
+ console.log(chalk_1.default.gray(`Provider: ${result.provider.toUpperCase()}`));
88
+ console.log(chalk_1.default.gray(`Identifier: ${result.account_identifier}`));
89
+ console.log(chalk_1.default.gray(`Regions: ${result.regions.join(', ')}\n`));
90
+ }
91
+ catch (error) {
92
+ if (error instanceof Error) {
93
+ throw new Error(`Failed to add account: ${error.message}`);
94
+ }
95
+ throw error;
96
+ }
97
+ }
98
+ /**
99
+ * Prompt for AWS account configuration
100
+ */
101
+ async function promptAWSConfig() {
102
+ const answers = await inquirer_1.default.prompt([
103
+ {
104
+ type: 'input',
105
+ name: 'account_id',
106
+ message: 'AWS Account ID:',
107
+ validate: (input) => {
108
+ if (!input || input.trim().length === 0) {
109
+ return 'Account ID is required';
110
+ }
111
+ if (!/^\d{12}$/.test(input.trim())) {
112
+ return 'Account ID must be a 12-digit number';
113
+ }
114
+ return true;
115
+ },
116
+ },
117
+ {
118
+ type: 'input',
119
+ name: 'role_arn',
120
+ message: 'IAM Role ARN:',
121
+ validate: (input) => {
122
+ if (!input || input.trim().length === 0) {
123
+ return 'Role ARN is required';
124
+ }
125
+ if (!input.startsWith('arn:aws:iam::')) {
126
+ return 'Role ARN must start with arn:aws:iam::';
127
+ }
128
+ return true;
129
+ },
130
+ },
131
+ {
132
+ type: 'input',
133
+ name: 'external_id',
134
+ message: 'External ID:',
135
+ validate: (input) => {
136
+ if (!input || input.trim().length === 0) {
137
+ return 'External ID is required';
138
+ }
139
+ return true;
140
+ },
141
+ },
142
+ {
143
+ type: 'input',
144
+ name: 'regions',
145
+ message: 'Regions (comma-separated):',
146
+ default: 'us-east-1,us-west-2',
147
+ validate: (input) => {
148
+ if (!input || input.trim().length === 0) {
149
+ return 'At least one region is required';
150
+ }
151
+ return true;
152
+ },
153
+ },
154
+ {
155
+ type: 'number',
156
+ name: 'session_duration',
157
+ message: 'Session duration (seconds):',
158
+ default: 3600,
159
+ validate: (input) => {
160
+ if (input < 900 || input > 3600) {
161
+ return 'Session duration must be between 900 and 3600 seconds';
162
+ }
163
+ return true;
164
+ },
165
+ },
166
+ ]);
167
+ return {
168
+ account_id: answers.account_id.trim(),
169
+ role_arn: answers.role_arn.trim(),
170
+ external_id: answers.external_id.trim(),
171
+ regions: answers.regions.split(',').map((r) => r.trim()),
172
+ session_duration: answers.session_duration,
173
+ };
174
+ }
175
+ /**
176
+ * Prompt for GCP project configuration
177
+ */
178
+ async function promptGCPConfig() {
179
+ const answers = await inquirer_1.default.prompt([
180
+ {
181
+ type: 'input',
182
+ name: 'project_id',
183
+ message: 'GCP Project ID:',
184
+ validate: (input) => {
185
+ if (!input || input.trim().length === 0) {
186
+ return 'Project ID is required';
187
+ }
188
+ if (!/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/.test(input.trim())) {
189
+ return 'Invalid project ID format';
190
+ }
191
+ return true;
192
+ },
193
+ },
194
+ {
195
+ type: 'input',
196
+ name: 'service_account_email',
197
+ message: 'Service Account Email:',
198
+ validate: (input) => {
199
+ if (!input || input.trim().length === 0) {
200
+ return 'Service account email is required';
201
+ }
202
+ if (!input.includes('@') || !input.includes('.iam.gserviceaccount.com')) {
203
+ return 'Invalid service account email format';
204
+ }
205
+ return true;
206
+ },
207
+ },
208
+ {
209
+ type: 'input',
210
+ name: 'regions',
211
+ message: 'Regions (comma-separated):',
212
+ default: 'us-central1,us-east1',
213
+ validate: (input) => {
214
+ if (!input || input.trim().length === 0) {
215
+ return 'At least one region is required';
216
+ }
217
+ return true;
218
+ },
219
+ },
220
+ ]);
221
+ return {
222
+ project_id: answers.project_id.trim(),
223
+ service_account_email: answers.service_account_email.trim(),
224
+ regions: answers.regions.split(',').map((r) => r.trim()),
225
+ };
226
+ }
227
+ /**
228
+ * Prompt for Azure subscription configuration
229
+ */
230
+ async function promptAzureConfig() {
231
+ const answers = await inquirer_1.default.prompt([
232
+ {
233
+ type: 'input',
234
+ name: 'subscription_id',
235
+ message: 'Azure Subscription ID:',
236
+ validate: (input) => {
237
+ if (!input || input.trim().length === 0) {
238
+ return 'Subscription ID is required';
239
+ }
240
+ // UUID format validation
241
+ if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(input.trim())) {
242
+ return 'Subscription ID must be a valid UUID';
243
+ }
244
+ return true;
245
+ },
246
+ },
247
+ {
248
+ type: 'input',
249
+ name: 'tenant_id',
250
+ message: 'Azure Tenant ID:',
251
+ validate: (input) => {
252
+ if (!input || input.trim().length === 0) {
253
+ return 'Tenant ID is required';
254
+ }
255
+ // UUID format validation
256
+ if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(input.trim())) {
257
+ return 'Tenant ID must be a valid UUID';
258
+ }
259
+ return true;
260
+ },
261
+ },
262
+ {
263
+ type: 'input',
264
+ name: 'client_id',
265
+ message: 'Azure Client ID (Service Principal):',
266
+ validate: (input) => {
267
+ if (!input || input.trim().length === 0) {
268
+ return 'Client ID is required';
269
+ }
270
+ // UUID format validation
271
+ if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(input.trim())) {
272
+ return 'Client ID must be a valid UUID';
273
+ }
274
+ return true;
275
+ },
276
+ },
277
+ {
278
+ type: 'password',
279
+ name: 'client_secret',
280
+ message: 'Azure Client Secret (optional, press Enter to use managed identity):',
281
+ mask: '*',
282
+ },
283
+ {
284
+ type: 'input',
285
+ name: 'regions',
286
+ message: 'Regions (comma-separated):',
287
+ default: 'eastus,westus2',
288
+ validate: (input) => {
289
+ if (!input || input.trim().length === 0) {
290
+ return 'At least one region is required';
291
+ }
292
+ return true;
293
+ },
294
+ },
295
+ ]);
296
+ const config = {
297
+ subscription_id: answers.subscription_id.trim(),
298
+ tenant_id: answers.tenant_id.trim(),
299
+ client_id: answers.client_id.trim(),
300
+ regions: answers.regions.split(',').map((r) => r.trim()),
301
+ };
302
+ if (answers.client_secret && answers.client_secret.trim().length > 0) {
303
+ config.client_secret = answers.client_secret.trim();
304
+ }
305
+ return config;
306
+ }
307
+ //# sourceMappingURL=accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/commands/accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Options for audit commands
3
+ */
4
+ export interface AuditOptions {
5
+ config?: string;
6
+ user?: string;
7
+ from?: string;
8
+ to?: string;
9
+ action?: string;
10
+ incident?: string;
11
+ limit?: number;
12
+ format?: string;
13
+ output?: string;
14
+ }
15
+ /**
16
+ * Search audit logs
17
+ */
18
+ export declare function auditSearchCommand(options: AuditOptions): Promise<void>;
19
+ /**
20
+ * Export audit logs
21
+ */
22
+ export declare function auditExportCommand(options: AuditOptions): Promise<void>;
23
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyG7E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoH7E"}