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

Compare commits

...

85 Commits

Author SHA1 Message Date
Girish Ramakrishnan
1302e71321 Update minio to RELEASE.2020-04-10T03-34-42Z 2020-04-10 09:53:17 -07:00
Girish Ramakrishnan
c3195428df Version 1.101.0 2020-04-06 11:53:19 -07:00
Girish Ramakrishnan
99f10e9b3e Update minio to RELEASE.2020-04-04T05-39-31Z 2020-04-06 11:40:14 -07:00
Girish Ramakrishnan
136f41b004 Version 1.100.0 2020-04-02 18:32:36 -07:00
Girish Ramakrishnan
541185cfa6 Update minio to 2020-04-02T21-34-49Z 2020-04-02 18:27:36 -07:00
Girish Ramakrishnan
8b6fd80d74 Version 1.99.0 2020-03-26 09:37:41 -07:00
Girish Ramakrishnan
c6f0bdc5ef Update minio to RELEASE.2020-03-25T07-03-04Z 2020-03-26 09:33:33 -07:00
Girish Ramakrishnan
63747ef487 Version 1.98.0 2020-03-23 12:06:35 -07:00
Girish Ramakrishnan
8272354a77 Update minio to RELEASE.2020-03-19T21-49-00Z 2020-03-23 11:55:20 -07:00
Girish Ramakrishnan
5e15088198 Version 1.97.0 2020-03-15 16:42:04 -07:00
Girish Ramakrishnan
0535814733 Update minio to RELEASE.2020-03-14T02-21-58Z 2020-03-15 16:35:51 -07:00
Girish Ramakrishnan
7cb935a0c4 Version 1.96.0 2020-03-11 10:17:32 -07:00
Girish Ramakrishnan
e263bde545 Update minio to RELEASE.2020-03-09T18-26-53Z 2020-03-11 10:07:04 -07:00
Girish Ramakrishnan
5f31e7fd2f Version 1.95.0 2020-03-08 18:11:48 -07:00
Girish Ramakrishnan
582fda2720 Update minio to RELEASE.2020-03-06T22-23-56Z 2020-03-08 17:19:12 -07:00
Girish Ramakrishnan
ea2898c1b2 Version 1.94.0 2020-02-28 09:34:07 -08:00
Girish Ramakrishnan
b6acac345b Update minio to 2020-02-27T00-23-05Z 2020-02-28 09:33:45 -08:00
Girish Ramakrishnan
91c29432e3 Version 1.93.0 2020-02-21 17:19:24 -08:00
Girish Ramakrishnan
5e83c9cf88 Update minio to 2020-02-20T22-51-23Z 2020-02-21 17:11:48 -08:00
Girish Ramakrishnan
9834ec1c8e Version 1.92.0 2020-02-09 07:50:44 -08:00
Girish Ramakrishnan
7ed03bef1b Update minio to 2020-02-07T23-28-16Z 2020-02-09 07:43:45 -08:00
Girish Ramakrishnan
d6958e05db Version 1.91.0 2020-01-26 15:08:31 -08:00
Girish Ramakrishnan
588125b5f4 Update minio to 2020-01-25T02-50-51Z 2020-01-26 14:55:52 -08:00
Girish Ramakrishnan
891169e87b add some basic key validation 2020-01-17 11:09:14 -08:00
Girish Ramakrishnan
38f24649fe Version 1.90.0 2020-01-16 16:10:36 -08:00
Girish Ramakrishnan
7f8ae63c00 Fix tests 2020-01-16 16:05:59 -08:00
Girish Ramakrishnan
4ee1e0e8ad Update minio to 2020-01-16T22-40-29Z 2020-01-16 16:04:43 -08:00
Girish Ramakrishnan
02b00f4476 Avoid double docs link 2020-01-16 16:04:13 -08:00
Girish Ramakrishnan
b524016d72 formatting 2020-01-16 16:01:44 -08:00
Girish Ramakrishnan
e8ee533d1f Version 1.89.0 2020-01-16 15:49:39 -08:00
Girish Ramakrishnan
ed0250199a wording 2020-01-16 15:48:53 -08:00
Girish Ramakrishnan
7a3c6f9efd Fix tests 2020-01-16 15:48:29 -08:00
Girish Ramakrishnan
e0ce87b291 config dir is dead
minio now stores the config as part of the storage system under .minio.sys
when passed config dir, it merely "migrates" config.json to the new system
and renames config.json to config.json.deprecated
2020-01-16 15:34:24 -08:00
Girish Ramakrishnan
f28d63d0b9 Update minio to RELEASE.2020-01-16T03-05-44Z 2020-01-16 14:44:57 -08:00
Girish Ramakrishnan
af0e17d5b0 Version 1.88.0 2020-01-08 10:00:11 -08:00
Girish Ramakrishnan
c662d0caab Update minio to 2020-01-03T19-12-21Z 2020-01-08 09:27:00 -08:00
Girish Ramakrishnan
1f76bbfd77 Version 1.87.0 2019-12-30 11:00:00 -08:00
Girish Ramakrishnan
f7c784c228 Update minio to RELEASE.2019-12-30T05-45-39Z 2019-12-30 10:50:49 -08:00
Girish Ramakrishnan
ee7795df9a Version 1.86.0 2019-12-20 12:10:46 -08:00
Girish Ramakrishnan
6dd64a829c Fixup tests 2019-12-20 12:03:35 -08:00
Girish Ramakrishnan
75e7154353 Update minio to RELEASE.2019-12-19T22-52-26Z 2019-12-20 12:02:11 -08:00
Girish Ramakrishnan
3b8576093e Update minio to 2019-12-17T23-16-33Z 2019-12-17 16:24:19 -08:00
Girish Ramakrishnan
5dd4f2d8e3 Version 1.85.0 2019-10-14 09:12:52 -07:00
Girish Ramakrishnan
00a2c3569b Update minio to 2019-10-12T01-39-57Z 2019-10-14 09:04:36 -07:00
Girish Ramakrishnan
cc7890f71d Version 1.84.0 2019-10-11 18:21:22 -07:00
Girish Ramakrishnan
f156ab5168 Update minio to 2019-10-11T00-38-09Z 2019-10-11 18:08:35 -07:00
Girish Ramakrishnan
0b2d206655 Version 1.83.0 2019-10-03 13:58:56 -07:00
Girish Ramakrishnan
4c01df72b5 Update Version to RELEASE.2019-10-02T21-19-38Z 2019-10-03 13:53:44 -07:00
Girish Ramakrishnan
ada7671d81 Version 1.82.0 2019-09-30 15:02:21 -07:00
Girish Ramakrishnan
5a0ec69dfd Update minio to RELEASE.2019-09-26T19-42-35Z 2019-09-30 14:55:50 -07:00
Girish Ramakrishnan
bf4f230766 Version 1.81.0 2019-09-26 09:18:26 -07:00
Girish Ramakrishnan
49b6a854f9 Update minio to RELEASE.2019-09-25T18-25-51Z 2019-09-26 09:07:25 -07:00
Girish Ramakrishnan
5f72ec0c47 Version 1.80.0 2019-09-21 19:04:02 -07:00
Girish Ramakrishnan
fc2a5016eb Update minio to RELEASE.2019-09-18T21-55-05Z 2019-09-21 18:32:06 -07:00
Girish Ramakrishnan
52d85d06a8 Version 1.79.0 2019-09-12 09:40:00 -07:00
Girish Ramakrishnan
2e87474fc0 Update minio to 2019-09-11T19-53-16Z 2019-09-12 09:34:52 -07:00
Girish Ramakrishnan
252ffc4128 Version 1.78.0 2019-09-08 10:52:19 -07:00
Girish Ramakrishnan
a591960982 Update minio to 2019-09-05T23-24-38Z 2019-09-08 10:41:34 -07:00
Girish Ramakrishnan
371db41bac Version 1.77.0 2019-09-01 08:45:49 -07:00
Girish Ramakrishnan
ea4c66ea9e Update minio to 2019-08-29T00-25-01Z 2019-08-28 21:18:25 -07:00
Girish Ramakrishnan
34e7ea8a94 Version 1.76.0 2019-08-21 20:43:03 -07:00
Girish Ramakrishnan
1bf20110ce Update minio to RELEASE.2019-08-21T19-40-07Z 2019-08-21 20:36:42 -07:00
Girish Ramakrishnan
d58be51a79 Version 1.75.0 2019-08-20 10:16:51 -07:00
Girish Ramakrishnan
0e8e1525d0 Fix tests 2019-08-20 10:16:14 -07:00
Girish Ramakrishnan
f362df6f92 Update minio to RELEASE.2019-08-14T20-37-41Z 2019-08-20 07:57:15 -07:00
Girish Ramakrishnan
c0da9e678b Version 1.74.0 2019-08-07 06:18:59 -07:00
Girish Ramakrishnan
3780f971e3 Update Web driver 2019-08-07 06:18:04 -07:00
Girish Ramakrishnan
0e26a175fb Update minio to RELEASE.2019-08-07T01-59-21Z 2019-08-07 06:01:05 -07:00
Girish Ramakrishnan
474243b6a0 Version 1.73.0 2019-08-02 09:16:30 -07:00
Girish Ramakrishnan
41b7a699ec Version RELEASE.2019-08-01T22-18-54Z 2019-08-02 09:05:24 -07:00
Girish Ramakrishnan
35103b8888 Version 1.72.0 2019-07-24 09:49:31 -07:00
Girish Ramakrishnan
ae33b6cd32 Update minio to 2019-07-24T02-02-23Z 2019-07-24 09:22:09 -07:00
Girish Ramakrishnan
a1ee8284b3 Version 1.71.0 2019-07-18 09:39:40 -07:00
Girish Ramakrishnan
0b94589ca7 Version RELEASE.2019-07-17T22-54-12Z 2019-07-18 09:34:34 -07:00
Girish Ramakrishnan
fa5921039d Version 1.70.0 2019-07-15 09:29:00 -07:00
Girish Ramakrishnan
82474bb099 Update minio to RELEASE.2019-07-10T00-34-56Z 2019-07-15 09:24:38 -07:00
Girish Ramakrishnan
080f9f2756 Version 1.69.0 2019-07-05 14:53:03 -07:00
Girish Ramakrishnan
6f1aeb6adf Update minio to RELEASE.2019-07-05T21-20-21Z 2019-07-05 14:48:01 -07:00
Girish Ramakrishnan
a464984a9b Version 1.68.0 2019-07-01 13:46:05 -07:00
Girish Ramakrishnan
06702b72a6 Update minio to 2019-06-27T21-13-50Z 2019-07-01 13:40:45 -07:00
Girish Ramakrishnan
6bfa60424c Version 1.67.0 2019-06-20 08:38:19 -07:00
Girish Ramakrishnan
9ef4a9b6ce Update minio to RELEASE.2019-06-19T18-24-42Z 2019-06-20 08:23:47 -07:00
Girish Ramakrishnan
5c3c319d57 Version 1.66.0 2019-06-17 10:10:30 -07:00
Girish Ramakrishnan
1b28eef31b Update manifest to v2 2019-06-17 10:09:55 -07:00
Girish Ramakrishnan
95ccb12a84 Update minio to RELEASE.2019-06-15T23-07-18Z 2019-06-17 10:00:26 -07:00
11 changed files with 598 additions and 451 deletions

108
CHANGELOG
View File

@@ -336,3 +336,111 @@
[1.65.0]
* Update minio to 2019-06-11T00-44-33Z
[1.66.0]
* Update minio to 2019-06-15T23-07-18Z
[1.67.0]
* Update minio to 2019-06-19T18-24-42Z
[1.68.0]
* Update minio to 2019-06-27T21-13-50Z
[1.69.0]
* Update minio to 2019-07-05T21-20-21Z
[1.70.0]
* Update minio to 2019-07-10T00-34-56Z
[1.71.0]
* Update minio to 2019-07-17T22-54-12Z
[1.72.0]
* Update minio to 2019-07-24T02-02-23Z
[1.73.0]
* Update minio to 2019-08-01T22-18-54Z
[1.74.0]
* Update minio to 2019-08-07T01-59-21Z
[1.75.0]
* Update minio to 2019-08-14T20-37-41Z
[1.76.0]
* Update minio to 2019-08-21T19-40-07Z
[1.77.0]
* Update minio to 2019-08-29T00-25-01Z
[1.78.0]
* Update minio to 2019-09-05T23-24-38Z
[1.79.0]
* Update minio to 2019-09-11T19-53-16Z
[1.80.0]
* Update minio to 2019-09-18T21-55-05Z
[1.81.0]
* Update minio to 2019-09-25T18-25-51Z
[1.82.0]
* Update minio to 2019-09-26T19-42-35Z
[1.83.0]
* Update minio to 2019-10-02T21-19-38Z
[1.84.0]
* Update minio to 2019-10-11T00-38-09Z
[1.85.0]
* Update minio to 2019-10-12T01-39-57Z
[1.86.0]
* Update minio to 2019-12-19T22-52-26Z
[1.87.0]
* Update minio to 2019-12-30T05-45-39Z
[1.88.0]
* Update minio to 2020-01-03T19-12-21Z
[1.89.0]
* Update minio to 2020-01-16T03-05-44Z
[1.90.0]
* Update minio to 2020-01-16T22-40-29Z
[1.91.0]
* Update minio to 2020-01-25T02-50-51Z
[1.92.0]
* Update minio to 2020-02-07T23-28-16Z
[1.93.0]
* Update minio to 2020-02-20T22-51-23Z
[1.94.0]
* Update minio to 2020-02-27T00-23-05Z
[1.95.0]
* Update minio to 2020-03-06T22-23-56Z
[1.96.0]
* Update minio to 2020-03-09T18-26-53Z
[1.97.0]
* Update minio to 2020-03-14T02-21-58Z
[1.98.0]
* Update minio to 2020-03-19T21-49-00Z
[1.99.0]
* Update minio to 2020-03-25T07-03-04Z
[1.100.0]
* Update minio to 2020-04-02T21-34-49Z
[1.101.0]
* Update minio to 2020-04-04T05-39-31Z

View File

@@ -5,15 +5,15 @@
"description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG",
"tagline": "Distributed object storage",
"version": "1.65.0",
"version": "1.101.0",
"healthCheckPath": "/minio/login",
"httpPort": 8000,
"addons": {
"localstorage": {}
},
"manifestVersion": 1,
"manifestVersion": 2,
"website": "http://www.minio.io",
"minBoxVersion": "1.8.1",
"minBoxVersion": "4.1.4",
"documentationUrl": "https://cloudron.io/documentation/apps/minio/",
"contactEmail": "support@cloudron.io",
"icon": "logo.png",

View File

@@ -1,4 +1,4 @@
This app packages Minio <upstream>2019-06-11T00-44-33Z</upstream>.
This app packages Minio <upstream>2020-04-04T05-39-31Z</upstream>.
Minio is a distributed object storage server built for cloud applications and devops.

View File

@@ -1,12 +1,14 @@
FROM cloudron/base:1.0.0@sha256:147a648a068a2e746644746bbfb42eb7a50d682437cead3c67c933c546357617
ARG VERSION=RELEASE.2020-04-10T03-34-42Z
RUN mkdir -p /app/code \
&& wget https://dl.minio.io/server/minio/release/linux-amd64/minio.RELEASE.2019-06-11T00-44-33Z -O /app/code/minio \
&& wget https://dl.minio.io/server/minio/release/linux-amd64/minio.${VERSION} -O /app/code/minio \
&& chmod +x /app/code/minio
WORKDIR /app/code
ADD config.json /app/code/config.json
ADD start.sh /app/code/start.sh
ADD minio-credentials /app/code/minio-credentials
CMD [ "/app/code/start.sh" ]

View File

@@ -2,7 +2,7 @@ This application does not integrate with Cloudron authentication.
Please use the following credentials to login:
* AccessKey: `admin`
* SecretKey: `secretkey`
* AccessKey: `minioadmin`
* SecretKey: `minioadmin`
**Please change the credentials immediately**
**Please change the credentials immediately following the docs**

View File

@@ -1,14 +0,0 @@
{
"version": "33",
"credential": {
"accessKey": "admin",
"secretKey": "secretkey"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "error"
}
}
}

41
minio-credentials Executable file
View File

@@ -0,0 +1,41 @@
#!/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();
}

View File

@@ -2,16 +2,13 @@
set -eu
mkdir -p /app/data/data /app/data/certs /app/data/config
mkdir -p /app/data/data /run/minio/config /run/minio/certs
if ! [ -f /app/data/config/config.json ]; then
cp /app/code/config.json /app/data/config/config.json
fi
echo "Changing ownership"
echo "==> Changing ownership"
chown -R cloudron:cloudron /app/data
echo "Starting minio"
exec /usr/local/bin/gosu cloudron:cloudron /app/code/minio server --config-dir /app/data/config --certs-dir /app/data/certs --address :8000 /app/data/data
# 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

799
test/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,14 +9,14 @@
"author": "",
"license": "ISC",
"dependencies": {
"chromedriver": "^74.0.0",
"ejs": "^2.6.1",
"chromedriver": "^79.0.0",
"ejs": "^3.0.1",
"expect.js": "^0.3.1",
"mkdirp": "^0.5.1",
"mocha": "^6.1.4",
"rimraf": "^2.6.3",
"selenium-server-standalone-jar": "^3.141.5",
"mocha": "^7.0.0",
"rimraf": "^3.0.0",
"selenium-server-standalone-jar": "^3.141.59",
"selenium-webdriver": "^3.6.0",
"superagent": "^5.0.5"
"superagent": "^5.2.1"
}
}

