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

Compare commits

...

71 Commits

Author SHA1 Message Date
Johannes Zellner
62b482f6de Update test deps 2022-07-01 10:49:03 +02:00
Johannes Zellner
a3e521d243 Bump version 2022-07-01 10:48:30 +02:00
Girish Ramakrishnan
7b5a6629b3 Add multidomain support
this allows subdomain style bucket access
2022-06-28 08:45:24 -07:00
Girish Ramakrishnan
0b3787bb4c Version 2.7.6 2022-06-27 12:32:03 -07:00
Girish Ramakrishnan
4485660f19 Update minio to 2022-06-25T15-50-16Z 2022-06-27 12:20:47 -07:00
Girish Ramakrishnan
198a7ba2d8 Version 2.7.5 2022-06-20 23:10:07 -07:00
Girish Ramakrishnan
694ea1a835 Update minio to 2022-06-20T23-13-45Z 2022-06-20 22:49:21 -07:00
Girish Ramakrishnan
ae7b78e2d7 Version 2.7.4 2022-06-18 09:17:25 -07:00
Girish Ramakrishnan
f5b85c7dfa Update minio to 2022-06-17T02-00-35Z 2022-06-18 08:54:46 -07:00
Girish Ramakrishnan
6148966516 Version 2.7.3 2022-06-12 10:14:37 -07:00
Girish Ramakrishnan
9967b12167 Update test packages 2022-06-12 10:13:54 -07:00
Girish Ramakrishnan
5574cc464a Update minio to 2022-06-11T19-55-32Z 2022-06-12 10:03:46 -07:00
Girish Ramakrishnan
794538bbe9 Version 2.7.2 2022-06-11 08:44:31 -07:00
Girish Ramakrishnan
a1e5589dca Update mc 2022-06-11 08:30:31 -07:00
Girish Ramakrishnan
f7d9d69187 Update minio to 2022-06-10T16-59-15Z 2022-06-11 08:29:26 -07:00
Girish Ramakrishnan
2762522066 Version 2.7.1 2022-06-10 11:33:52 -07:00
Girish Ramakrishnan
4c6b99857c Bump memory limit 2022-06-10 11:25:20 -07:00
Girish Ramakrishnan
6c788ded2d Version 2.7.0 2022-06-06 21:26:18 -07:00
Girish Ramakrishnan
542b8a4412 add delays everywhere
doing things fast in the ui breaks now
2022-06-06 21:25:18 -07:00
Girish Ramakrishnan
4b3b4b9d4d Update minio to 2022-06-07T00-33-41Z 2022-06-06 20:57:01 -07:00
Girish Ramakrishnan
a0c9c76bd8 Update minio to 2022-06-03T01-40-53Z 2022-06-06 12:48:55 -07:00
Girish Ramakrishnan
d23b35e1b8 Version 2.6.0 2022-06-02 08:23:53 -07:00
Girish Ramakrishnan
32684767b6 Update minio to 2022-06-02T02-11-04Z 2022-06-02 08:07:35 -07:00
Girish Ramakrishnan
ad93f49467 Version 2.5.3 2022-05-26 08:51:17 -07:00
Girish Ramakrishnan
52b7e49b44 Update minio to 2022-05-26T05-48-41Z 2022-05-26 08:43:30 -07:00
Girish Ramakrishnan
ab20e34d26 Version 2.5.2 2022-05-23 19:35:40 -07:00
Girish Ramakrishnan
522cfeff67 Update test packages 2022-05-23 19:30:42 -07:00
Girish Ramakrishnan
d7b08ca48c Update minio to 2022-05-23T18-45-11Z 2022-05-23 19:29:42 -07:00
Girish Ramakrishnan
058673d882 Version 2.5.1 2022-05-20 09:01:45 -07:00
Girish Ramakrishnan
8c3ea72c86 Update minio to 2022-05-19T18-20-59Z 2022-05-20 08:55:01 -07:00
Girish Ramakrishnan
74eea35e18 Version 2.5.0 2022-05-09 09:32:24 -07:00
Girish Ramakrishnan
eafdc900b3 Update minio to 2022-05-08T23-50-31Z 2022-05-09 09:18:17 -07:00
Girish Ramakrishnan
0ec3052ad8 Version 2.4.14 2022-05-04 09:18:40 -07:00
Girish Ramakrishnan
c10b3888f0 Update mc again 2022-05-04 09:08:58 -07:00
Girish Ramakrishnan
8d2b9d84ce Update minio to 2022-05-04T07-45-27Z 2022-05-04 09:05:00 -07:00
Girish Ramakrishnan
13a4de046d Version 2.4.13 2022-05-03 15:42:40 -07:00
Girish Ramakrishnan
d030ce00cc Update minio to 2022-05-03T20-36-08Z 2022-05-03 15:32:54 -07:00
Girish Ramakrishnan
a2ea852bd4 can only change password with env vars now
https://docs.min.io/docs/minio-server-configuration-guide.html#credentials
2022-04-30 15:45:21 -07:00
Girish Ramakrishnan
aeeb7473b9 Version 2.4.12 2022-04-29 10:57:03 -07:00
Girish Ramakrishnan
a988358a84 Update minio to 2022-04-29T01-27-09Z 2022-04-29 10:49:15 -07:00
Girish Ramakrishnan
76e75b2421 Version 2.4.11 2022-04-25 22:46:17 -07:00
Girish Ramakrishnan
51bd508a5e Update minio to 2022-04-26T01-20-24Z 2022-04-25 22:31:06 -07:00
Girish Ramakrishnan
4e042bb62f Version 2.4.10 2022-04-17 11:35:02 -05:00
Girish Ramakrishnan
00fc4851bc Update minio to 2022-04-16T04-26-02Z 2022-04-17 11:23:56 -05:00
Girish Ramakrishnan
fb0dae799d Version 2.4.9 2022-04-13 09:18:58 -05:00
Girish Ramakrishnan
a68bdeeade Update minio to 2022-04-12T06-55-35Z 2022-04-13 09:08:05 -05:00
Girish Ramakrishnan
c1dbd2139f Version 2.4.8 2022-04-10 06:57:22 -07:00
Girish Ramakrishnan
fe88ff7d1c Update minio to 2022-04-09T15-09-52Z 2022-04-10 06:52:12 -07:00
Girish Ramakrishnan
fecebfd7e1 Version 2.4.7 2022-04-04 09:21:42 -07:00
Girish Ramakrishnan
0d171ddb5a Update minio to 2022-04-01T03-41-39Z 2022-04-04 09:06:44 -07:00
Girish Ramakrishnan
a5736bba2b Version 2.4.6 2022-03-29 11:27:46 -07:00
Girish Ramakrishnan
f1181e9383 Update minio to 2022-03-26T06-49-28Z 2022-03-29 11:19:33 -07:00
Girish Ramakrishnan
6346e564f9 Version 2.4.5 2022-03-24 09:29:36 -07:00
Girish Ramakrishnan
4843a8345a Update minio to 2022-03-24T00-43-44Z 2022-03-24 09:22:04 -07:00
Girish Ramakrishnan
fd7c75da9f Version 2.4.4 2022-03-22 09:21:29 -07:00
Girish Ramakrishnan
327ede57c3 Update minio to 2022-03-22T02-05-10Z 2022-03-22 09:06:33 -07:00
Girish Ramakrishnan
179628163f Version 2.4.3 2022-03-17 09:39:55 -07:00
Girish Ramakrishnan
dfcab10abe Update minio to 2022-03-17T06-34-49Z 2022-03-17 09:15:47 -07:00
Girish Ramakrishnan
642f1860d2 Version 2.4.2 2022-03-15 09:45:31 -07:00
Girish Ramakrishnan
bc6656111f Update client also 2022-03-15 09:37:51 -07:00
Girish Ramakrishnan
53371d5428 Update minio to 2022-03-14T18-25-24Z 2022-03-15 09:34:11 -07:00
Girish Ramakrishnan
444d1972e2 Version 2.4.1 2022-03-13 10:41:40 -07:00
Girish Ramakrishnan
1f51564fc7 Update minio to 2022-03-11T23-57-45Z 2022-03-13 10:35:38 -07:00
Girish Ramakrishnan
f49c69d566 Version 2.4.0 2022-03-11 11:11:33 -08:00
Girish Ramakrishnan
80802dc892 Update test packages 2022-03-11 11:00:27 -08:00
Girish Ramakrishnan
c23815b757 Update minio to 2022-03-11T11-08-23Z 2022-03-11 10:58:33 -08:00
Johannes Zellner
b195eb7e21 Bump version for 2022-03-08T22-28-51Z 2022-03-10 09:31:48 +01:00
Johannes Zellner
2386aa1325 Update test deps 2022-03-07 16:11:54 +01:00
Johannes Zellner
b64685aeee Bump version for 2022-03-05T06-32-39Z 2022-03-07 16:11:37 +01:00
Girish Ramakrishnan
6f845a87c5 Version 2.3.2 2022-02-26 09:51:57 -08:00
Girish Ramakrishnan
0a772c4f23 Update minio to 2022-02-26T02-54-46Z 2022-02-26 09:36:34 -08:00
8 changed files with 429 additions and 234 deletions

