[00:17:09] https://t.me/GorbachevaTeamOfficial [07:18:24] !log ensure unique machine-id for hosts listed in task - T401880 [07:18:26] godog: Unknown project "ensure" [07:18:27] T401880: Ensure unique machine-id across Cloud VPS VMs - https://phabricator.wikimedia.org/T401880 [07:18:34] !log cloudinfra ensure unique machine-id for hosts listed in task - T401880 [07:18:37] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Cloudinfra/SAL [07:36:34] !log cloudinfra roll-restart systemd-networkd on hosts with new machine-id - T401880 [07:36:38] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Cloudinfra/SAL [07:36:39] T401880: Ensure unique machine-id across Cloud VPS VMs - https://phabricator.wikimedia.org/T401880 [10:01:23] !log cloudinfra fix dbus and /etc machine-id for deployment-kafka-logging01.deployment-prep.eqiad1.wikimedia.cloud,pki-test01.pki.eqiad1. [10:01:26] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Cloudinfra/SAL [10:01:26] wikimedia.cloud,tools-sgebastion-10.tools.eqiad1.wikimedia.cloud,deployment-kafka-jumbo-5.deployment-prep.eqiad1.wikimedia.cloud,deployment-kafka-jumbo-8.deployment-prep.eqiad1.wikimedia.cloud,deployment-kafka-jumbo-9.deployment-prep.eqiad1.wikimedia.cloud,deployment-kafka-main-5.deployment-prep.eqiad1.wikimedia.cloud,deployment-kafka-main-6.deployment-prep.eqiad1.wikimedia.cloud [10:01:32] sigh [12:39:39] !log damian-scripts@tools-bastion-13 tools.cluebot3 bot deployed @ refs/tags/v1.0.14 [12:39:41] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.cluebot3/SAL [12:55:31] !log damian-scripts@tools-bastion-13 tools.cluebot3 bot deployed @ refs/tags/v1.0.15 [12:55:33] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.cluebot3/SAL [13:03:02] !log damian-scripts@tools-bastion-13 tools.cluebot3 bot deployed @ refs/tags/v1.0.16 [13:03:04] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.cluebot3/SAL [13:11:10] !log damian-scripts@tools-bastion-13 tools.cluebot3 bot deployed @ refs/tags/v1.0.17 [13:11:12] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.cluebot3/SAL [13:32:31] !log damian-scripts@tools-bastion-13 tools.cluebot3 bot deployed @ refs/tags/v1.0.18 [13:32:33] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.cluebot3/SAL [14:59:39] !log damian-scripts@tools-bastion-13 tools.cluebot3 bot deployed @ refs/tags/v1.0.21 [14:59:41] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.cluebot3/SAL [15:09:48] !log damian-scripts@tools-bastion-13 tools.cluebot3 bot deployed @ refs/tags/v1.0.22 [15:09:48] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.cluebot3/SAL [15:21:57] !log damian-scripts@tools-bastion-13 tools.cluebot3 bot deployed @ refs/tags/v1.0.23 [15:21:59] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.cluebot3/SAL [15:51:25] Is there any JS wrapper function that allows users to retrieve data from Toolforge? Like mwApi() ? [16:13:20] individual tools might have those, but as a whole there isn't a way to get data from an arbitrary tool because all tools are independent from each other [17:01:17] How to do that? Can I make an HTTP query for one of my tools? [17:02:58] Yetkin: you should be able to call any other tool from your tool (just https://.toolforge.org/...), is that what you mean? [17:07:14] yes, but what JS method should I use to make that HTTP request? [17:09:01] Yetkin: you can use the fetch api for example (https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/Network_requests) [17:09:39] Thanks, I will try that [17:57:13] !log lucaswerkmeister@tools-bastion-13 tools.lexeme-forms deployed 243f584c59 (l10n updates: ar, tg, yue-hant) [17:57:16] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.lexeme-forms/SAL [19:07:46] !log lucaswerkmeister@tools-bastion-13 tools.lexeme-forms deployed 2886086be9 (add missing wikifunctions_intro to german-noun-masculine) [19:07:48] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.lexeme-forms/SAL [19:19:56] CORS issue when attempting to fetch data from Toolforge: [19:19:56] // Call `fetch()`, passing in the URL. [19:19:58] fetch("https://superyetkin.toolforge.org/index.html") [19:19:59] // fetch() returns a promise. When we have received a response from the server, [19:20:01] // the promise's `then()` handler is called with the response. [19:20:02] .then((response) => { [19:20:04] // Our handler throws an error if the request did not succeed. [19:20:05] if (!response.ok) { [19:20:07] throw new Error(`HTTP error: ${response.status}`); [19:20:08] } [19:20:10] // Otherwise (if the response succeeded), our handler fetches the response [19:20:11] // as text by calling response.text(), and immediately returns the promise [19:20:13] // returned by `response.text()`. [19:20:14] return response.text(); [19:20:16] }) [19:20:17] // When response.text() has succeeded, the `then()` handler is called with [19:20:19] // the text, and we copy it into the `poemDisplay` box. [19:20:20] .then((text) => { [19:20:22] poemDisplay.textContent = text; [19:20:23] }) [19:20:25] // Catch any errors that might happen, and display a message [19:20:26] // in the `poemDisplay` box. [19:20:28] .catch((error) => { [19:20:29] console.log( `Could not fetch verse: ${error}` ); [19:20:31] }); [19:21:07] first of all, please use a pastebin when pasting large chunks of text to [channels that are bridged with] irc channels [19:22:26] but in general, it is up to that tool to set the required CORS headers (in the web server config, most likely) to make that work [19:22:29] !log lucaswerkmeister@tools-bastion-13 tools.lexeme-forms deployed 9b5fc1cef3 (Portuguese Wikifunctions) [19:22:33] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.lexeme-forms/SAL [19:22:39] CORS issue when attempting to fetch data from Toolforge: [19:22:40] https://phabricator.wikimedia.org/P81468 [19:24:47] what taavi said; e.g. in a Python tool I have this decorator: https://gitlab.wikimedia.org/toolforge-repos/lexeme-forms/-/blob/9b5fc1cef3/app.py#L85 [19:27:30] in particular, searching for 'lighttpd cors' gives https://wikitech.wikimedia.org/wiki/Help:Toolforge/Web/Lighttpd#Header,_mimetype,_character_encoding,_error_handler as the first result [19:28:54] any way to make this default behavior for Toolforge? In what way is this different from curl? [19:31:41] it’s different from curl in that your browser has cookies for the target site which it might send along if the request was allowed [19:39:39] so, do I need to configure CORS on Kubernetes? [19:41:09] somewhere inside your tool – probably either in PHP or in lighttpd as taavi mentioned (rather than in kubernetes) [19:44:06] any way to make this site-wide? I want it to work for any PHP, HTML, PY file on my server [19:47:06] have you looked at the link that taavi posted yet? [19:53:49] yes, I have. My .lighttpd.conf file seems to be empty [20:04:59] ok, all sorted and working now. Thanks all for your help 😊