View File

@@ -14,14 +14,10 @@ var by = require('selenium-webdriver').By,
Key = require('selenium-webdriver').Key,
Builder = require('selenium-webdriver').Builder;
var accessKey = 'admin',
secretKey = 'secretkey';
var bucket = 'cloudrontestbucket';
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
describe('Application life cycle test', function () {
this.timeout(0);
@@ -56,7 +52,7 @@ describe('Application life cycle test', function () {
});
}
function login(callback) {
function login(accessKey, secretKey, callback) {
browser.manage().deleteAllCookies();
browser.get('https://' + app.fqdn).then(function () {
return visible(by.id('accessKey'));
@@ -96,13 +92,15 @@ describe('Application life cycle test', function () {
browser.get('https://' + app.fqdn);
pageLoaded().then(function () {
return visible(by.className('fa fa-plus'));
return visible(by.className('fa-plus'));
}).then(function () {
return browser.findElement(by.className('fa fa-plus')).click();
return browser.findElement(by.className('fa-plus')).click();
}).then(function () {
return visible(by.className('fa fa-hdd-o'));
const c = 'fa-hdd';
return visible(by.className(c));
}).then(function () {
return browser.findElement(by.className('fa fa-hdd-o')).click();
const c = 'fa-hdd';
return browser.findElement(by.className(c)).click();
}).then(function () {
return visible(by.xpath('//*[@class="modal-body"]/form/div/input'));
}).then(function () {
@@ -149,7 +147,7 @@ describe('Application life cycle test', function () {
});
it('install app', function () {
execSync('cloudron install --new --wait --location ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
execSync('cloudron install --location ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
});
it('can get app information', function () {
@@ -160,17 +158,21 @@ describe('Application life cycle test', function () {
expect(app).to.be.an('object');
});
it('can login', login);
it('can login', login.bind(null, 'minioadmin', 'minioadmin'));
it('can add bucket', addBucket);
it('can open settings', openSettings);
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' });
});
it('can restart app', function (done) {
execSync('cloudron restart --wait');
execSync('cloudron restart');
done();
});
it('can login', login);
it('can login', login.bind(null, 'minioakey', 'minioskey'));
it('has bucket', checkBucket);
it('can logout', logout);
@@ -182,20 +184,20 @@ describe('Application life cycle test', function () {
execSync('cloudron restore --app ' + app.id, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
});
it('can login', login);
it('can login', login.bind(null, 'minioakey', 'minioskey'));
it('has bucket', checkBucket);
it('can open settings', openSettings);
it('can logout', logout);
it('move to different location', function () {
browser.manage().deleteAllCookies();
execSync('cloudron configure --wait --location ' + LOCATION + '2', { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
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');
});
it('can login', login);
it('can login', login.bind(null, 'minioakey', 'minioskey'));
it('has bucket', checkBucket);
it('can logout', logout);
@@ -205,19 +207,19 @@ describe('Application life cycle test', function () {
// test update
it('can install app', function () {
execSync('cloudron install --new --wait --appstore-id io.minio.cloudronapp --location ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
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 login', login);
it('can login', login.bind(null, 'minioadmin', 'minioadmin'));
it('can add buckets', addBucket);
it('can logout', logout);
it('can update', function () {
execSync('cloudron install --wait --app ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
execSync('cloudron update --app ' + LOCATION, { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
});
it('can login', login);
it('can login', login.bind(null, 'minioadmin', 'minioadmin'));
it('has bucket', checkBucket);
it('can logout', logout);
it('uninstall app', function () {