221
CHANGELOG
View File

@@ -1041,3 +1041,224 @@ Improve replication performance. See (#12080, #12054, #12009) for more details.
* Update minio to 2022-02-24T22-12-01Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-02-24T22-12-01Z)
[2.3.2]
* Update minio to 2022-02-26T02-54-46Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-02-26T02-54-46Z)
[2.3.3]
* Update minio to 2022-03-05T06-32-39Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-05T06-32-39Z)
[2.3.4]
* Update minio to 2022-03-08T22-28-51Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-08T22-28-51Z)
[2.4.0]
* Update minio to 2022-03-11T11-08-23Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-11T11-08-23Z)
[2.4.1]
* Update minio to 2022-03-11T23-57-45Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-11T23-57-45Z)
* add filesystem group change policy for large minio deployments by @dharapvj in #14528
* Fix regression from range GET proxying #14345 by @poornas in #14532
[2.4.2]
* Update minio to 2022-03-14T18-25-24Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-14T18-25-24Z)
[2.4.3]
* Update minio to 2022-03-17T06-34-49Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-17T06-34-49Z)
[2.4.4]
* Update minio to 2022-03-22T02-05-10Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-22T02-05-10Z)
[2.4.5]
* Update minio to 2022-03-24T00-43-44Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-24T00-43-44Z)
[2.4.6]
* Update minio to 2022-03-26T06-49-28Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-26T06-49-28Z)
[2.4.7]
* Update minio to 2022-04-01T03-41-39Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-01T03-41-39Z)
* Always get the actual object size in bulk SSE-S3 by @vadmeste in #14637
* listing: decrypt only SSE-S3 single-part ETags by @aead in #14638
* Load IAM with a single listing call by @donatello in #14640
* fix: multiple pool setup return incorrect DeleteMarker metadata by @harshavardhana in #14642
* Quick type for fix ttfb entry in table by @eco-minio in #14647
[2.4.8]
* Update minio to 2022-04-09T15-09-52Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-09T15-09-52Z)
* Add metrics for observing IAM sync operations by @donatello in #14680
* Write deployment id to health report at the start by @anjalshireesh in #14673
* etag: add Format and Decrypt functions by @aead in #14659
* Remove unnecessary log printing by @vadmeste in #14685
* listing: improve listing of encrypted objects by @aead in #14667
* Set inspect-input.txt modtime by @klauspost in #14688
[2.4.9]
* Update minio to 2022-04-12T06-55-35Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-12T06-55-35Z)
* Fix a privilege escalation security issue - https://github.com/minio/minio/security/advisories/GHSA-2j69-jjmg-534q
* Console v0.15.10 by @dvaldivia in #14723
* align atomic variables once more for 32bit by @harshavardhana in #14721
* make sure to pass Lifecycle if set for List filtering by @harshavardhana in #14722
* Set permissions for GitHub actions by @naveensrinivasan in #14693
* Add support for minio tier type by @krisis in #14468
[2.4.10]
* Update minio to 2022-04-16T04-26-02Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-16T04-26-02Z)
* Allow parallel decom migration threads to be more than erasure sets by @krishnasrinivas in #14733
* Include speedtest as part of healthinfo api by @anjalshireesh in #14696
* Support templating accessKey existingSecret and bucket name by @yisiqi in #14643
* enable go1.18.x builds by @harshavardhana in #14746
* [S3Select] Switch to new parquet library and reduce locking by @donatello in #14731
* Update Console v0.15.13 by @dvaldivia in #14751
[2.4.11]
* Update minio to 2022-04-26T01-20-24Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-26T01-20-24Z)
[2.4.12]
* Update minio to 2022-04-29T01-27-09Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-29T01-27-09Z)
[2.4.13]
* Update minio to 2022-05-03T20-36-08Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-03T20-36-08Z)
* fix: panic in browser redirect handler for unexpected r.Host by @harshavardhana in #14844
* fix: reject invalid r.Host headers by @harshavardhana in #14846
* fix: disallow newer policies, users & groups with space characters by @harshavardhana in #14845
* Check error status codes by @klauspost in #14850
* Log Range Header by @klauspost in #14851
* fix: remove embedded-policy as requested by the user by @harshavardhana in #14847
[2.4.14]
* Update minio to 2022-05-04T07-45-27Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-04T07-45-27Z)
* Add audit log for decommissioning
[2.5.0]
* Update minio to 2022-05-08T23-50-31Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-08T23-50-31Z)
* Fix missing annotations for PVCs by @Sea-you in #14793
* Add OPA doc and remove deprecation marking by @donatello in #14863
* avoid concurrent reads and writes to opts.UserDefined by @harshavardhana in #14862
[2.5.1]
* Update minio to 2022-05-19T18-20-59Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-19T18-20-59Z)
* pools: GetObjectNInfo should cover locking during object read by @vadmeste in #14887
* tracing: Add disk path to storage tracing by @vadmeste in #14883
* Add support for Access Management Plugin by @donatello in #14875
* If decom of an object fails, retry for 3 times by @krishnasrinivas in #14861
* update new name for MINIO_POLICY_OPA_URL by @itsericqiu in #14898
* add support for extra Prometheus labels by @harshavardhana in #14899
* use BadRequest HTTP status instead of Conflict for certain errors by @harshavardhana in #14900
[2.5.2]
* Update minio to 2022-05-23T18-45-11Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-23T18-45-11Z)
* mrf: Fix stale MRF data showed in heal info by @vadmeste in #14953
* Relax site replication syncing of service accounts by @poornas in #14955
* Fix WalkDir fallback hot loop by @klauspost in #14961
* fetch bucket replication stats across peers in single call by @harshavardhana in #14956
[2.5.3]
* Update minio to 2022-05-26T05-48-41Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-26T05-48-41Z)
* replication healing: Fix typo when healing bucket quota info by @vadmeste in #14966
* Do not use inline data size in xl.meta quorum calculation by @vadmeste in #14831
* hash-set: Add file input for debug tool by @klauspost in #14965
* site replication: Allow replication rule edit by @poornas in #14969
* fix: copyObject on versioned bucket when updating metadata by @harshavardhana in #14971
[2.6.0]
* Update minio to 2022-06-02T02-11-04Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-02T02-11-04Z)
* feat: Single drive XL implementation
[2.7.0]
* Update minio to 2022-06-07T00-33-41Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-07T00-33-41Z)
[2.7.1]
* Update minio to 2022-06-07T00-33-41Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-07T00-33-41Z)
* do not print errors upon 'nil' err (06/06/22) (Minio Trusted)
[2.7.2]
* Update minio to 2022-06-10T16-59-15Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-10T16-59-15Z)
* Include the entirety of vendor folder in .gitignore by @kaankabalak in #15046
* relax O_DIRECT in single drive mode if unsupported by @harshavardhana in #15045
* Bump Console v0.18.1 by @dvaldivia in #15051
* healthcheck cluster endpoint should honor write/readQuorum per pool by @harshavardhana in #15053
* fix: make metrics endpoint responsive by reducing the chatter by @harshavardhana in #15055
[2.7.3]
* Update minio to 2022-06-11T19-55-32Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-11T19-55-32Z)
* debug: verify diff on latest objects on source and target buckets by @harshavardhana in #15069
* fix: add missing minio_s3_requests_total by @harshavardhana in #15070
* Update dperf to 0.4.1 by @vadmeste in #15071
* sts: Avoid printing all STS errors by @vadmeste in #15065
[2.7.4]
* Update minio to 2022-06-17T02-00-35Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-17T02-00-35Z)
* debug: Close object after check by @vadmeste in #15077
* kms: initialize after cli parsing by @vadmeste in #15076
* Support configuration of a session policy file by @rgcostea in #15078
* erasure-sd: Evaluate versioning Prefix in multi-delete objects by @vadmeste in #15081
* fix: simplify healthcheck code to freeze calls only once by @harshavardhana in #15082
* add bucket level S3 received/sent bytes by @harshavardhana in #15084
* fix: background local test also via channel by @harshavardhana in #15086
* add dataErrs for healing debug log by @harshavardhana in #15092
[2.7.5]
* Update minio to 2022-06-20T23-13-45Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-20T23-13-45Z)
* Update gopsutil to v3.22.5 by @danieljakots in #15098
* fix: ignore printing io.EOF during WalkDir() on concurrently modified objects by @harshavardhana in #15100
* Avoid CompleteMultipart freeze with unexpected network issue by @vadmeste in #15102
* Add generic function to retrieve config value with metadata by @donatello in #15083
* fix typo in site replication version healing by @poornas in #15103
* Add import/export APIs to migrate bucket metadata by @poornas in #14929
[2.7.6]
* Update minio to 2022-06-25T15-50-16Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-25T15-50-16Z)
* remove gateway banner and some other TODO loggers by @harshavardhana in #15125
* s3-verify: Fix endpoint and missing comparison by @vadmeste in #15129
* Parallelize new disks healing of different erasure sets by @vadmeste in #15112
* fips: simplify TLS configuration by @aead in #15127
* fix: cant parse comment without '=' in environment file by @anoworl in #15130
* add go1.18 specific curve preferences by @harshavardhana in #15132
[2.7.7]
* Update minio to 2022-06-30T20-58-09Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-30T20-58-09Z)
* Supports parity configuration of '0', '1' enabling support for 2,3 drive setups for erasure coding.
* add license banner for GNU AGPLv3 by @harshavardhana in #15178
* save MinIO version with each version (8-bytes extra) by @harshavardhana in #15170
* Remove unnecessary code in WalkDir() by @vadmeste in #15168
* perform object sweep after equeue the latest CopyObject() by @harshavardhana in #15183
* Upgrade reedsolomon/compression packages by @klauspost in #15182
* Revert proxying requests with precondition errors by @vadmeste in #15180
* allow support for parity '0', '1' enabling support for 2,3 drive setups by @harshavardhana in #15171
* handle missing funcNames for handlers by @harshavardhana in #15188
* update banner to reflect the final agreed UI by @harshavardhana in #15192
* site healing: Skip stale bucket metadata updates from peer by @poornas in #15186
* de-couple caller context to avoid internal races by @harshavardhana in #15195
* Save minio version in xl.meta while healing in outdated disks by @vadmeste in #15181
* finalize startup-banner and remove unnecessary logs by @harshavardhana in #15202
* Make ReqInfo concurrency safe by @klauspost in #15204
* update banner with version+runtime by @harshavardhana in #15206

