Merge branch 'main' into appeditor-multiselect-input-type

This commit is contained in:
Clement Zhang
2024-11-04 17:37:24 +01:00
20 changed files with 340 additions and 115 deletions
+7
View File
@@ -1,5 +1,12 @@
# Changelog
## [1.417.1](https://github.com/windmill-labs/windmill/compare/v1.417.0...v1.417.1) (2024-11-04)
### Bug Fixes
* missing opts for pull and push instance configs ([#4630](https://github.com/windmill-labs/windmill/issues/4630)) ([e92a338](https://github.com/windmill-labs/windmill/commit/e92a338432d2732e6be74c3604b9fa95239e1ca3))
## 1.417.0 (2024-11-03)
* feat(cli): instance yaml files inside the instance prefix folders (#4627)
+240 -38
View File
@@ -2984,6 +2984,17 @@ dependencies = [
"winapi",
]
[[package]]
name = "displaydoc"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]]
name = "dlopen2"
version = "0.7.0"
@@ -4345,6 +4356,124 @@ dependencies = [
"cc",
]
[[package]]
name = "icu_collections"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
dependencies = [
"displaydoc",
"yoke",
"zerofrom",
"zerovec",
]
[[package]]
name = "icu_locid"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
dependencies = [
"displaydoc",
"litemap",
"tinystr",
"writeable",
"zerovec",
]
[[package]]
name = "icu_locid_transform"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
dependencies = [
"displaydoc",
"icu_locid",
"icu_locid_transform_data",
"icu_provider",
"tinystr",
"zerovec",
]
[[package]]
name = "icu_locid_transform_data"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
[[package]]
name = "icu_normalizer"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
dependencies = [
"displaydoc",
"icu_collections",
"icu_normalizer_data",
"icu_properties",
"icu_provider",
"smallvec",
"utf16_iter",
"utf8_iter",
"write16",
"zerovec",
]
[[package]]
name = "icu_normalizer_data"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
[[package]]
name = "icu_properties"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
dependencies = [
"displaydoc",
"icu_collections",
"icu_locid_transform",
"icu_properties_data",
"icu_provider",
"tinystr",
"zerovec",
]
[[package]]
name = "icu_properties_data"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
[[package]]
name = "icu_provider"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
dependencies = [
"displaydoc",
"icu_locid",
"icu_provider_macros",
"stable_deref_trait",
"tinystr",
"writeable",
"yoke",
"zerofrom",
"zerovec",
]
[[package]]
name = "icu_provider_macros"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]]
name = "ident_case"
version = "1.0.1"
@@ -4363,12 +4492,23 @@ dependencies = [
[[package]]
name = "idna"
version = "0.5.0"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
dependencies = [
"unicode-bidi",
"unicode-normalization",
"idna_adapter",
"smallvec",
"utf8_iter",
]
[[package]]
name = "idna_adapter"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
dependencies = [
"icu_normalizer",
"icu_properties",
]
[[package]]
@@ -4456,11 +4596,11 @@ checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708"
[[package]]
name = "is-macro"
version = "0.3.6"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2069faacbe981460232f880d26bf3c7634e322d49053aa48c27e3ae642f728f1"
checksum = "1d57a3e447e24c22647738e4607f1df1e0ec6f72e16182c4cd199f647cdfb0e4"
dependencies = [
"Inflector",
"heck 0.5.0",
"proc-macro2",
"quote",
"syn 2.0.87",
@@ -4761,6 +4901,12 @@ version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
[[package]]
name = "litemap"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
[[package]]
name = "lock_api"
version = "0.4.12"
@@ -8978,18 +9124,18 @@ dependencies = [
[[package]]
name = "thiserror"
version = "1.0.66"
version = "1.0.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d171f59dbaa811dbbb1aee1e73db92ec2b122911a48e1390dfe327a821ddede"
checksum = "3b3c6efbfc763e64eb85c11c25320f0737cb7364c4b6336db90aa9ebe27a0bbd"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.66"
version = "1.0.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b08be0f17bd307950653ce45db00cd31200d82b624b36e181337d9c7d92765b5"
checksum = "b607164372e89797d78b8e23a6d67d5d1038c1c65efd52e1389ef8b77caba2a6"
dependencies = [
"proc-macro2",
"quote",
@@ -9127,6 +9273,16 @@ dependencies = [
"crunchy",
]
[[package]]
name = "tinystr"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
dependencies = [
"displaydoc",
"zerovec",
]
[[package]]
name = "tinyvec"
version = "1.8.0"
@@ -10018,12 +10174,12 @@ dependencies = [
[[package]]
name = "url"
version = "2.5.2"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada"
dependencies = [
"form_urlencoded",
"idna 0.5.0",
"idna 1.0.3",
"percent-encoding",
"serde",
]
@@ -10052,12 +10208,24 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
[[package]]
name = "utf16_iter"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
[[package]]
name = "utf8-ranges"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fcfc827f90e53a02eaef5e535ee14266c1d569214c6aa70133a624d8a3164ba"
[[package]]
name = "utf8_iter"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]]
name = "utf8parse"
version = "0.2.2"
@@ -10395,7 +10563,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windmill"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"axum",
@@ -10437,7 +10605,7 @@ dependencies = [
[[package]]
name = "windmill-api"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"argon2",
@@ -10522,7 +10690,7 @@ dependencies = [
[[package]]
name = "windmill-api-client"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"base64 0.22.1",
"chrono",
@@ -10540,7 +10708,7 @@ dependencies = [
[[package]]
name = "windmill-audit"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"chrono",
"serde",
@@ -10553,7 +10721,7 @@ dependencies = [
[[package]]
name = "windmill-autoscaling"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"rsmq_async",
@@ -10568,7 +10736,7 @@ dependencies = [
[[package]]
name = "windmill-common"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"async-stream",
@@ -10614,7 +10782,7 @@ dependencies = [
[[package]]
name = "windmill-git-sync"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"regex",
"rsmq_async",
@@ -10629,7 +10797,7 @@ dependencies = [
[[package]]
name = "windmill-indexer"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"bytes",
@@ -10651,7 +10819,7 @@ dependencies = [
[[package]]
name = "windmill-macros"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"itertools 0.13.0",
"lazy_static",
@@ -10663,7 +10831,7 @@ dependencies = [
[[package]]
name = "windmill-parser"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"convert_case 0.6.0",
"serde",
@@ -10672,7 +10840,7 @@ dependencies = [
[[package]]
name = "windmill-parser-bash"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"lazy_static",
@@ -10684,7 +10852,7 @@ dependencies = [
[[package]]
name = "windmill-parser-go"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"gosyn",
@@ -10696,7 +10864,7 @@ dependencies = [
[[package]]
name = "windmill-parser-graphql"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"lazy_static",
@@ -10708,7 +10876,7 @@ dependencies = [
[[package]]
name = "windmill-parser-php"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"itertools 0.13.0",
@@ -10719,7 +10887,7 @@ dependencies = [
[[package]]
name = "windmill-parser-py"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"itertools 0.13.0",
@@ -10730,7 +10898,7 @@ dependencies = [
[[package]]
name = "windmill-parser-py-imports"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"async-recursion",
@@ -10748,7 +10916,7 @@ dependencies = [
[[package]]
name = "windmill-parser-rust"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"convert_case 0.6.0",
@@ -10765,7 +10933,7 @@ dependencies = [
[[package]]
name = "windmill-parser-sql"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"lazy_static",
@@ -10777,7 +10945,7 @@ dependencies = [
[[package]]
name = "windmill-parser-ts"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"lazy_static",
@@ -10795,7 +10963,7 @@ dependencies = [
[[package]]
name = "windmill-parser-wasm"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"getrandom 0.2.15",
@@ -10816,7 +10984,7 @@ dependencies = [
[[package]]
name = "windmill-parser-yaml"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"serde_json",
@@ -10826,7 +10994,7 @@ dependencies = [
[[package]]
name = "windmill-queue"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"async-recursion",
@@ -10859,7 +11027,7 @@ dependencies = [
[[package]]
name = "windmill-sql-datatype-parser-wasm"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"wasm-bindgen",
"wasm-bindgen-test",
@@ -10869,7 +11037,7 @@ dependencies = [
[[package]]
name = "windmill-worker"
version = "1.417.0"
version = "1.417.1"
dependencies = [
"anyhow",
"async-recursion",
@@ -11165,6 +11333,18 @@ version = "0.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
[[package]]
name = "write16"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
[[package]]
name = "writeable"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
[[package]]
name = "wyz"
version = "0.5.1"
@@ -11287,6 +11467,28 @@ version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
[[package]]
name = "zerovec"
version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
dependencies = [
"yoke",
"zerofrom",
"zerovec-derive",
]
[[package]]
name = "zerovec-derive"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]]
name = "zip"
version = "0.6.6"
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "windmill"
version = "1.417.0"
version = "1.417.1"
authors.workspace = true
edition.workspace = true
@@ -29,7 +29,7 @@ members = [
]
[workspace.package]
version = "1.417.0"
version = "1.417.1"
authors = ["Ruben Fiszel <ruben@windmill.dev>"]
edition = "2021"
+1 -1
View File
@@ -1,7 +1,7 @@
openapi: "3.0.3"
info:
version: 1.417.0
version: 1.417.1
title: Windmill API
contact:
+1 -1
View File
@@ -2,7 +2,7 @@ import { sleep } from "https://deno.land/x/sleep@v1.2.1/mod.ts";
import * as windmill from "https://deno.land/x/windmill@v1.174.0/mod.ts";
import * as api from "https://deno.land/x/windmill@v1.174.0/windmill-api/index.ts";
export const VERSION = "v1.417.0";
export const VERSION = "v1.417.1";
export async function login(email: string, password: string): Promise<string> {
return await windmill.UserService.login({
+2 -2
View File
@@ -261,7 +261,7 @@ export async function pickInstance(
return instance;
}
async function instancePull(opts: GlobalOptions & InstanceSyncOptions) {
async function instancePull(opts: InstanceSyncOptions) {
const instance = await pickInstance(opts, true);
log.info("Pulling instance-level changes");
log.info(`remote (${instance.name}) -> local`);
@@ -393,7 +393,7 @@ async function instancePull(opts: GlobalOptions & InstanceSyncOptions) {
}
}
async function instancePush(opts: GlobalOptions & InstanceSyncOptions) {
async function instancePush(opts: InstanceSyncOptions) {
let instances = await allInstances();
const instance = await pickInstance(opts, true);
+1 -1
View File
@@ -60,7 +60,7 @@ export {
// }
// });
export const VERSION = "1.417.0";
export const VERSION = "1.417.1";
const command = new Command()
.name("wmill")
+34 -28
View File
@@ -33,6 +33,22 @@ export interface SimplifiedSettings {
name: string;
}
const INSTANCE_SETTINGS_PATH = "instance_settings.yaml";
let instanceSettingsPath = INSTANCE_SETTINGS_PATH;
async function checkInstanceSettingsPath(opts: InstanceSyncOptions) {
if (opts.prefix && opts.folderPerInstance && opts.prefixSettings) {
instanceSettingsPath = `${opts.prefix}/${INSTANCE_SETTINGS_PATH}`;
}
}
const INSTANCE_CONFIGS_PATH = "instance_configs.yaml";
let instanceConfigsPath = INSTANCE_CONFIGS_PATH;
async function checkInstanceConfigPath(opts: InstanceSyncOptions) {
if (opts.prefix && opts.folderPerInstance && opts.prefixSettings) {
instanceConfigsPath = `${opts.prefix}/${INSTANCE_CONFIGS_PATH}`;
}
}
export async function pushWorkspaceSettings(
workspace: string,
_path: string,
@@ -260,22 +276,15 @@ export async function pushWorkspaceKey(
}
}
const INSTANCE_SETTINGS_PATH = "instance_settings.yaml";
export async function readInstanceSettings(
opts: GlobalOptions & InstanceSyncOptions
) {
export async function readInstanceSettings(opts: InstanceSyncOptions) {
let localSettings: GlobalSetting[] = [];
let path = INSTANCE_SETTINGS_PATH;
if (opts.prefix && opts.folderPerInstance && opts.prefixSettings) {
path = `${opts.prefix}/${INSTANCE_SETTINGS_PATH}`;
}
await checkInstanceSettingsPath(opts);
try {
localSettings = (await yamlParseFile(path)) as GlobalSetting[];
localSettings = (await yamlParseFile(instanceSettingsPath)) as GlobalSetting[];
} catch {
log.warn(`No ${path} found`);
log.warn(`No ${instanceSettingsPath} found`);
}
return localSettings;
}
@@ -337,11 +346,13 @@ async function processField(
}
export async function pullInstanceSettings(
opts: GlobalOptions & InstanceSyncOptions,
opts: InstanceSyncOptions,
preview = false
) {
const remoteSettings = await wmill.listGlobalSettings();
await checkInstanceSettingsPath(opts);
if (preview) {
const localSettings: GlobalSetting[] = await readInstanceSettings(opts);
const processedSettings = await processInstanceSettings(
@@ -362,16 +373,16 @@ export async function pullInstanceSettings(
"encode"
);
await Deno.writeTextFile(
INSTANCE_SETTINGS_PATH,
instanceSettingsPath,
yamlStringify(processedSettings)
);
log.info(colors.green(`Settings written to ${INSTANCE_SETTINGS_PATH}`));
log.info(colors.green(`Settings written to ${instanceSettingsPath}`));
}
}
export async function pushInstanceSettings(
opts: GlobalOptions & InstanceSyncOptions,
opts: InstanceSyncOptions,
preview: boolean = false
) {
const remoteSettings = await wmill.listGlobalSettings();
@@ -434,28 +445,23 @@ export async function pushInstanceSettings(
}
}
const INSTANCE_CONFIGS_PATH = "instance_configs.yaml";
export async function readLocalConfigs(
opts: GlobalOptions & InstanceSyncOptions
opts: InstanceSyncOptions
) {
let localConfigs: Config[] = [];
let path = INSTANCE_CONFIGS_PATH;
if (opts.prefix && opts.folderPerInstance && opts.prefixSettings) {
path = `${opts.prefix}/${INSTANCE_CONFIGS_PATH}`;
}
await checkInstanceConfigPath(opts);
try {
localConfigs = (await yamlParseFile(path)) as Config[];
localConfigs = (await yamlParseFile(instanceConfigsPath)) as Config[];
} catch {
log.warn(`No ${path} found`);
log.warn(`No ${instanceConfigsPath} found`);
}
return localConfigs;
}
export async function pullInstanceConfigs(
opts: GlobalOptions & InstanceSyncOptions,
opts: InstanceSyncOptions,
preview = false
) {
const remoteConfigs = (await wmill.listConfigs()).map((x) => {
@@ -478,16 +484,16 @@ export async function pullInstanceConfigs(
log.info("Pulling configs from instance");
await Deno.writeTextFile(
INSTANCE_CONFIGS_PATH,
instanceConfigsPath,
yamlStringify(remoteConfigs as any)
);
log.info(colors.green(`Configs written to ${INSTANCE_CONFIGS_PATH}`));
log.info(colors.green(`Configs written to ${instanceConfigsPath}`));
}
}
export async function pushInstanceConfigs(
opts: GlobalOptions & InstanceSyncOptions,
opts: InstanceSyncOptions,
preview: boolean = false
) {
const remoteConfigs = (await wmill.listConfigs()).map((x) => {
+36 -26
View File
@@ -23,6 +23,22 @@ import {
InstanceGroup,
} from "./gen/types.gen.ts";
const INSTANCE_USERS_PATH = "instance_users.yaml";
let instanceUsersPath = INSTANCE_USERS_PATH;
async function checkInstanceUsersPath(opts: InstanceSyncOptions) {
if (opts.prefix && opts.folderPerInstance && opts.prefixSettings) {
instanceUsersPath = `${opts.prefix}/${INSTANCE_USERS_PATH}`;
}
}
const INSTANCE_GROUPS_PATH = "instance_groups.yaml";
let instanceGroupsPath = INSTANCE_GROUPS_PATH;
async function checkInstanceGroupsPath(opts: InstanceSyncOptions) {
if (opts.prefix && opts.folderPerInstance && opts.prefixSettings) {
instanceGroupsPath = `${opts.prefix}/${INSTANCE_GROUPS_PATH}`;
}
}
async function list(opts: GlobalOptions) {
await requireLogin(opts);
@@ -386,67 +402,59 @@ export async function pushGroup(
}
}
const INSTANCE_USERS_PATH = "instance_users.yaml";
export async function pullInstanceUsers(
opts: GlobalOptions & InstanceSyncOptions,
opts: InstanceSyncOptions,
preview: boolean = false
) {
const remoteUsers = await wmill.globalUsersExport();
await checkInstanceUsersPath(opts);
if (preview) {
const localUsers: ExportedUser[] = await readInstanceUsers(opts);
return compareInstanceObjects(remoteUsers, localUsers, "email", "user");
} else {
log.info("Pulling users from instance...");
await Deno.writeTextFile(
INSTANCE_USERS_PATH,
instanceUsersPath,
yamlStringify(remoteUsers as any)
);
log.info(colors.green(`Users written to ${INSTANCE_USERS_PATH}`));
log.info(colors.green(`Users written to ${instanceUsersPath}`));
}
}
export async function readInstanceUsers(
opts: GlobalOptions & InstanceSyncOptions
opts: InstanceSyncOptions
) {
let localUsers: ExportedUser[] = [];
let path = INSTANCE_USERS_PATH;
if (opts.prefix && opts.folderPerInstance && opts.prefixSettings) {
path = `${opts.prefix}/${INSTANCE_USERS_PATH}`;
}
await checkInstanceUsersPath(opts);
try {
localUsers = (await yamlParseFile(path)) as ExportedUser[];
localUsers = (await yamlParseFile(instanceUsersPath)) as ExportedUser[];
} catch {
log.warn(`No ${path} file found`);
log.warn(`No ${instanceUsersPath} file found`);
}
return localUsers;
}
const INSTANCE_GROUPS_PATH = "instance_groups.yaml";
export async function readInstanceGroups(
opts: GlobalOptions & InstanceSyncOptions
opts: InstanceSyncOptions
) {
let localGroups: InstanceGroup[] = [];
let path = INSTANCE_GROUPS_PATH;
if (opts.prefix && opts.folderPerInstance && opts.prefixSettings) {
path = `${opts.prefix}/${INSTANCE_GROUPS_PATH}`;
}
await checkInstanceGroupsPath(opts);
try {
localGroups = (await yamlParseFile(path)) as ExportedInstanceGroup[];
localGroups = (await yamlParseFile(instanceGroupsPath)) as ExportedInstanceGroup[];
} catch {
log.warn(`No ${path} file found`);
log.warn(`No ${instanceGroupsPath} file found`);
}
return localGroups;
}
export async function pushInstanceUsers(
opts: GlobalOptions & InstanceSyncOptions,
opts: InstanceSyncOptions,
preview: boolean = false
) {
const remoteUsers = await wmill.globalUsersExport();
@@ -465,11 +473,13 @@ export async function pushInstanceUsers(
}
export async function pullInstanceGroups(
opts: GlobalOptions & InstanceSyncOptions,
opts: InstanceSyncOptions,
preview = false
) {
const remoteGroups = await wmill.exportInstanceGroups();
await checkInstanceGroupsPath(opts);
if (preview) {
const localGroups = await readInstanceGroups(opts);
return compareInstanceObjects(remoteGroups, localGroups, "name", "group");
@@ -477,16 +487,16 @@ export async function pullInstanceGroups(
log.info("Pulling groups from instance...");
await Deno.writeTextFile(
INSTANCE_GROUPS_PATH,
instanceGroupsPath,
yamlStringify(remoteGroups as any)
);
log.info(colors.green(`Groups written to ${INSTANCE_GROUPS_PATH}`));
log.info(colors.green(`Groups written to ${instanceGroupsPath}`));
}
}
export async function pushInstanceGroups(
opts: GlobalOptions & InstanceSyncOptions,
opts: InstanceSyncOptions,
preview: boolean = false
) {
const remoteGroups = await wmill.exportInstanceGroups();
+4 -4
View File
@@ -56,7 +56,7 @@ export async function displayWorkerGroups(opts: void) {
async function pullWorkerGroups(opts: InstanceSyncOptions) {
await pickInstance(opts, true);
const totalChanges = await pullInstanceConfigs(true) ?? 0;
const totalChanges = await pullInstanceConfigs(opts, true) ?? 0;
if (totalChanges === 0) {
log.info("No changes to apply");
@@ -72,14 +72,14 @@ async function pullWorkerGroups(opts: InstanceSyncOptions) {
}
if (confirm) {
await pullInstanceConfigs(false);
await pullInstanceConfigs(opts, false);
}
}
async function pushWorkerGroups(opts: InstanceSyncOptions) {
await pickInstance(opts, true);
const totalChanges = await pushInstanceConfigs(true) ?? 0;
const totalChanges = await pushInstanceConfigs(opts, true) ?? 0;
if (totalChanges === 0) {
log.info("No changes to apply");
@@ -95,7 +95,7 @@ async function pushWorkerGroups(opts: InstanceSyncOptions) {
}
if (confirm) {
await pushInstanceConfigs(false);
await pushInstanceConfigs(opts, false);
}
}
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "windmill-components",
"version": "1.417.0",
"version": "1.417.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "windmill-components",
"version": "1.417.0",
"version": "1.417.1",
"license": "AGPL-3.0",
"dependencies": {
"@aws-crypto/sha256-js": "^4.0.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "windmill-components",
"version": "1.417.0",
"version": "1.417.1",
"scripts": {
"dev": "vite dev",
"build": "vite build",
+2 -2
View File
@@ -4,8 +4,8 @@ verify_ssl = true
name = "pypi"
[packages]
wmill = ">=1.417.0"
wmill_pg = ">=1.417.0"
wmill = ">=1.417.1"
wmill_pg = ">=1.417.1"
sendgrid = "*"
mysql-connector-python = "*"
pymongo = "*"
+1 -1
View File
@@ -1,7 +1,7 @@
openapi: "3.0.3"
info:
version: 1.417.0
version: 1.417.1
title: OpenFlow Spec
contact:
name: Ruben Fiszel
@@ -12,7 +12,7 @@
RootModule = 'WindmillClient.psm1'
# Version number of this module.
ModuleVersion = '1.417.0'
ModuleVersion = '1.417.1'
# Supported PSEditions
# CompatiblePSEditions = @()
+1 -1
View File
@@ -1,6 +1,6 @@
[tool.poetry]
name = "wmill"
version = "1.417.0"
version = "1.417.1"
description = "A client library for accessing Windmill server wrapping the Windmill client API"
license = "Apache-2.0"
homepage = "https://windmill.dev"
+1 -1
View File
@@ -1,6 +1,6 @@
[tool.poetry]
name = "wmill-pg"
version = "1.417.0"
version = "1.417.1"
description = "An extension client for the wmill client library focused on pg"
license = "Apache-2.0"
homepage = "https://windmill.dev"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@windmill/windmill",
"version": "1.417.0",
"version": "1.417.1",
"exports": "./src/index.ts",
"publish": {
"exclude": ["!src", "./s3Types.ts", "./client.ts"]
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "windmill-client",
"description": "Windmill SDK client for browsers and Node.js",
"version": "1.417.0",
"version": "1.417.1",
"author": "Ruben Fiszel",
"license": "Apache 2.0",
"devDependencies": {
+1 -1
View File
@@ -1 +1 @@
1.417.0
1.417.1