Compare commits

...

11 Commits

Author SHA1 Message Date
Kevin Scott Adams 466d819a89
Merge pull request #160 from TheGrandWazoo/master
Merge to feature_bearer_token
2023-08-19 10:53:01 -04:00
Kevin Scott Adams ea3637d29a
Update README.md
- Update README.md to be more structured and selective from a visitors view.
- Update the Roadmap section.
- Update the Donators list.
- Update the New Install Instructions section to allow the visitor to select the GPG location they want to use.
- Update the Activity section.
- Fix spelling errors.
2023-08-19 10:46:39 -04:00
Kevin Scott Adams b6e34be5e5
Update README.md for typo
- Fixed testing repo name in install section.
2023-08-16 09:05:06 -04:00
Kevin Scott Adams ca48a9e517
Update README.md for new repos
- Updated anchor.
- Added documentation to roadmap.
2023-08-16 09:03:20 -04:00
Kevin Scott Adams 871c720026
Merge pull request #157 from TheGrandWazoo/TheGrandWazoo-readme-patch-2
Update README.md
2023-08-16 08:54:47 -04:00
Kevin Scott Adams 65c1c250df
Update README.md
- Change announcement for the Cloudsmith repos.
- Changed the New Install section to include instructions for stable and development repos.
2023-08-16 08:54:15 -04:00
Kevin Scott Adams 80c5eda63a
Merge pull request #155 from TheGrandWazoo/TheGrandWazoo-patch-1
Update README.md
2023-08-09 13:07:11 -04:00
Kevin Scott Adams 3977be6daa
Update README.md
Changed Attention description to notify that a new repo is on the horizon.
2023-08-09 13:02:43 -04:00
Kevin Scott Adams a86bf3eb95
Update README.md
Update README.md

- Added ATTENTION due to JFrog canceling my subscription.
2023-07-13 09:09:22 -04:00
Kevin Scott Adams d507706996 Remove previous commmit.
- Forgot to change branches.
2023-06-12 17:17:56 -04:00
Kevin Scott Adams 9de5aaf81b Import stock pvemanagerlib.js.
- Imported stock pvemanagerlib.js from Proxmox 7.4-3 to develop and
create patches against.
2023-06-12 17:16:29 -04:00
1 changed files with 193 additions and 51 deletions

244
README.md
View File