View File

@@ -5,8 +5,10 @@
"description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG",
"tagline": "Distributed object storage",
"version": "2.3.1",
"version": "2.7.7",
"upstreamVersion": "2022-06-30T20-58-09Z",
"healthCheckPath": "/minio/login",
"memoryLimit": 805306368,
"httpPort": 8000,
"httpPorts": {
"API_SERVER_DOMAIN": {
@@ -21,7 +23,7 @@
},
"manifestVersion": 2,
"website": "http://www.minio.io",
"minBoxVersion": "7.1.0",
"minBoxVersion": "7.1.2",
"forumUrl": "https://forum.cloudron.io/category/69/minio",
"documentationUrl": "https://docs.cloudron.io/apps/minio/",
"contactEmail": "support@cloudron.io",
@@ -31,5 +33,6 @@
"https://screenshots.cloudron.io/io.minio.cloudronapp/pic1.png",
"https://screenshots.cloudron.io/io.minio.cloudronapp/pic2.png"
],
"multiDomain": true,
"postInstallMessage": "file://POSTINSTALL.md"
}

View File

@@ -1,29 +1,29 @@
This app packages Minio <upstream>2022-02-24T22-12-01Z</upstream>.
## About
Minio is a distributed object storage server built for cloud applications and devops.
### Features
## Features
#### Amazon S3 Compatible
### Amazon S3 Compatible
Minio implements Amazon S3 v4 APIs. Minio also includes client SDKs and a console utility.
#### Minimalist Design
### Minimalist Design
Minio is deeply influenced by minimalism. We believe that only simple things scale.
#### Apache License 2.0
### Apache License 2.0
Minio is free software, released under Apache license v2.0. Minio has an active developer and user community.
#### Lambda Functions
### Lambda Functions
Minio triggers Lambda functions through event notification service. In addition Minio also supports simple queueing service for AMQP, Elasticsearch, Redis, NATS and Postgres targets.
#### Erasure Code & Bitrot Protection
### Erasure Code & Bitrot Protection
Minio protects data against hardware failures and silent data corruption using erasure code and checksums. You may lose half the number of drives and still recover from it.
#### Written in Go
### Written in Go
Go is an emerging language of choice for modern cloud infrastructure projects. Go language enables Minio to be highly concurrent and lightweight.

