1
0
mirror of https://git.cloudron.io/cloudron/minio-app synced 2025-09-13 00:15:40 +00:00

Compare commits

...

16 Commits

Author SHA1 Message Date
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
6 changed files with 125 additions and 52 deletions

View File

@@ -1179,3 +1179,46 @@ Improve replication performance. See (#12080, #12054, #12009) for more details.
* 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

View File

@@ -5,9 +5,10 @@
"description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG",
"tagline": "Distributed object storage",
"version": "2.5.3",
"upstreamVersion": "2022-05-26T05-48-41Z",
"version": "2.7.4",
"upstreamVersion": "2022-06-17T02-00-35Z",
"healthCheckPath": "/minio/login",
"memoryLimit": 805306368,
"httpPort": 8000,
"httpPorts": {
"API_SERVER_DOMAIN": {

View File

@@ -3,8 +3,8 @@ FROM cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd1
RUN mkdir -p /app/code
WORKDIR /app/code
ARG VERSION=RELEASE.2022-05-26T05-48-41Z
ARG MC_VERSION=RELEASE.2022-05-09T04-08-26Z
ARG VERSION=RELEASE.2022-06-17T02-00-35Z
ARG MC_VERSION=RELEASE.2022-06-17T02-52-50Z
# 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

97
test/package-lock.json generated
View File

@@ -9,11 +9,12 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"chromedriver": "^101.0.0",
"chromedriver": "^102.0.0",
"delay": "^5.0.0",
"expect.js": "^0.3.1",
"mocha": "^10.0.0",
"selenium-webdriver": "^4.1.2",
"superagent": "^7.1.3"
"selenium-webdriver": "^4.2.0",
"superagent": "^7.1.6"
}
},
"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": "101.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-101.0.0.tgz",
"integrity": "sha512-LkkWxy6KM/0YdJS8qBeg5vfkTZTRamhBfOttb4oic4echDgWvCU1E8QcBbUBOHqZpSrYMyi7WMKmKMhXFUaZ+w==",
"version": "102.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-102.0.0.tgz",
"integrity": "sha512-xer/0g1Oarkjc2e+4nyoLgZT4kJHYhcj3PcxD1nEoGJQYEllTjprN1uDpSb4BkgMGo0ydfIS1VDkszrr/J9OOg==",
"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",
@@ -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",
@@ -1463,9 +1476,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/selenium-webdriver": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz",
"integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==",
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz",
"integrity": "sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg==",
"dependencies": {
"jszip": "^3.6.0",
"tmp": "^0.2.1",
@@ -1546,9 +1559,9 @@
}
},
"node_modules/superagent": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz",
"integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==",
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz",
"integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==",
"dependencies": {
"component-emitter": "^1.3.0",
"cookiejar": "^2.1.3",
@@ -1557,7 +1570,7 @@
"form-data": "^4.0.0",
"formidable": "^2.0.1",
"methods": "^1.1.2",
"mime": "^2.5.0",
"mime": "2.6.0",
"qs": "^6.10.3",
"readable-stream": "^3.6.0",
"semver": "^7.3.7"
@@ -1953,11 +1966,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": {
@@ -2046,12 +2060,12 @@
}
},
"chromedriver": {
"version": "101.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-101.0.0.tgz",
"integrity": "sha512-LkkWxy6KM/0YdJS8qBeg5vfkTZTRamhBfOttb4oic4echDgWvCU1E8QcBbUBOHqZpSrYMyi7WMKmKMhXFUaZ+w==",
"version": "102.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-102.0.0.tgz",
"integrity": "sha512-xer/0g1Oarkjc2e+4nyoLgZT4kJHYhcj3PcxD1nEoGJQYEllTjprN1uDpSb4BkgMGo0ydfIS1VDkszrr/J9OOg==",
"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",
@@ -2178,6 +2192,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",
@@ -2300,9 +2319,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",
@@ -2872,9 +2891,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"selenium-webdriver": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz",
"integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==",
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz",
"integrity": "sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg==",
"requires": {
"jszip": "^3.6.0",
"tmp": "^0.2.1",
@@ -2931,9 +2950,9 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
},
"superagent": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz",
"integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==",
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz",
"integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==",
"requires": {
"component-emitter": "^1.3.0",
"cookiejar": "^2.1.3",
@@ -2942,7 +2961,7 @@
"form-data": "^4.0.0",
"formidable": "^2.0.1",
"methods": "^1.1.2",
"mime": "^2.5.0",
"mime": "2.6.0",
"qs": "^6.10.3",
"readable-stream": "^3.6.0",
"semver": "^7.3.7"

View File

@@ -9,10 +9,11 @@
"author": "",
"license": "ISC",
"dependencies": {
"chromedriver": "^101.0.0",
"chromedriver": "^102.0.0",
"delay": "^5.0.0",
"expect.js": "^0.3.1",
"mocha": "^10.0.0",
"selenium-webdriver": "^4.1.2",
"superagent": "^7.1.3"
"selenium-webdriver": "^4.2.0",
"superagent": "^7.1.6"
}
}

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' };
@@ -55,6 +56,7 @@ describe('Application life cycle test', function () {
await browser.findElement(By.id('secretKey')).sendKeys(secretKey);
await browser.findElement(By.xpath('//button[contains(text(), "Login")]')).click();
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
await delay(5000);
}
async function logout() {
@@ -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);