chore: rename package freenas-proxmox → truenas-proxmox (#262)
Introduces truenas-proxmox as the real package and freenas-proxmox as a transitional meta-package that Depends on truenas-proxmox. Existing users running apt upgrade automatically pull in the new package; the migration one-liner (apt install truenas-proxmox && apt purge freenas-proxmox) completes the transition. The freenas-proxmox package name will not exist in v4.0. Changes: - packaging/DEBIAN/: Package renamed to truenas-proxmox, INSTALL_DIR and LOG_FILE updated to /usr/share/truenas-proxmox and /var/log/truenas-proxmox-install.log; Replaces/Breaks fields added - packaging/DEBIAN-transitional/: new empty meta-package that pulls in truenas-proxmox and prints a deprecation notice on configure - build.yml: PACKAGE_NAME=truenas-proxmox; both debs built and published to Cloudsmith; transitional postinst added to shellcheck - All GitHub repo URLs updated to TheGrandWazoo/truenas-proxmox - apt install/remove/purge commands in docs updated to truenas-proxmox - GitHub repo rename to truenas-proxmox pending (gh repo rename step) Closes #262 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
f30862f3c0
commit
9b2ecb8093
|
|
@ -10,7 +10,7 @@ assignees: TheGrandWazoo
|
||||||
|
|
||||||
| Component | Version |
|
| Component | Version |
|
||||||
|-----------|---------|
|
|-----------|---------|
|
||||||
| Plugin (`dpkg -l freenas-proxmox`) | |
|
| Plugin (`dpkg -l truenas-proxmox freenas-proxmox`) | |
|
||||||
| Proxmox VE (`pveversion`) | |
|
| Proxmox VE (`pveversion`) | |
|
||||||
| TrueNAS type | CORE / SCALE |
|
| TrueNAS type | CORE / SCALE |
|
||||||
| TrueNAS version | |
|
| TrueNAS version | |
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,8 @@ on:
|
||||||
branches: [master, "release/3.x"]
|
branches: [master, "release/3.x"]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
PACKAGE_NAME: freenas-proxmox
|
PACKAGE_NAME: truenas-proxmox
|
||||||
|
TRANSITIONAL_PACKAGE_NAME: freenas-proxmox
|
||||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
|
||||||
|
|
||||||
# Cancel in-flight runs for the same branch on new push
|
# Cancel in-flight runs for the same branch on new push
|
||||||
|
|
@ -57,7 +58,8 @@ jobs:
|
||||||
echo "==> Running shellcheck..."
|
echo "==> Running shellcheck..."
|
||||||
shellcheck --severity=warning \
|
shellcheck --severity=warning \
|
||||||
packaging/DEBIAN/postinst \
|
packaging/DEBIAN/postinst \
|
||||||
packaging/DEBIAN/postrm
|
packaging/DEBIAN/postrm \
|
||||||
|
packaging/DEBIAN-transitional/postinst
|
||||||
echo "Shell scripts OK"
|
echo "Shell scripts OK"
|
||||||
|
|
||||||
# ── Job 2: Build .deb ────────────────────────────────────────────────────────
|
# ── Job 2: Build .deb ────────────────────────────────────────────────────────
|
||||||
|
|
@ -67,11 +69,12 @@ jobs:
|
||||||
needs: [lint]
|
needs: [lint]
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
version: ${{ steps.vars.outputs.version }}
|
version: ${{ steps.vars.outputs.version }}
|
||||||
deb_file: ${{ steps.vars.outputs.deb_file }}
|
deb_file: ${{ steps.vars.outputs.deb_file }}
|
||||||
channel: ${{ steps.vars.outputs.channel }}
|
transitional_deb_file: ${{ steps.vars.outputs.transitional_deb_file }}
|
||||||
cloudsmith_repo: ${{ steps.vars.outputs.cloudsmith_repo }}
|
channel: ${{ steps.vars.outputs.channel }}
|
||||||
is_release: ${{ steps.vars.outputs.is_release }}
|
cloudsmith_repo: ${{ steps.vars.outputs.cloudsmith_repo }}
|
||||||
|
is_release: ${{ steps.vars.outputs.is_release }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.3.1
|
- uses: actions/checkout@v4.3.1
|
||||||
|
|
@ -125,12 +128,14 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DEB_FILE="${PACKAGE_NAME}_${VERSION}_all.deb"
|
DEB_FILE="${PACKAGE_NAME}_${VERSION}_all.deb"
|
||||||
|
TRANSITIONAL_DEB_FILE="${TRANSITIONAL_PACKAGE_NAME}_${VERSION}_all.deb"
|
||||||
|
|
||||||
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
|
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
|
||||||
echo "deb_file=${DEB_FILE}" >> "$GITHUB_OUTPUT"
|
echo "deb_file=${DEB_FILE}" >> "$GITHUB_OUTPUT"
|
||||||
echo "channel=${CHANNEL}" >> "$GITHUB_OUTPUT"
|
echo "transitional_deb_file=${TRANSITIONAL_DEB_FILE}" >> "$GITHUB_OUTPUT"
|
||||||
echo "cloudsmith_repo=${CLOUDSMITH_REPO}" >> "$GITHUB_OUTPUT"
|
echo "channel=${CHANNEL}" >> "$GITHUB_OUTPUT"
|
||||||
echo "is_release=${IS_RELEASE}" >> "$GITHUB_OUTPUT"
|
echo "cloudsmith_repo=${CLOUDSMITH_REPO}" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "is_release=${IS_RELEASE}" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "### Build Summary"
|
echo "### Build Summary"
|
||||||
|
|
@ -148,7 +153,7 @@ jobs:
|
||||||
STAGING="dist"
|
STAGING="dist"
|
||||||
|
|
||||||
mkdir -p "${STAGING}/DEBIAN"
|
mkdir -p "${STAGING}/DEBIAN"
|
||||||
mkdir -p "${STAGING}/usr/share/freenas-proxmox"
|
mkdir -p "${STAGING}/usr/share/truenas-proxmox"
|
||||||
|
|
||||||
# Generate control file from template
|
# Generate control file from template
|
||||||
sed "s/\${VERSION}/${VERSION}/" packaging/DEBIAN/control.j2 \
|
sed "s/\${VERSION}/${VERSION}/" packaging/DEBIAN/control.j2 \
|
||||||
|
|
@ -160,30 +165,52 @@ jobs:
|
||||||
chmod 0755 "${STAGING}/DEBIAN/postinst" "${STAGING}/DEBIAN/postrm"
|
chmod 0755 "${STAGING}/DEBIAN/postinst" "${STAGING}/DEBIAN/postrm"
|
||||||
|
|
||||||
# Plugin files (postinst copies these to their final destinations)
|
# Plugin files (postinst copies these to their final destinations)
|
||||||
cp perl5/PVE/Storage/Custom/TrueNAS.pm "${STAGING}/usr/share/freenas-proxmox/TrueNAS.pm"
|
cp perl5/PVE/Storage/Custom/TrueNAS.pm "${STAGING}/usr/share/truenas-proxmox/TrueNAS.pm"
|
||||||
cp ui/truenas-storage.js "${STAGING}/usr/share/freenas-proxmox/truenas-storage.js"
|
cp ui/truenas-storage.js "${STAGING}/usr/share/truenas-proxmox/truenas-storage.js"
|
||||||
cp ui/truenas-storage-help.html "${STAGING}/usr/share/freenas-proxmox/truenas-storage-help.html"
|
cp ui/truenas-storage-help.html "${STAGING}/usr/share/truenas-proxmox/truenas-storage-help.html"
|
||||||
|
|
||||||
echo "==> Package contents:"
|
echo "==> Package contents:"
|
||||||
find "${STAGING}" | sort
|
find "${STAGING}" | sort
|
||||||
|
|
||||||
- name: Build .deb
|
- name: Assemble transitional package staging directory
|
||||||
run: |
|
run: |
|
||||||
sudo dpkg-deb -Zgzip --build dist "${{ steps.vars.outputs.deb_file }}"
|
VERSION="${{ steps.vars.outputs.version }}"
|
||||||
|
STAGING="dist-transitional"
|
||||||
|
|
||||||
- name: Verify .deb
|
mkdir -p "${STAGING}/DEBIAN"
|
||||||
|
|
||||||
|
sed "s/\${VERSION}/${VERSION}/" packaging/DEBIAN-transitional/control.j2 \
|
||||||
|
> "${STAGING}/DEBIAN/control"
|
||||||
|
|
||||||
|
cp packaging/DEBIAN-transitional/postinst "${STAGING}/DEBIAN/postinst"
|
||||||
|
chmod 0755 "${STAGING}/DEBIAN/postinst"
|
||||||
|
|
||||||
|
echo "==> Transitional package contents:"
|
||||||
|
find "${STAGING}" | sort
|
||||||
|
|
||||||
|
- name: Build .deb packages
|
||||||
run: |
|
run: |
|
||||||
echo "==> Package info:"
|
sudo dpkg-deb -Zgzip --build dist "${{ steps.vars.outputs.deb_file }}"
|
||||||
|
sudo dpkg-deb -Zgzip --build dist-transitional "${{ steps.vars.outputs.transitional_deb_file }}"
|
||||||
|
|
||||||
|
- name: Verify .deb packages
|
||||||
|
run: |
|
||||||
|
echo "==> Package info (truenas-proxmox):"
|
||||||
dpkg-deb --info "${{ steps.vars.outputs.deb_file }}"
|
dpkg-deb --info "${{ steps.vars.outputs.deb_file }}"
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> Package contents:"
|
echo "==> Package contents (truenas-proxmox):"
|
||||||
dpkg-deb --contents "${{ steps.vars.outputs.deb_file }}"
|
dpkg-deb --contents "${{ steps.vars.outputs.deb_file }}"
|
||||||
|
echo ""
|
||||||
|
echo "==> Package info (freenas-proxmox transitional):"
|
||||||
|
dpkg-deb --info "${{ steps.vars.outputs.transitional_deb_file }}"
|
||||||
|
|
||||||
- name: Upload package artifact
|
- name: Upload package artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ steps.vars.outputs.deb_file }}
|
name: packages-${{ steps.vars.outputs.version }}
|
||||||
path: ${{ steps.vars.outputs.deb_file }}
|
path: |
|
||||||
|
${{ steps.vars.outputs.deb_file }}
|
||||||
|
${{ steps.vars.outputs.transitional_deb_file }}
|
||||||
retention-days: 30
|
retention-days: 30
|
||||||
|
|
||||||
# ── Job 3: Security scan ─────────────────────────────────────────────────────
|
# ── Job 3: Security scan ─────────────────────────────────────────────────────
|
||||||
|
|
@ -205,10 +232,10 @@ jobs:
|
||||||
exit-code: 1
|
exit-code: 1
|
||||||
format: table
|
format: table
|
||||||
|
|
||||||
- name: Download built package
|
- name: Download built packages
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ needs.build.outputs.deb_file }}
|
name: packages-${{ needs.build.outputs.version }}
|
||||||
|
|
||||||
- name: Extract and scan .deb contents
|
- name: Extract and scan .deb contents
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -236,12 +263,12 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.3.1
|
- uses: actions/checkout@v4.3.1
|
||||||
|
|
||||||
- name: Download built package
|
- name: Download built packages
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ needs.build.outputs.deb_file }}
|
name: packages-${{ needs.build.outputs.version }}
|
||||||
|
|
||||||
- name: Publish to Cloudsmith
|
- name: Publish truenas-proxmox to Cloudsmith
|
||||||
uses: cloudsmith-io/action@v0.6.14
|
uses: cloudsmith-io/action@v0.6.14
|
||||||
with:
|
with:
|
||||||
api-key: ${{ secrets.CLOUDSMITH_API_KEY }}
|
api-key: ${{ secrets.CLOUDSMITH_API_KEY }}
|
||||||
|
|
@ -253,16 +280,30 @@ jobs:
|
||||||
release: any-version
|
release: any-version
|
||||||
file: ${{ needs.build.outputs.deb_file }}
|
file: ${{ needs.build.outputs.deb_file }}
|
||||||
|
|
||||||
|
- name: Publish transitional freenas-proxmox to Cloudsmith
|
||||||
|
uses: cloudsmith-io/action@v0.6.14
|
||||||
|
with:
|
||||||
|
api-key: ${{ secrets.CLOUDSMITH_API_KEY }}
|
||||||
|
command: push
|
||||||
|
format: deb
|
||||||
|
owner: ksatechnologies
|
||||||
|
repo: ${{ needs.build.outputs.cloudsmith_repo }}
|
||||||
|
distro: debian
|
||||||
|
release: any-version
|
||||||
|
file: ${{ needs.build.outputs.transitional_deb_file }}
|
||||||
|
|
||||||
- name: Create draft GitHub Release
|
- name: Create draft GitHub Release
|
||||||
if: needs.build.outputs.is_release == 'true'
|
if: needs.build.outputs.is_release == 'true'
|
||||||
uses: softprops/action-gh-release@v3
|
uses: softprops/action-gh-release@v3
|
||||||
with:
|
with:
|
||||||
name: "v${{ needs.build.outputs.version }}"
|
name: "v${{ needs.build.outputs.version }}"
|
||||||
draft: true
|
draft: true
|
||||||
files: ${{ needs.build.outputs.deb_file }}
|
files: |
|
||||||
|
${{ needs.build.outputs.deb_file }}
|
||||||
|
${{ needs.build.outputs.transitional_deb_file }}
|
||||||
generate_release_notes: false
|
generate_release_notes: false
|
||||||
body: |
|
body: |
|
||||||
## freenas-proxmox v${{ needs.build.outputs.version }}
|
## truenas-proxmox v${{ needs.build.outputs.version }}
|
||||||
|
|
||||||
> **Edit before publishing** — fill in tested versions before publishing.
|
> **Edit before publishing** — fill in tested versions before publishing.
|
||||||
|
|
||||||
|
|
@ -283,7 +324,7 @@ jobs:
|
||||||
- TrueNAS SCALE 24.10.x (tested: )
|
- TrueNAS SCALE 24.10.x (tested: )
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
See [README → Installation](https://github.com/TheGrandWazoo/freenas-proxmox#installation).
|
See [README → Installation](https://github.com/TheGrandWazoo/truenas-proxmox#installation).
|
||||||
|
|
||||||
### Changes
|
### Changes
|
||||||
See [CHANGELOG.md](https://github.com/TheGrandWazoo/freenas-proxmox/blob/release/3.x/CHANGELOG.md).
|
See [CHANGELOG.md](https://github.com/TheGrandWazoo/truenas-proxmox/blob/release/3.x/CHANGELOG.md).
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ All notable changes to this project will be documented here.
|
||||||
|
|
||||||
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
Versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html) independent of Proxmox VE or TrueNAS versions.
|
Versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html) independent of Proxmox VE or TrueNAS versions.
|
||||||
See each [GitHub Release](https://github.com/TheGrandWazoo/freenas-proxmox/releases) for the specific Proxmox VE and TrueNAS versions supported.
|
See each [GitHub Release](https://github.com/TheGrandWazoo/truenas-proxmox/releases) for the specific Proxmox VE and TrueNAS versions supported.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -64,4 +64,4 @@ See each [GitHub Release](https://github.com/TheGrandWazoo/freenas-proxmox/relea
|
||||||
|
|
||||||
## [2.1.x] and Earlier
|
## [2.1.x] and Earlier
|
||||||
|
|
||||||
See the [commit history](https://github.com/TheGrandWazoo/freenas-proxmox/commits/master) for earlier changes.
|
See the [commit history](https://github.com/TheGrandWazoo/truenas-proxmox/commits/master) for earlier changes.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Contributing to freenas-proxmox
|
# Contributing to truenas-proxmox
|
||||||
|
|
||||||
Thank you for your interest in contributing. This document covers how to report bugs, request features, and submit code.
|
Thank you for your interest in contributing. This document covers how to report bugs, request features, and submit code.
|
||||||
|
|
||||||
|
|
@ -22,16 +22,16 @@ Be respectful. This is a community project maintained in spare time. Constructiv
|
||||||
|
|
||||||
## Reporting Bugs
|
## Reporting Bugs
|
||||||
|
|
||||||
Use the [bug report issue template](https://github.com/TheGrandWazoo/freenas-proxmox/issues/new?template=bug_report.md).
|
Use the [bug report issue template](https://github.com/TheGrandWazoo/truenas-proxmox/issues/new?template=bug_report.md).
|
||||||
|
|
||||||
Before filing:
|
Before filing:
|
||||||
- Check existing [open and closed issues](https://github.com/TheGrandWazoo/freenas-proxmox/issues?q=is%3Aissue) for duplicates
|
- Check existing [open and closed issues](https://github.com/TheGrandWazoo/truenas-proxmox/issues?q=is%3Aissue) for duplicates
|
||||||
- Reproduce the issue on the latest release if possible
|
- Reproduce the issue on the latest release if possible
|
||||||
|
|
||||||
**Always include:**
|
**Always include:**
|
||||||
- Proxmox VE version (`proxmox-ve` package version)
|
- Proxmox VE version (`proxmox-ve` package version)
|
||||||
- TrueNAS version and type (CORE / SCALE)
|
- TrueNAS version and type (CORE / SCALE)
|
||||||
- Plugin version (`dpkg -l freenas-proxmox`)
|
- Plugin version (`dpkg -l truenas-proxmox`)
|
||||||
- Relevant log lines from syslog (`grep -i freenas /var/log/syslog`)
|
- Relevant log lines from syslog (`grep -i freenas /var/log/syslog`)
|
||||||
- The storage configuration (redact passwords/tokens)
|
- The storage configuration (redact passwords/tokens)
|
||||||
|
|
||||||
|
|
@ -39,7 +39,7 @@ Before filing:
|
||||||
|
|
||||||
## Requesting Features
|
## Requesting Features
|
||||||
|
|
||||||
Use the [feature request issue template](https://github.com/TheGrandWazoo/freenas-proxmox/issues/new?template=feature_request.md).
|
Use the [feature request issue template](https://github.com/TheGrandWazoo/truenas-proxmox/issues/new?template=feature_request.md).
|
||||||
|
|
||||||
Feature requests are evaluated against the project roadmap. Large changes should be discussed in an issue before a pull request is opened.
|
Feature requests are evaluated against the project roadmap. Large changes should be discussed in an issue before a pull request is opened.
|
||||||
|
|
||||||
|
|
@ -57,14 +57,14 @@ Feature requests are evaluated against the project roadmap. Large changes should
|
||||||
### Local Build
|
### Local Build
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/TheGrandWazoo/freenas-proxmox.git
|
git clone https://github.com/TheGrandWazoo/truenas-proxmox.git
|
||||||
cd freenas-proxmox
|
cd truenas-proxmox
|
||||||
|
|
||||||
# Build the package (once packaging/ directory exists in v3.x)
|
# Build the package (once packaging/ directory exists in v3.x)
|
||||||
dpkg-deb -Zgzip --build packaging freenas-proxmox_dev_all.deb
|
dpkg-deb -Zgzip --build packaging truenas-proxmox_dev_all.deb
|
||||||
|
|
||||||
# Install locally for testing
|
# Install locally for testing
|
||||||
dpkg -i freenas-proxmox_dev_all.deb
|
dpkg -i truenas-proxmox_dev_all.deb
|
||||||
```
|
```
|
||||||
|
|
||||||
### Testing Changes to FreeNAS.pm
|
### Testing Changes to FreeNAS.pm
|
||||||
|
|
|
||||||
20
README.md
20
README.md
|
|
@ -1,9 +1,9 @@
|
||||||
# TrueNAS ZFS-over-iSCSI Plugin for Proxmox VE
|
# TrueNAS ZFS-over-iSCSI Plugin for Proxmox VE
|
||||||
|
|
||||||
[](https://www.gnu.org/licenses/agpl-3.0)
|
[](https://www.gnu.org/licenses/agpl-3.0)
|
||||||
[](https://github.com/TheGrandWazoo/freenas-proxmox/releases/latest)
|
[](https://github.com/TheGrandWazoo/truenas-proxmox/releases/latest)
|
||||||
[](https://github.com/TheGrandWazoo/freenas-proxmox/actions/workflows/build.yml)
|
[](https://github.com/TheGrandWazoo/truenas-proxmox/actions/workflows/build.yml)
|
||||||
[](https://github.com/TheGrandWazoo/freenas-proxmox/issues)
|
[](https://github.com/TheGrandWazoo/truenas-proxmox/issues)
|
||||||
[](https://github.com/sponsors/TheGrandWazoo)
|
[](https://github.com/sponsors/TheGrandWazoo)
|
||||||
|
|
||||||
> This plugin is maintained by one person and has 4 million downloads — used in production at ISPs and MSPs worldwide. If it saves you time or headaches, [please consider sponsoring](https://github.com/sponsors/TheGrandWazoo) to keep it actively maintained and funded.
|
> This plugin is maintained by one person and has 4 million downloads — used in production at ISPs and MSPs worldwide. If it saves you time or headaches, [please consider sponsoring](https://github.com/sponsors/TheGrandWazoo) to keep it actively maintained and funded.
|
||||||
|
|
@ -73,7 +73,7 @@ Proxmox VE's built-in ZFS-over-iSCSI storage type uses SSH to manage LUNs on the
|
||||||
>
|
>
|
||||||
> These versions are not supported. PVE 5 reached end-of-life in 2019, PVE 6 in 2022. Please upgrade your Proxmox VE installation.
|
> These versions are not supported. PVE 5 reached end-of-life in 2019, PVE 6 in 2022. Please upgrade your Proxmox VE installation.
|
||||||
|
|
||||||
Check the [Releases page](https://github.com/TheGrandWazoo/freenas-proxmox/releases) for the specific Proxmox and TrueNAS versions tested against each release.
|
Check the [Releases page](https://github.com/TheGrandWazoo/truenas-proxmox/releases) for the specific Proxmox and TrueNAS versions tested against each release.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -132,7 +132,7 @@ deb [signed-by=/usr/share/keyrings/ksatechnologies-truenas-proxmox-keyring.gpg]
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Install
|
# Install
|
||||||
apt update && apt install freenas-proxmox
|
apt update && apt install truenas-proxmox
|
||||||
```
|
```
|
||||||
|
|
||||||
### Testing / Beta Release
|
### Testing / Beta Release
|
||||||
|
|
@ -152,7 +152,7 @@ deb [signed-by=/usr/share/keyrings/ksatechnologies-truenas-proxmox-testing-keyri
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Install
|
# Install
|
||||||
apt update && apt install freenas-proxmox
|
apt update && apt install truenas-proxmox
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -209,7 +209,7 @@ The disk is created successfully despite this warning, but the suboptimal block
|
||||||
|
|
||||||
Edit `/etc/pve/storage.cfg` on any cluster node and change `blocksize 8192` to `blocksize 16384` for your TrueNAS SCALE storage entry. No data migration is needed — only newly created zvols use the updated value. Existing zvols are unaffected.
|
Edit `/etc/pve/storage.cfg` on any cluster node and change `blocksize 8192` to `blocksize 16384` for your TrueNAS SCALE storage entry. No data migration is needed — only newly created zvols use the updated value. Existing zvols are unaffected.
|
||||||
|
|
||||||
> **Note:** Automatic blocksize detection based on TrueNAS version is planned for v2.4.0 (see [#241](https://github.com/TheGrandWazoo/freenas-proxmox/issues/241)).
|
> **Note:** Automatic blocksize detection based on TrueNAS version is planned for v2.4.0 (see [#241](https://github.com/TheGrandWazoo/truenas-proxmox/issues/241)).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -255,7 +255,7 @@ v3.0 is a different storage plugin type (`PVE::Storage::Custom::TrueNAS`) and us
|
||||||
## Uninstalling
|
## Uninstalling
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt remove freenas-proxmox
|
apt remove truenas-proxmox
|
||||||
```
|
```
|
||||||
|
|
||||||
This removes the plugin and reverses all patches, returning your Proxmox VE installation to its unmodified state. Any storage configurations using this plugin should be removed from Proxmox before uninstalling.
|
This removes the plugin and reverses all patches, returning your Proxmox VE installation to its unmodified state. Any storage configurations using this plugin should be removed from Proxmox before uninstalling.
|
||||||
|
|
@ -362,7 +362,7 @@ TrueNAS SCALE 25.04 **revokes all existing API keys** that were created with whi
|
||||||
|
|
||||||
**Additionally**, TrueNAS SCALE 25.04 enforces HTTPS for API key authentication — keys transmitted over plain HTTP are automatically revoked. Ensure **Use SSL** is enabled in your Proxmox storage config when using token auth.
|
**Additionally**, TrueNAS SCALE 25.04 enforces HTTPS for API key authentication — keys transmitted over plain HTTP are automatically revoked. Ensure **Use SSL** is enabled in your Proxmox storage config when using token auth.
|
||||||
|
|
||||||
> **Note:** TrueNAS SCALE 25.04 also deprecates the REST API used by this plugin (v2.x). Full removal is planned for SCALE 26.x. Plugin v3.0.0 will add WebSocket JSON-RPC 2.0 support. See [issue #243](https://github.com/TheGrandWazoo/freenas-proxmox/issues/243).
|
> **Note:** TrueNAS SCALE 25.04 also deprecates the REST API used by this plugin (v2.x). Full removal is planned for SCALE 26.x. Plugin v3.0.0 will add WebSocket JSON-RPC 2.0 support. See [issue #243](https://github.com/TheGrandWazoo/truenas-proxmox/issues/243).
|
||||||
|
|
||||||
### Disk size in Proxmox shows larger than what I entered
|
### Disk size in Proxmox shows larger than what I entered
|
||||||
|
|
||||||
|
|
@ -392,7 +392,7 @@ If you see iSCSI extents in TrueNAS that are not associated with any target, the
|
||||||
|
|
||||||
### Filing a Bug Report
|
### Filing a Bug Report
|
||||||
|
|
||||||
Please use the [GitHub issue tracker](https://github.com/TheGrandWazoo/freenas-proxmox/issues) and include the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md). Include relevant log lines from `syslog` (search for `FreeNAS::`).
|
Please use the [GitHub issue tracker](https://github.com/TheGrandWazoo/truenas-proxmox/issues) and include the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md). Include relevant log lines from `syslog` (search for `FreeNAS::`).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ EOF
|
||||||
### Step 3 — Install the Package
|
### Step 3 — Install the Package
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt update && apt install freenas-proxmox
|
apt update && apt install truenas-proxmox
|
||||||
```
|
```
|
||||||
|
|
||||||
The installer:
|
The installer:
|
||||||
|
|
@ -216,7 +216,7 @@ ls /usr/share/perl5/PVE/Storage/Custom/TrueNAS.pm
|
||||||
ls /usr/share/pve-manager/js/truenas-storage.js
|
ls /usr/share/pve-manager/js/truenas-storage.js
|
||||||
```
|
```
|
||||||
|
|
||||||
Both files should exist. If they are missing, re-run `apt install freenas-proxmox`. Also check whether `pvedaemon` and `pveproxy` restarted cleanly:
|
Both files should exist. If they are missing, re-run `apt install truenas-proxmox`. Also check whether `pvedaemon` and `pveproxy` restarted cleanly:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
systemctl status pvedaemon pveproxy
|
systemctl status pvedaemon pveproxy
|
||||||
|
|
@ -303,7 +303,7 @@ In the Proxmox UI: **Datacenter → Storage** → select each TrueNAS storage en
|
||||||
### Step 2 — Uninstall the Package
|
### Step 2 — Uninstall the Package
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt remove freenas-proxmox
|
apt remove truenas-proxmox
|
||||||
```
|
```
|
||||||
|
|
||||||
The removal script:
|
The removal script:
|
||||||
|
|
@ -315,7 +315,7 @@ The removal script:
|
||||||
To also remove install logs:
|
To also remove install logs:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt purge freenas-proxmox
|
apt purge truenas-proxmox
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 3 — Refresh Your Browser
|
### Step 3 — Refresh Your Browser
|
||||||
|
|
@ -326,5 +326,5 @@ Hard-refresh the browser after uninstalling. The TrueNAS option will disappear f
|
||||||
|
|
||||||
## Getting Help
|
## Getting Help
|
||||||
|
|
||||||
- GitHub Issues: https://github.com/TheGrandWazoo/freenas-proxmox/issues
|
- GitHub Issues: https://github.com/TheGrandWazoo/truenas-proxmox/issues
|
||||||
- When reporting a bug, include log lines from `journalctl -u pvedaemon | grep -i truenas` and the output of `pveversion`
|
- When reporting a bug, include log lines from `journalctl -u pvedaemon | grep -i truenas` and the output of `pveversion`
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
Package: freenas-proxmox
|
||||||
|
Version: ${VERSION}
|
||||||
|
Architecture: all
|
||||||
|
Maintainer: KSA Technologies, LLC <theprofessor@ksatechnologies.com>
|
||||||
|
Depends: truenas-proxmox (>= 3.0.0)
|
||||||
|
Section: perl
|
||||||
|
Priority: optional
|
||||||
|
Homepage: https://github.com/TheGrandWazoo/truenas-proxmox
|
||||||
|
Description: Transitional package — replaced by truenas-proxmox
|
||||||
|
This is an empty transitional package. The plugin has been renamed from
|
||||||
|
freenas-proxmox to truenas-proxmox. Installing this package pulls in the
|
||||||
|
real package automatically.
|
||||||
|
.
|
||||||
|
To fully complete migration: apt install truenas-proxmox && apt purge freenas-proxmox
|
||||||
|
.
|
||||||
|
The freenas-proxmox package name will not exist in v4.0.
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# postinst: freenas-proxmox transitional package
|
||||||
|
# This package is empty — the real plugin is in truenas-proxmox.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
LOG_FILE="/var/log/truenas-proxmox-install.log"
|
||||||
|
|
||||||
|
log() {
|
||||||
|
echo "[freenas-proxmox] $*" | tee -a "$LOG_FILE"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
log "freenas-proxmox is now a transitional package."
|
||||||
|
log "The plugin has moved to: truenas-proxmox"
|
||||||
|
log "To complete migration: apt install truenas-proxmox && apt purge freenas-proxmox"
|
||||||
|
log "Note: freenas-proxmox will not exist in v4.0."
|
||||||
|
;;
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$0: called with unknown argument '$1'" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
Package: freenas-proxmox
|
Package: truenas-proxmox
|
||||||
Version: ${VERSION}
|
Version: ${VERSION}
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Maintainer: KSA Technologies, LLC <theprofessor@ksatechnologies.com>
|
Maintainer: KSA Technologies, LLC <theprofessor@ksatechnologies.com>
|
||||||
Depends: librest-client-perl, open-iscsi
|
Depends: librest-client-perl, open-iscsi
|
||||||
|
Replaces: freenas-proxmox
|
||||||
|
Breaks: freenas-proxmox (<< 3.0.0)
|
||||||
Section: perl
|
Section: perl
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Homepage: https://github.com/TheGrandWazoo/freenas-proxmox
|
Homepage: https://github.com/TheGrandWazoo/truenas-proxmox
|
||||||
Description: TrueNAS Custom Storage Plugin for Proxmox VE
|
Description: TrueNAS Custom Storage Plugin for Proxmox VE
|
||||||
Native PVE::Storage::Custom plugin for managing TrueNAS ZFS volumes over iSCSI.
|
Native PVE::Storage::Custom plugin for managing TrueNAS ZFS volumes over iSCSI.
|
||||||
Discovered automatically by Proxmox VE — no patches to PVE system files required.
|
Discovered automatically by Proxmox VE — no patches to PVE system files required.
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# postinst: freenas-proxmox v3.x install/upgrade script
|
# postinst: truenas-proxmox v3.x install/upgrade script
|
||||||
# Installs the TrueNAS custom storage plugin and UI panel for Proxmox VE.
|
# Installs the TrueNAS custom storage plugin and UI panel for Proxmox VE.
|
||||||
# No patches to PVE core files — only adds our own files and one <script> line.
|
# No patches to PVE core files — only adds our own files and one <script> line.
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
INSTALL_DIR="/usr/share/freenas-proxmox"
|
INSTALL_DIR="/usr/share/truenas-proxmox"
|
||||||
PLUGIN_DST="/usr/share/perl5/PVE/Storage/Custom/TrueNAS.pm"
|
PLUGIN_DST="/usr/share/perl5/PVE/Storage/Custom/TrueNAS.pm"
|
||||||
JS_DST="/usr/share/pve-manager/js/truenas-storage.js"
|
JS_DST="/usr/share/pve-manager/js/truenas-storage.js"
|
||||||
HELP_DST="/usr/share/pve-docs/truenas-storage.html"
|
HELP_DST="/usr/share/pve-docs/truenas-storage.html"
|
||||||
TPL="/usr/share/pve-manager/index.html.tpl"
|
TPL="/usr/share/pve-manager/index.html.tpl"
|
||||||
SCRIPT_TAG=' <script type="text/javascript" src="/pve2/js/truenas-storage.js?ver=[% version %]"></script>'
|
SCRIPT_TAG=' <script type="text/javascript" src="/pve2/js/truenas-storage.js?ver=[% version %]"></script>'
|
||||||
LOG_FILE="/var/log/freenas-proxmox-install.log"
|
LOG_FILE="/var/log/truenas-proxmox-install.log"
|
||||||
|
|
||||||
log() {
|
log() {
|
||||||
echo "[freenas-proxmox] $*" | tee -a "$LOG_FILE"
|
echo "[truenas-proxmox] $*" | tee -a "$LOG_FILE"
|
||||||
}
|
}
|
||||||
|
|
||||||
install_plugin() {
|
install_plugin() {
|
||||||
|
|
@ -47,7 +47,7 @@ restart_pve_services() {
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
configure)
|
configure)
|
||||||
log "Configuring freenas-proxmox (previous version: ${2:-none})"
|
log "Configuring truenas-proxmox (previous version: ${2:-none})"
|
||||||
install_plugin
|
install_plugin
|
||||||
install_ui
|
install_ui
|
||||||
restart_pve_services
|
restart_pve_services
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# postrm: freenas-proxmox v3.x removal script
|
# postrm: truenas-proxmox v3.x removal script
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
PLUGIN_DST="/usr/share/perl5/PVE/Storage/Custom/TrueNAS.pm"
|
PLUGIN_DST="/usr/share/perl5/PVE/Storage/Custom/TrueNAS.pm"
|
||||||
JS_DST="/usr/share/pve-manager/js/truenas-storage.js"
|
JS_DST="/usr/share/pve-manager/js/truenas-storage.js"
|
||||||
HELP_DST="/usr/share/pve-docs/truenas-storage.html"
|
HELP_DST="/usr/share/pve-docs/truenas-storage.html"
|
||||||
TPL="/usr/share/pve-manager/index.html.tpl"
|
TPL="/usr/share/pve-manager/index.html.tpl"
|
||||||
LOG_FILE="/var/log/freenas-proxmox-install.log"
|
LOG_FILE="/var/log/truenas-proxmox-install.log"
|
||||||
|
|
||||||
log() {
|
log() {
|
||||||
echo "[freenas-proxmox] $*" | tee -a "$LOG_FILE"
|
echo "[truenas-proxmox] $*" | tee -a "$LOG_FILE"
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_ui() {
|
remove_ui() {
|
||||||
|
|
@ -30,14 +30,14 @@ restart_pve_services() {
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
remove)
|
remove)
|
||||||
log "Removing freenas-proxmox ..."
|
log "Removing truenas-proxmox ..."
|
||||||
rm -f "$PLUGIN_DST" && log "Removed ${PLUGIN_DST}"
|
rm -f "$PLUGIN_DST" && log "Removed ${PLUGIN_DST}"
|
||||||
remove_ui
|
remove_ui
|
||||||
restart_pve_services
|
restart_pve_services
|
||||||
log "freenas-proxmox removed. Refresh your Proxmox browser tab."
|
log "truenas-proxmox removed. Refresh your Proxmox browser tab."
|
||||||
;;
|
;;
|
||||||
purge)
|
purge)
|
||||||
log "Purging freenas-proxmox ..."
|
log "Purging truenas-proxmox ..."
|
||||||
rm -f "$PLUGIN_DST" "$JS_DST" "$HELP_DST" "$LOG_FILE"
|
rm -f "$PLUGIN_DST" "$JS_DST" "$HELP_DST" "$LOG_FILE"
|
||||||
[ -f "$TPL" ] && sed -i '/truenas-storage\.js/d' "$TPL"
|
[ -f "$TPL" ] && sed -i '/truenas-storage\.js/d' "$TPL"
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,7 @@ grep -i TrueNASPlugin /var/log/syslog
|
||||||
journalctl -u pvedaemon --since "30 minutes ago" | grep -i truenas
|
journalctl -u pvedaemon --since "30 minutes ago" | grep -i truenas
|
||||||
|
|
||||||
# Install / removal log
|
# Install / removal log
|
||||||
cat /var/log/freenas-proxmox-install.log
|
cat /var/log/truenas-proxmox-install.log
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<div class="note">
|
<div class="note">
|
||||||
|
|
@ -231,11 +231,11 @@ cat /var/log/freenas-proxmox-install.log
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<a href="https://github.com/TheGrandWazoo/freenas-proxmox" target="_blank">
|
<a href="https://github.com/TheGrandWazoo/truenas-proxmox" target="_blank">
|
||||||
freenas-proxmox on GitHub
|
truenas-proxmox on GitHub
|
||||||
</a>
|
</a>
|
||||||
·
|
·
|
||||||
<a href="https://github.com/TheGrandWazoo/freenas-proxmox/issues" target="_blank">
|
<a href="https://github.com/TheGrandWazoo/truenas-proxmox/issues" target="_blank">
|
||||||
Report an issue
|
Report an issue
|
||||||
</a>
|
</a>
|
||||||
·
|
·
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue