mirror of
https://git.cloudron.io/cloudron/minio-app
synced 2025-09-13 00:15:40 +00:00
Compare commits
23 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
43bde46b81 | ||
|
b44db98e35 | ||
|
52221cca35 | ||
|
ea4dfaccf3 | ||
|
bbcfa6b84e | ||
|
19866198e1 | ||
|
87c4917e82 | ||
|
0f0c70fe95 | ||
|
17670769fa | ||
|
038ebcd485 | ||
|
69894610e9 | ||
|
38d81367d3 | ||
|
8bfac72b10 | ||
|
6e0cf2f9d8 | ||
|
fd48a26065 | ||
|
ef398fbdeb | ||
|
fb570b0256 | ||
|
e2a4a1b594 | ||
|
242ca7052b | ||
|
ecfd75afd1 | ||
|
6ac4576a7f | ||
|
635924b0e5 | ||
|
bcde4b30d6 |
47
CHANGELOG
47
CHANGELOG
@@ -2691,3 +2691,50 @@ Improve replication performance. See (#12080, #12054, #12009) for more details.
|
|||||||
* Added iam import tests for openid by @shtripat in #20432
|
* Added iam import tests for openid by @shtripat in #20432
|
||||||
* batch: Set a default retry attempts and a prefix by @vadmeste in #20452
|
* batch: Set a default retry attempts and a prefix by @vadmeste in #20452
|
||||||
* Ensure proper stale_uploads_cleanup_interval is used at all times by @ramondeklein in #20451
|
* Ensure proper stale_uploads_cleanup_interval is used at all times by @ramondeklein in #20451
|
||||||
|
|
||||||
|
[3.15.0]
|
||||||
|
* Update minio to 2024-10-02T17-50-41Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-10-02T17-50-41Z)
|
||||||
|
* Limit jstream parse depth by @klauspost in #20474
|
||||||
|
* remove the list from 'mc stat' from testing via '--no-list' by @harshavardhana in #20468
|
||||||
|
* cleanup existing part.N's before renamePart() by @harshavardhana in #20466
|
||||||
|
* hold on to batch job stats till cleanup by @poornas in #20480
|
||||||
|
* use absolute path for binary checksum verification by @harshavardhana in #20487
|
||||||
|
* Fix PPC cgroup memory limit by @klauspost in #20488
|
||||||
|
|
||||||
|
[3.15.1]
|
||||||
|
* Update minio to 2024-10-13T13-34-11Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-10-13T13-34-11Z)
|
||||||
|
|
||||||
|
[3.15.2]
|
||||||
|
* Update minio to 2024-10-29T16-01-48Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-10-29T16-01-48Z)
|
||||||
|
* Correct the date filter check for batch replication by @shtripat in https://github.com/minio/minio/pull/20569
|
||||||
|
* Clear omitted fields by @klauspost in https://github.com/minio/minio/pull/20575
|
||||||
|
* Trace ILM errors by @klauspost in https://github.com/minio/minio/pull/20576
|
||||||
|
* Fix ILM expire workers exiting by @klauspost in https://github.com/minio/minio/pull/20578
|
||||||
|
* fix: avoid useless expires value in listing meta by @donatello in https://github.com/minio/minio/pull/20584
|
||||||
|
* heal: Avoid deadline error with very large objects (#140) by @vadmeste in https://github.com/minio/minio/pull/20586
|
||||||
|
* heal: large objects fix and avoid .healing.bin corner case premature exit by @vadmeste in https://github.com/minio/minio/pull/20577
|
||||||
|
* run IAM purge routines deterministically every hr by @donatello in https://github.com/minio/minio/pull/20587
|
||||||
|
|
||||||
|
[3.16.0]
|
||||||
|
* Update Minio to RELEASE.2024-11-07T00-52-20Z
|
||||||
|
* [Full Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-11-07T00-52-20Z)
|
||||||
|
* Update README.md by [@​allanrogerr](https://github.com/allanrogerr) in https://github.com/minio/minio/pull/20599
|
||||||
|
* Remove `expires` field from list objects metadata by [@​donatello](https://github.com/donatello) in https://github.com/minio/minio/pull/20600
|
||||||
|
* add tests for ILM transition and healing ([#​166](https://github.com/minio/minio/issues/166)) by [@​harshavardhana](https://github.com/harshavardhana) in https://github.com/minio/minio/pull/20601
|
||||||
|
* Update console package to v1.7.3 by [@​cesnietor](https://github.com/cesnietor) in https://github.com/minio/minio/pull/20606
|
||||||
|
* Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 by [@​dependabot](https://github.com/dependabot) in https://github.com/minio/minio/pull/20611
|
||||||
|
* Fix msgUnPath crash by [@​klauspost](https://github.com/klauspost) in https://github.com/minio/minio/pull/20614
|
||||||
|
* docs: remove redundant prometheus metric by [@​erfantkerfan](https://github.com/erfantkerfan) in https://github.com/minio/minio/pull/20618
|
||||||
|
* decompress audit log properly before sending to remote target by [@​ramondeklein](https://github.com/ramondeklein) in https://github.com/minio/minio/pull/20619
|
||||||
|
* [@​erfantkerfan](https://github.com/erfantkerfan) made their first contribution in https://github.com/minio/minio/pull/20618
|
||||||
|
|
||||||
|
[3.17.0]
|
||||||
|
* Update minio to RELEASE.2024-12-13T22-19-12Z
|
||||||
|
* [Full Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-12-13T22-19-12Z)
|
||||||
|
* Fix lint issues from v1.62.0 upgrade by [@​klauspost](https://github.com/klauspost) in https://github.com/minio/minio/pull/20633
|
||||||
|
* Harden internode DeadlineConn by [@​klauspost](https://github.com/klauspost) in https://github.com/minio/minio/pull/20631
|
||||||
|
* Make DeadlineConn http.Listener compatible by [@​klauspost](https://github.com/klauspost) in https://github.com/minio/minio/pull/20635
|
||||||
|
|
||||||
|
@@ -5,8 +5,8 @@
|
|||||||
"description": "file://DESCRIPTION.md",
|
"description": "file://DESCRIPTION.md",
|
||||||
"changelog": "file://CHANGELOG",
|
"changelog": "file://CHANGELOG",
|
||||||
"tagline": "Distributed object storage",
|
"tagline": "Distributed object storage",
|
||||||
"version": "3.14.0",
|
"version": "3.17.0",
|
||||||
"upstreamVersion": "2024-09-22T00-33-43Z",
|
"upstreamVersion": "RELEASE.2024-12-13T22-19-12Z",
|
||||||
"healthCheckPath": "/minio/login",
|
"healthCheckPath": "/minio/login",
|
||||||
"memoryLimit": 2147483648,
|
"memoryLimit": 2147483648,
|
||||||
"httpPort": 8000,
|
"httpPort": 8000,
|
||||||
@@ -20,7 +20,9 @@
|
|||||||
},
|
},
|
||||||
"addons": {
|
"addons": {
|
||||||
"localstorage": {},
|
"localstorage": {},
|
||||||
"oidc": { "loginRedirectUri": "/oauth_callback" }
|
"oidc": {
|
||||||
|
"loginRedirectUri": "/oauth_callback"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"optionalSso": true,
|
"optionalSso": true,
|
||||||
"manifestVersion": 2,
|
"manifestVersion": 2,
|
||||||
@@ -30,7 +32,12 @@
|
|||||||
"documentationUrl": "https://docs.cloudron.io/apps/minio/",
|
"documentationUrl": "https://docs.cloudron.io/apps/minio/",
|
||||||
"contactEmail": "support@cloudron.io",
|
"contactEmail": "support@cloudron.io",
|
||||||
"icon": "logo.png",
|
"icon": "logo.png",
|
||||||
"tags": [ "storage", "hosting", "s3", "objectstore" ],
|
"tags": [
|
||||||
|
"storage",
|
||||||
|
"hosting",
|
||||||
|
"s3",
|
||||||
|
"objectstore"
|
||||||
|
],
|
||||||
"mediaLinks": [
|
"mediaLinks": [
|
||||||
"https://screenshots.cloudron.io/io.minio.cloudronapp/pic1.png",
|
"https://screenshots.cloudron.io/io.minio.cloudronapp/pic1.png",
|
||||||
"https://screenshots.cloudron.io/io.minio.cloudronapp/pic2.png"
|
"https://screenshots.cloudron.io/io.minio.cloudronapp/pic2.png"
|
||||||
|
10
Dockerfile
10
Dockerfile
@@ -3,12 +3,12 @@ FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768
|
|||||||
RUN mkdir -p /app/code
|
RUN mkdir -p /app/code
|
||||||
WORKDIR /app/code
|
WORKDIR /app/code
|
||||||
|
|
||||||
ARG VERSION=RELEASE.2024-09-22T00-33-43Z
|
# renovate: datasource=github-releases depName=minio/minio versioning=regex:^RELEASE\.(?<major>\d{4})-(?<minor>\d{2})-(?<patch>\d{2})T(?<build>.+)
|
||||||
|
ARG MINIO_VERSION=RELEASE.2024-12-13T22-19-12Z
|
||||||
|
|
||||||
# sometimes here https://dl.min.io/server/minio/release/linux-amd64/archive/
|
RUN wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${MINIO_VERSION} -O /app/code/minio && chmod +x /app/code/minio
|
||||||
# RUN wget https://dl.min.io/server/minio/release/linux-amd64/minio.${VERSION} -O /app/code/minio && chmod +x /app/code/minio
|
|
||||||
RUN wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${VERSION} -O /app/code/minio && chmod +x /app/code/minio
|
# Latest CLI
|
||||||
# https://dl.min.io/client/mc/release/linux-amd64/
|
|
||||||
RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /app/code/mc && chmod +x /app/code/mc
|
RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /app/code/mc && chmod +x /app/code/mc
|
||||||
|
|
||||||
COPY env.sh.template start.sh /app/code/
|
COPY env.sh.template start.sh /app/code/
|
||||||
|
4
renovate.json5
Normal file
4
renovate.json5
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": ["local>devops/renovator//default.renovate.json5"]
|
||||||
|
}
|
901
test/package-lock.json
generated
901
test/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -9,10 +9,10 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chromedriver": "^129.0.0",
|
"chromedriver": "^131.0.3",
|
||||||
"expect.js": "^0.3.1",
|
"expect.js": "^0.3.1",
|
||||||
"mocha": "^10.7.3",
|
"mocha": "^11.0.1",
|
||||||
"selenium-webdriver": "^4.25.0",
|
"selenium-webdriver": "^4.27.0",
|
||||||
"superagent": "^10.1.0"
|
"superagent": "^10.1.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
28
test/test.js
28
test/test.js
@@ -1,11 +1,7 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
/* jshint esversion: 8 */
|
/* jshint esversion: 8 */
|
||||||
/* global describe */
|
/* global it, xit, describe, before, after, afterEach */
|
||||||
/* global before */
|
|
||||||
/* global after */
|
|
||||||
/* global it */
|
|
||||||
/* global xit */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
@@ -28,24 +24,38 @@ if (!process.env.USERNAME || !process.env.PASSWORD) {
|
|||||||
describe('Application life cycle test', function () {
|
describe('Application life cycle test', function () {
|
||||||
this.timeout(0);
|
this.timeout(0);
|
||||||
|
|
||||||
const LOCATION = 'test';
|
const LOCATION = process.env.LOCATION || 'test';
|
||||||
const TEST_TIMEOUT = parseInt(process.env.TIMEOUT, 10) || 30000;
|
const TEST_TIMEOUT = parseInt(process.env.TIMEOUT, 10) || 30000;
|
||||||
const BUCKET = 'cloudrontestbucket';
|
const BUCKET = 'cloudrontestbucket';
|
||||||
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
|
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
|
||||||
|
|
||||||
let browser, app;
|
let browser, app;
|
||||||
let athenticated_by_oidc = false, rootPassword;
|
let athenticated_by_oidc = false, rootPassword;
|
||||||
let username = process.env.USERNAME;
|
const username = process.env.USERNAME;
|
||||||
let password = process.env.PASSWORD;
|
const password = process.env.PASSWORD;
|
||||||
|
|
||||||
before(function () {
|
before(function () {
|
||||||
browser = new Builder().forBrowser('chrome').setChromeOptions(new Options().windowSize({ width: 1280, height: 1024 })).build();
|
const chromeOptions = new Options().windowSize({ width: 1280, height: 1024 });
|
||||||
|
if (process.env.CI) chromeOptions.addArguments('no-sandbox', 'disable-dev-shm-usage', 'headless');
|
||||||
|
browser = new Builder().forBrowser('chrome').setChromeOptions(chromeOptions).build();
|
||||||
|
if (!fs.existsSync('./screenshots')) fs.mkdirSync('./screenshots');
|
||||||
});
|
});
|
||||||
|
|
||||||
after(function () {
|
after(function () {
|
||||||
browser.quit();
|
browser.quit();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
afterEach(async function () {
|
||||||
|
if (!process.env.CI || !app) return;
|
||||||
|
|
||||||
|
const currentUrl = await browser.getCurrentUrl();
|
||||||
|
if (!currentUrl.includes(app.domain)) return;
|
||||||
|
expect(this.currentTest.title).to.be.a('string');
|
||||||
|
|
||||||
|
const screenshotData = await browser.takeScreenshot();
|
||||||
|
fs.writeFileSync(`./screenshots/${new Date().getTime()}-${this.currentTest.title.replaceAll(' ', '_')}.png`, screenshotData, 'base64');
|
||||||
|
});
|
||||||
|
|
||||||
async function waitForElement(elem) {
|
async function waitForElement(elem) {
|
||||||
await browser.wait(until.elementLocated(elem), TEST_TIMEOUT);
|
await browser.wait(until.elementLocated(elem), TEST_TIMEOUT);
|
||||||
await browser.wait(until.elementIsVisible(browser.findElement(elem)), TEST_TIMEOUT);
|
await browser.wait(until.elementIsVisible(browser.findElement(elem)), TEST_TIMEOUT);
|
||||||
|
Reference in New Issue
Block a user