View File

@@ -3,14 +3,14 @@ FROM cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd1
RUN mkdir -p /app/code
WORKDIR /app/code
ARG VERSION=RELEASE.2022-02-24T22-12-01Z
ARG MC_VERSION=RELEASE.2022-02-23T03-15-59Z
ARG VERSION=RELEASE.2022-06-30T20-58-09Z
ARG MC_VERSION=RELEASE.2022-06-26T18-51-48Z
# sometimes here https://dl.min.io/server/minio/release/linux-amd64/archive/
RUN wget https://dl.min.io/server/minio/release/linux-amd64/minio.${VERSION} -O /app/code/minio && chmod +x /app/code/minio
# https://dl.min.io/client/mc/release/linux-amd64/
RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc.${MC_VERSION} -O /app/code/mc && chmod +x /app/code/mc
COPY env.sh minio-credentials start.sh /app/code/
COPY env.sh start.sh /app/code/
CMD [ "/app/code/start.sh" ]

View File

@@ -1,41 +0,0 @@
#!/usr/bin/env node
'use strict';
const fs = require('fs');
const MINIO_CONFIG = '/app/data/data/.minio.sys/config/config.json';
function usage() {
console.log('Usage:\n');
console.log('\tminio-credentials get');
console.log('\tminio-credentials set <access key> <secret key>');
console.log();
}
let config = JSON.parse(fs.readFileSync(MINIO_CONFIG, 'utf8'));
let adminCredentials = config['credentials']['_'];
let accessKey = adminCredentials.filter(kv => kv.key === 'access_key')[0];
let secretKey = adminCredentials.filter(kv => kv.key === 'secret_key')[0];
if (process.argv[2] === 'get') {
console.log('Access Key:', accessKey.value);
console.log('Secret Key:', secretKey.value);
} else if (process.argv[2] === 'set') {
if (process.argv.length !== 5) return usage();
// https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html
if (process.argv[4].length < 5) return console.log('secret key must be atleast 5 characters');
if (!/^[\w+=,.@-]+$/.test(process.argv[3])) return console.log('access key has invalid characters');
accessKey.value = process.argv[3];
if (process.argv[4].length < 8) return console.log('secret key must be atleast 8 characters');
secretKey.value = process.argv[4];
fs.writeFileSync(MINIO_CONFIG, JSON.stringify(config), 'utf8');
console.log('Credentials updated. Restart minio app for new credentials to take effect.\n');
} else {
usage();
}

