@itssergio91/sandman 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 (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +321 -0
  3. package/dist/cli/commands/connect.d.ts +3 -0
  4. package/dist/cli/commands/connect.d.ts.map +1 -0
  5. package/dist/cli/commands/connect.js +64 -0
  6. package/dist/cli/commands/connect.js.map +1 -0
  7. package/dist/cli/commands/create.d.ts +8 -0
  8. package/dist/cli/commands/create.d.ts.map +1 -0
  9. package/dist/cli/commands/create.js +45 -0
  10. package/dist/cli/commands/create.js.map +1 -0
  11. package/dist/cli/commands/destroy.d.ts +7 -0
  12. package/dist/cli/commands/destroy.d.ts.map +1 -0
  13. package/dist/cli/commands/destroy.js +49 -0
  14. package/dist/cli/commands/destroy.js.map +1 -0
  15. package/dist/cli/commands/enable.d.ts +4 -0
  16. package/dist/cli/commands/enable.d.ts.map +1 -0
  17. package/dist/cli/commands/enable.js +59 -0
  18. package/dist/cli/commands/enable.js.map +1 -0
  19. package/dist/cli/commands/init.d.ts +3 -0
  20. package/dist/cli/commands/init.d.ts.map +1 -0
  21. package/dist/cli/commands/init.js +23 -0
  22. package/dist/cli/commands/init.js.map +1 -0
  23. package/dist/cli/commands/list.d.ts +7 -0
  24. package/dist/cli/commands/list.d.ts.map +1 -0
  25. package/dist/cli/commands/list.js +28 -0
  26. package/dist/cli/commands/list.js.map +1 -0
  27. package/dist/cli/commands/status.d.ts +7 -0
  28. package/dist/cli/commands/status.d.ts.map +1 -0
  29. package/dist/cli/commands/status.js +49 -0
  30. package/dist/cli/commands/status.js.map +1 -0
  31. package/dist/cli/index.d.ts +6 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +73 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/core/state-store.d.ts +18 -0
  36. package/dist/core/state-store.d.ts.map +1 -0
  37. package/dist/core/state-store.js +71 -0
  38. package/dist/core/state-store.js.map +1 -0
  39. package/dist/core/state-store.test.d.ts +2 -0
  40. package/dist/core/state-store.test.d.ts.map +1 -0
  41. package/dist/core/state-store.test.js +183 -0
  42. package/dist/core/state-store.test.js.map +1 -0
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +4 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/providers/aws/adapter.d.ts +17 -0
  48. package/dist/providers/aws/adapter.d.ts.map +1 -0
  49. package/dist/providers/aws/adapter.js +106 -0
  50. package/dist/providers/aws/adapter.js.map +1 -0
  51. package/dist/providers/aws/adapter.test.d.ts +2 -0
  52. package/dist/providers/aws/adapter.test.d.ts.map +1 -0
  53. package/dist/providers/aws/adapter.test.js +154 -0
  54. package/dist/providers/aws/adapter.test.js.map +1 -0
  55. package/dist/providers/base.d.ts +12 -0
  56. package/dist/providers/base.d.ts.map +1 -0
  57. package/dist/providers/base.js +13 -0
  58. package/dist/providers/base.js.map +1 -0
  59. package/dist/providers/base.test.d.ts +2 -0
  60. package/dist/providers/base.test.d.ts.map +1 -0
  61. package/dist/providers/base.test.js +50 -0
  62. package/dist/providers/base.test.js.map +1 -0
  63. package/dist/providers/gcp/adapter.d.ts +15 -0
  64. package/dist/providers/gcp/adapter.d.ts.map +1 -0
  65. package/dist/providers/gcp/adapter.js +87 -0
  66. package/dist/providers/gcp/adapter.js.map +1 -0
  67. package/dist/providers/gcp/adapter.test.d.ts +2 -0
  68. package/dist/providers/gcp/adapter.test.d.ts.map +1 -0
  69. package/dist/providers/gcp/adapter.test.js +135 -0
  70. package/dist/providers/gcp/adapter.test.js.map +1 -0
  71. package/dist/types/index.d.ts +139 -0
  72. package/dist/types/index.d.ts.map +1 -0
  73. package/dist/types/index.js +37 -0
  74. package/dist/types/index.js.map +1 -0
  75. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../../src/providers/gcp/adapter.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ import { z } from 'zod';
2
+ export declare const ProviderType: z.ZodEnum<["aws", "gcp"]>;
3
+ export type ProviderType = z.infer<typeof ProviderType>;
4
+ export declare const EnvironmentStatus: z.ZodEnum<["pending", "active", "failed", "destroyed"]>;
5
+ export type EnvironmentStatus = z.infer<typeof EnvironmentStatus>;
6
+ export declare const ServiceName: z.ZodEnum<["compute", "storage", "cloudrun", "lambda", "ec2", "s3", "iam"]>;
7
+ export type ServiceName = z.infer<typeof ServiceName>;
8
+ export declare const EnvironmentRecordSchema: z.ZodObject<{
9
+ name: z.ZodString;
10
+ provider: z.ZodEnum<["aws", "gcp"]>;
11
+ projectId: z.ZodOptional<z.ZodString>;
12
+ accountId: z.ZodOptional<z.ZodString>;
13
+ region: z.ZodOptional<z.ZodString>;
14
+ status: z.ZodEnum<["pending", "active", "failed", "destroyed"]>;
15
+ services: z.ZodDefault<z.ZodArray<z.ZodEnum<["compute", "storage", "cloudrun", "lambda", "ec2", "s3", "iam"]>, "many">>;
16
+ resources: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
17
+ createdAt: z.ZodString;
18
+ updatedAt: z.ZodString;
19
+ error: z.ZodOptional<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ status: "pending" | "active" | "failed" | "destroyed";
22
+ name: string;
23
+ provider: "aws" | "gcp";
24
+ services: ("compute" | "storage" | "cloudrun" | "lambda" | "ec2" | "s3" | "iam")[];
25
+ resources: Record<string, any>;
26
+ createdAt: string;
27
+ updatedAt: string;
28
+ projectId?: string | undefined;
29
+ accountId?: string | undefined;
30
+ region?: string | undefined;
31
+ error?: string | undefined;
32
+ }, {
33
+ status: "pending" | "active" | "failed" | "destroyed";
34
+ name: string;
35
+ provider: "aws" | "gcp";
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ projectId?: string | undefined;
39
+ accountId?: string | undefined;
40
+ region?: string | undefined;
41
+ services?: ("compute" | "storage" | "cloudrun" | "lambda" | "ec2" | "s3" | "iam")[] | undefined;
42
+ resources?: Record<string, any> | undefined;
43
+ error?: string | undefined;
44
+ }>;
45
+ export type EnvironmentRecord = z.infer<typeof EnvironmentRecordSchema>;
46
+ export declare const ConfigSchema: z.ZodObject<{
47
+ version: z.ZodDefault<z.ZodString>;
48
+ provider: z.ZodOptional<z.ZodEnum<["aws", "gcp"]>>;
49
+ defaultRegion: z.ZodOptional<z.ZodString>;
50
+ environments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
51
+ name: z.ZodString;
52
+ provider: z.ZodEnum<["aws", "gcp"]>;
53
+ projectId: z.ZodOptional<z.ZodString>;
54
+ accountId: z.ZodOptional<z.ZodString>;
55
+ region: z.ZodOptional<z.ZodString>;
56
+ status: z.ZodEnum<["pending", "active", "failed", "destroyed"]>;
57
+ services: z.ZodDefault<z.ZodArray<z.ZodEnum<["compute", "storage", "cloudrun", "lambda", "ec2", "s3", "iam"]>, "many">>;
58
+ resources: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
59
+ createdAt: z.ZodString;
60
+ updatedAt: z.ZodString;
61
+ error: z.ZodOptional<z.ZodString>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ status: "pending" | "active" | "failed" | "destroyed";
64
+ name: string;
65
+ provider: "aws" | "gcp";
66
+ services: ("compute" | "storage" | "cloudrun" | "lambda" | "ec2" | "s3" | "iam")[];
67
+ resources: Record<string, any>;
68
+ createdAt: string;
69
+ updatedAt: string;
70
+ projectId?: string | undefined;
71
+ accountId?: string | undefined;
72
+ region?: string | undefined;
73
+ error?: string | undefined;
74
+ }, {
75
+ status: "pending" | "active" | "failed" | "destroyed";
76
+ name: string;
77
+ provider: "aws" | "gcp";
78
+ createdAt: string;
79
+ updatedAt: string;
80
+ projectId?: string | undefined;
81
+ accountId?: string | undefined;
82
+ region?: string | undefined;
83
+ services?: ("compute" | "storage" | "cloudrun" | "lambda" | "ec2" | "s3" | "iam")[] | undefined;
84
+ resources?: Record<string, any> | undefined;
85
+ error?: string | undefined;
86
+ }>>>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ version: string;
89
+ environments: Record<string, {
90
+ status: "pending" | "active" | "failed" | "destroyed";
91
+ name: string;
92
+ provider: "aws" | "gcp";
93
+ services: ("compute" | "storage" | "cloudrun" | "lambda" | "ec2" | "s3" | "iam")[];
94
+ resources: Record<string, any>;
95
+ createdAt: string;
96
+ updatedAt: string;
97
+ projectId?: string | undefined;
98
+ accountId?: string | undefined;
99
+ region?: string | undefined;
100
+ error?: string | undefined;
101
+ }>;
102
+ provider?: "aws" | "gcp" | undefined;
103
+ defaultRegion?: string | undefined;
104
+ }, {
105
+ provider?: "aws" | "gcp" | undefined;
106
+ version?: string | undefined;
107
+ defaultRegion?: string | undefined;
108
+ environments?: Record<string, {
109
+ status: "pending" | "active" | "failed" | "destroyed";
110
+ name: string;
111
+ provider: "aws" | "gcp";
112
+ createdAt: string;
113
+ updatedAt: string;
114
+ projectId?: string | undefined;
115
+ accountId?: string | undefined;
116
+ region?: string | undefined;
117
+ services?: ("compute" | "storage" | "cloudrun" | "lambda" | "ec2" | "s3" | "iam")[] | undefined;
118
+ resources?: Record<string, any> | undefined;
119
+ error?: string | undefined;
120
+ }> | undefined;
121
+ }>;
122
+ export type Config = z.infer<typeof ConfigSchema>;
123
+ export interface ProviderAdapter {
124
+ init(): Promise<void>;
125
+ createEnvironment(name: string): Promise<EnvironmentRecord>;
126
+ enableServices(env: EnvironmentRecord, services: ServiceName[]): Promise<void>;
127
+ connect(env: EnvironmentRecord): Promise<Record<string, string>>;
128
+ destroyEnvironment(env: EnvironmentRecord): Promise<void>;
129
+ getStatus(env: EnvironmentRecord): Promise<EnvironmentRecord>;
130
+ }
131
+ export interface CreateOptions {
132
+ provider?: ProviderType;
133
+ region?: string;
134
+ services?: ServiceName[];
135
+ }
136
+ export interface EnableOptions {
137
+ services: ServiceName[];
138
+ }
139
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY,2BAAyB,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB,yDAK5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,WAAW,6EAQtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5D,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export const ProviderType = z.enum(['aws', 'gcp']);
3
+ export const EnvironmentStatus = z.enum([
4
+ 'pending',
5
+ 'active',
6
+ 'failed',
7
+ 'destroyed',
8
+ ]);
9
+ export const ServiceName = z.enum([
10
+ 'compute',
11
+ 'storage',
12
+ 'cloudrun',
13
+ 'lambda',
14
+ 'ec2',
15
+ 's3',
16
+ 'iam',
17
+ ]);
18
+ export const EnvironmentRecordSchema = z.object({
19
+ name: z.string().min(1),
20
+ provider: ProviderType,
21
+ projectId: z.string().optional(),
22
+ accountId: z.string().optional(),
23
+ region: z.string().optional(),
24
+ status: EnvironmentStatus,
25
+ services: z.array(ServiceName).default([]),
26
+ resources: z.record(z.string(), z.any()).default({}),
27
+ createdAt: z.string().datetime(),
28
+ updatedAt: z.string().datetime(),
29
+ error: z.string().optional(),
30
+ });
31
+ export const ConfigSchema = z.object({
32
+ version: z.string().default('1.0.0'),
33
+ provider: ProviderType.optional(),
34
+ defaultRegion: z.string().optional(),
35
+ environments: z.record(z.string(), EnvironmentRecordSchema).default({}),
36
+ });
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAInD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,WAAW;CACZ,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC;IAChC,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,KAAK;CACN,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACxE,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@itssergio91/sandman",
3
+ "version": "0.1.0",
4
+ "description": "Provision disposable cloud environments in seconds",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "bin": {
8
+ "sandman": "dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist/**/*",
12
+ "README.md",
13
+ "LICENSE"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/sgr0691/Sandman.git"
18
+ },
19
+ "homepage": "https://github.com/sgr0691/Sandman#readme",
20
+ "bugs": {
21
+ "url": "https://github.com/sgr0691/Sandman/issues"
22
+ },
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "dev": "tsx src/index.ts",
26
+ "test": "vitest run",
27
+ "test:watch": "vitest",
28
+ "lint": "eslint src --ext .ts",
29
+ "format": "prettier --write \"src/**/*.ts\"",
30
+ "prepublishOnly": "npm run build && npm test"
31
+ },
32
+ "keywords": [
33
+ "cloud",
34
+ "aws",
35
+ "gcp",
36
+ "sandbox",
37
+ "infrastructure",
38
+ "cli",
39
+ "devtools",
40
+ "provisioning"
41
+ ],
42
+ "author": {
43
+ "name": "Sergio",
44
+ "url": "https://github.com/sgr0691"
45
+ },
46
+ "license": "MIT",
47
+ "dependencies": {
48
+ "@aws-sdk/client-ec2": "^3.529.0",
49
+ "@aws-sdk/client-iam": "^3.529.0",
50
+ "@aws-sdk/client-s3": "^3.529.0",
51
+ "@aws-sdk/client-sts": "^3.529.0",
52
+ "@google-cloud/billing": "^1.0.0",
53
+ "@google-cloud/resource-manager": "^5.0.0",
54
+ "@google-cloud/service-usage": "^1.0.0",
55
+ "@google-cloud/storage": "^7.7.0",
56
+ "chalk": "^5.3.0",
57
+ "commander": "^12.0.0",
58
+ "ora": "^7.0.1",
59
+ "zod": "^3.22.4"
60
+ },
61
+ "devDependencies": {
62
+ "@types/node": "^20.11.0",
63
+ "eslint": "^8.56.0",
64
+ "prettier": "^3.2.0",
65
+ "tsx": "^4.7.0",
66
+ "typescript": "^5.3.0",
67
+ "vitest": "^1.2.0"
68
+ },
69
+ "engines": {
70
+ "node": ">=18.0.0"
71
+ }
72
+ }