local-serverless-stack 0.17.0 → 0.17.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.
- package/README.md +12 -8
- package/dist/server/routes/config.d.ts.map +1 -1
- package/dist/server/routes/config.js +182 -6
- package/dist/server/routes/config.js.map +1 -1
- package/dist/server/services/config-manager.d.ts +31 -0
- package/dist/server/services/config-manager.d.ts.map +1 -1
- package/dist/server/services/config-manager.js +370 -0
- package/dist/server/services/config-manager.js.map +1 -1
- package/dist/ui/assets/ApisPage-CXYcWDhm.js +1 -0
- package/dist/ui/assets/BucketDetailPage-BwS2--Pe.js +1 -0
- package/dist/ui/assets/BucketsPage-khuiYc9C.js +1 -0
- package/dist/ui/assets/DynamoPage-aYo0QC0N.js +1 -0
- package/dist/ui/assets/DynamoTablePage-rFuV2pgd.js +3 -0
- package/dist/ui/assets/LambdaDetailPage-CJmu8M_N.js +4 -0
- package/dist/ui/assets/LambdasPage-DniNyKMe.js +1 -0
- package/dist/ui/assets/OpenSearchCollectionPage-BBwjgbB9.js +1 -0
- package/dist/ui/assets/OpenSearchPage-D5RxJGRo.js +1 -0
- package/dist/ui/assets/OverviewPage-Cyt1Xdp8.js +1 -0
- package/dist/ui/assets/{OverviewPage-qEl0a-0B.css → OverviewPage-DS6XJ7kG.css} +1 -1
- package/dist/ui/assets/QueueDetailPage-3FPsowIp.js +1 -0
- package/dist/ui/assets/QueuesPage-CUoDDgHr.js +1 -0
- package/dist/ui/assets/SecretsPage-B_mTnUf3.js +1 -0
- package/dist/ui/assets/ServiceDetailPage-BcdSjA6e.js +2 -0
- package/dist/ui/assets/ServicesPage-CU6fb3f8.js +2 -0
- package/dist/ui/assets/SettingsPage-BG8cYxgC.js +1 -0
- package/dist/ui/assets/index-BxwA-UT0.css +1 -0
- package/dist/ui/assets/index-DGsXIPJ-.js +37 -0
- package/dist/ui/index.html +2 -2
- package/package.json +2 -2
- package/dist/ui/assets/ApisPage-CXVLYVM6.js +0 -1
- package/dist/ui/assets/BucketDetailPage-BU7ytv7P.js +0 -1
- package/dist/ui/assets/BucketsPage-6oRAkKhU.js +0 -1
- package/dist/ui/assets/DynamoPage-DU29K5hT.js +0 -1
- package/dist/ui/assets/DynamoTablePage-BsVCgzws.js +0 -3
- package/dist/ui/assets/LambdaDetailPage-CgDlY1Kc.js +0 -4
- package/dist/ui/assets/LambdasPage-CB59BQVb.js +0 -1
- package/dist/ui/assets/OpenSearchCollectionPage-PhV7ZitS.js +0 -1
- package/dist/ui/assets/OpenSearchPage-DMq5T-jO.js +0 -1
- package/dist/ui/assets/OverviewPage-B7i6ZutS.js +0 -1
- package/dist/ui/assets/QueueDetailPage-CDM38X1V.js +0 -1
- package/dist/ui/assets/QueuesPage-6py2nlnw.js +0 -1
- package/dist/ui/assets/SecretsPage-BlllDXAl.js +0 -1
- package/dist/ui/assets/SecretsPage-Dnkt3P3P.css +0 -1
- package/dist/ui/assets/ServiceDetailPage-ghEHM9ko.js +0 -2
- package/dist/ui/assets/ServicesPage-C0E9vXE2.js +0 -2
- package/dist/ui/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
- package/dist/ui/assets/index-DdoMwcQX.css +0 -1
- package/dist/ui/assets/index-VlhdCpKx.js +0 -37
|
@@ -11,6 +11,209 @@ function realpathOrSelf(dir) {
|
|
|
11
11
|
return dir;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
+
// Two config keys are deliberately absent (and rejected on write):
|
|
15
|
+
// `localstackAuthToken` — the supported channel is the LOCALSTACK_AUTH_TOKEN
|
|
16
|
+
// env var, the token must never transit the dashboard API — and `secrets`,
|
|
17
|
+
// which holds seed material that belongs in the file/env only.
|
|
18
|
+
const BLOCKED_CONFIG_KEYS = new Set(['localstackAuthToken', 'secrets']);
|
|
19
|
+
const EDITABLE_CONFIG_KEYS = {
|
|
20
|
+
serverPort: { kind: 'port' },
|
|
21
|
+
localstackPort: { kind: 'port' },
|
|
22
|
+
localstackEndpoint: { kind: 'string' },
|
|
23
|
+
mode: { kind: 'string', enum: ['managed', 'external'] },
|
|
24
|
+
localstackEdition: { kind: 'string', enum: ['community', 'pro'] },
|
|
25
|
+
localstackVersion: { kind: 'string' },
|
|
26
|
+
localstackImage: { kind: 'string' },
|
|
27
|
+
enableDynamoProxy: { kind: 'boolean' },
|
|
28
|
+
dynamoProxyPort: { kind: 'port' },
|
|
29
|
+
region: { kind: 'string' },
|
|
30
|
+
services: { kind: 'stringArray' },
|
|
31
|
+
persistence: { kind: 'boolean' },
|
|
32
|
+
debug: { kind: 'boolean' },
|
|
33
|
+
seedsDir: { kind: 'string' },
|
|
34
|
+
stateDir: { kind: 'string' },
|
|
35
|
+
autoPackage: { kind: 'boolean' },
|
|
36
|
+
packageCommand: { kind: 'string' },
|
|
37
|
+
packageArgs: { kind: 'stringArray' },
|
|
38
|
+
packageEnv: { kind: 'stringRecord' },
|
|
39
|
+
servicePackaging: {
|
|
40
|
+
kind: 'object',
|
|
41
|
+
entrySubKeys: {
|
|
42
|
+
packageCommand: { kind: 'string' },
|
|
43
|
+
packageArgs: { kind: 'stringArray' },
|
|
44
|
+
packageEnv: { kind: 'stringRecord' },
|
|
45
|
+
packageTimeoutMs: { kind: 'positiveInt' },
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
packageTimeoutMs: { kind: 'positiveInt' },
|
|
49
|
+
lambdaRuntime: {
|
|
50
|
+
kind: 'object',
|
|
51
|
+
subKeys: {
|
|
52
|
+
enabled: { kind: 'boolean' },
|
|
53
|
+
execution: { kind: 'string', enum: ['auto', 'artifact', 'source'] },
|
|
54
|
+
watch: { kind: 'boolean' },
|
|
55
|
+
invokePortOffset: { kind: 'positiveInt' },
|
|
56
|
+
invokeHost: { kind: 'string' },
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
serviceRuntime: {
|
|
60
|
+
kind: 'object',
|
|
61
|
+
entrySubKeys: {
|
|
62
|
+
enabled: { kind: 'boolean' },
|
|
63
|
+
apiPort: { kind: 'port' },
|
|
64
|
+
invokePort: { kind: 'port' },
|
|
65
|
+
execution: { kind: 'string', enum: ['auto', 'artifact', 'source'] },
|
|
66
|
+
watch: { kind: 'boolean' },
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
engine: { kind: 'string', enum: ['localstack', 'self'] },
|
|
70
|
+
selfEngine: {
|
|
71
|
+
kind: 'object',
|
|
72
|
+
subKeys: {
|
|
73
|
+
port: { kind: 'port' },
|
|
74
|
+
dataDir: { kind: 'string' },
|
|
75
|
+
account: { kind: 'string' },
|
|
76
|
+
idleUnloadMs: { kind: 'positiveInt' },
|
|
77
|
+
memoryBudgetMb: { kind: 'positiveInt' },
|
|
78
|
+
fsync: { kind: 'boolean' },
|
|
79
|
+
fallbackEndpoint: { kind: 'string' },
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
aossSidecar: {
|
|
83
|
+
kind: 'object',
|
|
84
|
+
subKeys: {
|
|
85
|
+
enabled: { kind: 'boolean' },
|
|
86
|
+
port: { kind: 'port' },
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
branding: {
|
|
90
|
+
kind: 'object',
|
|
91
|
+
subKeys: {
|
|
92
|
+
title: { kind: 'string' },
|
|
93
|
+
subtitle: { kind: 'string' },
|
|
94
|
+
logo: { kind: 'string' },
|
|
95
|
+
favicon: { kind: 'string' },
|
|
96
|
+
defaultTheme: { kind: 'string', enum: ['dark', 'light'] },
|
|
97
|
+
colors: { kind: 'stringRecord' },
|
|
98
|
+
themeColors: {
|
|
99
|
+
kind: 'object',
|
|
100
|
+
subKeys: {
|
|
101
|
+
dark: { kind: 'stringRecord' },
|
|
102
|
+
light: { kind: 'stringRecord' },
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
// Env vars that mask each file key while set (loadFromEnv applies them AFTER
|
|
109
|
+
// the file, and some getters fall back to env at call time). Surfaced so the
|
|
110
|
+
// UI can flag fields whose saved value will not take effect until the env var
|
|
111
|
+
// is unset.
|
|
112
|
+
const CONFIG_ENV_OVERRIDES = {
|
|
113
|
+
serverPort: ['LSS_DASHBOARD_PORT', 'PORT'],
|
|
114
|
+
localstackPort: ['LSS_LOCALSTACK_PORT'],
|
|
115
|
+
localstackEndpoint: ['LSS_LOCALSTACK_ENDPOINT'],
|
|
116
|
+
mode: ['LSS_LOCALSTACK_MODE'],
|
|
117
|
+
localstackEdition: ['LSS_LOCALSTACK_EDITION'],
|
|
118
|
+
localstackVersion: ['LSS_LOCALSTACK_VERSION'],
|
|
119
|
+
localstackImage: ['LSS_LOCALSTACK_IMAGE'],
|
|
120
|
+
localstackAuthToken: ['LOCALSTACK_AUTH_TOKEN'],
|
|
121
|
+
// Note: the deprecated unprefixed ENABLE_DYNAMO_PROXY is NOT listed — it is
|
|
122
|
+
// only a getter-time fallback (isEnableDynamoProxy) that a file value always
|
|
123
|
+
// beats, so it never masks a saved value.
|
|
124
|
+
enableDynamoProxy: ['LSS_ENABLE_DYNAMO_PROXY'],
|
|
125
|
+
dynamoProxyPort: ['LSS_DYNAMO_PROXY_PORT'],
|
|
126
|
+
region: ['AWS_REGION'],
|
|
127
|
+
services: ['LSS_SERVICES'],
|
|
128
|
+
persistence: ['LSS_PERSISTENCE'],
|
|
129
|
+
debug: ['LSS_DEBUG'],
|
|
130
|
+
seedsDir: ['LSS_SEEDS_DIR'],
|
|
131
|
+
autoPackage: ['LSS_AUTO_PACKAGE'],
|
|
132
|
+
packageCommand: ['LSS_PACKAGE_COMMAND'],
|
|
133
|
+
packageTimeoutMs: ['LSS_PACKAGE_TIMEOUT_MS'],
|
|
134
|
+
lambdaRuntime: ['LSS_LAMBDA_RUNTIME', 'LSS_LAMBDA_EXECUTION', 'LSS_LAMBDA_WATCH', 'LSS_INVOKE_HOST'],
|
|
135
|
+
engine: ['LSS_ENGINE'],
|
|
136
|
+
selfEngine: ['LSS_ENGINE_PORT'],
|
|
137
|
+
};
|
|
138
|
+
function isPlainObject(value) {
|
|
139
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
140
|
+
}
|
|
141
|
+
function validateValue(key, value, spec) {
|
|
142
|
+
switch (spec.kind) {
|
|
143
|
+
case 'port':
|
|
144
|
+
return Number.isInteger(value) && value >= 1 && value <= 65535
|
|
145
|
+
? null
|
|
146
|
+
: `"${key}" must be an integer port between 1 and 65535`;
|
|
147
|
+
case 'positiveInt':
|
|
148
|
+
return Number.isInteger(value) && value > 0
|
|
149
|
+
? null
|
|
150
|
+
: `"${key}" must be a positive integer`;
|
|
151
|
+
case 'boolean':
|
|
152
|
+
return typeof value === 'boolean' ? null : `"${key}" must be a boolean`;
|
|
153
|
+
case 'string':
|
|
154
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
155
|
+
return `"${key}" must be a non-empty string`;
|
|
156
|
+
}
|
|
157
|
+
return spec.enum && !spec.enum.includes(value)
|
|
158
|
+
? `"${key}" must be one of: ${spec.enum.join(', ')}`
|
|
159
|
+
: null;
|
|
160
|
+
case 'stringArray':
|
|
161
|
+
return Array.isArray(value) && value.every(v => typeof v === 'string')
|
|
162
|
+
? null
|
|
163
|
+
: `"${key}" must be an array of strings`;
|
|
164
|
+
case 'stringRecord':
|
|
165
|
+
return isPlainObject(value) && Object.values(value).every(v => typeof v === 'string')
|
|
166
|
+
? null
|
|
167
|
+
: `"${key}" must be an object of string values`;
|
|
168
|
+
case 'object': {
|
|
169
|
+
if (!isPlainObject(value)) {
|
|
170
|
+
return `"${key}" must be an object`;
|
|
171
|
+
}
|
|
172
|
+
// null subvalues are always allowed — they delete the subkey on merge.
|
|
173
|
+
if (spec.subKeys) {
|
|
174
|
+
for (const [subKey, subValue] of Object.entries(value)) {
|
|
175
|
+
const subSpec = spec.subKeys[subKey];
|
|
176
|
+
if (!subSpec)
|
|
177
|
+
return `unknown config key "${key}.${subKey}"`;
|
|
178
|
+
if (subValue === null)
|
|
179
|
+
continue;
|
|
180
|
+
const error = validateValue(`${key}.${subKey}`, subValue, subSpec);
|
|
181
|
+
if (error)
|
|
182
|
+
return error;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (spec.entrySubKeys) {
|
|
186
|
+
for (const [entryKey, entryValue] of Object.entries(value)) {
|
|
187
|
+
if (entryValue === null)
|
|
188
|
+
continue;
|
|
189
|
+
if (!isPlainObject(entryValue))
|
|
190
|
+
return `"${key}.${entryKey}" must be an object`;
|
|
191
|
+
for (const [subKey, subValue] of Object.entries(entryValue)) {
|
|
192
|
+
const subSpec = spec.entrySubKeys[subKey];
|
|
193
|
+
if (!subSpec)
|
|
194
|
+
return `unknown config key "${key}.${entryKey}.${subKey}"`;
|
|
195
|
+
if (subValue === null)
|
|
196
|
+
continue;
|
|
197
|
+
const error = validateValue(`${key}.${entryKey}.${subKey}`, subValue, subSpec);
|
|
198
|
+
if (error)
|
|
199
|
+
return error;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
// Thrown by updateConfig so the route can answer 400 with every problem at
|
|
208
|
+
// once instead of failing on the first.
|
|
209
|
+
export class ConfigValidationError extends Error {
|
|
210
|
+
details;
|
|
211
|
+
constructor(details) {
|
|
212
|
+
super(details.join('; '));
|
|
213
|
+
this.name = 'ConfigValidationError';
|
|
214
|
+
this.details = details;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
14
217
|
export class ConfigManager {
|
|
15
218
|
static instance;
|
|
16
219
|
config = {};
|
|
@@ -423,6 +626,173 @@ export class ConfigManager {
|
|
|
423
626
|
},
|
|
424
627
|
};
|
|
425
628
|
}
|
|
629
|
+
// Config keys currently masked by an environment variable (env wins over the
|
|
630
|
+
// file). The UI flags these fields so a save that "doesn't stick" is
|
|
631
|
+
// explained instead of silent.
|
|
632
|
+
getEnvOverriddenKeys() {
|
|
633
|
+
// Truthy check on purpose: loadFromEnv only applies truthy env values, so
|
|
634
|
+
// a variable exported as an empty string does not actually override the
|
|
635
|
+
// file and must not be reported as masking it.
|
|
636
|
+
return Object.keys(CONFIG_ENV_OVERRIDES).filter(key => CONFIG_ENV_OVERRIDES[key].some(name => Boolean(process.env[name])));
|
|
637
|
+
}
|
|
638
|
+
// Resolved values that are materialized into listeners, containers, engines
|
|
639
|
+
// or child processes at boot. Everything NOT listed here is consumed lazily
|
|
640
|
+
// (per request/registration/seed run) and follows a reload immediately.
|
|
641
|
+
resolvedBootValues() {
|
|
642
|
+
const selfEngine = this.getSelfEngineConfig();
|
|
643
|
+
const aossSidecar = this.getAossSidecarConfig();
|
|
644
|
+
return {
|
|
645
|
+
serverPort: this.getServerPort(),
|
|
646
|
+
localstackPort: this.getLocalStackPort(),
|
|
647
|
+
localstackEndpoint: this.getLocalStackEndpoint(),
|
|
648
|
+
mode: this.getMode(),
|
|
649
|
+
localstackEdition: this.getLocalStackEdition(),
|
|
650
|
+
localstackVersion: this.getLocalStackVersion(),
|
|
651
|
+
localstackImage: this.getLocalStackImage(),
|
|
652
|
+
enableDynamoProxy: this.isEnableDynamoProxy(),
|
|
653
|
+
dynamoProxyPort: this.getDynamoProxyPort(),
|
|
654
|
+
region: this.getRegion(),
|
|
655
|
+
services: this.getServices(),
|
|
656
|
+
persistence: this.isPersistence(),
|
|
657
|
+
debug: this.isDebug(),
|
|
658
|
+
stateDir: this.getStateDir(),
|
|
659
|
+
engine: this.getEngineKind(),
|
|
660
|
+
// Only the block's OWN settings: region/persistence (self engine) and the
|
|
661
|
+
// stateDir-derived dataDir (aoss) are tracked under their own keys above,
|
|
662
|
+
// so one change never flags two entries.
|
|
663
|
+
selfEngine: {
|
|
664
|
+
port: selfEngine.port,
|
|
665
|
+
dataDir: selfEngine.dataDir,
|
|
666
|
+
account: selfEngine.account,
|
|
667
|
+
idleUnloadMs: selfEngine.idleUnloadMs,
|
|
668
|
+
memoryBudgetMb: selfEngine.memoryBudgetMb,
|
|
669
|
+
fsync: selfEngine.fsync,
|
|
670
|
+
fallbackEndpoint: selfEngine.fallbackEndpoint,
|
|
671
|
+
},
|
|
672
|
+
aossSidecar: { enabled: aossSidecar.enabled, port: aossSidecar.port },
|
|
673
|
+
};
|
|
674
|
+
}
|
|
675
|
+
static diffKeys(before, after) {
|
|
676
|
+
return Object.keys(before).filter(key => JSON.stringify(before[key]) !== JSON.stringify(after[key]));
|
|
677
|
+
}
|
|
678
|
+
resetAndReload() {
|
|
679
|
+
this.config = {};
|
|
680
|
+
this.configPath = '';
|
|
681
|
+
this.loadConfig();
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* Re-read the config file from disk — after a hand edit, or after
|
|
685
|
+
* updateConfig() wrote it. Runs the exact boot sequence (file search + env
|
|
686
|
+
* override pass), so the result matches what a fresh process would resolve.
|
|
687
|
+
* Boot-materialized keys that changed are reported as restartRequired: the
|
|
688
|
+
* running listeners/engine keep the old value until `lss stop && lss start`.
|
|
689
|
+
*/
|
|
690
|
+
reloadFromDisk() {
|
|
691
|
+
// A hand-edit typo must not silently discard the working config: when the
|
|
692
|
+
// loaded file still exists but no longer parses, keep the current config
|
|
693
|
+
// and fail loudly instead of letting loadConfig fall through to the next
|
|
694
|
+
// search candidate (the user-global home config, or nothing at all).
|
|
695
|
+
if (this.configPath && fs.existsSync(this.configPath)) {
|
|
696
|
+
try {
|
|
697
|
+
JSON.parse(fs.readFileSync(this.configPath, 'utf-8'));
|
|
698
|
+
}
|
|
699
|
+
catch {
|
|
700
|
+
throw new ConfigValidationError([
|
|
701
|
+
`${this.configPath} is not valid JSON — fix the file and reload again`,
|
|
702
|
+
]);
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
const before = this.resolvedBootValues();
|
|
706
|
+
this.resetAndReload();
|
|
707
|
+
return {
|
|
708
|
+
path: this.configPath,
|
|
709
|
+
restartRequired: ConfigManager.diffKeys(before, this.resolvedBootValues()),
|
|
710
|
+
};
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Validate a partial config patch, write it into the loaded config file (or
|
|
714
|
+
* create lss.config.json in the project root when none is loaded) and reload
|
|
715
|
+
* in-memory. The raw file is re-read and patched key-by-key — never the
|
|
716
|
+
* env-resolved in-memory config — so env-var overrides are not baked into
|
|
717
|
+
* the file on save. The human commits the file; LSS never touches git.
|
|
718
|
+
*/
|
|
719
|
+
updateConfig(patch) {
|
|
720
|
+
if (!isPlainObject(patch)) {
|
|
721
|
+
throw new ConfigValidationError(['config patch must be a JSON object of top-level lss.config.json keys']);
|
|
722
|
+
}
|
|
723
|
+
const errors = [];
|
|
724
|
+
for (const [key, value] of Object.entries(patch)) {
|
|
725
|
+
if (BLOCKED_CONFIG_KEYS.has(key)) {
|
|
726
|
+
errors.push(`"${key}" cannot be edited via the API — set it in the config file or environment directly`);
|
|
727
|
+
continue;
|
|
728
|
+
}
|
|
729
|
+
const spec = EDITABLE_CONFIG_KEYS[key];
|
|
730
|
+
if (!spec) {
|
|
731
|
+
errors.push(`unknown config key "${key}"`);
|
|
732
|
+
continue;
|
|
733
|
+
}
|
|
734
|
+
if (value === null)
|
|
735
|
+
continue; // null deletes the key (or subkey) from the file
|
|
736
|
+
const error = validateValue(key, value, spec);
|
|
737
|
+
if (error)
|
|
738
|
+
errors.push(error);
|
|
739
|
+
}
|
|
740
|
+
if (errors.length > 0) {
|
|
741
|
+
throw new ConfigValidationError(errors);
|
|
742
|
+
}
|
|
743
|
+
// Snapshot the resolved boot values BEFORE any mutation, so a failure
|
|
744
|
+
// later in this method can never compare against poisoned state.
|
|
745
|
+
const before = this.resolvedBootValues();
|
|
746
|
+
const target = this.configPath || path.join(this.getProjectRoot(), 'lss.config.json');
|
|
747
|
+
let fileConfig = {};
|
|
748
|
+
if (fs.existsSync(target)) {
|
|
749
|
+
try {
|
|
750
|
+
fileConfig = JSON.parse(fs.readFileSync(target, 'utf-8'));
|
|
751
|
+
}
|
|
752
|
+
catch {
|
|
753
|
+
// Never clobber a file the user may be hand-editing mid-typo.
|
|
754
|
+
throw new ConfigValidationError([
|
|
755
|
+
`${target} exists but is not valid JSON — fix or remove it before saving from the dashboard`,
|
|
756
|
+
]);
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
for (const [key, value] of Object.entries(patch)) {
|
|
760
|
+
if (value === null) {
|
|
761
|
+
delete fileConfig[key];
|
|
762
|
+
}
|
|
763
|
+
else if (EDITABLE_CONFIG_KEYS[key].kind === 'object') {
|
|
764
|
+
// One-level merge so a partial block edit (e.g. branding.title) never
|
|
765
|
+
// drops sibling settings the UI does not round-trip (branding.logo).
|
|
766
|
+
const existing = isPlainObject(fileConfig[key])
|
|
767
|
+
? fileConfig[key]
|
|
768
|
+
: {};
|
|
769
|
+
const merged = { ...existing };
|
|
770
|
+
for (const [subKey, subValue] of Object.entries(value)) {
|
|
771
|
+
if (subValue === null) {
|
|
772
|
+
delete merged[subKey];
|
|
773
|
+
}
|
|
774
|
+
else {
|
|
775
|
+
merged[subKey] = subValue;
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
fileConfig[key] = merged;
|
|
779
|
+
}
|
|
780
|
+
else {
|
|
781
|
+
fileConfig[key] = value;
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
fs.writeFileSync(target, `${JSON.stringify(fileConfig, null, 2)}\n`);
|
|
785
|
+
this.resetAndReload();
|
|
786
|
+
return {
|
|
787
|
+
// The written file is a search candidate, so the reload finds it again;
|
|
788
|
+
// fall back to the target path defensively.
|
|
789
|
+
path: this.configPath || target,
|
|
790
|
+
restartRequired: ConfigManager.diffKeys(before, this.resolvedBootValues()),
|
|
791
|
+
// Truthy check to mirror loadFromEnv: an empty-string env var does not
|
|
792
|
+
// actually override the file, so it must not be reported as a mask.
|
|
793
|
+
envOverridden: Object.keys(patch).filter(key => (CONFIG_ENV_OVERRIDES[key] ?? []).some(name => Boolean(process.env[name]))),
|
|
794
|
+
};
|
|
795
|
+
}
|
|
426
796
|
/**
|
|
427
797
|
* Print configuration summary
|
|
428
798
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/server/services/config-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/server/services/config-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as R,l as M,o as q,m as u,e as d,$ as t,t as p,a4 as e,j as n,D as G,E as w,O as H,i,_ as s,f as v,x as O,G as N,g as T,F as I,q as X,w as Y,H as P,C as S,A as y,u as c,R as J,v as _,B as K,I as Q,n as z,b as W,a as x,c as Z}from"./index-DGsXIPJ-.js";const ee=R({__name:"ApisView",setup(V){const k=Z(),f=z([]),h=z(!0),g=z(null),m=z({});let b=null;const F=[{key:"method",label:"Method"},{key:"path",label:"Path"},{key:"functionName",label:"→ Function"},{key:"eventType",label:"Type"},{key:"authorizerName",label:"Auth"},{key:"actions",label:"",align:"right"}],j=[{key:"name",label:"Name"},{key:"type",label:"Type"},{key:"payloadVersion",label:"Payload"},{key:"resultTtlInSeconds",label:"TTL",align:"right"},{key:"identitySource",label:"Identity source"},{key:"target",label:"Function / ARN"}],$=W(()=>({services:f.value.length,routes:f.value.reduce((r,l)=>r+l.routes.length,0),online:f.value.filter(r=>r.status==="online").length}));function B(r){return r.routes.map(l=>({...l}))}function L(r){return r.authorizers.map(l=>({...l,identitySource:l.identitySource.join(", "),target:l.functionName||l.arn||""}))}async function A(){try{f.value=await x.listApis(),g.value=null}catch(r){g.value=r.message||"Failed to load APIs"}finally{h.value=!1}}async function D(r){if(!m.value[r]){m.value={...m.value,[r]:!0};try{const l=await x.clearAuthorizerCache({service:r});k.add({title:"Authorizer cache cleared",description:`${l.removed} cached result${l.removed===1?"":"s"} removed`,variant:"success"})}catch(l){k.add({title:"Failed to clear authorizer cache",description:l.message,variant:"danger"})}finally{m.value={...m.value,[r]:!1}}}}function U(r,l){var a;const o=`curl -X ${l.method} http://localhost:${r.apiPort}${l.path}`;(a=navigator.clipboard)==null||a.writeText(o).then(()=>{k.add({title:"curl command copied",description:o,variant:"success"})})}function C(r){switch(r){case"online":return"success";case"port-conflict":return"warning";default:return"neutral"}}function E(r){return r==="ANY"?"info":"neutral"}return M(()=>{A(),b=window.setInterval(A,1e4)}),q(()=>{b&&window.clearInterval(b)}),(r,l)=>(u(),d(t(p),{direction:"vertical",gap:"1.25rem"},{default:e(()=>[n(t(G),{columns:3,gap:"1rem"},{default:e(()=>[n(t(w),{label:"Services with APIs",value:$.value.services,tone:"info",loading:h.value},null,8,["value","loading"]),n(t(w),{label:"Routes",value:$.value.routes,tone:"info",loading:h.value},null,8,["value","loading"]),n(t(w),{label:"Listeners online",value:$.value.online,tone:"success",loading:h.value},null,8,["value","loading"])]),_:1}),g.value?(u(),d(t(H),{key:0,variant:"danger",dismissible:"",onDismiss:l[0]||(l[0]=o=>g.value=null)},{default:e(()=>[i(s(g.value),1)]),_:1})):v("",!0),h.value&&!f.value.length?(u(),d(t(p),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:e(()=>[n(t(O),{label:"Loading APIs..."})]),_:1})):f.value.length?v("",!0):(u(),d(t(N),{key:2,title:"No APIs registered",description:"Register a microservice that defines http or httpApi events to see its routes here."})),(u(!0),T(I,null,X(f.value,o=>(u(),d(t(Y),{key:o.service,variant:"outline"},{header:e(()=>[n(t(p),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between",wrap:""},{default:e(()=>[n(t(p),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:e(()=>[n(t(Q),{to:`/services/${encodeURIComponent(o.service)}`},{default:e(()=>[n(t(c),{weight:"semibold"},{default:e(()=>[i(s(o.service),1)]),_:2},1024)]),_:2},1032,["to"]),o.apiPort?(u(),d(t(_),{key:0,tone:"info",variant:"soft"},{default:e(()=>[i(":"+s(o.apiPort),1)]),_:2},1024)):v("",!0),n(t(_),{tone:C(o.status),variant:"soft"},{default:e(()=>[i(s(o.status),1)]),_:2},1032,["tone"]),o.invokePort?(u(),d(t(_),{key:1,tone:C(o.invokeStatus),variant:"soft"},{default:e(()=>[i(" invoke :"+s(o.invokePort),1)]),_:2},1032,["tone"])):v("",!0),o.stage?(u(),d(t(y),{key:2,size:"sm",variant:"soft"},{default:e(()=>[i("stage: "+s(o.stage),1)]),_:2},1024)):v("",!0)]),_:2},1024),n(t(S),{size:"sm",variant:"ghost",loading:m.value[o.service],onClick:a=>D(o.service)},{default:e(()=>[...l[1]||(l[1]=[i(" Clear authorizer cache ",-1)])]),_:1},8,["loading","onClick"])]),_:2},1024)]),default:e(()=>[n(t(p),{direction:"vertical",gap:"0.75rem"},{default:e(()=>[o.routes.length?(u(),d(t(P),{key:0,columns:F,rows:B(o),"aria-label":"API routes"},{"cell-method":e(({row:a})=>[n(t(_),{tone:E(String(a.method)),variant:"soft"},{default:e(()=>[i(s(a.method),1)]),_:2},1032,["tone"])]),"cell-path":e(({row:a})=>[n(t(c),{family:"mono"},{default:e(()=>[i(s(a.path),1)]),_:2},1024)]),"cell-functionName":e(({row:a})=>[n(t(J),{to:`/lambdas/${encodeURIComponent(String(a.functionName))}`,style:{"text-decoration":"none"}},{default:e(()=>[n(t(y),{size:"sm",variant:"soft",clickable:""},{default:e(()=>[i(s(a.functionName),1)]),_:2},1024)]),_:2},1032,["to"])]),"cell-eventType":e(({row:a})=>[n(t(y),{size:"sm",variant:"soft"},{default:e(()=>[i(s(a.payloadVersion==="2.0"?"v2":"v1"),1)]),_:2},1024)]),"cell-authorizerName":e(({row:a})=>[a.authorizerName?(u(),d(t(y),{key:0,size:"sm",variant:"soft"},{default:e(()=>[i(s(a.authorizerName),1)]),_:2},1024)):(u(),d(t(c),{key:1,tone:"muted"},{default:e(()=>[...l[2]||(l[2]=[i("—",-1)])]),_:1}))]),"cell-actions":e(({row:a})=>[n(t(p),{direction:"horizontal",gap:"0.375rem",justify:"flex-end"},{default:e(()=>[n(t(S),{size:"sm",variant:"ghost",onClick:te=>U(o,a)},{default:e(()=>[...l[3]||(l[3]=[i(" Copy curl ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["rows"])):(u(),d(t(N),{key:1,title:"No routes",description:"This service exposes no http or httpApi routes."})),o.authorizers.length?(u(),T(I,{key:2},[n(t(K)),n(t(c),{weight:"semibold",size:"sm"},{default:e(()=>[...l[4]||(l[4]=[i("Authorizers",-1)])]),_:1}),n(t(P),{columns:j,rows:L(o),"aria-label":"Authorizers"},{"cell-name":e(({row:a})=>[n(t(c),{family:"mono",size:"sm"},{default:e(()=>[i(s(a.name),1)]),_:2},1024)]),"cell-type":e(({row:a})=>[n(t(y),{size:"sm",variant:"soft"},{default:e(()=>[i(s(a.type),1)]),_:2},1024)]),"cell-payloadVersion":e(({row:a})=>[n(t(y),{size:"sm",variant:"soft"},{default:e(()=>[i(s(a.payloadVersion==="2.0"?"v2":"v1"),1)]),_:2},1024)]),"cell-resultTtlInSeconds":e(({row:a})=>[n(t(c),{family:"mono",size:"sm"},{default:e(()=>[i(s(a.resultTtlInSeconds)+"s",1)]),_:2},1024)]),"cell-identitySource":e(({row:a})=>[n(t(c),{family:"mono",size:"xs"},{default:e(()=>[i(s(a.identitySource||"—"),1)]),_:2},1024)]),"cell-target":e(({row:a})=>[a.target?(u(),d(t(c),{key:0,family:"mono",size:"xs"},{default:e(()=>[i(s(a.target),1)]),_:2},1024)):(u(),d(t(c),{key:1,tone:"muted"},{default:e(()=>[...l[5]||(l[5]=[i("—",-1)])]),_:1}))]),_:1},8,["rows"])],64)):v("",!0)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),le=R({__name:"ApisPage",setup(V){return(k,f)=>(u(),d(ee))}});export{le as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as E,l as J,a3 as Q,e as f,$ as t,t as r,a4 as a,a as g,m as c,j as l,C as p,s as W,i,u as B,_ as b,v as X,f as M,O as Y,x as F,g as Z,E as x,D as ee,N as U,a5 as te,a2 as ae,d as T,w as _,G as le,H as ne,I as oe,a6 as ie,F as ue,c as re,n as s,b as se,a1 as de}from"./index-DGsXIPJ-.js";const ce=["href"],fe=E({__name:"BucketDetail",props:{bucketName:{}},emits:["back"],setup(z,{emit:N}){const d=z,S=N,v=re(),u=s(null),k=s([]),h=s(""),K=s(!0),$=s(!1),y=s(null),j=s(""),w=s(""),C=s("text/plain"),V=s(!1),L=[{key:"key",label:"Key"},{key:"size",label:"Size",align:"right"},{key:"lastModified",label:"Modified"},{key:"actions",label:"",align:"right"}],G=se(()=>k.value.reduce((o,e)=>o+(e.size||0),0));function O(o){if(o==null)return"—";if(o===0)return"0 B";const e=["B","KB","MB","GB","TB"],n=Math.floor(Math.log(o)/Math.log(1024));return`${(o/Math.pow(1024,n)).toFixed(n===0?0:1)} ${e[n]}`}function H(o){return o?new Date(o).toLocaleString():"—"}async function D(){try{u.value=await g.getBucket(d.bucketName),y.value=null}catch(o){y.value=o.message||"Failed to load bucket",u.value=null}finally{K.value=!1}}async function m(){$.value=!0;try{const o=await g.listBucketObjects(d.bucketName,{prefix:h.value||void 0,maxKeys:200});k.value=o.objects}catch(o){v.add({title:"Failed to load objects",description:o.message,variant:"danger"})}finally{$.value=!1}}function R(o){return g.bucketObjectContentUrl(d.bucketName,o,!1)}function q(o){return g.bucketObjectContentUrl(d.bucketName,o,!0)}async function A(o){if(confirm(`Delete object "${o}"?`))try{await g.deleteBucketObject(d.bucketName,o),v.add({title:"Object deleted",variant:"info"}),await m()}catch(e){v.add({title:"Failed to delete object",description:e.message,variant:"danger"})}}async function I(){if(!j.value||!w.value){v.add({title:"Key and body are required",variant:"warning"});return}V.value=!0;try{await g.putBucketObject(d.bucketName,{key:j.value,body:w.value,contentType:C.value||void 0}),v.add({title:"Object uploaded",variant:"info"}),j.value="",w.value="",await m(),await D()}catch(o){v.add({title:"Failed to upload object",description:o.message,variant:"danger"})}finally{V.value=!1}}return J(()=>{D(),m()}),Q(()=>d.bucketName,()=>{D(),m()}),(o,e)=>(c(),f(t(r),{direction:"vertical",gap:"1rem"},{default:a(()=>[l(t(r),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(t(r),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>{var n;return[l(t(p),{size:"sm",variant:"ghost",onClick:e[0]||(e[0]=P=>S("back"))},{default:a(()=>[l(t(W),{name:"arrow-left"}),e[9]||(e[9]=i(" Buckets",-1))]),_:1}),l(t(B),{size:"lg",weight:"semibold"},{default:a(()=>[i(b(z.bucketName),1)]),_:1}),(n=u.value)!=null&&n.versioning?(c(),f(t(X),{key:0,tone:"info",variant:"soft"},{default:a(()=>[...e[10]||(e[10]=[i("Versioning",-1)])]),_:1})):M("",!0)]}),_:1}),l(t(p),{size:"sm",variant:"ghost",loading:$.value,onClick:e[1]||(e[1]=n=>m())},{default:a(()=>[...e[11]||(e[11]=[i("Refresh",-1)])]),_:1},8,["loading"])]),_:1}),y.value?(c(),f(t(Y),{key:0,variant:"danger",dismissible:"",onDismiss:e[2]||(e[2]=n=>y.value=null)},{default:a(()=>[i(b(y.value),1)]),_:1})):M("",!0),K.value&&!u.value?(c(),f(t(r),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(t(F),{label:"Loading bucket..."})]),_:1})):u.value?(c(),Z(ue,{key:2},[l(t(ee),{columns:4,gap:"0.75rem"},{default:a(()=>[l(t(x),{label:"Objects",value:u.value.objectCount??0,tone:"info"},null,8,["value"]),l(t(x),{label:"Size",value:O(u.value.totalSize),tone:"neutral"},null,8,["value"]),l(t(x),{label:"Versioning",value:u.value.versioning?"Enabled":"Disabled",tone:u.value.versioning?"success":"neutral"},null,8,["value","tone"]),l(t(x),{label:"Notifications",value:u.value.notifications??0,tone:(u.value.notifications??0)>0?"info":"neutral"},null,8,["value","tone"])]),_:1}),l(t(_),{variant:"outline"},{header:a(()=>[l(t(B),{weight:"semibold"},{default:a(()=>[...e[12]||(e[12]=[i("Upload object",-1)])]),_:1})]),default:a(()=>[l(t(r),{direction:"vertical",gap:"0.5rem"},{default:a(()=>[l(t(U),{modelValue:j.value,"onUpdate:modelValue":e[3]||(e[3]=n=>j.value=n),placeholder:"object/key.txt",label:"Key"},null,8,["modelValue"]),l(t(U),{modelValue:C.value,"onUpdate:modelValue":e[4]||(e[4]=n=>C.value=n),placeholder:"text/plain",label:"Content-Type"},null,8,["modelValue"]),l(t(B),{as:"label",tone:"muted",size:"sm"},{default:a(()=>[...e[13]||(e[13]=[i("Body",-1)])]),_:1}),te(T("textarea",{"onUpdate:modelValue":e[5]||(e[5]=n=>w.value=n),rows:"4",style:{width:"100%","font-family":"var(--tree-font-mono, monospace)",padding:"0.5rem"},placeholder:"Hello, world!"},null,512),[[ae,w.value]]),l(t(r),{direction:"horizontal",justify:"flex-end"},{default:a(()=>[l(t(p),{size:"sm",loading:V.value,onClick:I},{default:a(()=>[...e[14]||(e[14]=[i("Upload",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),l(t(_),{variant:"outline"},{header:a(()=>[l(t(r),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(t(B),{weight:"semibold"},{default:a(()=>[i("Objects ("+b(k.value.length)+" · "+b(O(G.value))+")",1)]),_:1}),l(t(r),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[l(t(U),{modelValue:h.value,"onUpdate:modelValue":e[6]||(e[6]=n=>h.value=n),placeholder:"prefix filter",size:"sm",onKeyup:e[7]||(e[7]=ie(n=>m(),["enter"]))},null,8,["modelValue"]),l(t(p),{size:"sm",variant:"ghost",onClick:e[8]||(e[8]=n=>m())},{default:a(()=>[...e[15]||(e[15]=[i("Apply",-1)])]),_:1})]),_:1})]),_:1})]),default:a(()=>[$.value?(c(),f(t(r),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(t(F),{label:"Loading objects..."})]),_:1})):k.value.length?(c(),f(t(ne),{key:2,columns:L,rows:k.value,"aria-label":"Bucket objects"},{"cell-key":a(({row:n})=>[l(t(oe),{href:R(String(n.key)),external:"",style:{"font-weight":"500"}},{default:a(()=>[i(b(n.key),1)]),_:2},1032,["href"])]),"cell-size":a(({row:n})=>[i(b(O(Number(n.size))),1)]),"cell-lastModified":a(({row:n})=>[i(b(H(n.lastModified)),1)]),"cell-actions":a(({row:n})=>[l(t(r),{direction:"horizontal",gap:"0.25rem",justify:"flex-end"},{default:a(()=>[T("a",{href:q(String(n.key)),target:"_blank",rel:"noopener noreferrer",style:{"text-decoration":"none"}},[l(t(p),{size:"sm",variant:"ghost"},{default:a(()=>[...e[16]||(e[16]=[i("Download",-1)])]),_:1})],8,ce),l(t(p),{size:"sm",variant:"ghost",tone:"danger",onClick:P=>A(String(n.key))},{default:a(()=>[...e[17]||(e[17]=[i(" Delete ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:1},8,["rows"])):(c(),f(t(le),{key:1,title:"No objects",description:"This bucket is empty (or the prefix filter excluded everything)."}))]),_:1})],64)):M("",!0)]),_:1}))}}),me=E({__name:"BucketDetailPage",props:{bucketName:{}},setup(z){const N=de();function d(){N.push("/buckets")}return(S,v)=>(c(),f(fe,{"bucket-name":z.bucketName,onBack:d},null,8,["bucket-name"]))}});export{me as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as C,a1 as M,l as N,o as D,m as i,e as u,$ as a,t as b,a4 as t,j as o,D as O,E as p,O as V,i as s,_ as c,f as T,w as U,x as L,G as E,H as F,C as G,v as _,R as P,A as q,u as y,I as A,n as f,b as w,a as z}from"./index-DGsXIPJ-.js";const H=C({__name:"BucketsView",setup(j){const $=M(),r=f([]),B=f({}),d=f(!0),v=f(null);let m=null;const x=[{key:"name",label:"Bucket"},{key:"service",label:"Service"},{key:"objectCount",label:"Objects",align:"right"},{key:"totalSize",label:"Size",align:"right"},{key:"versioning",label:"Versioning"},{key:"notifications",label:"Notifications",align:"right"},{key:"actions",label:"",align:"right"}],R=w(()=>r.value.map(n=>({...n,service:B.value[n.name]||""}))),g=w(()=>({buckets:r.value.length,objects:r.value.reduce((n,l)=>n+(l.objectCount||0),0),size:r.value.reduce((n,l)=>n+(l.totalSize||0),0)}));function h(n){if(n==null)return"—";if(n===0)return"0 B";const l=["B","KB","MB","GB","TB"],e=Math.floor(Math.log(n)/Math.log(1024));return`${(n/Math.pow(1024,e)).toFixed(e===0?0:1)} ${l[e]}`}async function S(){try{const[n,l]=await Promise.all([z.listBuckets(),z.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);r.value=n;const e={};for(const k of l.buckets||[])e[k.name]=k.service;B.value=e,v.value=null}catch(n){v.value=n.message||"Failed to load buckets"}finally{d.value=!1}}function I(n){$.push(`/buckets/${encodeURIComponent(n)}`)}return N(()=>{S(),m=window.setInterval(S,1e4)}),D(()=>{m&&window.clearInterval(m)}),(n,l)=>(i(),u(a(b),{direction:"vertical",gap:"1.25rem"},{default:t(()=>[o(a(O),{columns:3,gap:"1rem"},{default:t(()=>[o(a(p),{label:"Buckets",value:g.value.buckets,tone:"info",loading:d.value},null,8,["value","loading"]),o(a(p),{label:"Objects",value:g.value.objects,tone:"success",loading:d.value},null,8,["value","loading"]),o(a(p),{label:"Total size",value:h(g.value.size),tone:"neutral",loading:d.value},null,8,["value","loading"])]),_:1}),v.value?(i(),u(a(V),{key:0,variant:"danger",dismissible:"",onDismiss:l[0]||(l[0]=e=>v.value=null)},{default:t(()=>[s(c(v.value),1)]),_:1})):T("",!0),o(a(U),{variant:"outline"},{header:t(()=>[o(a(b),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[o(a(y),{weight:"semibold"},{default:t(()=>[...l[1]||(l[1]=[s("S3 Buckets",-1)])]),_:1}),o(a(y),{tone:"muted"},{default:t(()=>[...l[2]||(l[2]=[s("Refreshes every 10s",-1)])]),_:1})]),_:1})]),default:t(()=>[d.value?(i(),u(a(b),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[o(a(L),{label:"Loading buckets..."})]),_:1})):r.value.length?(i(),u(a(F),{key:2,columns:x,rows:R.value,"aria-label":"S3 buckets"},{"cell-name":t(({row:e})=>[o(a(A),{to:`/buckets/${encodeURIComponent(String(e.name))}`,style:{"font-weight":"600"}},{default:t(()=>[s(c(e.name),1)]),_:2},1032,["to"])]),"cell-service":t(({row:e})=>[e.service?(i(),u(a(P),{key:0,to:`/services/${encodeURIComponent(String(e.service))}`,style:{"text-decoration":"none"}},{default:t(()=>[o(a(q),{size:"sm",variant:"soft",clickable:""},{default:t(()=>[s(c(e.service),1)]),_:2},1024)]),_:2},1032,["to"])):(i(),u(a(y),{key:1,tone:"muted",size:"xs"},{default:t(()=>[...l[3]||(l[3]=[s("unmanaged",-1)])]),_:1}))]),"cell-objectCount":t(({row:e})=>[o(a(_),{tone:"info",variant:"soft"},{default:t(()=>[s(c(e.objectCount??0),1)]),_:2},1024)]),"cell-totalSize":t(({row:e})=>[s(c(h(e.totalSize)),1)]),"cell-versioning":t(({row:e})=>[o(a(_),{tone:e.versioning?"success":"neutral",variant:"soft"},{default:t(()=>[s(c(e.versioning?"Enabled":"Disabled"),1)]),_:2},1032,["tone"])]),"cell-notifications":t(({row:e})=>[o(a(_),{tone:Number(e.notifications)>0?"info":"neutral",variant:"soft"},{default:t(()=>[s(c(e.notifications??0),1)]),_:2},1032,["tone"])]),"cell-actions":t(({row:e})=>[o(a(G),{size:"sm",variant:"ghost",onClick:k=>I(String(e.name))},{default:t(()=>[...l[4]||(l[4]=[s(" Open ",-1)])]),_:1},8,["onClick"])]),_:1},8,["rows"])):(i(),u(a(E),{key:1,title:"No buckets found",description:"Register a microservice that defines S3 resources or create buckets directly in LocalStack."}))]),_:1})]),_:1}))}}),J=C({__name:"BucketsPage",setup(j){return($,r)=>(i(),u(H))}});export{J as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as A,l as U,o as j,m as n,e as l,$ as a,t as v,a4 as s,j as u,D as F,E as w,O as H,i as o,_ as r,f as b,w as q,x as W,G as V,H as J,C as Q,u as m,A as c,v as R,R as X,N as Y,n as p,b as S,a as L,a1 as Z}from"./index-DGsXIPJ-.js";const ee=A({__name:"DynamoTablesList",emits:["open"],setup(K,{emit:N}){const _=N,d=p([]),k=p([]),z=p({}),y=p(!0),x=p(null),$=p("");let h=null;const M=[{key:"name",label:"Table"},{key:"service",label:"Service"},{key:"status",label:"Status"},{key:"itemCount",label:"Items",align:"right"},{key:"seed",label:"Seed"},{key:"features",label:"Features"},{key:"actions",label:"",align:"right"}],I=S(()=>{const i=d.value.map(e=>{var G,P;const t=(G=e.keySchema.find(C=>C.KeyType==="HASH"))==null?void 0:G.AttributeName,f=(P=e.keySchema.find(C=>C.KeyType==="RANGE"))==null?void 0:P.AttributeName,D=f?`PK: ${t} · SK: ${f}`:`PK: ${t??"—"}`,E=k.value.find(C=>C.tableName===e.name);return{name:e.name,status:e.status,itemCount:e.itemCount||0,keyDescriptor:D,billingMode:e.billingMode,ttlOn:e.ttl.enabled,streamOn:e.streamEnabled,hasGsi:e.hasGsi,hasLsi:e.hasLsi,service:z.value[e.name]||"",seedItemCount:E?E.itemCount:null,exists:!0}});for(const e of k.value)!e.tableExists&&!i.some(t=>t.name===e.tableName)&&i.push({name:e.tableName,status:"PENDING",itemCount:0,keyDescriptor:"—",ttlOn:!1,streamOn:!1,hasGsi:!1,hasLsi:!1,service:z.value[e.tableName]||"",seedItemCount:e.itemCount,exists:!1});return i.sort((e,t)=>e.name.localeCompare(t.name))}),T=S(()=>{const i=$.value.trim().toLowerCase();return i?I.value.filter(e=>e.name.toLowerCase().includes(i)||(e.service||"").toLowerCase().includes(i)):I.value}),g=S(()=>({tables:d.value.length,items:d.value.reduce((i,e)=>i+(e.itemCount||0),0),warnings:d.value.reduce((i,e)=>{var t;return i+(((t=e.warnings)==null?void 0:t.length)||0)},0),seedsPending:k.value.filter(i=>!i.tableExists).length}));async function O(){try{const[i,e,t]=await Promise.all([L.listDynamoTables(),L.listSeeds().catch(()=>({seedsDir:"",entries:[]})),L.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);d.value=i.tables,k.value=e.entries;const f={};for(const D of t.tables)f[D.name]=D.service;z.value=f,x.value=null}catch(i){x.value=i.message||"Failed to load DynamoDB tables"}finally{y.value=!1}}function B(i){i.exists&&_("open",i.name)}return U(()=>{O(),h=window.setInterval(O,15e3)}),j(()=>{h&&window.clearInterval(h)}),(i,e)=>(n(),l(a(v),{direction:"vertical",gap:"1.25rem"},{default:s(()=>[u(a(F),{columns:4,gap:"1rem"},{default:s(()=>[u(a(w),{label:"Tables",value:g.value.tables,tone:"info",loading:y.value},null,8,["value","loading"]),u(a(w),{label:"Total items",value:g.value.items,tone:"success",loading:y.value},null,8,["value","loading"]),u(a(w),{label:"Seeds pending",value:g.value.seedsPending,tone:g.value.seedsPending>0?"warning":"neutral",loading:y.value},null,8,["value","tone","loading"]),u(a(w),{label:"Warnings",value:g.value.warnings,tone:g.value.warnings>0?"warning":"neutral",loading:y.value},null,8,["value","tone","loading"])]),_:1}),x.value?(n(),l(a(H),{key:0,variant:"danger",dismissible:"",onDismiss:e[0]||(e[0]=t=>x.value=null)},{default:s(()=>[o(r(x.value),1)]),_:1})):b("",!0),u(a(q),{variant:"outline"},{header:s(()=>[u(a(v),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:s(()=>[u(a(m),{weight:"semibold"},{default:s(()=>[...e[2]||(e[2]=[o("DynamoDB tables",-1)])]),_:1}),u(a(v),{direction:"horizontal",align:"center",gap:"1rem"},{default:s(()=>[u(a(Y),{modelValue:$.value,"onUpdate:modelValue":e[1]||(e[1]=t=>$.value=t),placeholder:"Filter tables...",style:{"min-width":"16rem"}},null,8,["modelValue"]),u(a(m),{tone:"muted",size:"xs"},{default:s(()=>[...e[3]||(e[3]=[o(" Rows with reduced opacity exist only as a seed file ",-1)])]),_:1})]),_:1})]),_:1})]),default:s(()=>[y.value?(n(),l(a(v),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:s(()=>[u(a(W),{label:"Loading tables..."})]),_:1})):I.value.length?T.value.length?(n(),l(a(J),{key:3,columns:M,rows:T.value,"row-key":"name","row-state":t=>t.exists?"default":"muted","aria-label":"DynamoDB tables"},{"cell-name":s(({row:t})=>[u(a(v),{direction:"vertical",gap:"0.125rem"},{default:s(()=>[t.exists?(n(),l(a(m),{key:0,weight:"semibold",style:{cursor:"pointer","text-decoration":"underline","text-decoration-style":"dotted","text-underline-offset":"3px"},onClick:f=>B(t)},{default:s(()=>[o(r(t.name),1)]),_:2},1032,["onClick"])):(n(),l(a(v),{key:1,direction:"horizontal",gap:"0.375rem",align:"center"},{default:s(()=>[u(a(m),{weight:"semibold"},{default:s(()=>[o(r(t.name),1)]),_:2},1024),u(a(c),{size:"sm",variant:"soft"},{default:s(()=>[...e[4]||(e[4]=[o("seed only",-1)])]),_:1})]),_:2},1024)),u(a(m),{tone:"muted",family:"mono",size:"xs"},{default:s(()=>[o(r(t.keyDescriptor),1)]),_:2},1024)]),_:2},1024)]),"cell-service":s(({row:t})=>[t.service?(n(),l(a(X),{key:0,to:`/services/${encodeURIComponent(String(t.service))}`,style:{"text-decoration":"none"}},{default:s(()=>[u(a(c),{size:"sm",variant:"soft",clickable:""},{default:s(()=>[o(r(t.service),1)]),_:2},1024)]),_:2},1032,["to"])):(n(),l(a(m),{key:1,tone:"muted",size:"xs"},{default:s(()=>[...e[5]||(e[5]=[o("—",-1)])]),_:1}))]),"cell-status":s(({row:t})=>[t.exists?(n(),l(a(R),{key:0,tone:t.status==="ACTIVE"?"success":"warning",variant:"soft"},{default:s(()=>[o(r(t.status||"UNKNOWN"),1)]),_:2},1032,["tone"])):(n(),l(a(R),{key:1,tone:"warning",variant:"outline"},{default:s(()=>[...e[6]||(e[6]=[o("Not created",-1)])]),_:1}))]),"cell-itemCount":s(({row:t})=>[o(r(t.exists?t.itemCount:"—"),1)]),"cell-seed":s(({row:t})=>[t.seedItemCount!==null?(n(),l(a(R),{key:0,tone:t.exists?"info":"warning",variant:"soft"},{default:s(()=>[o(r(t.seedItemCount)+" seeded item"+r(t.seedItemCount===1?"":"s"),1)]),_:2},1032,["tone"])):(n(),l(a(m),{key:1,tone:"muted",size:"xs"},{default:s(()=>[...e[7]||(e[7]=[o("no seed",-1)])]),_:1}))]),"cell-features":s(({row:t})=>[u(a(v),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:s(()=>[t.billingMode?(n(),l(a(c),{key:0,size:"sm",variant:"soft"},{default:s(()=>[o(r(t.billingMode),1)]),_:2},1024)):b("",!0),t.ttlOn?(n(),l(a(c),{key:1,size:"sm",variant:"solid"},{default:s(()=>[...e[8]||(e[8]=[o("TTL",-1)])]),_:1})):b("",!0),t.streamOn?(n(),l(a(c),{key:2,size:"sm",variant:"solid"},{default:s(()=>[...e[9]||(e[9]=[o("Streams",-1)])]),_:1})):b("",!0),t.hasGsi?(n(),l(a(c),{key:3,size:"sm",variant:"soft"},{default:s(()=>[...e[10]||(e[10]=[o("GSI",-1)])]),_:1})):b("",!0),t.hasLsi?(n(),l(a(c),{key:4,size:"sm",variant:"soft"},{default:s(()=>[...e[11]||(e[11]=[o("LSI",-1)])]),_:1})):b("",!0)]),_:2},1024)]),"cell-actions":s(({row:t})=>[t.exists?(n(),l(a(Q),{key:0,size:"sm",variant:"soft",onClick:f=>B(t)},{default:s(()=>[...e[12]||(e[12]=[o(" Explore ",-1)])]),_:1},8,["onClick"])):(n(),l(a(m),{key:1,tone:"muted",size:"xs"},{default:s(()=>[...e[13]||(e[13]=[o(" Register service to provision ",-1)])]),_:1}))]),_:1},8,["rows","row-state"])):(n(),l(a(V),{key:2,title:"No matching tables",description:`No tables match "${$.value}".`},null,8,["description"])):(n(),l(a(V),{key:1,title:"No DynamoDB tables",description:"Register a microservice with DynamoDB resources or drop a seed file into the seeds directory."}))]),_:1})]),_:1}))}}),ae=A({__name:"DynamoPage",setup(K){const N=Z();function _(d){N.push(`/dynamo/${encodeURIComponent(d)}`)}return(d,k)=>(n(),l(ee,{onOpen:_}))}});export{ae as default};
|