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

Compare commits

...

39 Commits

Author SHA1 Message Date
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
11 changed files with 454 additions and 405 deletions

View File

@@ -372,3 +372,48 @@
[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

View File

@@ -5,7 +5,7 @@
"description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG",
"tagline": "Distributed object storage",
"version": "1.77.0",
"version": "1.92.0",
"healthCheckPath": "/minio/login",
"httpPort": 8000,
"addons": {

View File

@@ -1,4 +1,4 @@
This app packages Minio <upstream>2019-08-29T00-25-01Z</upstream>.
This app packages Minio <upstream>2020-02-07T23-28-16Z</upstream>.
Minio is a distributed object storage server built for cloud applications and devops.

View File

@@ -1,13 +1,14 @@
FROM cloudron/base:1.0.0@sha256:147a648a068a2e746644746bbfb42eb7a50d682437cead3c67c933c546357617
ARG VERSION=RELEASE.2019-08-29T00-25-01Z
ARG VERSION=RELEASE.2020-02-07T23-28-16Z
RUN mkdir -p /app/code \
&& 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

687
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": "^76.0.0",
"ejs": "^2.6.2",
"chromedriver": "^79.0.0",
"ejs": "^3.0.1",
"expect.js": "^0.3.1",
"mkdirp": "^0.5.1",
"mocha": "^6.2.0",
"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.1.0"
"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'));
@@ -151,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 () {
@@ -162,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);
@@ -184,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);
@@ -207,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 () {