338
test/package-lock.json generated
View File

@@ -9,11 +9,12 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"chromedriver": "^97.0.2",
"chromedriver": "^103.0.0",
"delay": "^5.0.0",
"expect.js": "^0.3.1",
"mocha": "^9.2.0",
"selenium-webdriver": "^4.1.1",
"superagent": "^7.1.1"
"mocha": "^10.0.0",
"selenium-webdriver": "^4.3.0",
"superagent": "^8.0.0"
}
},
"node_modules/@nodelib/fs.scandir": {
@@ -154,11 +155,12 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"node_modules/axios": {
"version": "0.24.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dependencies": {
"follow-redirects": "^1.14.4"
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"node_modules/balanced-match": {
@@ -283,13 +285,13 @@
}
},
"node_modules/chromedriver": {
"version": "97.0.2",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-97.0.2.tgz",
"integrity": "sha512-sOAfKCR3WsHvmKedZoWa+3tBVGdPtxq4zKxgKZCoJ2c924olBTW4Bnha6SHl93Yo7+QqsNn6ZpAC0ojhutacAg==",
"version": "103.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-103.0.0.tgz",
"integrity": "sha512-7BHf6HWt0PeOHCzWO8qlnD13sARzr5AKTtG8Csn+czsuAsajwPxdLNtry5GPh8HYFyl+i0M+yg3bT43AGfgU9w==",
"hasInstallScript": true,
"dependencies": {
"@testim/chrome-version": "^1.1.2",
"axios": "^0.24.0",
"axios": "^0.27.2",
"del": "^6.0.0",
"extract-zip": "^2.0.1",
"https-proxy-agent": "^5.0.0",
@@ -409,9 +411,9 @@
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": {
"ms": "2.1.2"
},
@@ -461,6 +463,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/delay": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
"integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -624,9 +637,9 @@
}
},
"node_modules/follow-redirects": {
"version": "1.14.7",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz",
"integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==",
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"funding": [
{
"type": "individual",
@@ -792,14 +805,6 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
},
"node_modules/growl": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
"engines": {
"node": ">=4.x"
}
},
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -869,7 +874,7 @@
"node_modules/immediate": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
},
"node_modules/indent-string": {
"version": "4.0.0",
@@ -995,12 +1000,7 @@
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
},
"node_modules/js-yaml": {
"version": "4.1.0",
@@ -1014,14 +1014,14 @@
}
},
"node_modules/jszip": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz",
"integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==",
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.0.tgz",
"integrity": "sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==",
"dependencies": {
"lie": "~3.3.0",
"pako": "~1.0.2",
"readable-stream": "~2.3.6",
"set-immediate-shim": "~1.0.1"
"setimmediate": "^1.0.5"
}
},
"node_modules/lie": {
@@ -1142,47 +1142,64 @@
}
},
"node_modules/mocha": {
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz",
"integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==",
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
"integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
"dependencies": {
"@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
"browser-stdout": "1.3.1",
"chokidar": "3.5.3",
"debug": "4.3.3",
"debug": "4.3.4",
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
"glob": "7.2.0",
"growl": "1.10.5",
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
"minimatch": "3.0.4",
"minimatch": "5.0.1",
"ms": "2.1.3",
"nanoid": "3.2.0",
"nanoid": "3.3.3",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
"which": "2.0.2",
"workerpool": "6.2.0",
"workerpool": "6.2.1",
"yargs": "16.2.0",
"yargs-parser": "20.2.4",
"yargs-unparser": "2.0.0"
},
"bin": {
"_mocha": "bin/_mocha",
"mocha": "bin/mocha"
"mocha": "bin/mocha.js"
},
"engines": {
"node": ">= 12.0.0"
"node": ">= 14.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mochajs"
}
},
"node_modules/mocha/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/mocha/node_modules/minimatch": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/mocha/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -1194,9 +1211,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/nanoid": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -1459,22 +1476,22 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/selenium-webdriver": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz",
"integrity": "sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ==",
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.3.0.tgz",
"integrity": "sha512-9XFr8w95BO7jageR61AtiB83fJNem3fdtOQcUpqIIDHWSxihomyG/yBlL1H4y/shi/dO/Ai3PJMAOG+OW3+JHw==",
"dependencies": {
"jszip": "^3.6.0",
"jszip": "^3.10.0",
"tmp": "^0.2.1",
"ws": ">=7.4.6"
"ws": ">=8.7.0"
},
"engines": {
"node": ">= 10.15.0"
}
},
"node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -1493,13 +1510,10 @@
"randombytes": "^2.1.0"
}
},
"node_modules/set-immediate-shim": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
"engines": {
"node": ">=0.10.0"
}
"node_modules/setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
},
"node_modules/side-channel": {
"version": "1.0.4",
@@ -1542,21 +1556,21 @@
}
},
"node_modules/superagent": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz",
"integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==",
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.0.tgz",
"integrity": "sha512-iudipXEel+SzlP9y29UBWGDjB+Zzag+eeA1iLosaR2YHBRr1Q1kC29iBrF2zIVD9fqVbpZnXkN/VJmwFMVyNWg==",
"dependencies": {
"component-emitter": "^1.3.0",
"cookiejar": "^2.1.3",
"debug": "^4.3.3",
"debug": "^4.3.4",
"fast-safe-stringify": "^2.1.1",
"form-data": "^4.0.0",
"formidable": "^2.0.1",
"methods": "^1.1.2",
"mime": "^2.5.0",
"qs": "^6.10.1",
"mime": "2.6.0",
"qs": "^6.10.3",
"readable-stream": "^3.6.0",
"semver": "^7.3.5"
"semver": "^7.3.7"
},
"engines": {
"node": ">=6.4.0 <13 || >=14"
@@ -1641,24 +1655,10 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dependencies": {
"isexe": "^2.0.0"
},
"bin": {
"node-which": "bin/node-which"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/workerpool": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz",
"integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A=="
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
"integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
@@ -1722,9 +1722,9 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"node_modules/ws": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz",
"integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==",
"version": "8.8.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz",
"integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==",
"engines": {
"node": ">=10.0.0"
},
@@ -1963,11 +1963,12 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"axios": {
"version": "0.24.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"requires": {
"follow-redirects": "^1.14.4"
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"balanced-match": {
@@ -2056,12 +2057,12 @@
}
},
"chromedriver": {
"version": "97.0.2",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-97.0.2.tgz",
"integrity": "sha512-sOAfKCR3WsHvmKedZoWa+3tBVGdPtxq4zKxgKZCoJ2c924olBTW4Bnha6SHl93Yo7+QqsNn6ZpAC0ojhutacAg==",
"version": "103.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-103.0.0.tgz",
"integrity": "sha512-7BHf6HWt0PeOHCzWO8qlnD13sARzr5AKTtG8Csn+czsuAsajwPxdLNtry5GPh8HYFyl+i0M+yg3bT43AGfgU9w==",
"requires": {
"@testim/chrome-version": "^1.1.2",
"axios": "^0.24.0",
"axios": "^0.27.2",
"del": "^6.0.0",
"extract-zip": "^2.0.1",
"https-proxy-agent": "^5.0.0",
@@ -2156,9 +2157,9 @@
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
@@ -2188,6 +2189,11 @@
"slash": "^3.0.0"
}
},
"delay": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
"integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw=="
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -2310,9 +2316,9 @@
"integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="
},
"follow-redirects": {
"version": "1.14.7",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz",
"integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ=="
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
},
"form-data": {
"version": "4.0.0",
@@ -2420,11 +2426,6 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
},
"growl": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA=="
},
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -2470,7 +2471,7 @@
"immediate": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
},
"indent-string": {
"version": "4.0.0",
@@ -2560,12 +2561,7 @@
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
},
"js-yaml": {
"version": "4.1.0",
@@ -2576,14 +2572,14 @@
}
},
"jszip": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz",
"integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==",
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.0.tgz",
"integrity": "sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==",
"requires": {
"lie": "~3.3.0",
"pako": "~1.0.2",
"readable-stream": "~2.3.6",
"set-immediate-shim": "~1.0.1"
"setimmediate": "^1.0.5"
}
},
"lie": {
@@ -2665,36 +2661,50 @@
}
},
"mocha": {
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz",
"integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==",
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
"integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
"requires": {
"@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
"browser-stdout": "1.3.1",
"chokidar": "3.5.3",
"debug": "4.3.3",
"debug": "4.3.4",
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
"glob": "7.2.0",
"growl": "1.10.5",
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
"minimatch": "3.0.4",
"minimatch": "5.0.1",
"ms": "2.1.3",
"nanoid": "3.2.0",
"nanoid": "3.3.3",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
"which": "2.0.2",
"workerpool": "6.2.0",
"workerpool": "6.2.1",
"yargs": "16.2.0",
"yargs-parser": "20.2.4",
"yargs-unparser": "2.0.0"
},
"dependencies": {
"brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"requires": {
"balanced-match": "^1.0.0"
}
},
"minimatch": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
"requires": {
"brace-expansion": "^2.0.1"
}
},
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -2708,9 +2718,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"nanoid": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA=="
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w=="
},
"normalize-path": {
"version": "3.0.0",
@@ -2878,19 +2888,19 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"selenium-webdriver": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz",
"integrity": "sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ==",
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.3.0.tgz",
"integrity": "sha512-9XFr8w95BO7jageR61AtiB83fJNem3fdtOQcUpqIIDHWSxihomyG/yBlL1H4y/shi/dO/Ai3PJMAOG+OW3+JHw==",
"requires": {
"jszip": "^3.6.0",
"jszip": "^3.10.0",
"tmp": "^0.2.1",
"ws": ">=7.4.6"
"ws": ">=8.7.0"
}
},
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -2903,10 +2913,10 @@
"randombytes": "^2.1.0"
}
},
"set-immediate-shim": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E="
"setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
},
"side-channel": {
"version": "1.0.4",
@@ -2937,21 +2947,21 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
},
"superagent": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz",
"integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==",
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.0.tgz",
"integrity": "sha512-iudipXEel+SzlP9y29UBWGDjB+Zzag+eeA1iLosaR2YHBRr1Q1kC29iBrF2zIVD9fqVbpZnXkN/VJmwFMVyNWg==",
"requires": {
"component-emitter": "^1.3.0",
"cookiejar": "^2.1.3",
"debug": "^4.3.3",
"debug": "^4.3.4",
"fast-safe-stringify": "^2.1.1",
"form-data": "^4.0.0",
"formidable": "^2.0.1",
"methods": "^1.1.2",
"mime": "^2.5.0",
"qs": "^6.10.1",
"mime": "2.6.0",
"qs": "^6.10.3",
"readable-stream": "^3.6.0",
"semver": "^7.3.5"
"semver": "^7.3.7"
},
"dependencies": {
"readable-stream": {
@@ -3014,18 +3024,10 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"requires": {
"isexe": "^2.0.0"
}
},
"workerpool": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz",
"integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A=="
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
"integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
},
"wrap-ansi": {
"version": "7.0.0",
@@ -3073,9 +3075,9 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz",
"integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==",
"version": "8.8.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz",
"integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==",
"requires": {}
},
"y18n": {

View File

@@ -9,10 +9,11 @@
"author": "",
"license": "ISC",
"dependencies": {
"chromedriver": "^97.0.2",
"chromedriver": "^103.0.0",
"delay": "^5.0.0",
"expect.js": "^0.3.1",
"mocha": "^9.2.0",
"selenium-webdriver": "^4.1.1",
"superagent": "^7.1.1"
"mocha": "^10.0.0",
"selenium-webdriver": "^4.3.0",
"superagent": "^8.0.0"
}
}

