mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-10-22 08:25:26 +00:00
Merge branch 'canary' into feat/self-delete-account
This commit is contained in:
@@ -65,6 +65,7 @@ export function selectAIProvider(config: { apiUrl: string; apiKey: string }) {
|
||||
baseURL: config.apiUrl,
|
||||
headers: {
|
||||
Authorization: `Bearer ${config.apiKey}`,
|
||||
"X-Pplx-Integration": "dokploy",
|
||||
},
|
||||
});
|
||||
case "mistral":
|
||||
|
||||
@@ -1,12 +1,24 @@
|
||||
// A shell word as produced by shell-quote: bare, 'single' or "double" quoted.
|
||||
const SHELL_WORD = String.raw`(?:[^\s'"\\]|\\.|'[^']*'|"(?:[^"\\]|\\.)*")+`;
|
||||
|
||||
const ACCESS_KEY_PATTERN = new RegExp(
|
||||
`(--s3-access-key-id=)${SHELL_WORD}`,
|
||||
"g",
|
||||
);
|
||||
const SECRET_KEY_PATTERN = new RegExp(
|
||||
`(--s3-secret-access-key=)${SHELL_WORD}`,
|
||||
"g",
|
||||
);
|
||||
|
||||
/**
|
||||
* Redacts S3 credentials from rclone command strings.
|
||||
*
|
||||
* Used to prevent credential leakage in structured logs and error output.
|
||||
* Matches the flag format produced by `getS3Credentials()`:
|
||||
* --s3-access-key-id="VALUE" and --s3-secret-access-key="VALUE"
|
||||
* --s3-access-key-id=VALUE and --s3-secret-access-key=VALUE (shell-quoted)
|
||||
*/
|
||||
export const redactRcloneCredentials = (command: string): string => {
|
||||
return command
|
||||
.replace(/(--s3-access-key-id=)"[^"]*"/g, '$1"[REDACTED]"')
|
||||
.replace(/(--s3-secret-access-key=)"[^"]*"/g, '$1"[REDACTED]"');
|
||||
.replace(ACCESS_KEY_PATTERN, '$1"[REDACTED]"')
|
||||
.replace(SECRET_KEY_PATTERN, '$1"[REDACTED]"');
|
||||
};
|
||||
|
||||
@@ -497,6 +497,7 @@ export interface ComposeSpecification {
|
||||
*/
|
||||
include?: DefinitionsInclude[];
|
||||
services?: PropertiesServices;
|
||||
models?: PropertiesModels;
|
||||
networks?: PropertiesNetworks;
|
||||
volumes?: PropertiesVolumes;
|
||||
secrets?: PropertiesSecrets;
|
||||
@@ -648,6 +649,15 @@ export interface DefinitionsService {
|
||||
mem_swappiness?: number;
|
||||
memswap_limit?: number | string;
|
||||
network_mode?: string;
|
||||
models?:
|
||||
| ListOfStrings
|
||||
| {
|
||||
[k: string]: {
|
||||
endpoint_var?: string;
|
||||
model_var?: string;
|
||||
[key: `x-${string}`]: unknown;
|
||||
} | null;
|
||||
};
|
||||
networks?:
|
||||
| ListOfStrings
|
||||
| {
|
||||
@@ -877,3 +887,13 @@ export interface DefinitionsConfig {
|
||||
*/
|
||||
[k: string]: unknown;
|
||||
}
|
||||
export interface PropertiesModels {
|
||||
[k: string]: DefinitionsModel;
|
||||
}
|
||||
export interface DefinitionsModel {
|
||||
name?: string;
|
||||
model: string;
|
||||
context_size?: number;
|
||||
runtime_flags?: string[];
|
||||
[key: `x-${string}`]: unknown;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user