@objectstack/service-settings 10.2.0 → 10.3.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.
- package/dist/index.cjs +16 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -852,6 +852,7 @@ import { dirname, join } from "path";
|
|
|
852
852
|
var SECRET_KEY_ENV = "OS_SECRET_KEY";
|
|
853
853
|
var DEV_KEY_ENV = "OS_DEV_CRYPTO_KEY";
|
|
854
854
|
var DEV_KEY_LEGACY_ENV = "OBJECTSTACK_DEV_CRYPTO_KEY";
|
|
855
|
+
var AUTOKEY_ENV = "OS_CRYPTO_AUTOKEY";
|
|
855
856
|
var processEnv = () => globalThis.process?.env ?? {};
|
|
856
857
|
var detectMode = (env) => {
|
|
857
858
|
if (env.VITEST || env.NODE_ENV === "test") return "test";
|
|
@@ -875,6 +876,10 @@ var parseKey = (raw) => {
|
|
|
875
876
|
}
|
|
876
877
|
return void 0;
|
|
877
878
|
};
|
|
879
|
+
var parseBool = (raw) => {
|
|
880
|
+
const v = raw?.trim().toLowerCase();
|
|
881
|
+
return v === "1" || v === "true" || v === "yes";
|
|
882
|
+
};
|
|
878
883
|
var loadExistingKey = (path) => {
|
|
879
884
|
try {
|
|
880
885
|
if (!existsSync(path)) return void 0;
|
|
@@ -948,6 +953,17 @@ function resolveDataKey(opts) {
|
|
|
948
953
|
);
|
|
949
954
|
return { key: existing, source: "file" };
|
|
950
955
|
}
|
|
956
|
+
if (parseBool(env[AUTOKEY_ENV])) {
|
|
957
|
+
const persisted2 = loadOrCreateKey(path);
|
|
958
|
+
if (persisted2) {
|
|
959
|
+
if (persisted2.generated) {
|
|
960
|
+
warn(
|
|
961
|
+
`[LocalCryptoProvider] No ${SECRET_KEY_ENV} set \u2014 minted a new AES-256-GCM key and persisted it to ${path} (mode 0600). Restarts on this host reuse it automatically. For containers, CI, or multi-node, set ${SECRET_KEY_ENV} so every node shares one key.`
|
|
962
|
+
);
|
|
963
|
+
}
|
|
964
|
+
return { key: persisted2.key, source: persisted2.generated ? "generated-file" : "file" };
|
|
965
|
+
}
|
|
966
|
+
}
|
|
951
967
|
throw new Error(MISSING_PROD_KEY_MSG(path));
|
|
952
968
|
}
|
|
953
969
|
const persisted = loadOrCreateKey(path);
|