1
0
mirror of https://git.cloudron.io/cloudron/minio-app synced 2025-09-05 00:35:14 +00:00

Compare commits

...

72 Commits

Author SHA1 Message Date
Johannes Zellner
b83414cda6 Bump version for 1.159.8 2021-03-17 12:23:52 +01:00
Johannes Zellner
fa7d329def Update test deps 2021-03-15 12:40:10 +01:00
Johannes Zellner
ebeb8079d7 Bump version for 2021-03-12T00-00-47Z 2021-03-15 12:39:19 +01:00
Johannes Zellner
2a585c7ac4 Update test deps 2021-03-10 10:57:15 +01:00
Johannes Zellner
6d97db31e8 Bump version for 2021-03-10T05-11-33Z 2021-03-10 10:56:31 +01:00
Girish Ramakrishnan
b4cc5a68a7 Version 1.159.5 2021-03-04 11:38:17 -08:00
Girish Ramakrishnan
427db11d69 Update minio to 2021-03-04T00-53-13Z 2021-03-04 11:11:27 -08:00
Girish Ramakrishnan
1b74681053 Version v1.59.4 2021-03-01 14:48:00 -08:00
Girish Ramakrishnan
5416718efd Update minio to RELEASE.2021-03-01T04-20-55Z 2021-03-01 14:38:47 -08:00
Girish Ramakrishnan
2e0f47fc40 Version 1.159.3 2021-02-25 10:10:30 -08:00
Girish Ramakrishnan
57a0495d79 Update minio to RELEASE.2021-02-24T18-44-45Z 2021-02-25 10:04:28 -08:00
Johannes Zellner
d0fa31be3c Bump version for 2021-02-19T04-38-02Z 2021-02-19 13:14:28 +01:00
Johannes Zellner
5bce9a300d Update test deps 2021-02-15 13:59:57 +01:00
Johannes Zellner
3793fd4106 Bump version for 2021-02-14T04-01-33Z 2021-02-15 13:59:38 +01:00
Girish Ramakrishnan
1a24f9436c Version 1.159.0 2021-02-11 12:00:06 -08:00
Girish Ramakrishnan
582f0c3986 Update minio to 2021-02-11T08-23-43Z 2021-02-11 11:59:19 -08:00
Girish Ramakrishnan
9d2b5a932a Version 1.158.0 2021-02-08 17:06:45 -08:00
Girish Ramakrishnan
03bbd29700 Update minio to RELEASE.2021-02-07T01-31-02Z 2021-02-08 16:58:35 -08:00
Girish Ramakrishnan
ad8d9a1e06 Use base image v3 2021-02-08 16:58:19 -08:00
Johannes Zellner
746b026890 Bump version for 2021-02-01T22-56-52Z 2021-02-02 10:15:18 +01:00
Johannes Zellner
43b5ff4725 Update test deps 2021-01-30 11:19:15 +01:00
Johannes Zellner
5070aa1980 Bump version 2021-01-30 11:18:51 +01:00
Girish Ramakrishnan
d2e9ae39d0 Version 1.156.0 2021-01-17 18:19:52 -08:00
Girish Ramakrishnan
0f3c5be8d9 Update minio to RELEASE.2021-01-16T02-19-44Z 2021-01-17 17:59:40 -08:00
Girish Ramakrishnan
a9c7acb12a Version 1.155.0 2021-01-11 09:34:30 -08:00
Girish Ramakrishnan
aa34496126 Update minio to 2021-01-08T21-18-21Z 2021-01-11 09:30:40 -08:00
Girish Ramakrishnan
20c175c974 Version 1.154.0 2021-01-07 10:19:00 -08:00
Girish Ramakrishnan
30b6cb0313 Update minio to 2021-01-05T05-22-38Z 2021-01-07 10:12:34 -08:00
Girish Ramakrishnan
d7df9a864a Version 1.153.0 2021-01-03 09:39:15 -08:00
Girish Ramakrishnan
1d3df7a757 Update minio to RELEASE.2020-12-29T23-29-29Z 2021-01-03 09:30:58 -08:00
Girish Ramakrishnan
c675583694 Version 1.152.0 2020-12-28 11:46:45 -08:00
Girish Ramakrishnan
a58a08c3ab Update minio to RELEASE.2020-12-26T01-35-54Z 2020-12-28 11:42:53 -08:00
Girish Ramakrishnan
9383f04ed9 Version 1.151.4 2020-12-18 12:25:33 -08:00
Girish Ramakrishnan
ff27ffcf60 Update minio to 2020-12-18T03-27-42Z 2020-12-18 12:12:44 -08:00
Girish Ramakrishnan
9702f8b220 Version 1.151.3 2020-12-16 22:26:27 -08:00
Girish Ramakrishnan
0d3fe267ed Update test modules 2020-12-16 22:23:29 -08:00
Girish Ramakrishnan
4bce3ea796 Update minio to 2020-12-16T05-05-17Z 2020-12-16 22:22:45 -08:00
Girish Ramakrishnan
4bbe8f40b4 Version 1.151.2 2020-12-14 10:07:54 -08:00
Girish Ramakrishnan
369d25f615 Update minio to 2020-12-12T08-39-07Z 2020-12-14 10:07:06 -08:00
Johannes Zellner
9d63fc3fe0 Update test deps 2020-12-10 12:39:02 +01:00
Johannes Zellner
ce694b9cdb Bump version for RELEASE.2020-12-10T01-54-29Z 2020-12-10 12:34:27 +01:00
Girish Ramakrishnan
a0d8fabeea Version 1.151.0 2020-12-03 10:49:13 -08:00
Girish Ramakrishnan
9d61db56b3 Update test modules 2020-12-03 10:48:45 -08:00
Girish Ramakrishnan
d48dca5e2f Update minio to 2020-12-03T05-49-24Z 2020-12-03 10:42:04 -08:00
Johannes Zellner
e23c2a728b Bump version for RELEASE.2020-11-25T22-36-25Z 2020-11-26 13:14:11 +01:00
Girish Ramakrishnan
8a151ff784 Version 1.150.0 2020-11-24 09:59:34 -08:00
Girish Ramakrishnan
d3fd0b1d7b Actually update 2020-11-24 09:58:25 -08:00
Girish Ramakrishnan
d97140c83e Update tests 2020-11-24 09:53:41 -08:00
Girish Ramakrishnan
eb196a96fa Update minio to 2020-11-19T23-48-16Z 2020-11-24 09:53:30 -08:00
Girish Ramakrishnan
c792b2646f Version 1.149.0 2020-11-16 09:43:31 -08:00
Girish Ramakrishnan
fdb9011120 Update minio to RELEASE.2020-11-13T20-10-18Z 2020-11-16 09:33:15 -08:00
Girish Ramakrishnan
f4878ab442 Version 1.148.0 2020-11-13 10:13:39 -08:00
Girish Ramakrishnan
1cbf80465f Update minio to RELEASE.2020-11-12T22-33-34Z 2020-11-13 10:06:26 -08:00
Girish Ramakrishnan
7b9ebba5dd Update minio to RELEASE.2020-11-10T21-02-24Z 2020-11-11 09:24:11 -08:00
Girish Ramakrishnan
508ce1d809 Version 1.147.0 2020-11-07 18:33:14 -08:00
Girish Ramakrishnan
880c49c0ec Update minio to 2020-11-06T23-17-07Z 2020-11-07 18:13:56 -08:00
Girish Ramakrishnan
78d2b4b146 Version 1.146.0 2020-10-29 10:05:09 -07:00
Girish Ramakrishnan
74a4c25dc9 Update minio to RELEASE.2020-10-28T08-16-50Z 2020-10-29 09:59:35 -07:00
Girish Ramakrishnan
1bd9cea00b Version 1.145.0 2020-10-27 09:32:43 -07:00
Girish Ramakrishnan
a82850a2c2 Update minio to RELEASE.2020-10-27T04-03-55Z 2020-10-27 09:09:39 -07:00
Girish Ramakrishnan
6ad7cbf5fd Version 1.144.0 2020-10-19 20:07:04 -07:00
Girish Ramakrishnan
75a9554e11 Update minio to RELEASE.2020-10-18T21-54-12Z 2020-10-19 17:19:31 -07:00
Girish Ramakrishnan
907fda9cf6 Version 1.143.0 2020-10-14 09:50:53 -07:00
Girish Ramakrishnan
c7b2bfd874 Update minio to 2020-10-12T21-53-21Z 2020-10-14 09:46:11 -07:00
Johannes Zellner
8a2502a149 Update docs url 2020-10-11 15:28:38 +02:00
Johannes Zellner
c0933ab67f Update test deps and remove obsolete ones 2020-10-11 15:26:50 +02:00
Johannes Zellner
e62900974c Bump version for 2020-10-09T22-55-05Z 2020-10-11 15:26:32 +02:00
Girish Ramakrishnan
38e4036876 Version 1.141.0 2020-10-03 13:20:07 -07:00
Girish Ramakrishnan
38edc214a3 app needs restart 2020-10-03 13:13:26 -07:00
Girish Ramakrishnan
c1186748cf --address is an arg apparently
the rest are called "flags"
2020-10-03 13:11:08 -07:00
Girish Ramakrishnan
d0d13eccaf Update minio to RELEASE.2020-10-03T02-19-42Z 2020-10-03 13:10:46 -07:00
Girish Ramakrishnan
d94de7a13b Source custom config from /app/data/env.sh 2020-10-03 13:03:47 -07:00
8 changed files with 620 additions and 1070 deletions

