Skip to content

Commit

Permalink
update minio to 2022-10-24T18-35-07Z (#5555)
Browse files Browse the repository at this point in the history
* minio: update to 2022-10-24T18-35-07Z

* minio: end of life note in install wizard

* minio: fix version information in binaries

* migrate to redesigned shared folder handing
- adjust wizard for shared folders
- use SHARE_PATH variable instead of WIZARD_DATA_VOLUME and WIZARD_DATA_DIRECTORY

* update install and upgrade wizards
- add notes to the installation wizard that the "Migration notes" apply only when the shared folder already contains a minio data structure
- evaluate existing data format in upgrade wizard and show related "Migration notes"
  - reusing an existing installation with the new format will have no upgrade issues
  - reusing an existing installation with the filesystem format will not get any future update
  - when changing the shared folder on upgrade, the data format is unknown and it is unknown whether future updates will work
- add link to the 'Migrate from Gateway or Filesystem Mode' page

* fix upgrade wizard for DSM 6

---------

Co-authored-by: fgma <[email protected]>
Co-authored-by: hgy59 <[email protected]>
  • Loading branch information
3 people authored Dec 9, 2024
1 parent a79cb60 commit a425968
Show file tree
Hide file tree
Showing 8 changed files with 168 additions and 113 deletions.
9 changes: 5 additions & 4 deletions cross/minio-client/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
PKG_NAME = minio-client
REAL_PKG_NAME = mc
PKG_VERS = 2022-08-28T20-08-11Z
PKG_VERS = 2022-12-13T00-23-28Z
PKG_RELEASE_TAG = $(subst :,-,$(PKG_VERS))
PKG_COMMIT_ID = a64491e101feeaf68735a20c204d06993ba531e5
PKG_COMMIT_ID = 4b4cab0441f000db100c5b5d9329221181bf61f2
PKG_EXT = tar.gz
PKG_DIST_PREFIX = RELEASE.$(PKG_RELEASE_TAG)
PKG_DIST_NAME = $(PKG_DIST_PREFIX).$(PKG_EXT)
Expand All @@ -25,12 +25,13 @@ GO_BIN_DIR = $(GO_SRC_DIR)/$(REAL_PKG_NAME)

ENV += GO111MODULE=on

GO_BUILD_ARGS = -tags kqueue
GO_BUILD_ARGS = -tags kqueue -buildvcs=false

GO_LDFLAGS = -s -w
GO_LDFLAGS += -X github.com/minio/mc/cmd.Version=$(PKG_VERS)
GO_LDFLAGS += -X github.com/minio/mc/cmd.ReleaseTag=$(PKG_RELEASE_TAG)
GO_LDFLAGS += -X github.com/minio/mc/cmd.CopyrightYear=$(firstword $(subst -, ,$(PKG_VERS)))
GO_LDFLAGS += -X github.com/minio/mc/cmd.CommitID=$(PKG_COMMIT_ID)
GO_LDFLAGS += -X github.com/minio/mc/cmd.CopyrightYear=$(firstword $(subst -, ,$(PKG_VERS)))

include ../../mk/spksrc.cross-go.mk

Expand Down
6 changes: 3 additions & 3 deletions cross/minio-client/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
minio-client-RELEASE.2022-08-28T20-08-11Z.tar.gz SHA1 4b0108d01be3eeb62b0802ce5258fd3c00afb8ac
minio-client-RELEASE.2022-08-28T20-08-11Z.tar.gz SHA256 2c0f867067f8325c5dd011bac7bad7d9652c9229f03ec50a1564012ed46f6b87
minio-client-RELEASE.2022-08-28T20-08-11Z.tar.gz MD5 225d798b5cbf064cbb2f57c277652557
minio-client-RELEASE.2022-12-13T00-23-28Z.tar.gz SHA1 193205663e7bbdb53dd71cf02011983420cd9157
minio-client-RELEASE.2022-12-13T00-23-28Z.tar.gz SHA256 66fd150ae742e8ac2fa839eef4a50b863f68ca69e867818b7999bef718c145ba
minio-client-RELEASE.2022-12-13T00-23-28Z.tar.gz MD5 7f804c6d6f082f77d4592473d1e35408
10 changes: 6 additions & 4 deletions cross/minio/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PKG_NAME = minio
PKG_VERS = 2022-09-07T22-25-02Z
PKG_VERS = 2022-10-24T18-35-07Z
PKG_RELEASE_TAG = $(subst :,-,$(PKG_VERS))
PKG_COMMIT_ID = bb855499e1519f31c03c9b91c0f9f10cb6439253
PKG_COMMIT_ID = fc6c7949727ec261cd57fbdb02fa7575d0fd8e61
PKG_EXT = tar.gz
PKG_DIST_PREFIX = RELEASE.$(PKG_RELEASE_TAG)
PKG_DIST_NAME = $(PKG_DIST_PREFIX).$(PKG_EXT)
Expand All @@ -23,12 +23,14 @@ GO_BIN_DIR = $(GO_SRC_DIR)/$(PKG_NAME)

ENV += GO111MODULE=on

GO_BUILD_ARGS = -tags kqueue
GO_BUILD_ARGS = -tags kqueue -buildvcs=false

GO_LDFLAGS = -s -w
GO_LDFLAGS += -X github.com/minio/minio/cmd.Version=$(PKG_VERS)
GO_LDFLAGS += -X github.com/minio/minio/cmd.ReleaseTag=$(PKG_RELEASE_TAG)
GO_LDFLAGS += -X github.com/minio/minio/cmd.CopyrightYear=$(firstword $(subst -, ,$(PKG_VERS)))
GO_LDFLAGS += -X github.com/minio/minio/cmd.CommitID=$(PKG_COMMIT_ID)
GO_LDFLAGS += -X github.com/minio/minio/cmd.ShortCommitID=$(shell echo $(PKG_COMMIT_ID) | cut -c1-12)
GO_LDFLAGS += -X github.com/minio/minio/cmd.CopyrightYear=$(firstword $(subst -, ,$(PKG_VERS)))

include ../../mk/spksrc.cross-go.mk

Expand Down
6 changes: 3 additions & 3 deletions cross/minio/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
minio-RELEASE.2022-09-07T22-25-02Z.tar.gz SHA1 c8938831d28bc98b372e1b2a980b03b2fa22a6ad
minio-RELEASE.2022-09-07T22-25-02Z.tar.gz SHA256 dc82945606b5f7468fc2c2e58866f5b170a6c32a76f1507d0c39ed27a4483dee
minio-RELEASE.2022-09-07T22-25-02Z.tar.gz MD5 b602b27d913b553c443853dfb0cd2b18
minio-RELEASE.2022-10-24T18-35-07Z.tar.gz SHA1 56c371d566f26085a541f06c8b833651c4834f69
minio-RELEASE.2022-10-24T18-35-07Z.tar.gz SHA256 c9814e0b856c86d0a360cfb464401c3a106dfad50174e8c9897839320bcc5410
minio-RELEASE.2022-10-24T18-35-07Z.tar.gz MD5 88f3bbb662b17dc6cb873b3e9488d8c7
9 changes: 4 additions & 5 deletions spk/minio/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
SPK_NAME = minio
SPK_VERS = 2022.09.07
SPK_REV = 15
SPK_VERS = 2022.10.24
SPK_REV = 16
SPK_ICON = src/minio.png
DSM_UI_DIR = app

Expand All @@ -11,7 +11,7 @@ UNSUPPORTED_ARCHS = $(PPC_ARCHS)
MAINTAINER = fgma
DESCRIPTION = MinIO is a high performance object storage server compatible with Amazon S3 APIs. This Package includes the 'minio-client' \(mc\).
DISPLAY_NAME = MinIO
CHANGELOG = "1. Update to MinIO 2022-09-07T22-25-02Z. Multiple minor feature releases and security releases.<br/>2. Include minio-client (mc) in the package (named 'minio-client' and availalbe in the path, to use the client as 'mc' your have to specify the full path: /var/packages/minio/target/bin/mc).<br/>3. Format of the environment-variables file has changed. Custom variables are exported by default and must not be defined with export anymore."
CHANGELOG = "1. Update to MinIO 2022-10-24T18-35-07Z. Multiple minor feature releases and security releases.<br/>2. Last version supporting legacy “FS-mode” backend. All newer versions will not be able to read data from old installations anymore."
LICENSE_FILE = $(WORK_DIR)/src/github.com/minio/minio/LICENSE
HOMEPAGE = https://min.io/
LICENSE = AGPLv3.0
Expand All @@ -21,8 +21,7 @@ WIZARDS_DIR = src/wizard
STARTABLE = yes
SERVICE_USER = auto
SERVICE_SETUP = src/service-setup.sh
SERVICE_WIZARD_SHARE = wizard_data_directory
USE_DATA_SHARE_WORKER = yes
SERVICE_WIZARD_SHARENAME = wizard_data_directory
FWPORTS = src/minio.sc
# Console Port (API Port is 9000)
ADMIN_PORT = 9001
Expand Down
18 changes: 8 additions & 10 deletions spk/minio/src/service-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,9 @@ SVC_WRITE_PID=y

service_postinst ()
{
echo HOME="${SYNOPKG_PKGVAR}" >> ${INST_VARIABLES}
echo WIZARD_DATA_VOLUME="${wizard_data_volume}" >> ${INST_VARIABLES}
echo WIZARD_DATA_DIRECTORY="${wizard_data_directory}" >> ${INST_VARIABLES}
echo MINIO_ROOT_USER="${wizard_root_user}" >> ${INST_VARIABLES}
echo MINIO_ROOT_PASSWORD="${wizard_root_password}" >> ${INST_VARIABLES}
echo HOME="${SYNOPKG_PKGVAR}" >> ${INST_VARIABLES}
echo MINIO_ROOT_USER="${wizard_root_user}" >> ${INST_VARIABLES}
echo MINIO_ROOT_PASSWORD="${wizard_root_password}" >> ${INST_VARIABLES}
}

# function to read and export variables from a text file
Expand All @@ -38,11 +36,11 @@ export_variables_from_file ()
service_prestart ()
{
# Reload wizard variables stored by postinst
export_variables_from_file "${INST_VARIABLES}"
# Reload wizard variables stored by postinst
export_variables_from_file "${INST_VARIABLES}"
# Load custom variables
export_variables_from_file "${ENV_VARIABLES}"
# Load custom variables
export_variables_from_file "${ENV_VARIABLES}"
SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/minio server --quiet --console-address :${CONSOLE_PORT} --anonymous ${WIZARD_DATA_VOLUME}/${WIZARD_DATA_DIRECTORY}"
SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/minio server --quiet --console-address :${CONSOLE_PORT} --anonymous ${SHARE_PATH}"
}
55 changes: 18 additions & 37 deletions spk/minio/src/wizard/install_uifile
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,9 @@
{
"step_title": "MinIO configuration",
"items": [
{
"type": "combobox",
"desc": "Please select a volume to use for the data folder",
"subitems": [
{
"key": "wizard_data_volume",
"desc": "Volume name",
"displayField": "display_name",
"valueField": "volume_path",
"editable": false,
"mode": "remote",
"api_store": {
"api": "SYNO.Core.Storage.Volume",
"method": "list",
"version": 1,
"baseParams": {
"limit": -1,
"offset": 0,
"location": "internal"
},
"root": "volumes",
"idProperty": "volume_path",
"fields": [
"display_name",
"volume_path"
]
},
"validator": {
"fn": "{console.log(arguments);return true;}"
}
}
]
},
{
"type": "textfield",
"desc": "Data shared folder (using the volume chosen above)",
"desc": "Data shared folder. This must be a name for the shared folder only, without any path. This share is created at installation when it does not already exist.",
"subitems": [
{
"key": "wizard_data_directory",
Expand All @@ -46,15 +13,15 @@
"validator": {
"allowBlank": false,
"regex": {
"expr": "/^[\\w _-]+$/",
"errorText": "Subdirectories are not supported."
"expr": "/^[^<>: */?\"]*/",
"errorText": "Share name must be a folder name only. Path separators, spaces and other special chars are not allowed."
}
}
}
]
},
{
"desc": "The folder will be created on demand as regular DSM shared folder for the service user <b>sc-minio</b>. For details about the DSM permissions see <a target=\"_blank\" href=\"https://github.com/SynoCommunity/spksrc/wiki/Permission-Management\">Permission Management</a>.<p/>"
"desc": "If you let the installer create the shared folder, it is created under the same volume as the package is installed. If you want to use a different volume for the share, you must create the shared folder in DSM Control Panel before, and enter the name of the existing share in the field above."
},
{
"desc": "Please define the following credentials to access the MinIO services:"
Expand Down Expand Up @@ -96,5 +63,19 @@
]
}
]
},
{
"step_title": "MinIO - Migration Notes",
"items": [
{
"desc": "<b>The following notes apply only in the case where the shared folder already contains a MinIO data structure.</b>"
},
{
"desc": "MinIO removed support for the filesystem mode which is a 1:1 mapping of buckets to files on disk. If your deployment uses filesystem mode you need to manually migrate to single-node single-drive deployment setup. Future MinIO packages will support the new format only."
},
{
"desc": "Because of the complexity and risks involved, an automatic upgrade process is not available. The official MinIO documentation provides a guide for doing so, see <a target=\"_blank\" href=\"https://min.io/docs/minio/linux/operations/install-deploy-manage/migrate-fs-gateway.html\">Migrate from Gateway or Filesystem Mode</a>."
}
]
}
]
Loading

0 comments on commit a425968

Please sign in to comment.