From 5327ca86565fba8b0e361a6be2d88364b5c11f52 Mon Sep 17 00:00:00 2001 From: 12ww1160 <12ww1160@confdroid.com> Date: Sun, 27 Sep 2026 13:50:52 +0200 Subject: [PATCH] OP#793 fix mirror --- .dockerignore | 17 -- .github/ISSUE_TEMPLATE.md | 51 ------ .github/ISSUE_TEMPLATE/bug_report.md | 54 ------ .github/ISSUE_TEMPLATE/config.yml | 8 - .github/PULL_REQUEST_TEMPLATE.md | 26 --- .github/logo.svg | 1 - .github/stale.yml | 60 ------- .github/workflows/depsreview.yaml | 14 -- .github/workflows/go-cross.yml | 39 ----- .github/workflows/go-healing.yml | 44 ----- .github/workflows/go-lint.yml | 42 ----- .github/workflows/go-resiliency.yml | 39 ----- .github/workflows/go.yml | 42 ----- .github/workflows/helm-lint.yml | 30 ---- .github/workflows/iam-integrations.yaml | 161 ------------------ .github/workflows/issues.yaml | 18 -- .github/workflows/lock.yml | 24 --- .github/workflows/mint.yml | 81 --------- .../mint/minio-compress-encrypt.yaml | 80 --------- .github/workflows/mint/minio-erasure.yaml | 51 ------ .github/workflows/mint/minio-pools.yaml | 117 ------------- .github/workflows/mint/minio-resiliency.yaml | 78 --------- .github/workflows/mint/nginx-1-node.conf | 100 ----------- .github/workflows/mint/nginx-4-node.conf | 105 ------------ .github/workflows/mint/nginx-8-node.conf | 114 ------------- .github/workflows/mint/nginx.conf | 106 ------------ .../multipart/docker-compose-site1.yaml | 66 ------- .../multipart/docker-compose-site2.yaml | 66 ------- .github/workflows/multipart/migrate.sh | 147 ---------------- .github/workflows/multipart/nginx-site1.conf | 61 ------- .github/workflows/multipart/nginx-site2.conf | 61 ------- .github/workflows/replication.yaml | 79 --------- .github/workflows/root-disable.yml | 34 ---- .github/workflows/root.cert | 9 - .github/workflows/root.key | 3 - .github/workflows/run-mint.sh | 64 ------- .github/workflows/shfmt.yml | 22 --- .github/workflows/typos.yml | 15 -- .github/workflows/upgrade-ci-cd.yaml | 34 ---- .github/workflows/vulncheck.yml | 31 ---- .scannerwork/.sonar_lock | 0 .scannerwork/report-task.txt | 6 - Jenkinsfile | 38 +++-- 43 files changed, 21 insertions(+), 2217 deletions(-) delete mode 100644 .dockerignore delete mode 100644 .github/ISSUE_TEMPLATE.md delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/logo.svg delete mode 100644 .github/stale.yml delete mode 100644 .github/workflows/depsreview.yaml delete mode 100644 .github/workflows/go-cross.yml delete mode 100644 .github/workflows/go-healing.yml delete mode 100644 .github/workflows/go-lint.yml delete mode 100644 .github/workflows/go-resiliency.yml delete mode 100644 .github/workflows/go.yml delete mode 100644 .github/workflows/helm-lint.yml delete mode 100644 .github/workflows/iam-integrations.yaml delete mode 100644 .github/workflows/issues.yaml delete mode 100644 .github/workflows/lock.yml delete mode 100644 .github/workflows/mint.yml delete mode 100644 .github/workflows/mint/minio-compress-encrypt.yaml delete mode 100644 .github/workflows/mint/minio-erasure.yaml delete mode 100644 .github/workflows/mint/minio-pools.yaml delete mode 100644 .github/workflows/mint/minio-resiliency.yaml delete mode 100644 .github/workflows/mint/nginx-1-node.conf delete mode 100644 .github/workflows/mint/nginx-4-node.conf delete mode 100644 .github/workflows/mint/nginx-8-node.conf delete mode 100644 .github/workflows/mint/nginx.conf delete mode 100644 .github/workflows/multipart/docker-compose-site1.yaml delete mode 100644 .github/workflows/multipart/docker-compose-site2.yaml delete mode 100755 .github/workflows/multipart/migrate.sh delete mode 100644 .github/workflows/multipart/nginx-site1.conf delete mode 100644 .github/workflows/multipart/nginx-site2.conf delete mode 100644 .github/workflows/replication.yaml delete mode 100644 .github/workflows/root-disable.yml delete mode 100644 .github/workflows/root.cert delete mode 100644 .github/workflows/root.key delete mode 100755 .github/workflows/run-mint.sh delete mode 100644 .github/workflows/shfmt.yml delete mode 100644 .github/workflows/typos.yml delete mode 100644 .github/workflows/upgrade-ci-cd.yaml delete mode 100644 .github/workflows/vulncheck.yml delete mode 100644 .scannerwork/.sonar_lock delete mode 100644 .scannerwork/report-task.txt diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index e48fa82..0000000 --- a/.dockerignore +++ /dev/null @@ -1,17 +0,0 @@ -.git -.github -default.etcd -*.gz -*.tar.gz -*.bzip2 -*.zip -browser/node_modules -node_modules -docs/debugging/s3-verify/s3-verify -docs/debugging/xl-meta/xl-meta -docs/debugging/s3-check-md5/s3-check-md5 -docs/debugging/hash-set/hash-set -docs/debugging/healing-bin/healing-bin -docs/debugging/inspect/inspect -docs/debugging/pprofgoparser/pprofgoparser -docs/debugging/reorder-disks/reorder-disks diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 978d908..0000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: community, triage -assignees: '' - ---- - -## NOTE -All GitHub issues are addressed on a best-effort basis at MinIO's sole discretion. There are no Service Level Agreements (SLA) or Objectives (SLO). Remember our [Code of Conduct](https://github.com/minio/minio/blob/master/code_of_conduct.md) when engaging with MinIO Engineers and the larger community. - -For urgent issues (e.g. production down, etc.), subscribe to [SUBNET](https://min.io/pricing?jmp=github) for direct to engineering support. - - - -## Expected Behavior - - - -## Current Behavior - - - -## Possible Solution - - - -## Steps to Reproduce (for bugs) - - - - -1. -2. -3. -4. - -## Context - - - -## Regression - - - -## Your Environment - -* Version used (`minio --version`): -* Server setup and configuration: -* Operating System and version (`uname -a`): diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index cd3f415..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -name: Bug report -about: Report a bug in MinIO (community edition is source-only) -title: '' -labels: community, triage -assignees: '' - ---- - -## IMPORTANT NOTES - -**Community Edition**: MinIO community edition is now source-only. Install via `go install github.com/minio/minio@latest` - -**Feature Requests**: We are no longer accepting feature requests for the community edition. For feature requests and enterprise support, please subscribe to [MinIO Enterprise Support](https://min.io/pricing). - -**Urgent Issues**: If this case is urgent or affects production, please subscribe to [SUBNET](https://min.io/pricing) for 24/7 enterprise support. - - - -## Expected Behavior - - - -## Current Behavior - - - -## Possible Solution - - - -## Steps to Reproduce (for bugs) - - - - -1. -2. -3. -4. - -## Context - - - -## Regression - - - -## Your Environment - -* Version used (`minio --version`): -* Server setup and configuration: -* Operating System and version (`uname -a`): diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 28ed32a..0000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,8 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: MinIO Community Support - url: https://slack.min.io - about: Community support via Slack - for questions and discussions - - name: MinIO Enterprise Support (SUBNET) - url: https://min.io/pricing - about: Enterprise support with SLA - for production deployments and feature requests diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 2ff6846..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,26 +0,0 @@ -## Community Contribution License -All community contributions in this pull request are licensed to the project maintainers -under the terms of the [Apache 2 license](https://www.apache.org/licenses/LICENSE-2.0). -By creating this pull request I represent that I have the right to license the -contributions to the project maintainers under the Apache 2 license. - -## Description - - -## Motivation and Context - - -## How to test this PR? - - -## Types of changes -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Optimization (provides speedup with no functional changes) -- [ ] Breaking change (fix or feature that would cause existing functionality to change) - -## Checklist: -- [ ] Fixes a regression (If yes, please add `commit-id` or `PR #` here) -- [ ] Unit tests added/updated -- [ ] Internal documentation updated -- [ ] Create a documentation update request [here](https://github.com/minio/docs/issues/new?label=doc-change,title=Doc+Updated+Needed+For+PR+github.com%2fminio%2fminio%2fpull%2fNNNNN) diff --git a/.github/logo.svg b/.github/logo.svg deleted file mode 100644 index e928e78..0000000 --- a/.github/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index 1085be6..0000000 --- a/.github/stale.yml +++ /dev/null @@ -1,60 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 30 - -# Number of days of inactivity before an Issue or Pull Request with the stale label is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 15 - -# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled) -onlyLabels: [] - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: - - "security" - - "pending discussion" - - "do-not-close" - -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: false - -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: false - -# Set to true to ignore issues with an assignee (defaults to false) -exemptAssignees: false - -# Label to use when marking as stale -staleLabel: stale - -# Comment to post when marking as stale. Set to `false` to disable -markComment: >- - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed after 15 days if no further activity - occurs. Thank you for your contributions. -# Comment to post when removing the stale label. -# unmarkComment: > -# Your comment here. - -# Comment to post when closing a stale Issue or Pull Request. -# closeComment: > -# Your comment here. - -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 1 - -# Limit to only `issues` or `pulls` -# only: issues - -# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls': -# pulls: -# daysUntilStale: 30 -# markComment: > -# This pull request has been automatically marked as stale because it has not had -# recent activity. It will be closed if no further activity occurs. Thank you -# for your contributions. - -# issues: -# exemptLabels: -# - confirmed diff --git a/.github/workflows/depsreview.yaml b/.github/workflows/depsreview.yaml deleted file mode 100644 index b9d6d20..0000000 --- a/.github/workflows/depsreview.yaml +++ /dev/null @@ -1,14 +0,0 @@ -name: 'Dependency Review' -on: [pull_request] - -permissions: - contents: read - -jobs: - dependency-review: - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - name: 'Dependency Review' - uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/go-cross.yml b/.github/workflows/go-cross.yml deleted file mode 100644 index 324af3e..0000000 --- a/.github/workflows/go-cross.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Crosscompile - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - build: - name: Build Tests with Go ${{ matrix.go-version }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - go-version: [1.24.x] - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Build on ${{ matrix.os }} - if: matrix.os == 'ubuntu-latest' - env: - CGO_ENABLED: 0 - GO111MODULE: on - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make crosscompile diff --git a/.github/workflows/go-healing.yml b/.github/workflows/go-healing.yml deleted file mode 100644 index 0ea2505..0000000 --- a/.github/workflows/go-healing.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Healing Functional Tests - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - build: - name: Go ${{ matrix.go-version }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - go-version: [1.24.x] - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Build on ${{ matrix.os }} - if: matrix.os == 'ubuntu-latest' - env: - CGO_ENABLED: 0 - GO111MODULE: on - MINIO_KMS_SECRET_KEY: "my-minio-key:oyArl7zlPECEduNbB1KXgdzDn2Bdpvvw0l8VO51HQnY=" - MINIO_KMS_AUTO_ENCRYPTION: on - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make verify-healing - make verify-healing-inconsistent-versions - make verify-healing-with-root-disks - make verify-healing-with-rewrite diff --git a/.github/workflows/go-lint.yml b/.github/workflows/go-lint.yml deleted file mode 100644 index 6b43086..0000000 --- a/.github/workflows/go-lint.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Linters and Tests - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - build: - name: Go ${{ matrix.go-version }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - go-version: [1.24.x] - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Build on ${{ matrix.os }} - if: matrix.os == 'ubuntu-latest' - env: - CGO_ENABLED: 0 - GO111MODULE: on - run: | - sudo apt install jq -y - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make - make test - make test-race diff --git a/.github/workflows/go-resiliency.yml b/.github/workflows/go-resiliency.yml deleted file mode 100644 index 4eb2bbb..0000000 --- a/.github/workflows/go-resiliency.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Resiliency Functional Tests - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - build: - name: Go ${{ matrix.go-version }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - go-version: [1.24.x] - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Build on ${{ matrix.os }} - if: matrix.os == 'ubuntu-latest' - env: - CGO_ENABLED: 0 - GO111MODULE: on - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-resiliency diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml deleted file mode 100644 index 9e4b9d0..0000000 --- a/.github/workflows/go.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Functional Tests - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - build: - name: Go ${{ matrix.go-version }} on ${{ matrix.os }} - healing - runs-on: ${{ matrix.os }} - strategy: - matrix: - go-version: [1.24.x] - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Build on ${{ matrix.os }} - if: matrix.os == 'ubuntu-latest' - env: - CGO_ENABLED: 0 - GO111MODULE: on - MINIO_KMS_SECRET_KEY: "my-minio-key:OSMM+vkKUTCvQs9YL/CVMIMt43HFhkUpqJxTmGl6rYw=" - MINIO_KMS_AUTO_ENCRYPTION: on - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make verify - make test-timeout diff --git a/.github/workflows/helm-lint.yml b/.github/workflows/helm-lint.yml deleted file mode 100644 index f444106..0000000 --- a/.github/workflows/helm-lint.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Helm Chart linting - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - release: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install Helm - uses: azure/setup-helm@v4 - - - name: Run helm lint - run: | - cd helm/minio - helm lint . diff --git a/.github/workflows/iam-integrations.yaml b/.github/workflows/iam-integrations.yaml deleted file mode 100644 index cc57a77..0000000 --- a/.github/workflows/iam-integrations.yaml +++ /dev/null @@ -1,161 +0,0 @@ -name: IAM integration - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - iam-matrix-test: - name: "[Go=${{ matrix.go-version }}|ldap=${{ matrix.ldap }}|etcd=${{ matrix.etcd }}|openid=${{ matrix.openid }}]" - runs-on: ubuntu-latest - - services: - openldap: - image: quay.io/minio/openldap - ports: - - "389:389" - - "636:636" - env: - LDAP_ORGANIZATION: "MinIO Inc" - LDAP_DOMAIN: "min.io" - LDAP_ADMIN_PASSWORD: "admin" - etcd: - image: "quay.io/coreos/etcd:v3.5.1" - env: - ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379" - ETCD_ADVERTISE_CLIENT_URLS: "http://0.0.0.0:2379" - ports: - - "2379:2379" - options: >- - --health-cmd "etcdctl endpoint health" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - openid: - image: quay.io/minio/dex - ports: - - "5556:5556" - env: - DEX_LDAP_SERVER: "openldap:389" - openid2: - image: quay.io/minio/dex - ports: - - "5557:5557" - env: - DEX_LDAP_SERVER: "openldap:389" - DEX_ISSUER: "http://127.0.0.1:5557/dex" - DEX_WEB_HTTP: "0.0.0.0:5557" - - strategy: - # When ldap, etcd or openid vars are empty below, those external servers - # are turned off - i.e. if ldap="", then ldap server is not enabled for - # the tests. - matrix: - go-version: [1.24.x] - ldap: ["", "localhost:389"] - etcd: ["", "http://localhost:2379"] - openid: ["", "http://127.0.0.1:5556/dex"] - exclude: - # exclude combos where all are empty. - - ldap: "" - etcd: "" - openid: "" - # exclude combos where both ldap and openid IDPs are specified. - - ldap: "localhost:389" - openid: "http://127.0.0.1:5556/dex" - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Test LDAP/OpenID/Etcd combo - env: - _MINIO_LDAP_TEST_SERVER: ${{ matrix.ldap }} - _MINIO_ETCD_TEST_SERVER: ${{ matrix.etcd }} - _MINIO_OPENID_TEST_SERVER: ${{ matrix.openid }} - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-iam - - name: Test with multiple OpenID providers - if: matrix.openid == 'http://127.0.0.1:5556/dex' - env: - _MINIO_LDAP_TEST_SERVER: ${{ matrix.ldap }} - _MINIO_ETCD_TEST_SERVER: ${{ matrix.etcd }} - _MINIO_OPENID_TEST_SERVER: ${{ matrix.openid }} - _MINIO_OPENID_TEST_SERVER_2: "http://127.0.0.1:5557/dex" - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-iam - - name: Test with Access Management Plugin enabled - env: - _MINIO_LDAP_TEST_SERVER: ${{ matrix.ldap }} - _MINIO_ETCD_TEST_SERVER: ${{ matrix.etcd }} - _MINIO_OPENID_TEST_SERVER: ${{ matrix.openid }} - _MINIO_POLICY_PLUGIN_TEST_ENDPOINT: "http://127.0.0.1:8080" - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - go run docs/iam/access-manager-plugin.go & - make test-iam - - name: Test MinIO Old Version data to IAM import current version - if: matrix.ldap == 'ldaphost:389' - env: - _MINIO_LDAP_TEST_SERVER: ${{ matrix.ldap }} - run: | - make test-iam-ldap-upgrade-import - - name: Test LDAP for automatic site replication - if: matrix.ldap == 'localhost:389' - run: | - make test-site-replication-ldap - - name: Test OIDC for automatic site replication - if: matrix.openid == 'http://127.0.0.1:5556/dex' - run: | - make test-site-replication-oidc - iam-import-with-missing-entities: - name: Test IAM import in new cluster with missing entities - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Checkout minio-iam-testing - uses: actions/checkout@v4 - with: - repository: minio/minio-iam-testing - path: minio-iam-testing - - name: Test import of IAM artifacts when in fresh cluster there are missing groups etc - run: | - make test-iam-import-with-missing-entities - iam-import-with-openid: - name: Test IAM import in new cluster with opendid configurations - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Checkout minio-iam-testing - uses: actions/checkout@v4 - with: - repository: minio/minio-iam-testing - path: minio-iam-testing - - name: Test import of IAM artifacts when in fresh cluster with openid configurations - run: | - make test-iam-import-with-openid diff --git a/.github/workflows/issues.yaml b/.github/workflows/issues.yaml deleted file mode 100644 index d91950a..0000000 --- a/.github/workflows/issues.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# @format - -name: Issue Workflow - -on: - issues: - types: - - opened - -jobs: - add-to-project: - name: Add issue to project - runs-on: ubuntu-latest - steps: - - uses: actions/add-to-project@v0.5.0 - with: - project-url: https://github.com/orgs/miniohq/projects/2 - github-token: ${{ secrets.BOT_PAT }} diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml deleted file mode 100644 index da3afe3..0000000 --- a/.github/workflows/lock.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: 'Lock Threads' - -on: - schedule: - - cron: '0 0 * * *' - workflow_dispatch: - -permissions: - issues: write - -concurrency: - group: lock - -jobs: - action: - runs-on: ubuntu-latest - steps: - - uses: dessant/lock-threads@v3 - with: - github-token: ${{ github.token }} - issue-inactive-days: '365' - exclude-any-issue-labels: 'do-not-close' - issue-lock-reason: 'resolved' - log-output: true diff --git a/.github/workflows/mint.yml b/.github/workflows/mint.yml deleted file mode 100644 index 77dc498..0000000 --- a/.github/workflows/mint.yml +++ /dev/null @@ -1,81 +0,0 @@ -name: Mint Tests - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - mint-test: - runs-on: mint - timeout-minutes: 120 - steps: - - name: cleanup #https://github.com/actions/checkout/issues/273 - run: | - sudo -S rm -rf ${GITHUB_WORKSPACE} - mkdir ${GITHUB_WORKSPACE} - - name: checkout-step - uses: actions/checkout@v4 - - - name: setup-go-step - uses: actions/setup-go@v5 - with: - go-version: 1.24.x - - - name: github sha short - id: vars - run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - - name: build-minio - run: | - TAG="quay.io/minio/minio:${{ steps.vars.outputs.sha_short }}" make docker - - - name: multipart uploads test - run: | - ${GITHUB_WORKSPACE}/.github/workflows/multipart/migrate.sh "${{ steps.vars.outputs.sha_short }}" - - - name: compress and encrypt - run: | - ${GITHUB_WORKSPACE}/.github/workflows/run-mint.sh "compress-encrypt" "minio" "minio123" "${{ steps.vars.outputs.sha_short }}" - - - name: multiple pools - run: | - ${GITHUB_WORKSPACE}/.github/workflows/run-mint.sh "pools" "minio" "minio123" "${{ steps.vars.outputs.sha_short }}" - - - name: standalone erasure - run: | - ${GITHUB_WORKSPACE}/.github/workflows/run-mint.sh "erasure" "minio" "minio123" "${{ steps.vars.outputs.sha_short }}" - - # FIXME: renable this back when we have a valid way to add deadlines for PUT()s (internode CreateFile) - # - name: resiliency - # run: | - # ${GITHUB_WORKSPACE}/.github/workflows/run-mint.sh "resiliency" "minio" "minio123" "${{ steps.vars.outputs.sha_short }}" - - - name: The job must cleanup - if: ${{ always() }} - run: | - export JOB_NAME=${{ steps.vars.outputs.sha_short }} - for mode in $(echo compress-encrypt pools erasure); do - docker-compose -f ${GITHUB_WORKSPACE}/.github/workflows/mint/minio-${mode}.yaml down || true - docker-compose -f ${GITHUB_WORKSPACE}/.github/workflows/mint/minio-${mode}.yaml rm || true - done - - docker-compose -f ${GITHUB_WORKSPACE}/.github/workflows/multipart/docker-compose-site1.yaml rm -s -f || true - docker-compose -f ${GITHUB_WORKSPACE}/.github/workflows/multipart/docker-compose-site2.yaml rm -s -f || true - for volume in $(docker volume ls -q | grep minio); do - docker volume rm ${volume} || true - done - - docker rmi -f quay.io/minio/minio:${{ steps.vars.outputs.sha_short }} - docker system prune -f || true - docker volume prune -f || true - docker volume rm $(docker volume ls -q -f dangling=true) || true diff --git a/.github/workflows/mint/minio-compress-encrypt.yaml b/.github/workflows/mint/minio-compress-encrypt.yaml deleted file mode 100644 index fe1238e..0000000 --- a/.github/workflows/mint/minio-compress-encrypt.yaml +++ /dev/null @@ -1,80 +0,0 @@ -version: '3.7' - -# Settings and configurations that are common for all containers -x-minio-common: &minio-common - image: quay.io/minio/minio:${JOB_NAME} - command: server --console-address ":9001" http://minio{1...4}/cdata{1...2} - expose: - - "9000" - - "9001" - environment: - MINIO_CI_CD: "on" - MINIO_ROOT_USER: "minio" - MINIO_ROOT_PASSWORD: "minio123" - MINIO_COMPRESSION_ENABLE: "on" - MINIO_COMPRESSION_MIME_TYPES: "*" - MINIO_COMPRESSION_ALLOW_ENCRYPTION: "on" - MINIO_KMS_SECRET_KEY: "my-minio-key:OSMM+vkKUTCvQs9YL/CVMIMt43HFhkUpqJxTmGl6rYw=" - healthcheck: - test: ["CMD", "mc", "ready", "local"] - interval: 5s - timeout: 5s - retries: 5 - -# starts 4 docker containers running minio server instances. -# using nginx reverse proxy, load balancing, you can access -# it through port 9000. -services: - minio1: - <<: *minio-common - hostname: minio1 - volumes: - - cdata1-1:/cdata1 - - cdata1-2:/cdata2 - - minio2: - <<: *minio-common - hostname: minio2 - volumes: - - cdata2-1:/cdata1 - - cdata2-2:/cdata2 - - minio3: - <<: *minio-common - hostname: minio3 - volumes: - - cdata3-1:/cdata1 - - cdata3-2:/cdata2 - - minio4: - <<: *minio-common - hostname: minio4 - volumes: - - cdata4-1:/cdata1 - - cdata4-2:/cdata2 - - nginx: - image: nginx:1.19.2-alpine - hostname: nginx - volumes: - - ./nginx-4-node.conf:/etc/nginx/nginx.conf:ro - ports: - - "9000:9000" - - "9001:9001" - depends_on: - - minio1 - - minio2 - - minio3 - - minio4 - -## By default this config uses default local driver, -## For custom volumes replace with volume driver configuration. -volumes: - cdata1-1: - cdata1-2: - cdata2-1: - cdata2-2: - cdata3-1: - cdata3-2: - cdata4-1: - cdata4-2: diff --git a/.github/workflows/mint/minio-erasure.yaml b/.github/workflows/mint/minio-erasure.yaml deleted file mode 100644 index a3fd6db..0000000 --- a/.github/workflows/mint/minio-erasure.yaml +++ /dev/null @@ -1,51 +0,0 @@ -version: '3.7' - -# Settings and configurations that are common for all containers -x-minio-common: &minio-common - image: quay.io/minio/minio:${JOB_NAME} - command: server --console-address ":9001" edata{1...4} - expose: - - "9000" - - "9001" - environment: - MINIO_CI_CD: "on" - MINIO_ROOT_USER: "minio" - MINIO_ROOT_PASSWORD: "minio123" - MINIO_KMS_SECRET_KEY: "my-minio-key:OSMM+vkKUTCvQs9YL/CVMIMt43HFhkUpqJxTmGl6rYw=" - healthcheck: - test: ["CMD", "mc", "ready", "local"] - interval: 5s - timeout: 5s - retries: 5 - -# starts 4 docker containers running minio server instances. -# using nginx reverse proxy, load balancing, you can access -# it through port 9000. -services: - minio1: - <<: *minio-common - hostname: minio1 - volumes: - - edata1-1:/edata1 - - edata1-2:/edata2 - - edata1-3:/edata3 - - edata1-4:/edata4 - - nginx: - image: nginx:1.19.2-alpine - hostname: nginx - volumes: - - ./nginx-1-node.conf:/etc/nginx/nginx.conf:ro - ports: - - "9000:9000" - - "9001:9001" - depends_on: - - minio1 - -## By default this config uses default local driver, -## For custom volumes replace with volume driver configuration. -volumes: - edata1-1: - edata1-2: - edata1-3: - edata1-4: diff --git a/.github/workflows/mint/minio-pools.yaml b/.github/workflows/mint/minio-pools.yaml deleted file mode 100644 index bd79fda..0000000 --- a/.github/workflows/mint/minio-pools.yaml +++ /dev/null @@ -1,117 +0,0 @@ -version: '3.7' - -# Settings and configurations that are common for all containers -x-minio-common: &minio-common - image: quay.io/minio/minio:${JOB_NAME} - command: server --console-address ":9001" http://minio{1...4}/pdata{1...2} http://minio{5...8}/pdata{1...2} - expose: - - "9000" - - "9001" - environment: - MINIO_CI_CD: "on" - MINIO_ROOT_USER: "minio" - MINIO_ROOT_PASSWORD: "minio123" - MINIO_KMS_SECRET_KEY: "my-minio-key:OSMM+vkKUTCvQs9YL/CVMIMt43HFhkUpqJxTmGl6rYw=" - healthcheck: - test: ["CMD", "mc", "ready", "local"] - interval: 5s - timeout: 5s - retries: 5 - -# starts 4 docker containers running minio server instances. -# using nginx reverse proxy, load balancing, you can access -# it through port 9000. -services: - minio1: - <<: *minio-common - hostname: minio1 - volumes: - - pdata1-1:/pdata1 - - pdata1-2:/pdata2 - - minio2: - <<: *minio-common - hostname: minio2 - volumes: - - pdata2-1:/pdata1 - - pdata2-2:/pdata2 - - minio3: - <<: *minio-common - hostname: minio3 - volumes: - - pdata3-1:/pdata1 - - pdata3-2:/pdata2 - - minio4: - <<: *minio-common - hostname: minio4 - volumes: - - pdata4-1:/pdata1 - - pdata4-2:/pdata2 - - minio5: - <<: *minio-common - hostname: minio5 - volumes: - - pdata5-1:/pdata1 - - pdata5-2:/pdata2 - - minio6: - <<: *minio-common - hostname: minio6 - volumes: - - pdata6-1:/pdata1 - - pdata6-2:/pdata2 - - minio7: - <<: *minio-common - hostname: minio7 - volumes: - - pdata7-1:/pdata1 - - pdata7-2:/pdata2 - - minio8: - <<: *minio-common - hostname: minio8 - volumes: - - pdata8-1:/pdata1 - - pdata8-2:/pdata2 - - nginx: - image: nginx:1.19.2-alpine - hostname: nginx - volumes: - - ./nginx-8-node.conf:/etc/nginx/nginx.conf:ro - ports: - - "9000:9000" - - "9001:9001" - depends_on: - - minio1 - - minio2 - - minio3 - - minio4 - - minio5 - - minio6 - - minio7 - - minio8 - -## By default this config uses default local driver, -## For custom volumes replace with volume driver configuration. -volumes: - pdata1-1: - pdata1-2: - pdata2-1: - pdata2-2: - pdata3-1: - pdata3-2: - pdata4-1: - pdata4-2: - pdata5-1: - pdata5-2: - pdata6-1: - pdata6-2: - pdata7-1: - pdata7-2: - pdata8-1: - pdata8-2: diff --git a/.github/workflows/mint/minio-resiliency.yaml b/.github/workflows/mint/minio-resiliency.yaml deleted file mode 100644 index 9d569c5..0000000 --- a/.github/workflows/mint/minio-resiliency.yaml +++ /dev/null @@ -1,78 +0,0 @@ -version: '3.7' - -# Settings and configurations that are common for all containers -x-minio-common: &minio-common - image: quay.io/minio/minio:${JOB_NAME} - command: server --console-address ":9001" http://minio{1...4}/rdata{1...2} - expose: - - "9000" - - "9001" - environment: - MINIO_CI_CD: "on" - MINIO_ROOT_USER: "minio" - MINIO_ROOT_PASSWORD: "minio123" - MINIO_KMS_SECRET_KEY: "my-minio-key:OSMM+vkKUTCvQs9YL/CVMIMt43HFhkUpqJxTmGl6rYw=" - MINIO_DRIVE_MAX_TIMEOUT: "5s" - healthcheck: - test: ["CMD", "mc", "ready", "local"] - interval: 5s - timeout: 5s - retries: 5 - -# starts 4 docker containers running minio server instances. -# using nginx reverse proxy, load balancing, you can access -# it through port 9000. -services: - minio1: - <<: *minio-common - hostname: minio1 - volumes: - - rdata1-1:/rdata1 - - rdata1-2:/rdata2 - - minio2: - <<: *minio-common - hostname: minio2 - volumes: - - rdata2-1:/rdata1 - - rdata2-2:/rdata2 - - minio3: - <<: *minio-common - hostname: minio3 - volumes: - - rdata3-1:/rdata1 - - rdata3-2:/rdata2 - - minio4: - <<: *minio-common - hostname: minio4 - volumes: - - rdata4-1:/rdata1 - - rdata4-2:/rdata2 - - nginx: - image: nginx:1.19.2-alpine - hostname: nginx - volumes: - - ./nginx-4-node.conf:/etc/nginx/nginx.conf:ro - ports: - - "9000:9000" - - "9001:9001" - depends_on: - - minio1 - - minio2 - - minio3 - - minio4 - -## By default this config uses default local driver, -## For custom volumes replace with volume driver configuration. -volumes: - rdata1-1: - rdata1-2: - rdata2-1: - rdata2-2: - rdata3-1: - rdata3-2: - rdata4-1: - rdata4-2: diff --git a/.github/workflows/mint/nginx-1-node.conf b/.github/workflows/mint/nginx-1-node.conf deleted file mode 100644 index bb13bde..0000000 --- a/.github/workflows/mint/nginx-1-node.conf +++ /dev/null @@ -1,100 +0,0 @@ -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 4096; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - sendfile on; - keepalive_timeout 65; - - # include /etc/nginx/conf.d/*.conf; - - upstream minio { - server minio1:9000; - } - - upstream console { - ip_hash; - server minio1:9001; - } - - server { - listen 9000; - listen [::]:9000; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; - - proxy_pass http://minio; - } - } - - server { - listen 9001; - listen [::]:9001; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-NginX-Proxy true; - - # This is necessary to pass the correct IP to be hashed - real_ip_header X-Real-IP; - - proxy_connect_timeout 300; - - # To support websocket - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - chunked_transfer_encoding off; - - proxy_pass http://console; - } - } -} diff --git a/.github/workflows/mint/nginx-4-node.conf b/.github/workflows/mint/nginx-4-node.conf deleted file mode 100644 index b849940..0000000 --- a/.github/workflows/mint/nginx-4-node.conf +++ /dev/null @@ -1,105 +0,0 @@ -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 4096; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - sendfile on; - keepalive_timeout 65; - - # include /etc/nginx/conf.d/*.conf; - - upstream minio { - server minio1:9000 max_fails=1 fail_timeout=10s; - server minio2:9000 max_fails=1 fail_timeout=10s; - server minio3:9000 max_fails=1 fail_timeout=10s; - } - - upstream console { - ip_hash; - server minio1:9001; - server minio2:9001; - server minio3:9001; - server minio4:9001; - } - - server { - listen 9000; - listen [::]:9000; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; - - proxy_pass http://minio; - } - } - - server { - listen 9001; - listen [::]:9001; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-NginX-Proxy true; - - # This is necessary to pass the correct IP to be hashed - real_ip_header X-Real-IP; - - proxy_connect_timeout 300; - - # To support websocket - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - chunked_transfer_encoding off; - - proxy_pass http://console; - } - } -} diff --git a/.github/workflows/mint/nginx-8-node.conf b/.github/workflows/mint/nginx-8-node.conf deleted file mode 100644 index 278b5ae..0000000 --- a/.github/workflows/mint/nginx-8-node.conf +++ /dev/null @@ -1,114 +0,0 @@ -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 4096; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - sendfile on; - keepalive_timeout 65; - - # include /etc/nginx/conf.d/*.conf; - - upstream minio { - server minio1:9000 max_fails=1 fail_timeout=10s; - server minio2:9000 max_fails=1 fail_timeout=10s; - server minio3:9000 max_fails=1 fail_timeout=10s; - server minio4:9000 max_fails=1 fail_timeout=10s; - server minio5:9000 max_fails=1 fail_timeout=10s; - server minio6:9000 max_fails=1 fail_timeout=10s; - server minio7:9000 max_fails=1 fail_timeout=10s; - server minio8:9000 max_fails=1 fail_timeout=10s; - } - - upstream console { - ip_hash; - server minio1:9001; - server minio2:9001; - server minio3:9001; - server minio4:9001; - server minio5:9001; - server minio6:9001; - server minio7:9001; - server minio8:9001; - } - - server { - listen 9000; - listen [::]:9000; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; - - proxy_pass http://minio; - } - } - - server { - listen 9001; - listen [::]:9001; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-NginX-Proxy true; - - # This is necessary to pass the correct IP to be hashed - real_ip_header X-Real-IP; - - proxy_connect_timeout 300; - - # To support websocket - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - chunked_transfer_encoding off; - - proxy_pass http://console; - } - } -} diff --git a/.github/workflows/mint/nginx.conf b/.github/workflows/mint/nginx.conf deleted file mode 100644 index 1455a3e..0000000 --- a/.github/workflows/mint/nginx.conf +++ /dev/null @@ -1,106 +0,0 @@ -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 4096; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - sendfile on; - keepalive_timeout 65; - - # include /etc/nginx/conf.d/*.conf; - - upstream minio { - server minio1:9000 max_fails=1 fail_timeout=10s; - server minio2:9000 max_fails=1 fail_timeout=10s; - server minio3:9000 max_fails=1 fail_timeout=10s; - server minio4:9000 max_fails=1 fail_timeout=10s; - } - - upstream console { - ip_hash; - server minio1:9001; - server minio2:9001; - server minio3:9001; - server minio4:9001; - } - - server { - listen 9000; - listen [::]:9000; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; - - proxy_pass http://minio; - } - } - - server { - listen 9001; - listen [::]:9001; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-NginX-Proxy true; - - # This is necessary to pass the correct IP to be hashed - real_ip_header X-Real-IP; - - proxy_connect_timeout 300; - - # To support websocket - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - chunked_transfer_encoding off; - - proxy_pass http://console; - } - } -} diff --git a/.github/workflows/multipart/docker-compose-site1.yaml b/.github/workflows/multipart/docker-compose-site1.yaml deleted file mode 100644 index b4a665e..0000000 --- a/.github/workflows/multipart/docker-compose-site1.yaml +++ /dev/null @@ -1,66 +0,0 @@ -version: '3.7' - -# Settings and configurations that are common for all containers -x-minio-common: &minio-common - image: quay.io/minio/minio:${RELEASE} - command: server http://site1-minio{1...4}/data{1...2} - environment: - - MINIO_PROMETHEUS_AUTH_TYPE=public - - CI=true - -# starts 4 docker containers running minio server instances. -# using nginx reverse proxy, load balancing, you can access -# it through port 9000. -services: - site1-minio1: - <<: *minio-common - hostname: site1-minio1 - volumes: - - site1-data1-1:/data1 - - site1-data1-2:/data2 - - site1-minio2: - <<: *minio-common - hostname: site1-minio2 - volumes: - - site1-data2-1:/data1 - - site1-data2-2:/data2 - - site1-minio3: - <<: *minio-common - hostname: site1-minio3 - volumes: - - site1-data3-1:/data1 - - site1-data3-2:/data2 - - site1-minio4: - <<: *minio-common - hostname: site1-minio4 - volumes: - - site1-data4-1:/data1 - - site1-data4-2:/data2 - - site1-nginx: - image: nginx:1.19.2-alpine - hostname: site1-nginx - volumes: - - ./nginx-site1.conf:/etc/nginx/nginx.conf:ro - ports: - - "9001:9001" - depends_on: - - site1-minio1 - - site1-minio2 - - site1-minio3 - - site1-minio4 - -## By default this config uses default local driver, -## For custom volumes replace with volume driver configuration. -volumes: - site1-data1-1: - site1-data1-2: - site1-data2-1: - site1-data2-2: - site1-data3-1: - site1-data3-2: - site1-data4-1: - site1-data4-2: diff --git a/.github/workflows/multipart/docker-compose-site2.yaml b/.github/workflows/multipart/docker-compose-site2.yaml deleted file mode 100644 index 31a1f7a..0000000 --- a/.github/workflows/multipart/docker-compose-site2.yaml +++ /dev/null @@ -1,66 +0,0 @@ -version: '3.7' - -# Settings and configurations that are common for all containers -x-minio-common: &minio-common - image: quay.io/minio/minio:${RELEASE} - command: server http://site2-minio{1...4}/data{1...2} - environment: - - MINIO_PROMETHEUS_AUTH_TYPE=public - - CI=true - -# starts 4 docker containers running minio server instances. -# using nginx reverse proxy, load balancing, you can access -# it through port 9000. -services: - site2-minio1: - <<: *minio-common - hostname: site2-minio1 - volumes: - - site2-data1-1:/data1 - - site2-data1-2:/data2 - - site2-minio2: - <<: *minio-common - hostname: site2-minio2 - volumes: - - site2-data2-1:/data1 - - site2-data2-2:/data2 - - site2-minio3: - <<: *minio-common - hostname: site2-minio3 - volumes: - - site2-data3-1:/data1 - - site2-data3-2:/data2 - - site2-minio4: - <<: *minio-common - hostname: site2-minio4 - volumes: - - site2-data4-1:/data1 - - site2-data4-2:/data2 - - site2-nginx: - image: nginx:1.19.2-alpine - hostname: site2-nginx - volumes: - - ./nginx-site2.conf:/etc/nginx/nginx.conf:ro - ports: - - "9002:9002" - depends_on: - - site2-minio1 - - site2-minio2 - - site2-minio3 - - site2-minio4 - -## By default this config uses default local driver, -## For custom volumes replace with volume driver configuration. -volumes: - site2-data1-1: - site2-data1-2: - site2-data2-1: - site2-data2-2: - site2-data3-1: - site2-data3-2: - site2-data4-1: - site2-data4-2: diff --git a/.github/workflows/multipart/migrate.sh b/.github/workflows/multipart/migrate.sh deleted file mode 100755 index 6058b00..0000000 --- a/.github/workflows/multipart/migrate.sh +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/bash - -set -x - -## change working directory -cd .github/workflows/multipart/ - -function cleanup() { - docker-compose -f docker-compose-site1.yaml rm -s -f || true - docker-compose -f docker-compose-site2.yaml rm -s -f || true - for volume in $(docker volume ls -q | grep minio); do - docker volume rm ${volume} || true - done - - docker system prune -f || true - docker volume prune -f || true - docker volume rm $(docker volume ls -q -f dangling=true) || true -} - -cleanup - -if [ ! -f ./mc ]; then - wget --quiet -O mc https://dl.minio.io/client/mc/release/linux-amd64/mc && - chmod +x mc -fi - -export RELEASE=RELEASE.2023-08-29T23-07-35Z - -docker-compose -f docker-compose-site1.yaml up -d -docker-compose -f docker-compose-site2.yaml up -d - -sleep 30s - -./mc alias set site1 http://site1-nginx:9001 minioadmin minioadmin --api s3v4 -./mc alias set site2 http://site2-nginx:9002 minioadmin minioadmin --api s3v4 - -./mc ready site1/ -./mc ready site2/ - -./mc admin replicate add site1 site2 -./mc mb site1/testbucket/ -./mc cp -r --quiet /usr/bin site1/testbucket/ - -sleep 5 - -./s3-check-md5 -h - -failed_count_site1=$(./s3-check-md5 -versions -access-key minioadmin -secret-key minioadmin -endpoint http://site1-nginx:9001 -bucket testbucket 2>&1 | grep FAILED | wc -l) -failed_count_site2=$(./s3-check-md5 -versions -access-key minioadmin -secret-key minioadmin -endpoint http://site2-nginx:9002 -bucket testbucket 2>&1 | grep FAILED | wc -l) - -if [ $failed_count_site1 -ne 0 ]; then - echo "failed with multipart on site1 uploads" - exit 1 -fi - -if [ $failed_count_site2 -ne 0 ]; then - echo "failed with multipart on site2 uploads" - exit 1 -fi - -./mc cp -r --quiet /usr/bin site1/testbucket/ - -sleep 5 - -failed_count_site1=$(./s3-check-md5 -versions -access-key minioadmin -secret-key minioadmin -endpoint http://site1-nginx:9001 -bucket testbucket 2>&1 | grep FAILED | wc -l) -failed_count_site2=$(./s3-check-md5 -versions -access-key minioadmin -secret-key minioadmin -endpoint http://site2-nginx:9002 -bucket testbucket 2>&1 | grep FAILED | wc -l) - -## we do not need to fail here, since we are going to test -## upgrading to master, healing and being able to recover -## the last version. -if [ $failed_count_site1 -ne 0 ]; then - echo "failed with multipart on site1 uploads ${failed_count_site1}" -fi - -if [ $failed_count_site2 -ne 0 ]; then - echo "failed with multipart on site2 uploads ${failed_count_site2}" -fi - -export RELEASE=${1} - -docker-compose -f docker-compose-site1.yaml up -d -docker-compose -f docker-compose-site2.yaml up -d - -./mc ready site1/ -./mc ready site2/ - -for i in $(seq 1 10); do - # mc admin heal -r --remove when used against a LB endpoint - # behaves flaky, let this run 10 times before giving up - ./mc admin heal -r --remove --json site1/ 2>&1 >/dev/null - ./mc admin heal -r --remove --json site2/ 2>&1 >/dev/null -done - -failed_count_site1=$(./s3-check-md5 -versions -access-key minioadmin -secret-key minioadmin -endpoint http://site1-nginx:9001 -bucket testbucket 2>&1 | grep FAILED | wc -l) -failed_count_site2=$(./s3-check-md5 -versions -access-key minioadmin -secret-key minioadmin -endpoint http://site2-nginx:9002 -bucket testbucket 2>&1 | grep FAILED | wc -l) - -if [ $failed_count_site1 -ne 0 ]; then - echo "failed with multipart on site1 uploads" - exit 1 -fi - -if [ $failed_count_site2 -ne 0 ]; then - echo "failed with multipart on site2 uploads" - exit 1 -fi - -# Add user group test -./mc admin user add site1 site-replication-issue-user site-replication-issue-password -./mc admin group add site1 site-replication-issue-group site-replication-issue-user - -max_wait_attempts=30 -wait_interval=5 - -attempt=1 -while true; do - diff <(./mc admin group info site1 site-replication-issue-group) <(./mc admin group info site2 site-replication-issue-group) - - if [[ $? -eq 0 ]]; then - echo "Outputs are consistent." - break - fi - - remaining_attempts=$((max_wait_attempts - attempt)) - if ((attempt >= max_wait_attempts)); then - echo "Outputs remain inconsistent after $max_wait_attempts attempts. Exiting with error." - exit 1 - else - echo "Outputs are inconsistent. Waiting for $wait_interval seconds (attempt $attempt/$max_wait_attempts)." - sleep $wait_interval - fi - - ((attempt++)) -done - -status=$(./mc admin group info site1 site-replication-issue-group --json | jq .groupStatus | tr -d '"') - -if [[ $status == "enabled" ]]; then - echo "Success" -else - echo "Expected status: enabled, actual status: $status" - exit 1 -fi - -cleanup - -## change working directory -cd ../../../ diff --git a/.github/workflows/multipart/nginx-site1.conf b/.github/workflows/multipart/nginx-site1.conf deleted file mode 100644 index 1a37b9d..0000000 --- a/.github/workflows/multipart/nginx-site1.conf +++ /dev/null @@ -1,61 +0,0 @@ -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 4096; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - sendfile on; - keepalive_timeout 65; - - # include /etc/nginx/conf.d/*.conf; - - upstream minio { - server site1-minio1:9000; - server site1-minio2:9000; - server site1-minio3:9000; - server site1-minio4:9000; - } - - server { - listen 9001; - listen [::]:9001; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; - - proxy_pass http://minio; - } - } -} diff --git a/.github/workflows/multipart/nginx-site2.conf b/.github/workflows/multipart/nginx-site2.conf deleted file mode 100644 index b93bba2..0000000 --- a/.github/workflows/multipart/nginx-site2.conf +++ /dev/null @@ -1,61 +0,0 @@ -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 4096; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - sendfile on; - keepalive_timeout 65; - - # include /etc/nginx/conf.d/*.conf; - - upstream minio { - server site2-minio1:9000; - server site2-minio2:9000; - server site2-minio3:9000; - server site2-minio4:9000; - } - - server { - listen 9002; - listen [::]:9002; - server_name localhost; - - # To allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # To disable buffering - proxy_buffering off; - proxy_request_buffering off; - - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; - - proxy_pass http://minio; - } - } -} diff --git a/.github/workflows/replication.yaml b/.github/workflows/replication.yaml deleted file mode 100644 index 18c3277..0000000 --- a/.github/workflows/replication.yaml +++ /dev/null @@ -1,79 +0,0 @@ -name: MinIO advanced tests - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - replication-test: - name: Advanced Tests with Go ${{ matrix.go-version }} - runs-on: ubuntu-latest - - strategy: - matrix: - go-version: [1.24.x] - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Test Decom - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-decom - - - name: Test ILM - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-ilm - make test-ilm-transition - - - name: Test PBAC - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-pbac - - - name: Test Config File - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-configfile - - - name: Test Replication - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-replication - - - name: Test MinIO IDP for automatic site replication - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-site-replication-minio - - - name: Test Versioning - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-versioning - - - name: Test Multipart upload with failures - run: | - sudo sysctl net.ipv6.conf.all.disable_ipv6=0 - sudo sysctl net.ipv6.conf.default.disable_ipv6=0 - make test-multipart diff --git a/.github/workflows/root-disable.yml b/.github/workflows/root-disable.yml deleted file mode 100644 index c08fb8b..0000000 --- a/.github/workflows/root-disable.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Root lockdown tests - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - build: - name: Go ${{ matrix.go-version }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - go-version: [1.24.x] - os: [ubuntu-latest] - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Start root lockdown tests - run: | - make test-root-disable diff --git a/.github/workflows/root.cert b/.github/workflows/root.cert deleted file mode 100644 index 5f220f7..0000000 --- a/.github/workflows/root.cert +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIBKDCB26ADAgECAhB6vebGMUfKnmBKyqoApRSOMAUGAytlcDAbMRkwFwYDVQQD -DBByb290QHBsYXkubWluLmlvMB4XDTIwMDQzMDE1MjIyNVoXDTI1MDQyOTE1MjIy -NVowGzEZMBcGA1UEAwwQcm9vdEBwbGF5Lm1pbi5pbzAqMAUGAytlcAMhALzn735W -fmSH/ghKs+4iPWziZMmWdiWr/sqvqeW+WwSxozUwMzAOBgNVHQ8BAf8EBAMCB4Aw -EwYDVR0lBAwwCgYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAFBgMrZXADQQDZOrGK -b2ATkDlu2pTcP3LyhSBDpYh7V4TvjRkBTRgjkacCzwFLm+mh+7US8V4dBpIDsJ4u -uWoF0y6vbLVGIlkG ------END CERTIFICATE----- diff --git a/.github/workflows/root.key b/.github/workflows/root.key deleted file mode 100644 index 53a47e2..0000000 --- a/.github/workflows/root.key +++ /dev/null @@ -1,3 +0,0 @@ ------BEGIN PRIVATE KEY----- -MC4CAQAwBQYDK2VwBCIEID9E7FSYWrMD+VjhI6q545cYT9YOyFxZb7UnjEepYDRc ------END PRIVATE KEY----- diff --git a/.github/workflows/run-mint.sh b/.github/workflows/run-mint.sh deleted file mode 100755 index 0bbc1cb..0000000 --- a/.github/workflows/run-mint.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -set -ex - -export MODE="$1" -export ACCESS_KEY="$2" -export SECRET_KEY="$3" -export JOB_NAME="$4" -export MINT_MODE="full" - -docker system prune -f || true -docker volume prune -f || true -docker volume rm $(docker volume ls -f dangling=true) || true - -## change working directory -cd .github/workflows/mint - -## always pull latest -docker pull docker.io/minio/mint:edge - -docker-compose -f minio-${MODE}.yaml up -d -sleep 1m - -docker system prune -f || true -docker volume prune -f || true -docker volume rm $(docker volume ls -q -f dangling=true) || true - -# Stop two nodes, one of each pool, to check that all S3 calls work while quorum is still there -[ "${MODE}" == "pools" ] && docker-compose -f minio-${MODE}.yaml stop minio2 -[ "${MODE}" == "pools" ] && docker-compose -f minio-${MODE}.yaml stop minio6 - -# Pause one node, to check that all S3 calls work while one node goes wrong -[ "${MODE}" == "resiliency" ] && docker-compose -f minio-${MODE}.yaml pause minio4 - -docker run --rm --net=mint_default \ - --name="mint-${MODE}-${JOB_NAME}" \ - -e SERVER_ENDPOINT="nginx:9000" \ - -e ACCESS_KEY="${ACCESS_KEY}" \ - -e SECRET_KEY="${SECRET_KEY}" \ - -e ENABLE_HTTPS=0 \ - -e MINT_MODE="${MINT_MODE}" \ - docker.io/minio/mint:edge - -# FIXME: enable this after fixing aws-sdk-java-v2 tests -# # unpause the node, to check that all S3 calls work while one node goes wrong -# [ "${MODE}" == "resiliency" ] && docker-compose -f minio-${MODE}.yaml unpause minio4 -# [ "${MODE}" == "resiliency" ] && docker run --rm --net=mint_default \ -# --name="mint-${MODE}-${JOB_NAME}" \ -# -e SERVER_ENDPOINT="nginx:9000" \ -# -e ACCESS_KEY="${ACCESS_KEY}" \ -# -e SECRET_KEY="${SECRET_KEY}" \ -# -e ENABLE_HTTPS=0 \ -# -e MINT_MODE="${MINT_MODE}" \ -# docker.io/minio/mint:edge - -docker-compose -f minio-${MODE}.yaml down || true -sleep 10s - -docker system prune -f || true -docker volume prune -f || true -docker volume rm $(docker volume ls -q -f dangling=true) || true - -## change working directory -cd ../../../ diff --git a/.github/workflows/shfmt.yml b/.github/workflows/shfmt.yml deleted file mode 100644 index 3e44630..0000000 --- a/.github/workflows/shfmt.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Shell formatting checks - -on: - pull_request: - branches: - - master - -permissions: - contents: read - -jobs: - build: - name: runner / shfmt - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: luizm/action-sh-checker@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SHFMT_OPTS: "-s" - with: - sh_checker_shellcheck_disable: true # disable for now diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml deleted file mode 100644 index 7addb31..0000000 --- a/.github/workflows/typos.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: Spelling -on: [pull_request] - -jobs: - run: - name: Spell Check with Typos - runs-on: ubuntu-latest - steps: - - name: Checkout Actions Repository - uses: actions/checkout@v4 - - - name: Check spelling of repo - uses: crate-ci/typos@master - diff --git a/.github/workflows/upgrade-ci-cd.yaml b/.github/workflows/upgrade-ci-cd.yaml deleted file mode 100644 index d3e71ff..0000000 --- a/.github/workflows/upgrade-ci-cd.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: Upgrade old version tests - -on: - pull_request: - branches: - - master - -# This ensures that previous jobs for the PR are canceled when the PR is -# updated. -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - build: - name: Go ${{ matrix.go-version }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - go-version: [1.24.x] - os: [ubuntu-latest] - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - check-latest: true - - name: Start upgrade tests - run: | - make test-upgrade diff --git a/.github/workflows/vulncheck.yml b/.github/workflows/vulncheck.yml deleted file mode 100644 index 5dfcde0..0000000 --- a/.github/workflows/vulncheck.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: VulnCheck -on: - pull_request: - branches: - - master - - push: - branches: - - master - -permissions: - contents: read # to fetch code (actions/checkout) - -jobs: - vulncheck: - name: Analysis - runs-on: ubuntu-latest - steps: - - name: Check out code into the Go module directory - uses: actions/checkout@v4 - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: 1.24.x - cached: false - - name: Get official govulncheck - run: go install golang.org/x/vuln/cmd/govulncheck@latest - shell: bash - - name: Run govulncheck - run: govulncheck -show verbose ./... - shell: bash diff --git a/.scannerwork/.sonar_lock b/.scannerwork/.sonar_lock deleted file mode 100644 index e69de29..0000000 diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt deleted file mode 100644 index f0664f1..0000000 --- a/.scannerwork/report-task.txt +++ /dev/null @@ -1,6 +0,0 @@ -projectKey=confdroid_minio -serverUrl=https://sonarqube.confdroid.com -serverVersion=25.5.0.107428 -dashboardUrl=https://sonarqube.confdroid.com/dashboard?id=confdroid_minio -ceTaskId=f6bcbb80-d30d-434e-a591-c7a8fc752822 -ceTaskUrl=https://sonarqube.confdroid.com/api/ce/task?id=f6bcbb80-d30d-434e-a591-c7a8fc752822 diff --git a/Jenkinsfile b/Jenkinsfile index e83f019..06a15ba 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -78,24 +78,28 @@ pipeline { } } - stage('Mirror to Gitea') { - steps { - withCredentials([usernamePassword( - credentialsId: 'Jenkins-gitea', - usernameVariable: 'GITEA_USER', - passwordVariable: 'GITEA_TOKEN')]) { - script { - // Checkout from GitLab (already done implicitly) - sh ''' - git checkout master - git pull origin master - git rm -f Jenkinsfile || echo "No Jenkinsfile to remove from git" - git rm -r --cached .vscode || echo "No .vscode to remove from git" - git commit --amend --no-edit --allow-empty - git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_minio.git - git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \ - push master --mirror + stage('Mirror to Gitea') { + steps { + sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) { + withCredentials([usernamePassword( + credentialsId: 'Jenkins-gitea', + usernameVariable: 'GITEA_USER', + passwordVariable: 'GITEA_TOKEN')]) { + script { + // Checkout from GitLab (already done implicitly) + sh ''' + git checkout master + git pull origin master + git branch -D development + git branch -D jenkins-build-$BUILD_NUMBER + git rm -f Jenkinsfile + git rm -r --cached .vscode || echo "No .vscode to remove from git" + git commit --amend --no-edit --allow-empty + git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_nagios.git + git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \ + push master --mirror ''' + } } } }