@fjall/clickhouse 2.1.1 → 2.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/.minified +1 -1
- package/dist/connectWithRetry.js +1 -1
- package/dist/provisionUsers.js +1 -1
- package/package.json +3 -3
package/dist/.minified
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
10 files minified at 2026-05-
|
|
1
|
+
10 files minified at 2026-05-25T21:30:41.139Z
|
package/dist/connectWithRetry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getErrorMessage as
|
|
1
|
+
import{getErrorMessage as g,maskSensitiveOutput as d}from"@fjall/util";import{sleepAbortable as y}from"./sleepAbortable.js";const h=[5e3,1e4,2e4,4e4,6e4],p=3,m=516,A=["ECONNREFUSED","ETIMEDOUT","ENOTFOUND"];async function u(f,c){const{label:n,signal:a,logger:i}=c,e=c.delays??h;let s;for(let t=0;t<e.length;t++){if(a?.aborted)throw new Error(`connectWithRetry: ${n} aborted by signal before attempt ${t+1}`);try{await f.ping(),t>0&&i?.info("connect succeeded after retry",{label:n,attempt:t+1});return}catch(r){s=r;const o=typeof r=="object"&&r!==null&&"code"in r?r.code:void 0,l=o===m,E=typeof o=="string"&&A.includes(o);if(!(E||l&&t<p))throw r;const b=l?"AUTH_FAILED":E?o:"UNKNOWN";i?.warn("connect attempt failed; retrying",{label:d(n),attempt:t+1,attempts:e.length,delayMs:e[t],code:b}),await y(e[t],a)}}if(a?.aborted)throw new Error(`connectWithRetry: ${n} aborted by signal after ${e.length} attempts`);const _=d(g(s));throw new Error(`connectWithRetry: ${n} failed after ${e.length} attempts: ${_}`)}export{u as connectWithRetry};
|
package/dist/provisionUsers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CLICKHOUSE_MANAGED_USERS_ENV as i,userPasswordEnvName as
|
|
1
|
+
import{getErrorMessage as w,maskSensitiveOutput as g}from"@fjall/util";import{CLICKHOUSE_MANAGED_USERS_ENV as i,userPasswordEnvName as S}from"./constants.js";import{ManagedUserNamesSchema as h}from"./schemas.js";function I(r){return r.replace(/\\/g,"\\\\").replace(/'/g,"''")}async function F(r){const{client:t,signal:v,logger:s}=r,m=r.env??process.env,o=m[i];if(o===void 0||o==="")return s?.info("no managed users to provision (manifest env absent)",{}),{provisioned:[]};let c;try{c=JSON.parse(o)}catch(e){throw new Error(`provisionUsersFromEnv: malformed ${i} \u2014 JSON parse failed: ${g(w(e))}`)}const n=h.safeParse(c);if(!n.success)throw new Error(`provisionUsersFromEnv: malformed ${i} \u2014 ${n.error.message}`);const p=n.data;if(p.length===0)return s?.info("no managed users to provision (manifest empty)",{}),{provisioned:[]};const d=[];for(const e of p){if(v?.aborted)throw new Error(`provisionUsersFromEnv: aborted by signal before user '${e}'`);const f=S(e),a=m[f];if(a===void 0||a==="")throw new Error(`provisionUsersFromEnv: required env ${f} is missing or empty`);const E=I(a),u=`CREATE USER IF NOT EXISTS ${e} IDENTIFIED WITH sha256_password BY '${E}'`,l=`ALTER USER ${e} IDENTIFIED WITH sha256_password BY '${E}'`;await t.command({query:u}),await t.command({query:l}),s?.info("clickhouse user provisioned",{name:e}),d.push(e)}return{provisioned:d}}export{F as provisionUsersFromEnv};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/clickhouse",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Runtime helpers for ClickHouse migration containers — user provisioning, SQL file application, connection retry. Consumes the manifest contract published by @fjall/components-infrastructure ClickHouseDatabase.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"@clickhouse/client": "^1.18.0"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@fjall/util": "^2.
|
|
47
|
+
"@fjall/util": "^2.3.0",
|
|
48
48
|
"zod": "^4.4.3"
|
|
49
49
|
},
|
|
50
50
|
"engines": {
|
|
51
51
|
"node": ">=22.0.0"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "ddb5678e345fe2e480ab2573c2bc0f52c2b2eb16"
|
|
54
54
|
}
|