@ -1,29 +1,59 @@
# TrueNAS ZFS over iSCSI interface [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TCLNEMBUYQUXN&source=url)
# TrueNAS ZFS over iSCSI Plugin for Proxmox VE
### Updates 2023-02-12<br/> - Added `systemctl restart pvescheduler.service` command to the package.
#### Roadmap
* Fix automated builds.
* Production - 'main' repo component.
* Package the patches with the deb package.
* Remove the need for the git dependency.
* Change to LWP::UserAgent
* Remove depenancy of the REST::Client because LWP::UserAgent is already installed and used by Proxmox VE.
* Change from FreeNAS to TrueNAS.
* Cleanup the FreeNAS repo and name everything to TrueNAS to be inline with the product.
* Add API key for direct TrueNAS services.
* Will be a new enable field and API key and will only be used by the plugin.
* You will still need the SSH keys, username, and password because of Proxmox VE using `iscsiadm` to get the list of disks.
* This is tricky because the format needs to be that of the output of 'zfs list' which is not part of the LunCmd but that of the backend Proxmox VE system and the API's do a bunch of JSON stuff.
## 📢: ATTENTION 2023-08-16 📢: New repos are now online at [Cloudsmith](#new-installs).
## Thank you for all that have recently donated to the project - Updated 2022-06-04
## Activity
<details>
<summary>Expand to see the activity tree</summary>
<blockquote>
<details>
<summary>2023-08-18</summary>
- Update and cleanup the README.md
</details>
<details><summary>2023-08-16</summary>
- Fixed repos. https://github.com/TheGrandWazoo/freenas-proxmox/issues/151, https://github.com/TheGrandWazoo/freenas-proxmox/issues/152, https://github.com/TheGrandWazoo/freenas-proxmox/issues/153 See [New Installs](#new-installs).
- Fixed PayPal issues. https://github.com/TheGrandWazoo/freenas-proxmox/issues/154
- Updated README.md
</details>
<details><summary>2023-08-12</summary>
- Fixed postinst issue with Windows-based EOL. https://github.com/TheGrandWazoo/freenas-proxmox/issues/149
</details>
<details><summary>2023-02-12</summary>
- Added `systemctl restart pvescheduler.service` command to the package based on https://github.com/TheGrandWazoo/freenas-proxmox/issues/109#issuecomment-1367527917
</details>
</blockquote>
</details>
## Donations [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TCLNEMBUYQUXN&source=url)
<details>Donators<summary>Thank you for all that have donated to the project - Updated 2023-08-18</summary>
Alexander Finkhäuser - Recurring
Bjarte Kvamme - Recurring
Jonathan Schober - Recurring
Frederic Silvi
Security Camera
Vincent Cui
Jakub Jochec
Carlos Galvez from Security Camera
Sebastian Fischer
Eugene van der Merwe
Martin Gonzalez
Jakub Jochec
Frederic Silvi
Vincent Cui
Mark Komarinski
Jesse Bryan
Maksym Vasylenko
@ -35,44 +65,156 @@
Marc Hodler
Martin Gonzalez
### 'main' repo (Follows a release branch - Current 2.x) Currently unavailable.
Will be production ready code that has been tested (as best as possible) from the 'testing' repo.
</details>
### 'testing' repo (Follows the master branch)
Will be 'beta' code for features, bugs, and updates.
Their donations have allowed for:
- A 4 Node Proxmox VE Cluster for testing and development.
- Spin up old and new revisions of FreeNAS and TrueNAS.
- 10Gb Ethernet Testing.
- Multihomed configuration testing.
- In progress and as best I can in a flat network.
## New Installs.
Issue the following from a command line:
```bash
curl https://ksatechnologies.jfrog.io/artifactory/ksa-repo-gpg/ksatechnologies-release.gpg -o /etc/apt/trusted.gpg.d/ksatechnologies-release.gpg
curl https://ksatechnologies.jfrog.io/artifactory/ksa-repo-gpg/ksatechnologies-repo.list -o /etc/apt/sources.list.d/ksatechnologies-repo.list
```
## Roadmap
<details><summary>Roadmap details</summary>
Then issue the following to install the package
```bash
apt update
apt install freenas-proxmox
```
* Update the documentation - <i>In Progress</i>.
* Restructure the main README.md for better readability.
* Add some screenshots.
* Fix Max Lun Limit issue.
* https://github.com/TheGrandWazoo/freenas-proxmox/issues/150
* Fix automated builds - <i>In Progress</i>.
* Production - 'main' repo component.
* Autoinstall the SSH keys.
* Tech spike to see if it is even doable.
* Hashicorp Vault integration.
* Pull in secrets from a Hashicorp Vault service.
* Tech spike to see if it is even doable.
* Package the patches with the deb package.
* Remove the need for git dependency.
* Change to LWP::UserAgent
* Remove dependency of the REST::Client because LWP::UserAgent is already installed and used by Proxmox VE.
* Change from FreeNAS to TrueNAS - <i>In Progress</i>.
* Cleanup the FreeNAS repo and name everything to TrueNAS to be inline with the product.
* Add API key for direct TrueNAS services - <i>In Progress</i>.
* Will be a new enable field and API key and will only be used by the plugin.
* You will still need the SSH keys, username, and password because of Proxmox VE using `iscsiadm` to get the list of disks.
* This is tricky because the format needs to be that of the output of 'zfs list' which is not part of the LunCmd but that of the backend Proxmox VE system and the API's do a bunch of JSON stuff.
Before freenas-proxmox-2.2.0-0-beta8 please issue the following:
```
systemctl restart pvescheduler.service
```
due to this post https://github.com/TheGrandWazoo/freenas-proxmox/issues/109#issuecomment-1367527917
</details>
Then just do your regular upgrade via apt at the command line or the Proxmox Update subsystem; the package will automatically issue all commands to patch the files.
```bash
apt update
apt [full|dist]-upgrade
```
## New Install Instructions
If you wish not to use the package you may remove it at anytime with
```
apt [remove|purge] freenas-proxmox
```
This will place you back to a normal and non-patched Proxmox VE install.
### Select at least one `Step 1.x` based on your preference. Can be combined.
#### NOTE: Please be aware that this plugin uses the TrueNAS APIs but still uses SSH keys due to the underlying Proxmox VE perl modules that use the ```iscsiadm``` command.
<details><summary>Step 1.0: For stable releases. <b>Enabled</b> by default.</summary>
### truenas-proxmox repo - Currently follows the 2.0 branch.
Select one of the following GPG Key locations based on your preference.
```bash
# Preferred - based on documentation. Copy and paste to bash command line:
keyring_location=/usr/share/keyrings/ksatechnologies-truenas-proxmox-keyring.gpg
```
```bash
# Alternative - If you wish to continue with the old ways. Copy and paste to bash command line:
keyring_location=/etc/apt/trusted.gpg.d/ksatechnologies-truenas-proxmox.gpg
```
Copy and paste to bash command line to load the GPG key to the location selected above:
```bash
curl -1sLf 'https://dl.cloudsmith.io/public/ksatechnologies/truenas-proxmox/gpg.284C106104A8CE6D.key' | gpg --dearmor >> ${keyring_location}
```
Copy and paste the following code to bash command line to create '/etc/apt/sources.list.d/ksatechnologies-repo.list'
```bash
cat << EOF > /etc/apt/sources.list.d/ksatechnologies-repo.list
# Source: KSATechnologies
# Site: https://cloudsmith.io
# Repository: KSATechnologies / truenas-proxmox
# Description: TrueNAS plugin for Proxmox VE - Production
deb [signed-by=${keyring_location}] https://dl.cloudsmith.io/public/ksatechnologies/truenas-proxmox/deb/debian any-version main
EOF
```
</details>
<details><summary>Step 1.1: For development releases. <i>Disabled</i> by default.</summary>
### truenas-proxmox-testing repo - Follows the master branch and you wish to test before a stable release (beta).
Select one of the following GPG Key locations based on your preference.
```bash
# Preferred - based on documentation. Copy and paste to bash command line:
keyring_location=/usr/share/keyrings/ksatechnologies-truenas-proxmox-testing-keyring.gpg
```
```bash
# Alternative - If you wish to continue with the old ways. Copy and paste to bash command line:
keyring_location=/etc/apt/trusted.gpg.d/ksatechnologies-truenas-proxmox-testing.gpg
```
Copy and paste to bash command line to load the GPG key to the location selected above:
```bash
curl -1sLf 'https://dl.cloudsmith.io/public/ksatechnologies/truenas-proxmox-testing/gpg.CACC9EE03F2DFFCC.key' | gpg --dearmor >> ${keyring_location}
```
Copy and paste the following code to bash command line to create '/etc/apt/sources.list.d/ksatechnologies-testing-repo.list'
```bash
cat << EOF > /etc/apt/sources.list.d/ksatechnologies-testing-repo.list
# Source: KSATechnologies
# Site: https://cloudsmith.io
# Repository: KSATechnologies / truenas-proxmox-testing
# Description: TrueNAS plugin for Proxmox VE - Testing
deb [signed-by=${keyring_location}] https://dl.cloudsmith.io/public/ksatechnologies/truenas-proxmox-testing/deb/debian any-version main
EOF
```
</details>
<details><summary>Step 2.0: Next step after completing any combination of the 1.x steps</summary>
### Update apt
Then issue the following to install the package
```bash
apt update
apt install freenas-proxmox
```
</details>
<details><summary>Step 3.0: Maintenance.</summary>
Then just do your regular upgrade via apt at the command line or the Proxmox Update subsystem; the package will automatically issue all commands to patch the files.
```bash
apt update
apt [full|dist]-upgrade
```
</details>
</details>
## Uninstall truenas-proxmox
<details><summary>If you wish not to use the package you may remove it at anytime with the following:</summary>
```
apt [remove|purge] freenas-proxmox
```
This will place you back to a normal and non-patched Proxmox VE install.
</details>
## Notes:
### Please be aware that this plugin uses the TrueNAS APIs but still uses SSH keys due to the underlying Proxmox VE perl modules that use the ```iscsiadm``` command.
You will still need to configure the SSH connector for listing the ZFS Pools because this is currently being done in a Proxmox module (ZFSPoolPlugin.pm). To configure this please follow the steps at https://pve.proxmox.com/wiki/Storage:_ZFS_over_iSCSI that have to do with SSH between Proxmox VE and TrueNAS. The code segment should start out `mkdir /etc/pve/priv/zfs`.