mirror of
https://git.cloudron.io/cloudron/minio-app
synced 2025-09-07 09:55:18 +00:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
794538bbe9 | ||
|
a1e5589dca | ||
|
f7d9d69187 | ||
|
2762522066 | ||
|
4c6b99857c | ||
|
6c788ded2d | ||
|
542b8a4412 | ||
|
4b3b4b9d4d | ||
|
a0c9c76bd8 | ||
|
d23b35e1b8 | ||
|
32684767b6 |
24
CHANGELOG
24
CHANGELOG
@@ -1179,3 +1179,27 @@ 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
|
||||
|
||||
|
@@ -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.2",
|
||||
"upstreamVersion": "2022-06-10T16-59-15Z",
|
||||
"healthCheckPath": "/minio/login",
|
||||
"memoryLimit": 805306368,
|
||||
"httpPort": 8000,
|
||||
"httpPorts": {
|
||||
"API_SERVER_DOMAIN": {
|
||||
|
@@ -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-10T16-59-15Z
|
||||
ARG MC_VERSION=RELEASE.2022-06-10T22-29-12Z
|
||||
|
||||
# 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
|
||||
|
17
test/package-lock.json
generated
17
test/package-lock.json
generated
@@ -10,6 +10,7 @@
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chromedriver": "^101.0.0",
|
||||
"delay": "^5.0.0",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^10.0.0",
|
||||
"selenium-webdriver": "^4.1.2",
|
||||
@@ -461,6 +462,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",
|
||||
@@ -2178,6 +2190,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",
|
||||
|
@@ -10,6 +10,7 @@
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chromedriver": "^101.0.0",
|
||||
"delay": "^5.0.0",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^10.0.0",
|
||||
"selenium-webdriver": "^4.1.2",
|
||||
|
21
test/test.js
21
test/test.js
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user