mirror of
https://git.cloudron.io/cloudron/minio-app
synced 2025-09-14 08:49:13 +00:00
Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1e41630b1d | ||
|
3d77021618 | ||
|
43bde46b81 | ||
|
b44db98e35 | ||
|
52221cca35 | ||
|
ea4dfaccf3 | ||
|
bbcfa6b84e | ||
|
19866198e1 | ||
|
87c4917e82 | ||
|
0f0c70fe95 | ||
|
17670769fa | ||
|
038ebcd485 |
@@ -1,5 +0,0 @@
|
|||||||
include:
|
|
||||||
- project: devops/pipeline-components
|
|
||||||
ref: main
|
|
||||||
file: cloudron-app.gitlab-ci.yml
|
|
||||||
|
|
35
CHANGELOG
35
CHANGELOG
@@ -2706,3 +2706,38 @@ Improve replication performance. See (#12080, #12054, #12009) for more details.
|
|||||||
* Update minio to 2024-10-13T13-34-11Z
|
* Update minio to 2024-10-13T13-34-11Z
|
||||||
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.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
|
||||||
|
|
||||||
|
[3.18.0]
|
||||||
|
* CLOUDRON_OIDC_PROVIDER_NAME implemented
|
||||||
|
|
||||||
|
@@ -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.15.1",
|
"version": "3.18.0",
|
||||||
"upstreamVersion": "RELEASE.2024-10-13T13-34-11Z",
|
"upstreamVersion": "RELEASE.2024-12-13T22-19-12Z",
|
||||||
"healthCheckPath": "/minio/login",
|
"healthCheckPath": "/minio/login",
|
||||||
"memoryLimit": 2147483648,
|
"memoryLimit": 2147483648,
|
||||||
"httpPort": 8000,
|
"httpPort": 8000,
|
||||||
@@ -25,9 +25,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"optionalSso": true,
|
"optionalSso": true,
|
||||||
|
"checklist": {
|
||||||
|
"change-default-password": {
|
||||||
|
"sso": false,
|
||||||
|
"message": "Change the default admin credentials by following this [guide](https://cloudron.io/documentation/apps/minio/#admin-credentials)"
|
||||||
|
}
|
||||||
|
},
|
||||||
"manifestVersion": 2,
|
"manifestVersion": 2,
|
||||||
"website": "http://www.minio.io",
|
"website": "http://www.minio.io",
|
||||||
"minBoxVersion": "7.1.2",
|
"minBoxVersion": "8.1.0",
|
||||||
"forumUrl": "https://forum.cloudron.io/category/69/minio",
|
"forumUrl": "https://forum.cloudron.io/category/69/minio",
|
||||||
"documentationUrl": "https://docs.cloudron.io/apps/minio/",
|
"documentationUrl": "https://docs.cloudron.io/apps/minio/",
|
||||||
"contactEmail": "support@cloudron.io",
|
"contactEmail": "support@cloudron.io",
|
||||||
|
@@ -4,7 +4,7 @@ RUN mkdir -p /app/code
|
|||||||
WORKDIR /app/code
|
WORKDIR /app/code
|
||||||
|
|
||||||
# renovate: datasource=github-releases depName=minio/minio versioning=regex:^RELEASE\.(?<major>\d{4})-(?<minor>\d{2})-(?<patch>\d{2})T(?<build>.+)
|
# 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-10-13T13-34-11Z
|
ARG MINIO_VERSION=RELEASE.2024-12-13T22-19-12Z
|
||||||
|
|
||||||
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/archive/minio.${MINIO_VERSION} -O /app/code/minio && chmod +x /app/code/minio
|
||||||
|
|
||||||
|
@@ -4,7 +4,6 @@ Please use the following credentials to login:
|
|||||||
**Username**: minioadmin<br/>
|
**Username**: minioadmin<br/>
|
||||||
**Password**: minioadmin<br/>
|
**Password**: minioadmin<br/>
|
||||||
|
|
||||||
Please change the credentials immediately by following this [guide](https://cloudron.io/documentation/apps/minio/#admin-credentials).
|
|
||||||
</nosso>
|
</nosso>
|
||||||
|
|
||||||
<sso>
|
<sso>
|
||||||
|
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
||||||
"extends": [
|
|
||||||
"local>devops/renovator//config/app/default.json5"
|
|
||||||
]
|
|
||||||
}
|
|
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"]
|
||||||
|
}
|
2
start.sh
2
start.sh
@@ -29,7 +29,7 @@ if [[ ! -d /app/data/mc_config ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${CLOUDRON_OIDC_ISSUER:-}" ]]; then
|
if [[ -n "${CLOUDRON_OIDC_ISSUER:-}" ]]; then
|
||||||
export MINIO_IDENTITY_OPENID_DISPLAY_NAME="Cloudron"
|
export MINIO_IDENTITY_OPENID_DISPLAY_NAME="${CLOUDRON_OIDC_PROVIDER_NAME:-Cloudron}"
|
||||||
export MINIO_IDENTITY_OPENID_CONFIG_URL="${CLOUDRON_OIDC_DISCOVERY_URL}"
|
export MINIO_IDENTITY_OPENID_CONFIG_URL="${CLOUDRON_OIDC_DISCOVERY_URL}"
|
||||||
export MINIO_IDENTITY_OPENID_CLIENT_ID="${CLOUDRON_OIDC_CLIENT_ID}"
|
export MINIO_IDENTITY_OPENID_CLIENT_ID="${CLOUDRON_OIDC_CLIENT_ID}"
|
||||||
export MINIO_IDENTITY_OPENID_CLIENT_SECRET="${CLOUDRON_OIDC_CLIENT_SECRET}"
|
export MINIO_IDENTITY_OPENID_CLIENT_SECRET="${CLOUDRON_OIDC_CLIENT_SECRET}"
|
||||||
|
2675
test/package-lock.json
generated
2675
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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
31
test/test.js
31
test/test.js
@@ -30,7 +30,7 @@ describe('Application life cycle test', function () {
|
|||||||
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 rootPassword;
|
||||||
const username = process.env.USERNAME;
|
const username = process.env.USERNAME;
|
||||||
const password = process.env.PASSWORD;
|
const password = process.env.PASSWORD;
|
||||||
|
|
||||||
@@ -89,23 +89,22 @@ describe('Application life cycle test', function () {
|
|||||||
await timers.setTimeout(5000);
|
await timers.setTimeout(5000);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loginOIDC(username, password) {
|
async function loginOIDC(username, password, alreadyAuthenticated = true) {
|
||||||
browser.manage().deleteAllCookies();
|
browser.manage().deleteAllCookies();
|
||||||
await browser.get(`https://${app.fqdn}/login`);
|
await browser.get(`https://${app.fqdn}/login`);
|
||||||
await browser.sleep(10000);
|
await browser.sleep(10000);
|
||||||
|
|
||||||
await browser.findElement(By.xpath('//button[contains(., "Cloudron")]')).click();
|
await waitForElement(By.xpath('//button[contains(., "iam")]'));
|
||||||
|
await browser.findElement(By.xpath('//button[contains(., "iam")]')).click();
|
||||||
await browser.sleep(10000);
|
await browser.sleep(10000);
|
||||||
|
|
||||||
if (!athenticated_by_oidc) {
|
if (!alreadyAuthenticated) {
|
||||||
await waitForElement(By.xpath('//input[@name="username"]'));
|
await waitForElement(By.id('inputUsername'));
|
||||||
await browser.findElement(By.xpath('//input[@name="username"]')).sendKeys(username);
|
await browser.findElement(By.id('inputUsername')).sendKeys(username);
|
||||||
await browser.findElement(By.xpath('//input[@name="password"]')).sendKeys(password);
|
await browser.findElement(By.id('inputPassword')).sendKeys(password);
|
||||||
await browser.sleep(2000);
|
|
||||||
await browser.findElement(By.id('loginSubmitButton')).click();
|
await browser.findElement(By.id('loginSubmitButton')).click();
|
||||||
|
|
||||||
await browser.sleep(2000);
|
await browser.sleep(2000);
|
||||||
|
|
||||||
athenticated_by_oidc = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
|
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
|
||||||
@@ -210,7 +209,7 @@ describe('Application life cycle test', function () {
|
|||||||
it('does redirect', checkRedirect);
|
it('does redirect', checkRedirect);
|
||||||
it('check api', checkApi);
|
it('check api', checkApi);
|
||||||
|
|
||||||
it('can OIDC login', loginOIDC.bind(null, username, password));
|
it('can OIDC login', loginOIDC.bind(null, username, password, false));
|
||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
@@ -227,7 +226,7 @@ describe('Application life cycle test', function () {
|
|||||||
it('does redirect', checkRedirect);
|
it('does redirect', checkRedirect);
|
||||||
it('check api', checkApi);
|
it('check api', checkApi);
|
||||||
|
|
||||||
it('can OIDC login', loginOIDC.bind(null, username, password));
|
it('can OIDC login', loginOIDC.bind(null, username, password, true));
|
||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
@@ -246,7 +245,7 @@ describe('Application life cycle test', function () {
|
|||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
it('can OIDC login', loginOIDC.bind(null, username, password));
|
it('can OIDC login', loginOIDC.bind(null, username, password, true));
|
||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
@@ -264,7 +263,7 @@ describe('Application life cycle test', function () {
|
|||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
it('can OIDC login', loginOIDC.bind(null, username, password));
|
it('can OIDC login', loginOIDC.bind(null, username, password, true));
|
||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
@@ -282,7 +281,7 @@ describe('Application life cycle test', function () {
|
|||||||
it('can add buckets', addBucket);
|
it('can add buckets', addBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
it('can OIDC login', loginOIDC.bind(null, username, password));
|
it('can OIDC login', loginOIDC.bind(null, username, password, true));
|
||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
@@ -294,7 +293,7 @@ describe('Application life cycle test', function () {
|
|||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
it('can OIDC login', loginOIDC.bind(null, username, password));
|
it('can OIDC login', loginOIDC.bind(null, username, password, true));
|
||||||
it('has bucket', checkBucket);
|
it('has bucket', checkBucket);
|
||||||
it('can logout', logout);
|
it('can logout', logout);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user