224
CHANGELOG
View File

@@ -602,7 +602,7 @@
* List common prefixes in ListObjectVersions. See (#10286) for more details.
[1.130.0]
* Update minio to 2020-08-25T00-21-20Z
* Update minio to 2020-08-25T00-21-20Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-08-25T00-21-20Z)
[1.131.0]
@@ -665,7 +665,7 @@
* Fix: reduce healthcheck interval for storage rest client. See (#10544) for more details.
[1.140.0]
* Update minio to 2020-09-26T03-44-56Z
* Update minio to 2020-09-26T03-44-56Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-09-26T03-44-56Z)
* Lock related improvements. See (#10571) for more details.
* Faster disconnects and improvements to network error checks. See (#10567, #10562) for more details.
@@ -673,3 +673,223 @@
* federation: Honor range with UploadObjectPart to a different cluster. See (#10570) for more details.
* avoid ListBuckets returning quorum errors when node is down. See (#10555) for more details.
[1.141.0]
* Update minio to 2020-10-03T02-19-42Z
* Source configuration from /app/data/env.sh
[1.142.0]
* Update minio to 2020-10-09T22-55-05Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-10-09T22-55-05Z)
* Improvements to locking. See (#10644, #10640, #10637) for more details.
* remove safeMode behavior in startup. See (#10645) for more details.
* fix: cleanup old directory handling code. See (#10633) for more details.
* Fix replication slowness. See (#10632) for more details.
[1.143.0]
* Update minio to 2020-10-12T21-53-21Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-10-12T21-53-21Z)
* Bump default idleConnsPerHost to control conns in time_wait . See(#10653) for more details.
* Add bandwidth monitoring for replication. See (#10501 #10652) for more details.ukla)
[1.144.0]
* Update minio to 2020-10-18T21-54-12Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-10-18T21-54-12Z)
* Improvements to bandwidth monitoring. See (#10683, #10698) for more details.
* Improvements to crawler. See (#10667, #10677, ) for more details.
* Healing related improvements. See (#10686, #10687, #10688) for more details.
* Add DNS cache support to avoid DNS flooding. See (#10693) for more details.
* update NTP package for accurate time resolution fixes. See (#10670) for more details.
* rename crawler config option to heal. See (#10678) for more details.
* Improvements to connecting to disks during startup. See (#10685, #10669) for more details.
* fix: Send delete marker creation event when appropriate. See (#10696) for more details.
[1.145.0]
* Update minio to 2020-10-27T04-03-55Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-10-27T04-03-55Z)
* Critical fixes related to replaced drives. See (#10748, #10759, #10764, #10766) for more details. Affects all releases since
RELEASE.2020-09-05T07-14-49Z, if you are running any releases since RELEASE.2020-09-05T07-14-49Z it is recommended
that you should schedule for an upgrade.
* Rolling upgrade is not supported (Internode API upgrade) (k8s/container deployments must upgrade all containers at once).
* Improvements to caching. See (#10762, #10763) for more details.
* Fix in Get/HeadObject to return 404 on dangling objects. See (#10753) for more details.
* IAM related improvements. See (#10719, #10700) for more details.
* Expire offline lockers. See (#10749) for more details.
* Aggressively slow down auto-healing. See (#10730) for more details.
[1.146.0]
* Update minio to 2020-10-28T08-16-50Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-10-28T08-16-50Z)
* Continuation of critical fixes made in the last release.
* Healing handles drive order mismatches. See (#10773) for more details.
* Fixes for CopyObject,PutObjectTagging APIs to ensure drive order, also make sure GetObject honors fallbacks due to drive order changes. See (#10772) for more details.
[1.147.0]
* Update minio to 2020-11-06T23-17-07Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-11-06T23-17-07Z)
Add support for ListObject caching. See (#10814, #10648, #10784, #10844, #10836, #10837, #10834, #10820, #10809, #10800, #10802, #10826, #10825, #10824) for more details.
* fix: replaced drive properly by healing the entire drive. See (#10799) for more details.
* allow requests to be proxied when server is booting up. See (#10790) for more details.
* Optimize decryptObjectInfo. See (#10726) for more details.
* fix: add support for O_DIRECT reads for erasure backends. See (#10718) for more details.
[1.148.0]
* Update minio to 2020-11-12T22-33-34Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-11-12T22-33-34Z)
* Fix to sort directory objects correctly. See (#10886) for more details.
* fix: HDFS list bucket when subpath is provided. See (#10884) for more details.
* list cache improvements. See (#10879, #10883) for more details.
* fix: simplify healing metadata objects per set. See (#10867) for more details.
* DeletedObjects: Return objects on lock failure. See (#10874) for more details.
[1.149.0]
* Update minio to 2020-11-13T20-10-18Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-11-13T20-10-18Z)
* Upgrade to Go 1.15.5 to address CVE-2020-28362, CVE-2020-28367 and CVE-2020-28366. [details](https://groups.google.com/g/golang-announce/c/NpBGTTmKzpM/m/fLguyiM2CAAJ)
[1.150.0]
* Update minio to 2020-11-19T23-48-16Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-11-19T23-48-16Z)
[1.150.1]
* Update minio to 2020-11-25T22-36-25Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-11-25T22-36-25Z)
[1.151.0]
* Update minio to 2020-12-03T05-49-24Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-12-03T05-49-24Z)
[1.151.1]
* Update minio to 2020-12-10T01-54-29Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-12-10T01-54-29Z)
[1.151.2]
* Update minio to 2020-12-12T08-39-07Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-12-12T08-39-07Z)
[1.151.3]
* Update minio to 2020-12-16T05-05-17Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-12-16T05-05-17Z)
[1.151.4]
* Update minio to 2020-12-18T03-27-42Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-12-18T03-27-42Z)
[1.152.0]
* Update minio to 2020-12-26T01-35-54Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-12-26T01-35-54Z)
[1.153.0]
* Update minio to 2020-12-29T23-29-29Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2020-12-29T23-29-29Z)
* Fix: Avoid crash in crawler when lifecycle is not initialized. See (#11170) for more details.
* Fixes and improvements in healing. See (#11171, #11173) for more details.
* Fix: re-arrange handlers to handle requests on /minio. See (#11177) for more details.
[1.154.0]
* Update minio to 2021-01-05T05-22-38Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-01-05T05-22-38Z)
* do not use large buffers if not necessary. See (#11220, #11213) for more details.
* Minor optimizations in handlers. See (#11211, #11217) for more details.
* remove/deprecate crawler disable environment. See (#11214) for more details.
* fix: calculate prometheus disks_offline/disks_total correctly. See (#11215) for more details.
* Optimizations to Get and Head object APIs. See (#11200, #11201, #11204, #11207) for more details.
* fix: admin trace throttled requests. See (#11192) for more details.
[1.155.0]
* Update minio to 2021-01-08T21-18-21Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-01-08T21-18-21Z)
[1.156.0]
* Update minio to 2021-01-16T02-19-44Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-01-16T02-19-44Z)
* fix: preserve cache calculated previously while moving from v2 to v3. See (#11269) for more details.
* listing with prefix prefixed with '/' should be ignored. See (#11268) for more details.
* enable small and large file optimization. See (#11260) for more details.
* fix: enable xl.json to xl.meta only if legacy drive is found. See (#11255) for more details.
[1.157.0]
* Update minio to 2021-01-30T00-20-58Z
* Important security fixes
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-01-30T00-20-58Z)
[1.157.1]
* Update minio to 2021-02-01T22-56-52Z
* Fixes an important regression in federation implementation, refer f737a02
* ILM improvements, trigger expiry upon HEAD/GET
* tagging: Add event notif for PUT object tagging (#11366) (02/01/21) (Anis Elleuch)
* xl: Create a delete-marker when no other version exists (#11362) (02/01/21) (Anis Elleuch)
* fix: regression introduced in federated listing buckets (02/01/21) (Harshavardhana)
* Reverting TOC due to gluegun incompatibility. Revert this commit once we migrate to new docs site (#11402) (02/01/21) (Ravind Kumar)
* ilm: Remove object in HEAD/GET if having an applicable ILM rule (#11296) (02/01/21) (Anis Elleuch)
* fix: build on OpenBSD (#11384) (02/01/21) (Daniel Jakots)
* fix: docs typo in README_zh_CN (#11375) (01/31/21) (swartz-k)
* crypto: deprecate native Hashicorp Vault support (#11352) (01/30/21) (Andreas Auernhammer)
[1.158.0]
* Update minio to 2021-02-07T01-31-02Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-02-07T01-31-02Z)
* Fixes an important regression in lock expiration that can lead to expanded setup deployments to fail refer #11468, #11446
* Fix ILM implementation bugs in refer #11471, #11462, #11423
* Fix replication implementation bugs related to metadata checks, delete marker deletion refer #11465, #11410
* Rolling upgrades are not supported in this release, please upgrade all servers at once.
[1.159.0]
* Update minio to 2021-02-11T08-23-43Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-02-11T08-23-43Z)
[1.159.1]
* Update minio to 2021-02-14T04-01-33Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-02-14T04-01-33Z)
[1.159.2]
* Update minio to 2021-02-19T04-38-02Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-02-19T04-38-02Z)
[1.159.3]
* Update minio to 2021-02-24T18-44-45Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-02-24T18-44-45Z)
* use crypto/sha256 for FIPS 140-2 compliance. See (#11623) for more details.
* fix: Ensure cache has finished deserializing. See (#11620) for more details.
* Use DSYNC for xl.meta writes and NOATIME for reads. See (#11615) for more details.
* remove Content-MD5 on Range requests. See (#11611) for more details.
[1.159.4]
* Update minio to 2021-03-01T04-20-55Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-03-01T04-20-55Z)
[1.159.5]
* Update minio to 2021-03-04T00-53-13Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-03-04T00-53-13Z)
* This is a security bug fix release
[1.159.6]
* Update minio to 2021-03-10T05-11-33Z
* [Full changelog](https://github.com/minio/minio/releases/tag/RELEASE.2021-03-10T05-11-33Z)
[1.159.7]
* Update minio to 2021-03-12T00-00-47Z
* handle trimming '/' if present in the object names (#11765) (03/11/21) (Harshavardhana)
* feat: Add QR Code to Share Object Modal (#11735) (03/12/21) (S Santhosh Nagaraj)
* Browser: Shared link has content-disposition header (#11712) (03/11/21) (Anis Elleuch)
* Fix redact LDAP password properly (#11762) (03/10/21) (Poorna Krishnamoorthy)
* add release build-arg to docker multiarch builds (#11752) (03/10/21) (Harshavardhana)
* Update S2 compression (#11753) (03/10/21) (Klaus Post)
[1.159.8]
* Update minio to 2021-03-17T02-33-02Z
* This release fixes a MITM attack in aws-chunked signature v4 encoding
* browser now supports QR code with presigned URLs.
* Support DeleteMarker disable setting in replication configuration.
* s3v4: read and verify S3 signature v4 chunks separately (#11801) (03/16/21) (Andreas Auernhammer)
* Fix STANDARD defaults, point to new docs site. (#11800) (03/16/21) (Ravind Kumar)
* erasure pools enable faster checks for file not found (#11799) (03/16/21) (Klaus Post)
* policy: Add Merge API (#11793) (03/16/21) (Anis Elleuch)
* fix: erasure index based reading based on actual ParityBlocks (#11792) (03/15/21) (Harshavardhana)
* s3 select: fix date_diff behavior (#11786) (03/15/21) (Klaus Post)
* fix: runtime issue on FreeBSD due to missing O_NOATIME/O_DSYNC support (#11790) (03/15/21) (Steve Wills)
* fix: mips 32bit compilation issue (#11775) (03/15/21) (Harshavardhana)
* add missing principalId in web notifications (#11777) (03/13/21) (Harshavardhana)
* Replication: Enforce DeleteMarker disable setting (#11720) (03/13/21) (Poorna Krishnamoorthy)
* Add consoleAdmin as a default canned policy (#11770) (03/13/21) (Nitish Tiwari)
* cmd/os-readdir_other.go - return nil with err (#11772) (03/12/21) (Philip Brown)
* update browser assets for react-qr-code (03/11/21) (Harshavardhana)

View File

@@ -5,7 +5,7 @@
"description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG",
"tagline": "Distributed object storage",
"version": "1.140.0",
"version": "1.159.8",
"healthCheckPath": "/minio/login",
"httpPort": 8000,
"addons": {
@@ -15,7 +15,7 @@
"website": "http://www.minio.io",
"minBoxVersion": "5.3.0",
"forumUrl": "https://forum.cloudron.io/category/69/minio",
"documentationUrl": "https://cloudron.io/documentation/apps/minio/",
"documentationUrl": "https://docs.cloudron.io/apps/minio/",
"contactEmail": "support@cloudron.io",
"icon": "logo.png",
"tags": [ "storage", "hosting", "s3", "objectstore" ],

View File

@@ -1,4 +1,4 @@
This app packages Minio <upstream>2020-09-26T03-44-56Z</upstream>.
This app packages Minio <upstream>2021-03-17T02-33-02Z</upstream>.
Minio is a distributed object storage server built for cloud applications and devops.

View File

@@ -1,6 +1,6 @@
FROM cloudron/base:2.0.0@sha256:f9fea80513aa7c92fe2e7bf3978b54c8ac5222f47a9a32a7f8833edf0eb5a4f4
FROM cloudron/base:3.0.0@sha256:455c70428723e3a823198c57472785437eb6eab082e79b3ff04ea584faf46e92
ARG VERSION=RELEASE.2020-09-26T03-44-56Z
ARG VERSION=RELEASE.2021-03-17T02-33-02Z
RUN mkdir -p /app/code \
&& wget https://dl.min.io/server/minio/release/linux-amd64/minio.${VERSION} -O /app/code/minio \

View File

@@ -9,8 +9,11 @@ mkdir -p /app/data/data /run/minio/config /run/minio/certs
echo "==> Changing ownership"
[[ $(stat --format '%U' /app/data/data) != "cloudron" ]] && chown -R cloudron:cloudron /app/data
[[ ! -f /app/data/env.sh ]] && echo -e "# Add custom minio configuration to this file. Restart the app for changes to take effect.\n\nexport CLOUDRON_MINIO_STARTUP_ARGS='server /app/data/data'" > /app/data/env.sh
source /app/data/env.sh
# the --config-dir is deprecated and not used. but without it, minio will try to create $HOME/.minio :/ same for --certs-dir
echo "==> Starting minio"
exec /usr/local/bin/gosu cloudron:cloudron /app/code/minio --certs-dir /run/minio/certs --config-dir /run/minio/config --quiet server --address :8000 /app/data/data
exec /usr/local/bin/gosu cloudron:cloudron /app/code/minio --certs-dir /run/minio/certs --config-dir /run/minio/config --quiet ${CLOUDRON_MINIO_STARTUP_ARGS} --address :8000

1258
test/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,14 +9,9 @@
"author": "",
"license": "ISC",
"dependencies": {
"chromedriver": "^85.0.0",
"ejs": "^3.1.5",
"chromedriver": "^89.0.0",
"expect.js": "^0.3.1",
"mkdirp": "^1.0.4",
"mocha": "^8.1.3",
"rimraf": "^3.0.2",
"selenium-server-standalone-jar": "^3.141.59",
"selenium-webdriver": "^3.6.0",
"superagent": "^6.1.0"
"mocha": "^8.3.2",
"selenium-webdriver": "^3.6.0"
}
}

View File

@@ -1,5 +1,10 @@
#!/usr/bin/env node
/* global describe */
/* global before */
/* global after */
/* global it */
'use strict';
require('chromedriver');
@@ -7,43 +12,37 @@ require('chromedriver');
var execSync = require('child_process').execSync,
expect = require('expect.js'),
path = require('path'),
webdriver = require('selenium-webdriver');
{ Builder, By, Key, until } = require('selenium-webdriver'),
{ Options } = require('selenium-webdriver/chrome');
var by = require('selenium-webdriver').By,
until = require('selenium-webdriver').until,
Key = require('selenium-webdriver').Key,
Builder = require('selenium-webdriver').Builder;
var bucket = 'cloudrontestbucket';
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
describe('Application life cycle test', function () {
this.timeout(0);
var server, browser = new Builder().forBrowser('chrome').build();
const LOCATION = 'test';
const TEST_TIMEOUT = 10000;
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
const BUCKET = 'cloudrontestbucket';
before(function (done) {
var seleniumJar= require('selenium-server-standalone-jar');
var SeleniumServer = require('selenium-webdriver/remote').SeleniumServer;
server = new SeleniumServer(seleniumJar.path, { port: 4444 });
server.start();
done();
});
after(function (done) {
browser.quit();
server.stop();
done();
});
var LOCATION = 'test';
var TEST_TIMEOUT = 10000;
var app;
var browser;
before(function () {
browser = new Builder().forBrowser('chrome').setChromeOptions(new Options().windowSize({ width: 1280, height: 1024 })).build();
});
after(function () {
browser.quit();
});
function getAppInfo() {
var inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location.indexOf(LOCATION) === 0; })[0];
expect(app).to.be.an('object');
}
function pageLoaded() {
return browser.wait(until.elementLocated(by.className('page-load pl-0 pl-1')), TEST_TIMEOUT);
return browser.wait(until.elementLocated(By.className('page-load pl-0 pl-1')), TEST_TIMEOUT);
}
function visible(selector) {
@@ -55,16 +54,16 @@ describe('Application life cycle test', function () {
function login(accessKey, secretKey, callback) {
browser.manage().deleteAllCookies();
browser.get('https://' + app.fqdn).then(function () {
return visible(by.id('accessKey'));
return visible(By.id('accessKey'));
}).then(function () {
return browser.findElement(by.id('accessKey')).sendKeys(accessKey);
return browser.findElement(By.id('accessKey')).sendKeys(accessKey);
}).then(function () {
return browser.findElement(by.id('secretKey')).sendKeys(secretKey);
return browser.findElement(By.id('secretKey')).sendKeys(secretKey);
}).then(function () {
// return browser.findElement(by.className('lw-btn')).click();
return browser.findElement(by.tagName('form')).submit();
// return browser.findElement(By.className('lw-btn')).click();
return browser.findElement(By.tagName('form')).submit();
}).then(function () {
return browser.wait(until.elementLocated(by.id('top-right-menu')), TEST_TIMEOUT);
return browser.wait(until.elementLocated(By.id('top-right-menu')), TEST_TIMEOUT);
}).then(function () {
callback();
});
@@ -74,23 +73,23 @@ describe('Application life cycle test', function () {
browser.get('https://' + app.fqdn);
pageLoaded().then(function () {
return visible(by.id('top-right-menu'));
return visible(By.id('top-right-menu'));
}).then(function () {
return browser.findElement(by.id('top-right-menu')).click();
return browser.findElement(By.id('top-right-menu')).click();
}).then(function () {
if (app.manifest.version === '1.137.0') {
return visible(by.xpath('//*[text()="Sign Out "]'));
return visible(By.xpath('//*[text()="Sign Out "]'));
} else {
return visible(by.xpath('//*[contains(text(), "Logout")]'));
return visible(By.xpath('//*[contains(text(), "Logout")]'));
}
}).then(function () {
if (app.manifest.version === '1.137.0') {
return browser.findElement(by.xpath('//*[text()="Sign Out "]')).click();
return browser.findElement(By.xpath('//*[text()="Sign Out "]')).click();
} else {
return browser.findElement(by.xpath('//*[contains(text(),"Logout")]')).click();
return browser.findElement(By.xpath('//*[contains(text(),"Logout")]')).click();
}
}).then(function () {
return browser.wait(until.elementLocated(by.id('accessKey')), TEST_TIMEOUT);
return browser.wait(until.elementLocated(By.id('accessKey')), TEST_TIMEOUT);
}).then(function () {
callback();
});
@@ -100,23 +99,23 @@ describe('Application life cycle test', function () {
browser.get('https://' + app.fqdn);
pageLoaded().then(function () {
return visible(by.className('fa-plus'));
return visible(By.className('fa-plus'));
}).then(function () {
return browser.findElement(by.className('fa-plus')).click();
return browser.findElement(By.className('fa-plus')).click();
}).then(function () {
const c = 'fa-hdd';
return visible(by.className(c));
return visible(By.className(c));
}).then(function () {
const c = 'fa-hdd';
return browser.findElement(by.className(c)).click();
return browser.findElement(By.className(c)).click();
}).then(function () {
return visible(by.xpath('//*[@class="modal-body"]/form/div/input'));
return visible(By.xpath('//*[@class="modal-body"]/form/div/input'));
}).then(function () {
return browser.findElement(by.xpath('//*[@class="modal-body"]/form/div/input')).sendKeys(bucket);
return browser.findElement(By.xpath('//*[@class="modal-body"]/form/div/input')).sendKeys(BUCKET);
}).then(function () {
return browser.findElement(by.xpath('//*[@class="modal-body"]/form')).submit();
return browser.findElement(By.xpath('//*[@class="modal-body"]/form')).submit();
}).then(function () {
return visible(by.xpath('//*[@class="main"]/a[text()="' + bucket + '"]'));
return visible(By.xpath('//*[@class="main"]/a[text()="' + BUCKET + '"]'));
}).then(function () {
callback();
});
@@ -126,7 +125,7 @@ describe('Application life cycle test', function () {
browser.get('https://' + app.fqdn);
pageLoaded().then(function () {
return browser.findElement(by.xpath(`//a[contains(text(), ${bucket})]`));
return browser.findElement(By.xpath(`//a[contains(text(), ${BUCKET})]`));
}).then(function () {
callback();
});
@@ -136,35 +135,24 @@ describe('Application life cycle test', function () {
browser.get('https://' + app.fqdn);
pageLoaded().then(function () {
return visible(by.id('top-right-menu'));
return visible(By.id('top-right-menu'));
}).then(function () {
return browser.findElement(by.id('top-right-menu')).click();
return browser.findElement(By.id('top-right-menu')).click();
}).then(function () {
return visible(by.xpath('//*[contains(text(), "Change Password")]'));
return visible(By.xpath('//*[contains(text(), "Change Password")]'));
}).then(function () {
return browser.findElement(by.xpath('//*[contains(text(),"Change Password")]')).click();
return browser.findElement(By.xpath('//*[contains(text(),"Change Password")]')).click();
}).then(function () {
return browser.wait(until.elementLocated(by.xpath('//*[contains(text(), "Change Password")]')), TEST_TIMEOUT);
return browser.wait(until.elementLocated(By.xpath('//*[contains(text(), "Change Password")]')), TEST_TIMEOUT);
}).then(function () {
callback();
});
}
xit('build app', function () {
execSync('cloudron build', { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
});
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
it('install app', function () { execSync('cloudron install --location ' + LOCATION, EXEC_ARGS); });
it('install app', function () {
execSync('cloudron install --location ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
});
it('can get app information', function () {
var inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location === LOCATION; })[0];
expect(app).to.be.an('object');
});
it('can get app information', getAppInfo);
it('can login', login.bind(null, 'minioadmin', 'minioadmin'));
it('can add bucket', addBucket);
@@ -172,29 +160,22 @@ describe('Application life cycle test', function () {
it('can logout', logout);
it('can change credentials', function () {
execSync('cloudron exec --app ' + app.id + ' -- /app/code/minio-credentials set minioakey minioskey', { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
execSync(`cloudron exec --app ${app.id} -- /app/code/minio-credentials set minioakey minioskey`, EXEC_ARGS);
});
it('can restart app', function (done) {
execSync('cloudron restart');
done();
});
it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); });
it('can login', login.bind(null, 'minioakey', 'minioskey'));
it('has bucket', checkBucket);
it('can logout', logout);
it('backup app', function () {
execSync('cloudron backup create --app ' + app.id, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
});
it('backup app', function () { execSync('cloudron backup create --app ' + app.id, EXEC_ARGS); });
it('restore app', function () {
const backups = JSON.parse(execSync('cloudron backup list --raw'));
execSync('cloudron uninstall --app ' + app.id, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
execSync('cloudron install --location ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
var inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location === LOCATION; })[0];
execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
const backups = JSON.parse(execSync(`cloudron backup list --raw --app ${app.id}`));
execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS);
execSync('cloudron install --location ' + LOCATION, EXEC_ARGS);
getAppInfo();
execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, EXEC_ARGS);
});
it('can login', login.bind(null, 'minioakey', 'minioskey'));
@@ -204,41 +185,30 @@ describe('Application life cycle test', function () {
it('move to different location', function () {
browser.manage().deleteAllCookies();
execSync('cloudron configure --location ' + LOCATION + '2', { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
var inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location === LOCATION + '2'; })[0];
expect(app).to.be.an('object');
execSync('cloudron configure --location ' + LOCATION + '2', EXEC_ARGS);
});
it('can get app information', getAppInfo);
it('can login', login.bind(null, 'minioakey', 'minioskey'));
it('has bucket', checkBucket);
it('can logout', logout);
it('uninstall app', function () {
execSync('cloudron uninstall --app ' + app.id, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
});
it('uninstall app', function () { execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS); });
// test update
it('can install app', function () {
execSync('cloudron install --appstore-id io.minio.cloudronapp --location ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
var inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location === LOCATION; })[0];
expect(app).to.be.an('object');
});
it('can install app', function () { execSync('cloudron install --appstore-id io.minio.cloudronapp --location ' + LOCATION, EXEC_ARGS); });
it('can get app information', getAppInfo);
it('can login', login.bind(null, 'minioadmin', 'minioadmin'));
it('can add buckets', addBucket);
it('can logout', logout);
it('can update', function () {
execSync('cloudron update --app ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
var inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location === LOCATION; })[0];
});
it('can update', function () { execSync('cloudron update --app ' + LOCATION, EXEC_ARGS); });
it('can get app information', getAppInfo);
it('can login', login.bind(null, 'minioadmin', 'minioadmin'));
it('has bucket', checkBucket);
it('can logout', logout);
it('uninstall app', function () {
execSync('cloudron uninstall --app ' + app.id, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
});
it('uninstall app', function () { execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS); });
});