View File

@@ -11,7 +11,8 @@
require('chromedriver');
const execSync = require('child_process').execSync,
const delay = require('delay'),
execSync = require('child_process').execSync,
expect = require('expect.js'),
fs = require('fs'),
path = require('path'),
@@ -23,7 +24,7 @@ describe('Application life cycle test', function () {
this.timeout(0);
const LOCATION = 'test';
const TEST_TIMEOUT = 10000;
const TEST_TIMEOUT = 30000;
const BUCKET = 'cloudrontestbucket';
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
@@ -54,12 +55,13 @@ describe('Application life cycle test', function () {
await browser.findElement(By.id('accessKey')).sendKeys(accessKey);
await browser.findElement(By.id('secretKey')).sendKeys(secretKey);
await browser.findElement(By.xpath('//button[contains(text(), "Login")]')).click();
await waitForElement(By.xpath('//h4[contains(text(), "Buckets")]'));
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
await delay(5000);
}
async function logout() {
await browser.get(`https://${app.fqdn}/`);
await waitForElement(By.xpath('//h4[contains(text(), "Buckets")]'));
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
await browser.findElement(By.xpath('//div/span[contains(text(), "Logout")]')).click();
await waitForElement(By.id('accessKey'));
}
@@ -72,6 +74,7 @@ describe('Application life cycle test', function () {
await browser.findElement(By.xpath('//input[@id="bucket-name"]')).sendKeys(BUCKET);
await browser.findElement(By.xpath('//button[text()="Create Bucket"]')).click();
await waitForElement(By.xpath(`//a[contains(text(), "${BUCKET}")]`));
await delay(5000);
}
async function checkBucket() {
@@ -92,7 +95,10 @@ describe('Application life cycle test', function () {
}
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
it('install app', function () { execSync(`cloudron install --location ${LOCATION} --secondary-domains API_SERVER_DOMAIN=${LOCATION}-api`, EXEC_ARGS); });
it('install app', async function () {
execSync(`cloudron install --location ${LOCATION} --secondary-domains API_SERVER_DOMAIN=${LOCATION}-api`, EXEC_ARGS);
await delay(10000);
});
it('can get app information', getAppInfo);
@@ -102,7 +108,7 @@ describe('Application life cycle test', function () {
it('does redirect', checkRedirect);
it('check api', checkApi);
it('can change credentials', function () {
it('can change credentials', async function () {
let data = fs.readFileSync(path.join(__dirname, '../env.sh'), 'utf8');
data = data
.replace(/MINIO_ROOT_USER=.*/, 'MINIO_ROOT_USER=minioakey')
@@ -110,6 +116,7 @@ describe('Application life cycle test', function () {
fs.writeFileSync('/tmp/env.sh', data);
execSync(`cloudron push --app ${app.id} /tmp/env.sh /app/data/env.sh`, EXEC_ARGS);
execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS);
await delay(10000);
});
it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); });
@@ -121,12 +128,13 @@ describe('Application life cycle test', function () {
it('check api', checkApi);
it('backup app', function () { execSync('cloudron backup create --app ' + app.id, EXEC_ARGS); });
it('restore app', function () {
it('restore app', async function () {
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);
await delay(10000);
});
it('can login', login.bind(null, 'minioakey', 'minioskey'));
@@ -135,9 +143,10 @@ describe('Application life cycle test', function () {
it('does redirect', checkRedirect);
it('check api', checkApi);
it('move to different location', function () {
it('move to different location', async function () {
browser.manage().deleteAllCookies();
execSync('cloudron configure --location ' + LOCATION + '2', EXEC_ARGS);
await delay(10000);
});
it('can get app information', getAppInfo);