From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id B5C3D1FF173 for ; Sun, 6 Jul 2025 03:29:59 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 56AC9FAEF; Sun, 6 Jul 2025 03:30:39 +0200 (CEST) To: Proxmox VE development discussion Date: Sun, 6 Jul 2025 01:29:54 +0000 MIME-Version: 1.0 Message-ID: List-Id: Proxmox VE development discussion List-Post: From: Lorne Guse via pve-devel Precedence: list Cc: Lorne Guse X-Mailman-Version: 2.1.29 X-BeenThere: pve-devel@lists.proxmox.com List-Subscribe: , List-Unsubscribe: , List-Archive: Reply-To: Proxmox VE development discussion List-Help: Subject: [pve-devel] TrueNAS Storage Plugin Content-Type: multipart/mixed; boundary="===============0877684566885124498==" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" --===============0877684566885124498== Content-Type: message/rfc822 Content-Disposition: inline Return-Path: X-Original-To: pve-devel@lists.proxmox.com Delivered-To: pve-devel@lists.proxmox.com Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 0DD83D625F for ; Sun, 6 Jul 2025 03:30:37 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D7BE1FA9B for ; Sun, 6 Jul 2025 03:30:06 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10olkn2080e.outbound.protection.outlook.com [IPv6:2a01:111:f403:2804::80e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Sun, 6 Jul 2025 03:30:04 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iDTMZdGi3KL3QkKB7WMkJzHkUnrTyXLAlt8H/uavw5SYRvsR81Mx4HZpDsEwSb1YqM8IUfU1W4jwBdYROMrNvglOEFqfIWQ0xQJwT/aITYySlXS/sW0uim1kXVPY0axWLaWPkcbvJWaAEVTqqtljJGWE7TbXJaTLPPbMwQCWywMKOZeNPLG/h/IoEjTIBOoyypjmb0d3UbYa5UFDTTW5q/0BLyU5CeOZhWREMX7MfeDJHYYWMctFLt7qX/vv+C0lsKsK2FTMnHwVgwZbiV3N+9mK8DFnIy+mVUh0IInznJDWWYExYnCsrs48UaPyw+ExEizpdIOiIHhzDKJWAv47Wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gs8VdorLwX7lD7j8ebRL+N4a1CpcuzbMoD9C7Emz/kA=; b=YaIkP4zaNrAP8hkGCC0yKKpHIN/98kTzCET+4SYcR06dIPeL57hx6PcfR6PSfmhwLGeZ/ZLJhOdDM8Oe+HHVgrbFsbemVmLdAG7vFpe0dIXv4GpvJSA+0ETHPGceqGRQ+WLCyV3zHYziXtYuD+9m5l2sVgurNNEy9+K6s7NxVZm7xYqMkf+/+wRH4XlKkabuuJtoqVc0DbG/HUUIPgtv01fgO5Z8CW9Y8LFjOE7b4uQqRrUKvvbIWCmKB3yaObNBtAd72idcfJRvk9g/7dbxKy+vePjeRIhYNsLD8N0Akn9ErdxsT0XAqzdRbriLMjGqbLpj0NCk5pzhwf3O+HN8Ew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gs8VdorLwX7lD7j8ebRL+N4a1CpcuzbMoD9C7Emz/kA=; b=H6++LJ/5foG+ArQEZZNTX8UNWKWqZia92hKkMBQ3PSzm5HJyjVyvdWvR1du/WaZkaZ23b09EnBw6g5KFrYwqpT4k7U09Zbo4OGSTyTpJ7VX0Fa+u1tu3sIceg1bbukNf1J6Ulmj0u3LztfBX7jpbzWQL+7rtSFtPONN0/jPLnX5AHtFZ04TYMjzWCLvlUWJWNSBcIIAG3Hr9qriiauCcuCoS1y36Fzj8eOJiO66eFHgUMnlAF1wThKl9LZmqFJ//vajjPXXCJFy7ZJgNfhXD52dX9DRQpRnTu0K3e43MqvEgojKqXuL2NoxM7VSMT1aL2vv2ulCczN05Egu4cRqkhw== Received: from DM6PR17MB3466.namprd17.prod.outlook.com (2603:10b6:5:1df::23) by SA0PR17MB4507.namprd17.prod.outlook.com (2603:10b6:806:ea::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.23; Sun, 6 Jul 2025 01:29:55 +0000 Received: from DM6PR17MB3466.namprd17.prod.outlook.com ([fe80::e9a8:2d84:b202:de5c]) by DM6PR17MB3466.namprd17.prod.outlook.com ([fe80::e9a8:2d84:b202:de5c%4]) with mapi id 15.20.8901.018; Sun, 6 Jul 2025 01:29:55 +0000 From: Lorne Guse To: Proxmox VE development discussion Subject: TrueNAS Storage Plugin Thread-Topic: TrueNAS Storage Plugin Thread-Index: AQHb7hIhR1ob49RADEK3wWD8/uuh9A== Date: Sun, 6 Jul 2025 01:29:54 +0000 Message-ID: Accept-Language: en-US, en-CA Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR17MB3466:EE_|SA0PR17MB4507:EE_ x-ms-office365-filtering-correlation-id: 340a3b76-4839-45f3-71e2-08ddbc2c9c7d x-microsoft-antispam: BCL:0;ARA:14566002|15030799003|461199028|8062599006|8060799009|7092599006|9400799033|19110799006|15080799009|12050799012|440099028|40105399003|4302099013|3412199025|10035399007|102099032|1602099012|56899033; x-microsoft-antispam-message-info: =?iso-8859-1?Q?UFDEFK2WHdqc6joXbtTXVXBWGVStwmN1F/Yoop/BpG1FhWC/yj5bXf3KwB?= =?iso-8859-1?Q?jTQD9U8djjkiVKdjJydnTkB2QQZL6RF+oySNXsEg0l+T+oqUc66bL9hVBB?= =?iso-8859-1?Q?hjApZRZj61/CF3ex3ZxzeHpZyH0/J2aHqMENqjQ8I1ZD1TQ4RUTIWsyAsO?= =?iso-8859-1?Q?vSED0wMyH3hrj672DTiVwaqBs6IDTlrjK7D9K3w92jtFQG4JVzoQZEIcZP?= =?iso-8859-1?Q?XatBjQPo9Yk8PrcwlAS0hiR/GojmhtHoEyv3Q8piEN0AvLV2LNAAIjgYGY?= =?iso-8859-1?Q?9AxumjmhV3ppHKEvifw/yk442qIQHqQZyU/wr6utwpkND6igM3zsDKAe5U?= =?iso-8859-1?Q?K1JPPv7G2q9NNYpsKdJhcNrOoqyuENbdXz1VpNtCtKWxdWYVd8kM4X6hp3?= =?iso-8859-1?Q?NdbOABZhcFRNP0dmzOenuHUORifBgyoEHeNbXo9si3fmn/fPqiD7WEgdxN?= =?iso-8859-1?Q?u0Gv0TA8//H6u7HRocNC53OKRFv4ojTqAqPRQNsyEGwT8LFXvVQlePs5qe?= =?iso-8859-1?Q?ZA6/t8xocu9mYBLdFH7wDFRfYmM2W6mvie0gWZhweQAlPPUvCNhIzo79Gn?= =?iso-8859-1?Q?lCFyE0gC23iqkkYK0U++qq4nOQavJj9wZFsj3Ujt5DYbKaVpndPdyr2QLn?= =?iso-8859-1?Q?vuaUTkJs2FMH49olztCe4ZPu1Cx0StLLh2Ys5Y6LW+41Pgp9QSBSWV6aCE?= =?iso-8859-1?Q?LWXYkiLJuyAF1C4NMIqGz9VlU1ksOF+SFguenPBMG4eNUry62OffVSb9rW?= =?iso-8859-1?Q?gdywuqw0+IQOUYB2bxcEBq/UownnZb2W/ug43mc7+H3psBoqVecm8YIrHl?= =?iso-8859-1?Q?quU2Dh4HEcTxGyLMUW5ZZflfmmPPrRUYO1wxLpcKuy766yeMh+AZSnUVEn?= =?iso-8859-1?Q?Kb2TAQm7tH+cjdNIiolzotw+BC246WsuahTiLLvW3UFui4rWfIc3xIU2cT?= =?iso-8859-1?Q?9q3NzgK/yZY+yZb70eO6EfZSUmAgO8vq5H9lmHIV3nIYxbqaKpxjqcXLm4?= =?iso-8859-1?Q?G8FlSyFKxRKyUzKIAnigiaLt46ZvGRNu+RpNKVME5za00JIUJ/dq+bdGWM?= =?iso-8859-1?Q?gg8o301Im1cx0BQYHWHLFxbvFBE/R1QuZseJQ9P+o7RSJ/g2U1DggSl/i/?= =?iso-8859-1?Q?ep1NadpSMzHxL9B+C8Mday0D8ky9wwd7dTnqZMTbMq6ZHifD5JnEJmLzLV?= =?iso-8859-1?Q?+F16cy0qc1/gjorhvB/CVlu4cAwsOxv4bbArZnZnqJEIVkAM59oVmUDiiv?= =?iso-8859-1?Q?pq1EWNK4XYgU60J/s/7ZOlCQ0sZPiN2XcnYMfilEs2kHqZvjgLPspQkiiJ?= =?iso-8859-1?Q?wwh/e7ezdI6bjAXUjk6qfYueuwZQGcgaV3NiFnyP1A6e/xPeH0N9XM6OvM?= =?iso-8859-1?Q?aaYkgCivC0?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?pFJfiSbg9WbWU8INBcsMqXJp7yFERj1QVSv6D64KCIiquD7RQg+ExRDyOu?= =?iso-8859-1?Q?yaeKx6CD8kgaSarnUiU27+HyKfdd0DOWkZ5V9eo7OSrGskt2qFWt1f6Azh?= =?iso-8859-1?Q?1vuaTf4L063hdlCWulm3mXjxm3Oj9pm6oLZZq/8l2fMqL1cn1kn8m2SUH/?= =?iso-8859-1?Q?59GQEZuiMqx8H6a89mICjkl3ss2JvkVSxgmFhMCUZHE1TGpaAzwAbWWFqH?= =?iso-8859-1?Q?6FG06QlXe1VKJij4yq8DXQurnGKmTn59ugz1kLOiEjjIzXksjaEOB9OGge?= =?iso-8859-1?Q?X35VPZVh2yxlng6G1Tj29lwF38DuDQ3yKhwiIWFXAI3Ey8nw/fOqJ0nWvm?= =?iso-8859-1?Q?eT6reFS0uj55vp2vAjfqdHzOA8DvF0rtC9k+GzBr7Th5stVjUZkOwCDN8m?= =?iso-8859-1?Q?ntDHXuGUdoAgrKL2PjH22jt5fTdZ7EHrUuzDCNZxh+iBe9d6ElxfV+/Bii?= =?iso-8859-1?Q?ihOx983KKoL9PYsOCo0CwEhksgWcSziyNVXAaG6zMxocGVPmQRxAN82qAZ?= =?iso-8859-1?Q?UfSrvaYeTXWuPVNt1MRF35sUvoBxDD8CIXC2uWuhhShvcu+IcAq7YVhhgL?= =?iso-8859-1?Q?ijK2vwYhsqbFdAr1xkMou7CqpzNfQnx9AvdOmdKl8RcZFxKVKnY0pCLSmm?= =?iso-8859-1?Q?PbB97PBn7krn2TEYPSnSfaVg+g82x1Qy87MDet1C091AkvJzV/U+kX/IKG?= =?iso-8859-1?Q?KwOOp7wcTvZjR2zU1q4w3p4EW6fJ0dPsRX9mv01c3JVm8F6G3Dvld2wDbM?= =?iso-8859-1?Q?oEdQ74S4LwDvh4QWXiNCBx4QTEFS9bpM122ILHxo3ngLfHsaA6CasQNNdS?= =?iso-8859-1?Q?io3KSLZDYx03AZcaFTZ0mmpLk8eBc4mKxx85ajqbjjNVTFDNPgrsWRqvTn?= =?iso-8859-1?Q?LRbepmYIMyPRxEK8X5i3kOzx1VKZxcO9npEhX+HRPMKgxEdzJZSpIqBIP+?= =?iso-8859-1?Q?m5CQygaavyZoSoO5VUACzF7ugucUB1UNa+i5pcB2GMyfvhbp5Npi3mkUOr?= =?iso-8859-1?Q?5SND+GQ6KRS5VtKIFQiLV72OcD6I+zaKf2N4vD8/3Xy4i1VCShu8JG6BQ4?= =?iso-8859-1?Q?a/LNne2slZkeFxVo7o7K2q44d5rlqJ+e0x6Xs7E09MiyXbvK5axFd6BeNF?= =?iso-8859-1?Q?d97VIkgHB8/GpxjrFiD3eeSUiBmeTRzLoEA42Ob8UbJZJ8/dn8PEfKUbPZ?= =?iso-8859-1?Q?U7BHHcvR7ICUbSFRmwu41QJ+YDioklCnQlbgU6ioRLtdsTvtCm4eiv6+/t?= =?iso-8859-1?Q?oaDN52y4eZyUpzjY++129AQUSw6jcAaKOrC6RE/Vc=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-8534-20-msonline-outlook-31e5f.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR17MB3466.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 340a3b76-4839-45f3-71e2-08ddbc2c9c7d X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jul 2025 01:29:54.6194 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR17MB4507 X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID 0.001 Message has a valid ARC signature BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy FREEMAIL_FROM 0.001 Sender email is commonly abused enduser mail provider HTML_MESSAGE 0.001 HTML included in message SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [zfsplugin.pm,proxmox.com] Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Apparently I missed the response to my last message. I intend to start deve= lopment on a pure TrueNAS storage plugin next week. I believe TrueNAS API n= ow has all the functionality needed to remove the need for ssh+root. I'm going to be starting by mapping TrueNAS API methods to functions in Plu= gin.pm, ZFSPoolPlugin.pm, and ZFSPlugin.pm. I don't know who Roland is but any collaboration would be welcome. > Lorne Guse via pve-devel > hat am 13.05.2025 07:34 CEST= geschrieben: > I'm working on an update to https://github.com/TheGrandWazoo/freenas-prox= mox > > My repo can be found here: https://github.com/boomshankerx/proxmox-truena= s > > I'm considering writing a pure TrueNAS plugin to fully utilize their WebS= ocket API. I think > > I have a reasonable grasp on the existing storage plugins for ZFS over IS= CSI however I'm not sure how to go about developing the UI component for a = brand new plugin. > > The exiting plugins above inject some UI code via patch to accommodate so= me extra UI components. I imagine that this would be the case if I were to = build a TrueNAS plugin from the ground up. > > I'd like some suggestions if there are any to give. the rough plan (as previously discussed on this list, CCing Roland who migh= t be interested as well) would be for the plugin to provide a "UI schema", and the UI code to derive= a basic form for adding and editing the storage configuration based on that. we are basically waiting for some third-party plugin developer to drive thi= s feature together with us - if you want to step up to do that it would be great! a rough sketch: - plugin gets a new property defining how each of its options should be pre= sented on the UI - an endpoint is added that returns the existing storage types + their sche= ma - JS code gets written that calls that endpoint and generates the 'add' and= 'edit' windows what's needed from the plugin dev side is mainly feedback on how the schema= could/should look like, what kind of control would be desirable, and of course, validati= on of the implementation once it exists. what we definitely don't want is to provide some sort of hookpoint for arbi= trary JS code, that is far too brittle. hope this helps, Fabian --===============0877684566885124498== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel --===============0877684566885124498==--