Compare commits

...

33 Commits

Author SHA1 Message Date
Alex
4143f50004 Release v0.20.4 (#2337)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-09-27 21:10:42 -07:00
Alex
d1511c5eb0 Limit concurrent downloads & uploads (#2313) 2022-09-23 10:35:55 -07:00
jinapurapu
c4c6d48abf Tooltips for Bucket Lifecycle, Delete bucket, Manage bucket (#2334) 2022-09-23 12:30:37 -05:00
Alex
43c5f9094a Tenant details navigation issues fix (#2336)
Fixes issues with Tenant details page navigation

- Back issue between tenant summary & tenants list page
- Not show the selected tab correctly on tenant details after clicking
back on browser's back button

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-09-23 12:30:18 -05:00
Javier Adriel
51ab9c59ae Update minio/pkg v1.4.0 (#2335) 2022-09-23 12:08:24 -05:00
Aditya Manthramurthy
fc95ab8658 Fix oauth state generation for OIDC login (#2333)
This is a regression from 118cf97e1d when
env var support for passing console configuration from MinIO was
removed.

This change ensures that all MinIO nodes in a cluster are able to verify
state tokens generated by other nodes in the cluster. Without this, it
is necessary to use sticky sessions in a loadbalancer to ensure that
OIDC authorization code login flow steps for a client happens on the
same minio node.

Fixes https://github.com/minio/minio/issues/15527
2022-09-23 10:30:45 -05:00
Daryl White
bebe860903 Updating documentation links to new URLs (#2325)
The new doc site has launched, and all docs have new URLs.
This PR updates the documentation URLs in the Console to point to the
new locations.
2022-09-22 22:37:32 -07:00
Kaan Kabalak
df4679ea55 Fix styling for Create New Path button in Buckets page (#2330)
Fixes #2329
2022-09-21 19:11:58 -05:00
Alex
2263eada70 Release v0.20.3 (#2328)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-09-20 23:54:10 -07:00
Lenin Alevski
368c9ee3d7 InputBoxWrapper automatically add hide/show behavior for password fields (#2327)
Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>
2022-09-20 23:13:34 -05:00
jinapurapu
3513a01711 Add Bucket tooltip improvements (#2326) 2022-09-20 19:12:18 -07:00
Lenin Alevski
0af36a5757 Add: Allow to configure env variables during tenant creation (#2322)
Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>
2022-09-20 18:58:31 -05:00
Daniel Valdivia
fdd5a94074 Fix NPE on Operator Login with SSO (#2324)
Signed-off-by: Daniel Valdivia
2022-09-20 18:57:48 -05:00
Javier Adriel
17ad2cfd14 Add dummy endpoints for kms integration (#2301)
Add dummy endpoints for kms integration

Implementation will come in another PR
2022-09-20 16:09:30 -07:00
Daniel Valdivia
67f509e2bb Release v0.20.2 (#2321)
Signed-off-by: Daniel Valdivia <hola@danielvaldivia.com>
2022-09-16 16:02:12 -07:00
Benjamin Marte
6102094c9e Adds a logout view which enables minio to logout when using OIDC (#2281)
* added logout view
* Fixed issues that arose after merging with master
* removed unused navigate and merged with master
* changes based on review feedback
Co-authored-by: Alex <33497058+bexsoft@users.noreply.github.com>
Co-authored-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
2022-09-16 14:21:58 -07:00
Lenin Alevski
d84062b1b2 Fix: Labels for Node Selector in Pod Placement (#2320)
Enabling/disabling buttons correctly in pod placement > labels to be
consistent with all other screens in the application

Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>
2022-09-16 13:24:45 -07:00
jinapurapu
a878440485 Added permissions guidance on ListBuckets and AddBuckets screens (#2319)
Added helpbox and tooltip guidance on ListBucketsand AddBuckets screens
Added bucketname to resource checking for bucket level config permissions
2022-09-16 13:22:20 -07:00
Kaan Kabalak
cd6e61e93b Don't show Bucket Name input error until field is touched (#2316) 2022-09-16 13:48:02 -05:00
jinapurapu
a77b56b522 Toggle Bucket Naming Rules display by clicking text (#2311) 2022-09-16 13:12:47 -05:00
Cesar Celis Hernandez
6ed5084691 To add missing file for coverage (#2318) 2022-09-15 19:36:00 -05:00
Daniel Valdivia
4ac6ecb558 Return 401 for Login Errors (#2312)
Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
2022-09-15 15:33:53 -05:00
Alex
41671b4f25 Fixed crash in simple dashboard when one disk has failed (#2314)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-09-15 14:26:00 -05:00
jinapurapu
024ab1212b Add Minio tier type (#2302) 2022-09-15 14:00:39 -05:00
jinapurapu
77f62e11ef Tiers permission UI fix (#2310) 2022-09-15 11:36:30 -05:00
Cesar Celis Hernandez
0960835cd9 To migrate all testcafe (#2309) 2022-09-14 12:22:27 -07:00
Cesar Celis Hernandez
3746dd47f8 To migrate Permissions Tests Part 1 test (#2299)
migrate all-permissions-1
2022-09-12 20:59:33 -04:00
Cesar Celis Hernandez
ce255c5181 To migrate site replication test (#2276)
Migrate site replication test
2022-09-12 20:01:24 -04:00
Alex
7728cc734a Inherits error props to tooltip wrapper child buttons (#2307) 2022-09-11 23:29:30 -07:00
Lenin Alevski
cc581c6a9e fix: login function was returning fixed error (#2308) 2022-09-11 23:28:07 -07:00
Alex
f7b142e74a Replacing all buttons from console with mds (#2303)
Replaces buttons in console to start using MinIO Design System (mds)

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-09-09 17:42:30 -05:00
Harshavardhana
1108cee626 do not add preceding '/' for putRequests (#2306) 2022-09-09 15:33:58 -05:00
Javier Adriel
94fdba5990 Run lint in missing files (#2300) 2022-09-08 11:13:22 -05:00
855 changed files with 17214 additions and 6478 deletions

View File

@@ -25,11 +25,11 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ubuntu-latest
runs-on: [ self-hosted, vm-docker ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -85,6 +85,13 @@ jobs:
./replication/coverage/
key: ${{ runner.os }}-replication-coverage-2-${{ github.run_id }}
# To save our replication.out file into an artifact.
# By default, GitHub stores build logs and artifacts for 90 days.
- uses: actions/upload-artifact@v3
with:
name: replication-artifact
path: ./replication/coverage/replication.out
sso-integration:
name: SSO Integration Test
@@ -98,7 +105,7 @@ jobs:
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -224,10 +231,10 @@ jobs:
lint-job:
name: Checking Lint
runs-on: [self-hosted]
runs-on: [ self-hosted ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -251,7 +258,7 @@ jobs:
runs-on: self-hosted
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -300,7 +307,7 @@ jobs:
runs-on: self-hosted
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -366,7 +373,7 @@ jobs:
runs-on: self-hosted
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -401,10 +408,10 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -465,6 +472,18 @@ jobs:
run: |
make console
- name: Install dependencies
env:
GO111MODULE: on
GOOS: linux
run: |
cd portal-ui; yarn install;
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -472,7 +491,7 @@ jobs:
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-1/ --skip-js-errors -c 3'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-1/ --skip-js-errors -c 3'
- name: Clean up users & policies
run: |
@@ -486,10 +505,10 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -550,6 +569,11 @@ jobs:
run: |
make console
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -557,7 +581,7 @@ jobs:
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-2/ --skip-js-errors -c 3'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-2/ --skip-js-errors -c 3'
- name: Clean up users & policies
run: |
@@ -571,10 +595,10 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -635,6 +659,11 @@ jobs:
run: |
make console
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -642,7 +671,7 @@ jobs:
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-3/ --skip-js-errors -c 3'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-3/ --skip-js-errors -c 3'
- name: Clean up users & policies
run: |
@@ -657,11 +686,11 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
timeout-minutes: 5
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -713,6 +742,12 @@ jobs:
GOOS: linux
run: |
make console
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -720,7 +755,7 @@ jobs:
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-4/ --skip-js-errors'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-4/ --skip-js-errors'
all-permissions-5:
name: Permissions Tests Part 5
@@ -730,10 +765,10 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -785,6 +820,12 @@ jobs:
GOOS: linux
run: |
make console
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -792,7 +833,7 @@ jobs:
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-5/ --skip-js-errors'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-5/ --skip-js-errors'
all-permissions-6:
name: Permissions Tests Part 6
@@ -802,10 +843,10 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -857,6 +898,12 @@ jobs:
GOOS: linux
run: |
make console
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -864,7 +911,7 @@ jobs:
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-6/ --skip-js-errors'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-6/ --skip-js-errors'
all-permissions-7:
name: Permissions Tests Part 7
@@ -874,10 +921,10 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -929,6 +976,12 @@ jobs:
GOOS: linux
run: |
make console
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -936,7 +989,7 @@ jobs:
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-7/ --skip-js-errors'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-7/ --skip-js-errors'
all-permissions-8:
name: Permissions Tests Part 8
@@ -946,10 +999,10 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1001,6 +1054,12 @@ jobs:
GOOS: linux
run: |
make console
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -1008,7 +1067,7 @@ jobs:
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-8/ --skip-js-errors'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-8/ --skip-js-errors'
all-permissions-9:
name: Permissions Tests Part 9
@@ -1018,10 +1077,10 @@ jobs:
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
runs-on: [ self-hosted, vm-docker, xvfb-run ]
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1082,6 +1141,11 @@ jobs:
run: |
make console
- name: clean-previous-containers-if-any
run: |
docker stop minio || true;
docker container prune -f || true;
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
@@ -1089,7 +1153,7 @@ jobs:
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/permissions-9/ --skip-js-errors -c 3'
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-9/ --skip-js-errors -c 3'
- name: Clean up users & policies
run: |
@@ -1200,7 +1264,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1238,7 +1302,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1276,7 +1340,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1314,7 +1378,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1352,7 +1416,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1390,7 +1454,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1428,7 +1492,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1466,7 +1530,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1512,7 +1576,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1559,7 +1623,7 @@ jobs:
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1671,7 +1735,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x, 1.19.x ]
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
@@ -1750,6 +1814,12 @@ jobs:
./pkg/coverage/
key: ${{ runner.os }}-coverage-pkg-2-${{ github.run_id }}
# Get the replication.out file from the artifact since this is working for self host runner.
- uses: actions/download-artifact@v3
with:
name: replication-artifact
path: replication/coverage
- name: Get coverage
run: |
echo "change directory to gocovmerge"

9
go.mod
View File

@@ -27,7 +27,7 @@ require (
github.com/minio/mc v0.0.0-20220818165341-8c239d16aa37
github.com/minio/minio-go/v7 v7.0.35
github.com/minio/operator v0.0.0-20220902184351-21e4073132b0
github.com/minio/pkg v1.3.2
github.com/minio/pkg v1.4.0
github.com/minio/selfupdate v0.5.0
github.com/mitchellh/go-homedir v1.1.0
github.com/rs/xid v1.4.0
@@ -129,7 +129,7 @@ require (
github.com/navidys/tvxwidgets v0.1.0 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/pelletier/go-toml v1.9.3 // indirect
github.com/pelletier/go-toml v1.9.4 // indirect
github.com/philhofer/fwd v1.1.2-0.20210722190033-5c56ac6d0bb9 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pkg/xattr v0.4.5 // indirect
@@ -147,10 +147,10 @@ require (
github.com/shirou/gopsutil/v3 v3.22.7 // indirect
github.com/sirupsen/logrus v1.9.0 // indirect
github.com/spf13/afero v1.6.0 // indirect
github.com/spf13/cast v1.3.1 // indirect
github.com/spf13/cast v1.4.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.8.1 // indirect
github.com/spf13/viper v1.10.0 // indirect
github.com/subosito/gotenv v1.2.0 // indirect
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.0 // indirect
@@ -177,6 +177,7 @@ require (
google.golang.org/genproto v0.0.0-20220302033224-9aa15565e42a // indirect
google.golang.org/grpc v1.44.0 // indirect
google.golang.org/protobuf v1.27.1 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/h2non/filetype.v1 v1.0.5 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.66.6 // indirect

840
go.sum

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,7 @@ spec:
serviceAccountName: console-sa
containers:
- name: console
image: 'minio/console:v0.20.1'
image: 'minio/console:v0.20.4'
imagePullPolicy: "IfNotPresent"
env:
- name: CONSOLE_OPERATOR_MODE

View File

@@ -32,7 +32,7 @@ spec:
spec:
containers:
- name: console
image: 'minio/console:v0.20.1'
image: 'minio/console:v0.20.4'
imagePullPolicy: "IfNotPresent"
env:
- name: CONSOLE_MINIO_SERVER

View File

@@ -58,6 +58,9 @@ type CreateTenantRequest struct {
// encryption
Encryption *EncryptionConfiguration `json:"encryption,omitempty"`
// environment variables
EnvironmentVariables []*EnvironmentVariable `json:"environmentVariables"`
// erasure coding parity
ErasureCodingParity int64 `json:"erasureCodingParity,omitempty"`
@@ -123,6 +126,10 @@ func (m *CreateTenantRequest) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
if err := m.validateEnvironmentVariables(formats); err != nil {
res = append(res, err)
}
if err := m.validateIdp(formats); err != nil {
res = append(res, err)
}
@@ -199,6 +206,32 @@ func (m *CreateTenantRequest) validateEncryption(formats strfmt.Registry) error
return nil
}
func (m *CreateTenantRequest) validateEnvironmentVariables(formats strfmt.Registry) error {
if swag.IsZero(m.EnvironmentVariables) { // not required
return nil
}
for i := 0; i < len(m.EnvironmentVariables); i++ {
if swag.IsZero(m.EnvironmentVariables[i]) { // not required
continue
}
if m.EnvironmentVariables[i] != nil {
if err := m.EnvironmentVariables[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("environmentVariables" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("environmentVariables" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *CreateTenantRequest) validateIdp(formats strfmt.Registry) error {
if swag.IsZero(m.Idp) { // not required
return nil
@@ -355,6 +388,10 @@ func (m *CreateTenantRequest) ContextValidate(ctx context.Context, formats strfm
res = append(res, err)
}
if err := m.contextValidateEnvironmentVariables(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateIdp(ctx, formats); err != nil {
res = append(res, err)
}
@@ -417,6 +454,26 @@ func (m *CreateTenantRequest) contextValidateEncryption(ctx context.Context, for
return nil
}
func (m *CreateTenantRequest) contextValidateEnvironmentVariables(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.EnvironmentVariables); i++ {
if m.EnvironmentVariables[i] != nil {
if err := m.EnvironmentVariables[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("environmentVariables" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("environmentVariables" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *CreateTenantRequest) contextValidateIdp(ctx context.Context, formats strfmt.Registry) error {
if m.Idp != nil {

View File

@@ -1,73 +0,0 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// CsiFormatErrorResponse csi format error response
//
// swagger:model csiFormatErrorResponse
type CsiFormatErrorResponse struct {
// drive
Drive string `json:"drive,omitempty"`
// error
Error string `json:"error,omitempty"`
// node
Node string `json:"node,omitempty"`
}
// Validate validates this csi format error response
func (m *CsiFormatErrorResponse) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this csi format error response based on context it is used
func (m *CsiFormatErrorResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *CsiFormatErrorResponse) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *CsiFormatErrorResponse) UnmarshalBinary(b []byte) error {
var res CsiFormatErrorResponse
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -1,76 +0,0 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// DirectCSIVolumeInfo direct c s i volume info
//
// swagger:model directCSIVolumeInfo
type DirectCSIVolumeInfo struct {
// capacity
Capacity int64 `json:"capacity,omitempty"`
// drive
Drive string `json:"drive,omitempty"`
// node
Node string `json:"node,omitempty"`
// volume
Volume string `json:"volume,omitempty"`
}
// Validate validates this direct c s i volume info
func (m *DirectCSIVolumeInfo) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this direct c s i volume info based on context it is used
func (m *DirectCSIVolumeInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *DirectCSIVolumeInfo) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *DirectCSIVolumeInfo) UnmarshalBinary(b []byte) error {
var res DirectCSIVolumeInfo
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -29,27 +29,30 @@ import (
"github.com/go-openapi/swag"
)
// OperatorSubnetRegisterAPIKey operator subnet register API key
// EnvironmentConstants environment constants
//
// swagger:model operatorSubnetRegisterAPIKey
type OperatorSubnetRegisterAPIKey struct {
// swagger:model environmentConstants
type EnvironmentConstants struct {
// registered
Registered bool `json:"registered,omitempty"`
// max concurrent downloads
MaxConcurrentDownloads int64 `json:"maxConcurrentDownloads,omitempty"`
// max concurrent uploads
MaxConcurrentUploads int64 `json:"maxConcurrentUploads,omitempty"`
}
// Validate validates this operator subnet register API key
func (m *OperatorSubnetRegisterAPIKey) Validate(formats strfmt.Registry) error {
// Validate validates this environment constants
func (m *EnvironmentConstants) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this operator subnet register API key based on context it is used
func (m *OperatorSubnetRegisterAPIKey) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
// ContextValidate validates this environment constants based on context it is used
func (m *EnvironmentConstants) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *OperatorSubnetRegisterAPIKey) MarshalBinary() ([]byte, error) {
func (m *EnvironmentConstants) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
@@ -57,8 +60,8 @@ func (m *OperatorSubnetRegisterAPIKey) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
func (m *OperatorSubnetRegisterAPIKey) UnmarshalBinary(b []byte) error {
var res OperatorSubnetRegisterAPIKey
func (m *EnvironmentConstants) UnmarshalBinary(b []byte) error {
var res EnvironmentConstants
if err := swag.ReadJSON(b, &res); err != nil {
return err
}

View File

@@ -1,133 +0,0 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// FormatDirectCSIDrivesResponse format direct c s i drives response
//
// swagger:model formatDirectCSIDrivesResponse
type FormatDirectCSIDrivesResponse struct {
// format issues list
FormatIssuesList []*CsiFormatErrorResponse `json:"formatIssuesList"`
}
// Validate validates this format direct c s i drives response
func (m *FormatDirectCSIDrivesResponse) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateFormatIssuesList(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *FormatDirectCSIDrivesResponse) validateFormatIssuesList(formats strfmt.Registry) error {
if swag.IsZero(m.FormatIssuesList) { // not required
return nil
}
for i := 0; i < len(m.FormatIssuesList); i++ {
if swag.IsZero(m.FormatIssuesList[i]) { // not required
continue
}
if m.FormatIssuesList[i] != nil {
if err := m.FormatIssuesList[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("formatIssuesList" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("formatIssuesList" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// ContextValidate validate this format direct c s i drives response based on the context it is used
func (m *FormatDirectCSIDrivesResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateFormatIssuesList(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *FormatDirectCSIDrivesResponse) contextValidateFormatIssuesList(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.FormatIssuesList); i++ {
if m.FormatIssuesList[i] != nil {
if err := m.FormatIssuesList[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("formatIssuesList" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("formatIssuesList" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// MarshalBinary interface implementation
func (m *FormatDirectCSIDrivesResponse) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *FormatDirectCSIDrivesResponse) UnmarshalBinary(b []byte) error {
var res FormatDirectCSIDrivesResponse
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -1,133 +0,0 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// GetDirectCSIDriveListResponse get direct c s i drive list response
//
// swagger:model getDirectCSIDriveListResponse
type GetDirectCSIDriveListResponse struct {
// drives
Drives []*DirectCSIDriveInfo `json:"drives"`
}
// Validate validates this get direct c s i drive list response
func (m *GetDirectCSIDriveListResponse) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateDrives(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *GetDirectCSIDriveListResponse) validateDrives(formats strfmt.Registry) error {
if swag.IsZero(m.Drives) { // not required
return nil
}
for i := 0; i < len(m.Drives); i++ {
if swag.IsZero(m.Drives[i]) { // not required
continue
}
if m.Drives[i] != nil {
if err := m.Drives[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("drives" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("drives" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// ContextValidate validate this get direct c s i drive list response based on the context it is used
func (m *GetDirectCSIDriveListResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateDrives(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *GetDirectCSIDriveListResponse) contextValidateDrives(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Drives); i++ {
if m.Drives[i] != nil {
if err := m.Drives[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("drives" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("drives" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// MarshalBinary interface implementation
func (m *GetDirectCSIDriveListResponse) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *GetDirectCSIDriveListResponse) UnmarshalBinary(b []byte) error {
var res GetDirectCSIDriveListResponse
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -1,133 +0,0 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// GetDirectCSIVolumeListResponse get direct c s i volume list response
//
// swagger:model getDirectCSIVolumeListResponse
type GetDirectCSIVolumeListResponse struct {
// volumes
Volumes []*DirectCSIVolumeInfo `json:"volumes"`
}
// Validate validates this get direct c s i volume list response
func (m *GetDirectCSIVolumeListResponse) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateVolumes(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *GetDirectCSIVolumeListResponse) validateVolumes(formats strfmt.Registry) error {
if swag.IsZero(m.Volumes) { // not required
return nil
}
for i := 0; i < len(m.Volumes); i++ {
if swag.IsZero(m.Volumes[i]) { // not required
continue
}
if m.Volumes[i] != nil {
if err := m.Volumes[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("volumes" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("volumes" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// ContextValidate validate this get direct c s i volume list response based on the context it is used
func (m *GetDirectCSIVolumeListResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateVolumes(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *GetDirectCSIVolumeListResponse) contextValidateVolumes(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Volumes); i++ {
if m.Volumes[i] != nil {
if err := m.Volumes[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("volumes" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("volumes" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// MarshalBinary interface implementation
func (m *GetDirectCSIVolumeListResponse) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *GetDirectCSIVolumeListResponse) UnmarshalBinary(b []byte) error {
var res GetDirectCSIVolumeListResponse
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmDeleteKeyRequest km delete key request
//
// swagger:model kmDeleteKeyRequest
type KmDeleteKeyRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmListKeysRequest km list keys request
//
// swagger:model kmListKeysRequest
type KmListKeysRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsAssignPolicyRequest kms assign policy request
//
// swagger:model kmsAssignPolicyRequest
type KmsAssignPolicyRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsAssignPolicyResponse kms assign policy response
//
// swagger:model kmsAssignPolicyResponse
type KmsAssignPolicyResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsCreateKeyRequest kms create key request
//
// swagger:model kmsCreateKeyRequest
type KmsCreateKeyRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsCreateKeyResponse kms create key response
//
// swagger:model kmsCreateKeyResponse
type KmsCreateKeyResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDeleteIdentityRequest kms delete identity request
//
// swagger:model kmsDeleteIdentityRequest
type KmsDeleteIdentityRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDeleteIdentityResponse kms delete identity response
//
// swagger:model kmsDeleteIdentityResponse
type KmsDeleteIdentityResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDeleteKeyResponse kms delete key response
//
// swagger:model kmsDeleteKeyResponse
type KmsDeleteKeyResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDeletePolicyRequest kms delete policy request
//
// swagger:model kmsDeletePolicyRequest
type KmsDeletePolicyRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDeletePolicyResponse kms delete policy response
//
// swagger:model kmsDeletePolicyResponse
type KmsDeletePolicyResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDescribeIdentityRequest kms describe identity request
//
// swagger:model kmsDescribeIdentityRequest
type KmsDescribeIdentityRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDescribeIdentityResponse kms describe identity response
//
// swagger:model kmsDescribeIdentityResponse
type KmsDescribeIdentityResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDescribePolicyRequest kms describe policy request
//
// swagger:model kmsDescribePolicyRequest
type KmsDescribePolicyRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDescribePolicyResponse kms describe policy response
//
// swagger:model kmsDescribePolicyResponse
type KmsDescribePolicyResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDescribeSelfIdentityRequest kms describe self identity request
//
// swagger:model kmsDescribeSelfIdentityRequest
type KmsDescribeSelfIdentityRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsDescribeSelfIdentityResponse kms describe self identity response
//
// swagger:model kmsDescribeSelfIdentityResponse
type KmsDescribeSelfIdentityResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsGetPolicyRequest kms get policy request
//
// swagger:model kmsGetPolicyRequest
type KmsGetPolicyRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsGetPolicyResponse kms get policy response
//
// swagger:model kmsGetPolicyResponse
type KmsGetPolicyResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsImportKeyRequest kms import key request
//
// swagger:model kmsImportKeyRequest
type KmsImportKeyRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsImportKeyResponse kms import key response
//
// swagger:model kmsImportKeyResponse
type KmsImportKeyResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsKeyStatusRequest kms key status request
//
// swagger:model kmsKeyStatusRequest
type KmsKeyStatusRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsKeyStatusResponse kms key status response
//
// swagger:model kmsKeyStatusResponse
type KmsKeyStatusResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsListIdentitiesRequest kms list identities request
//
// swagger:model kmsListIdentitiesRequest
type KmsListIdentitiesRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsListIdentitiesResponse kms list identities response
//
// swagger:model kmsListIdentitiesResponse
type KmsListIdentitiesResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsListKeysResponse kms list keys response
//
// swagger:model kmsListKeysResponse
type KmsListKeysResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsListPoliciesRequest kms list policies request
//
// swagger:model kmsListPoliciesRequest
type KmsListPoliciesRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsListPoliciesResponse kms list policies response
//
// swagger:model kmsListPoliciesResponse
type KmsListPoliciesResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsSetPolicyRequest kms set policy request
//
// swagger:model kmsSetPolicyRequest
type KmsSetPolicyRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsSetPolicyResponse kms set policy response
//
// swagger:model kmsSetPolicyResponse
type KmsSetPolicyResponse interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsStatusRequest kms status request
//
// swagger:model kmsStatusRequest
type KmsStatusRequest interface{}

View File

@@ -0,0 +1,28 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
// KmsStatusResponse kms status response
//
// swagger:model kmsStatusResponse
type KmsStatusResponse interface{}

View File

@@ -47,6 +47,9 @@ type SessionResponse struct {
// distributed mode
DistributedMode bool `json:"distributedMode,omitempty"`
// env constants
EnvConstants *EnvironmentConstants `json:"envConstants,omitempty"`
// features
Features []string `json:"features"`
@@ -69,6 +72,10 @@ func (m *SessionResponse) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
if err := m.validateEnvConstants(formats); err != nil {
res = append(res, err)
}
if err := m.validateStatus(formats); err != nil {
res = append(res, err)
}
@@ -105,6 +112,25 @@ func (m *SessionResponse) validateAllowResources(formats strfmt.Registry) error
return nil
}
func (m *SessionResponse) validateEnvConstants(formats strfmt.Registry) error {
if swag.IsZero(m.EnvConstants) { // not required
return nil
}
if m.EnvConstants != nil {
if err := m.EnvConstants.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("envConstants")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("envConstants")
}
return err
}
}
return nil
}
var sessionResponseTypeStatusPropEnum []interface{}
func init() {
@@ -152,6 +178,10 @@ func (m *SessionResponse) ContextValidate(ctx context.Context, formats strfmt.Re
res = append(res, err)
}
if err := m.contextValidateEnvConstants(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -178,6 +208,22 @@ func (m *SessionResponse) contextValidateAllowResources(ctx context.Context, for
return nil
}
func (m *SessionResponse) contextValidateEnvConstants(ctx context.Context, formats strfmt.Registry) error {
if m.EnvConstants != nil {
if err := m.EnvConstants.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("envConstants")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("envConstants")
}
return err
}
}
return nil
}
// MarshalBinary interface implementation
func (m *SessionResponse) MarshalBinary() ([]byte, error) {
if m == nil {

View File

@@ -43,11 +43,14 @@ type Tier struct {
// gcs
Gcs *TierGcs `json:"gcs,omitempty"`
// minio
Minio *TierMinio `json:"minio,omitempty"`
// s3
S3 *TierS3 `json:"s3,omitempty"`
// type
// Enum: [s3 gcs azure unsupported]
// Enum: [s3 gcs azure minio unsupported]
Type string `json:"type,omitempty"`
}
@@ -63,6 +66,10 @@ func (m *Tier) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
if err := m.validateMinio(formats); err != nil {
res = append(res, err)
}
if err := m.validateS3(formats); err != nil {
res = append(res, err)
}
@@ -115,6 +122,25 @@ func (m *Tier) validateGcs(formats strfmt.Registry) error {
return nil
}
func (m *Tier) validateMinio(formats strfmt.Registry) error {
if swag.IsZero(m.Minio) { // not required
return nil
}
if m.Minio != nil {
if err := m.Minio.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("minio")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("minio")
}
return err
}
}
return nil
}
func (m *Tier) validateS3(formats strfmt.Registry) error {
if swag.IsZero(m.S3) { // not required
return nil
@@ -138,7 +164,7 @@ var tierTypeTypePropEnum []interface{}
func init() {
var res []string
if err := json.Unmarshal([]byte(`["s3","gcs","azure","unsupported"]`), &res); err != nil {
if err := json.Unmarshal([]byte(`["s3","gcs","azure","minio","unsupported"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -157,6 +183,9 @@ const (
// TierTypeAzure captures enum value "azure"
TierTypeAzure string = "azure"
// TierTypeMinio captures enum value "minio"
TierTypeMinio string = "minio"
// TierTypeUnsupported captures enum value "unsupported"
TierTypeUnsupported string = "unsupported"
)
@@ -194,6 +223,10 @@ func (m *Tier) ContextValidate(ctx context.Context, formats strfmt.Registry) err
res = append(res, err)
}
if err := m.contextValidateMinio(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateS3(ctx, formats); err != nil {
res = append(res, err)
}
@@ -236,6 +269,22 @@ func (m *Tier) contextValidateGcs(ctx context.Context, formats strfmt.Registry)
return nil
}
func (m *Tier) contextValidateMinio(ctx context.Context, formats strfmt.Registry) error {
if m.Minio != nil {
if err := m.Minio.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("minio")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("minio")
}
return err
}
}
return nil
}
func (m *Tier) contextValidateS3(ctx context.Context, formats strfmt.Registry) error {
if m.S3 != nil {

View File

@@ -29,45 +29,57 @@ import (
"github.com/go-openapi/swag"
)
// DirectCSIDriveInfo direct c s i drive info
// TierMinio tier minio
//
// swagger:model directCSIDriveInfo
type DirectCSIDriveInfo struct {
// swagger:model tier_minio
type TierMinio struct {
// allocated
Allocated int64 `json:"allocated,omitempty"`
// accesskey
Accesskey string `json:"accesskey,omitempty"`
// capacity
Capacity int64 `json:"capacity,omitempty"`
// bucket
Bucket string `json:"bucket,omitempty"`
// drive
Drive string `json:"drive,omitempty"`
// endpoint
Endpoint string `json:"endpoint,omitempty"`
// message
Message string `json:"message,omitempty"`
// name
Name string `json:"name,omitempty"`
// node
Node string `json:"node,omitempty"`
// objects
Objects string `json:"objects,omitempty"`
// status
Status string `json:"status,omitempty"`
// prefix
Prefix string `json:"prefix,omitempty"`
// volumes
Volumes int64 `json:"volumes,omitempty"`
// region
Region string `json:"region,omitempty"`
// secretkey
Secretkey string `json:"secretkey,omitempty"`
// storageclass
Storageclass string `json:"storageclass,omitempty"`
// usage
Usage string `json:"usage,omitempty"`
// versions
Versions string `json:"versions,omitempty"`
}
// Validate validates this direct c s i drive info
func (m *DirectCSIDriveInfo) Validate(formats strfmt.Registry) error {
// Validate validates this tier minio
func (m *TierMinio) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this direct c s i drive info based on context it is used
func (m *DirectCSIDriveInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
// ContextValidate validates this tier minio based on context it is used
func (m *TierMinio) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *DirectCSIDriveInfo) MarshalBinary() ([]byte, error) {
func (m *TierMinio) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
@@ -75,8 +87,8 @@ func (m *DirectCSIDriveInfo) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
func (m *DirectCSIDriveInfo) UnmarshalBinary(b []byte) error {
var res DirectCSIDriveInfo
func (m *TierMinio) UnmarshalBinary(b []byte) error {
var res TierMinio
if err := swag.ReadJSON(b, &res); err != nil {
return err
}

View File

@@ -2620,6 +2620,12 @@ func init() {
"type": "object",
"$ref": "#/definitions/encryptionConfiguration"
},
"environmentVariables": {
"type": "array",
"items": {
"$ref": "#/definitions/environmentVariable"
}
},
"erasureCodingParity": {
"type": "integer"
},
@@ -8575,6 +8581,12 @@ func init() {
"type": "object",
"$ref": "#/definitions/encryptionConfiguration"
},
"environmentVariables": {
"type": "array",
"items": {
"$ref": "#/definitions/environmentVariable"
}
},
"erasureCodingParity": {
"type": "integer"
},

View File

@@ -111,7 +111,10 @@ func getLoginDetailsResponse(params authApi.LoginDetailParams) (*models.LoginDet
return nil, restapi.ErrorWithContext(ctx, err)
}
// Validate user against IDP
identityProvider := &auth.IdentityProvider{Client: oauth2Client}
identityProvider := &auth.IdentityProvider{
KeyFunc: oauth2.DefaultDerivedKey,
Client: oauth2Client,
}
redirectURL = append(redirectURL, identityProvider.GenerateLoginURL())
}
@@ -146,7 +149,10 @@ func getLoginOauth2AuthResponse(params authApi.LoginOauth2AuthParams) (*models.L
return nil, restapi.ErrorWithContext(ctx, err)
}
// initialize new identity provider
identityProvider := auth.IdentityProvider{Client: oauth2Client}
identityProvider := auth.IdentityProvider{
KeyFunc: oauth2.DefaultDerivedKey,
Client: oauth2Client,
}
// Validate user against IDP
_, err = verifyUserAgainstIDP(ctx, identityProvider, *lr.Code, *lr.State)
if err != nil {

View File

@@ -23,7 +23,6 @@ package auth
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *LoginOauth2AuthParams) BindRequest(r *http.Request, route *middleware.M
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package auth
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *LoginOperatorParams) BindRequest(r *http.Request, route *middleware.Mat
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *CreateNamespaceParams) BindRequest(r *http.Request, route *middleware.M
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *CreateTenantParams) BindRequest(r *http.Request, route *middleware.Matc
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"net/http"
"github.com/go-openapi/errors"
@@ -88,7 +87,7 @@ func (o *DeleteTenantParams) BindRequest(r *http.Request, route *middleware.Matc
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *DirectPVFormatDriveParams) BindRequest(r *http.Request, route *middlewa
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *OperatorSubnetLoginMFAParams) BindRequest(r *http.Request, route *middl
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *OperatorSubnetLoginParams) BindRequest(r *http.Request, route *middlewa
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *OperatorSubnetRegisterAPIKeyParams) BindRequest(r *http.Request, route
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *PostMPIntegrationParams) BindRequest(r *http.Request, route *middleware
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *PutTenantYAMLParams) BindRequest(r *http.Request, route *middleware.Mat
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *SetTenantAdministratorsParams) BindRequest(r *http.Request, route *midd
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *SetTenantLogsParams) BindRequest(r *http.Request, route *middleware.Mat
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *SetTenantMonitoringParams) BindRequest(r *http.Request, route *middlewa
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -83,7 +82,7 @@ func (o *SubscriptionValidateParams) BindRequest(r *http.Request, route *middlew
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *TenantAddPoolParams) BindRequest(r *http.Request, route *middleware.Mat
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *TenantUpdateCertificateParams) BindRequest(r *http.Request, route *midd
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *TenantUpdateEncryptionParams) BindRequest(r *http.Request, route *middl
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *TenantUpdatePoolsParams) BindRequest(r *http.Request, route *middleware
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *UpdateTenantDomainsParams) BindRequest(r *http.Request, route *middlewa
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *UpdateTenantIdentityProviderParams) BindRequest(r *http.Request, route
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *UpdateTenantParams) BindRequest(r *http.Request, route *middleware.Matc
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -23,7 +23,6 @@ package operator_api
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"io"
"net/http"
@@ -94,7 +93,7 @@ func (o *UpdateTenantSecurityParams) BindRequest(r *http.Request, route *middlew
res = append(res, err)
}
ctx := validate.WithOperationRequest(context.Background())
ctx := validate.WithOperationRequest(r.Context())
if err := body.ContextValidate(ctx, route.Formats); err != nil {
res = append(res, err)
}

View File

@@ -25,7 +25,6 @@ import (
"crypto/x509"
"errors"
"fmt"
"io/ioutil"
"log"
"net"
"net/http"
@@ -291,7 +290,7 @@ func (s *Server) Serve() (err error) {
if s.TLSCACertificate != "" {
// include specified CA certificate
caCert, caCertErr := ioutil.ReadFile(string(s.TLSCACertificate))
caCert, caCertErr := os.ReadFile(string(s.TLSCACertificate))
if caCertErr != nil {
return caCertErr
}

View File

@@ -537,6 +537,11 @@ func getTenantCreatedResponse(session *models.Principal, params operator_api.Cre
Console: tenantReq.ExposeConsole,
}
// set custom environment variables in configuration file
for _, envVar := range tenantReq.EnvironmentVariables {
tenantConfigurationENV[envVar.Key] = envVar.Value
}
// write tenant configuration to secret that contains config.env
tenantConfigurationName := fmt.Sprintf("%s-env-configuration", tenantName)
_, err = createOrReplaceSecrets(ctx, &k8sClient, ns, []tenantSecret{

View File

@@ -38,20 +38,21 @@ type IdentityProviderI interface {
// Define the structure of a IdentityProvider with Client inside and define the functions that are used
// during the authentication flow.
type IdentityProvider struct {
Client *oauth2.Provider
KeyFunc oauth2.StateKeyFunc
Client *oauth2.Provider
}
// VerifyIdentity will verify the user identity against the idp using the authorization code flow
func (c IdentityProvider) VerifyIdentity(ctx context.Context, code, state string) (*credentials.Credentials, error) {
return c.Client.VerifyIdentity(ctx, code, state)
return c.Client.VerifyIdentity(ctx, code, state, c.KeyFunc)
}
// VerifyIdentityForOperator will verify the user identity against the idp using the authorization code flow
func (c IdentityProvider) VerifyIdentityForOperator(ctx context.Context, code, state string) (*xoauth2.Token, error) {
return c.Client.VerifyIdentityForOperator(ctx, code, state)
return c.Client.VerifyIdentityForOperator(ctx, code, state, c.KeyFunc)
}
// GenerateLoginURL returns a new URL used by the user to login against the idp
func (c IdentityProvider) GenerateLoginURL() string {
return c.Client.GenerateLoginURL()
return c.Client.GenerateLoginURL(c.KeyFunc)
}

View File

@@ -19,10 +19,12 @@
package oauth2
import (
"crypto/sha1"
"strings"
"github.com/minio/console/pkg/auth/utils"
"github.com/minio/pkg/env"
"golang.org/x/crypto/pbkdf2"
)
// ProviderConfig - OpenID IDP Configuration for console.
@@ -37,6 +39,14 @@ type ProviderConfig struct {
RedirectCallback string
}
// GetStateKeyFunc - return the key function used to generate the authorization
// code flow state parameter.
func (pc ProviderConfig) GetStateKeyFunc() StateKeyFunc {
return func() []byte {
return pbkdf2.Key([]byte(pc.HMACPassphrase), []byte(pc.HMACSalt), 4096, 32, sha1.New)
}
}
type OpenIDPCfg map[string]ProviderConfig
var DefaultIDPConfig = "_"

View File

@@ -114,9 +114,9 @@ type Provider struct {
provHTTPClient *http.Client
}
// derivedKey is the key used to compute the HMAC for signing the oauth state parameter
// DefaultDerivedKey is the key used to compute the HMAC for signing the oauth state parameter
// its derived using pbkdf on CONSOLE_IDP_HMAC_PASSPHRASE with CONSOLE_IDP_HMAC_SALT
var derivedKey = func() []byte {
var DefaultDerivedKey = func() []byte {
return pbkdf2.Key([]byte(getPassphraseForIDPHmac()), []byte(getSaltForIDPHmac()), 4096, 32, sha1.New)
}
@@ -304,11 +304,15 @@ type User struct {
Username string `json:"username"`
}
// StateKeyFunc - is a function that returns a key used in OAuth Authorization
// flow state generation and verification.
type StateKeyFunc func() []byte
// VerifyIdentity will contact the configured IDP to the user identity based on the authorization code and state
// if the user is valid, then it will contact MinIO to get valid sts credentials based on the identity provided by the IDP
func (client *Provider) VerifyIdentity(ctx context.Context, code, state string) (*credentials.Credentials, error) {
func (client *Provider) VerifyIdentity(ctx context.Context, code, state string, keyFunc StateKeyFunc) (*credentials.Credentials, error) {
// verify the provided state is valid (prevents CSRF attacks)
if err := validateOauth2State(state); err != nil {
if err := validateOauth2State(state, keyFunc); err != nil {
return nil, err
}
getWebTokenExpiry := func() (*credentials.WebIdentityToken, error) {
@@ -357,9 +361,9 @@ func (client *Provider) VerifyIdentity(ctx context.Context, code, state string)
}
// VerifyIdentityForOperator will contact the configured IDP and validate the user identity based on the authorization code and state
func (client *Provider) VerifyIdentityForOperator(ctx context.Context, code, state string) (*xoauth2.Token, error) {
func (client *Provider) VerifyIdentityForOperator(ctx context.Context, code, state string, keyFunc StateKeyFunc) (*xoauth2.Token, error) {
// verify the provided state is valid (prevents CSRF attacks)
if err := validateOauth2State(state); err != nil {
if err := validateOauth2State(state, keyFunc); err != nil {
return nil, err
}
customCtx := context.WithValue(ctx, oauth2.HTTPClient, client.provHTTPClient)
@@ -376,7 +380,7 @@ func (client *Provider) VerifyIdentityForOperator(ctx context.Context, code, sta
// validateOauth2State validates the provided state was originated using the same
// instance (or one configured using the same secrets) of Console, this is basically used to prevent CSRF attacks
// https://security.stackexchange.com/questions/20187/oauth2-cross-site-request-forgery-and-state-parameter
func validateOauth2State(state string) error {
func validateOauth2State(state string, keyFunc StateKeyFunc) error {
// state contains a base64 encoded string that may ends with "==", the browser encodes that to "%3D%3D"
// query unescape is need it before trying to decode the base64 string
encodedMessage, err := url.QueryUnescape(state)
@@ -396,7 +400,7 @@ func validateOauth2State(state string) error {
// extract the state and hmac
incomingState, incomingHmac := s[0], s[1]
// validate that hmac(incomingState + pbkdf2(secret, salt)) == incomingHmac
if calculatedHmac := utils.ComputeHmac256(incomingState, derivedKey()); calculatedHmac != incomingHmac {
if calculatedHmac := utils.ComputeHmac256(incomingState, keyFunc()); calculatedHmac != incomingHmac {
return fmt.Errorf("oauth2 state is invalid, expected %s, got %s", calculatedHmac, incomingHmac)
}
return nil
@@ -429,16 +433,16 @@ func parseDiscoveryDoc(ustr string, httpClient *http.Client) (DiscoveryDoc, erro
}
// GetRandomStateWithHMAC computes message + hmac(message, pbkdf2(key, salt)) to be used as state during the oauth authorization
func GetRandomStateWithHMAC(length int) string {
func GetRandomStateWithHMAC(length int, keyFunc StateKeyFunc) string {
state := utils.RandomCharString(length)
hmac := utils.ComputeHmac256(state, derivedKey())
hmac := utils.ComputeHmac256(state, keyFunc())
return base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", state, hmac)))
}
// GenerateLoginURL returns a new login URL based on the configured IDP
func (client *Provider) GenerateLoginURL() string {
func (client *Provider) GenerateLoginURL(keyFunc StateKeyFunc) string {
// generates random state and sign it using HMAC256
state := GetRandomStateWithHMAC(25)
state := GetRandomStateWithHMAC(25, keyFunc)
loginURL := client.oauth2Config.AuthCodeURL(state)
return strings.TrimSpace(loginURL)
}

View File

@@ -66,6 +66,6 @@ func TestGenerateLoginURL(t *testing.T) {
// a non-empty string
return state
}
url := oauth2Provider.GenerateLoginURL()
url := oauth2Provider.GenerateLoginURL(DefaultDerivedKey)
funcAssert.NotEqual("", url)
}

View File

@@ -1,303 +1,307 @@
{
"files": {
"main.css": "./static/css/main.90d417ae.css",
"main.js": "./static/js/main.e6495671.js",
"static/js/6914.ed2f1662.chunk.js": "./static/js/6914.ed2f1662.chunk.js",
"static/js/4209.2f923e7c.chunk.js": "./static/js/4209.2f923e7c.chunk.js",
"static/js/1829.51f89ce7.chunk.js": "./static/js/1829.51f89ce7.chunk.js",
"static/js/4455.0e61928a.chunk.js": "./static/js/4455.0e61928a.chunk.js",
"static/js/5088.ffe84f49.chunk.js": "./static/js/5088.ffe84f49.chunk.js",
"static/js/5140.b1dd0e23.chunk.js": "./static/js/5140.b1dd0e23.chunk.js",
"static/js/2527.6be456f8.chunk.js": "./static/js/2527.6be456f8.chunk.js",
"static/js/1260.64801103.chunk.js": "./static/js/1260.64801103.chunk.js",
"main.css": "./static/css/main.b20a708b.css",
"main.js": "./static/js/main.28f60345.js",
"static/js/1260.5248e62a.chunk.js": "./static/js/1260.5248e62a.chunk.js",
"static/js/6914.57144791.chunk.js": "./static/js/6914.57144791.chunk.js",
"static/js/4209.dd491df8.chunk.js": "./static/js/4209.dd491df8.chunk.js",
"static/js/1829.4d8548a9.chunk.js": "./static/js/1829.4d8548a9.chunk.js",
"static/js/4455.34da4012.chunk.js": "./static/js/4455.34da4012.chunk.js",
"static/js/5088.2338ab8d.chunk.js": "./static/js/5088.2338ab8d.chunk.js",
"static/js/5140.29fde8ff.chunk.js": "./static/js/5140.29fde8ff.chunk.js",
"static/js/852.8313f23d.chunk.js": "./static/js/852.8313f23d.chunk.js",
"static/js/839.f4dd2641.chunk.js": "./static/js/839.f4dd2641.chunk.js",
"static/js/3176.59846ccd.chunk.js": "./static/js/3176.59846ccd.chunk.js",
"static/js/6137.c212a08b.chunk.js": "./static/js/6137.c212a08b.chunk.js",
"static/js/6137.4944b3c1.chunk.js": "./static/js/6137.4944b3c1.chunk.js",
"static/js/7045.7464040f.chunk.js": "./static/js/7045.7464040f.chunk.js",
"static/js/9251.5be021a3.chunk.js": "./static/js/9251.5be021a3.chunk.js",
"static/js/9251.c314c7b9.chunk.js": "./static/js/9251.c314c7b9.chunk.js",
"static/js/2338.4512b89d.chunk.js": "./static/js/2338.4512b89d.chunk.js",
"static/js/4335.c9054391.chunk.js": "./static/js/4335.c9054391.chunk.js",
"static/js/3061.42c87510.chunk.js": "./static/js/3061.42c87510.chunk.js",
"static/js/6763.ce363ce0.chunk.js": "./static/js/6763.ce363ce0.chunk.js",
"static/js/4575.fcb7724d.chunk.js": "./static/js/4575.fcb7724d.chunk.js",
"static/js/4061.92890fde.chunk.js": "./static/js/4061.92890fde.chunk.js",
"static/js/5112.f134e323.chunk.js": "./static/js/5112.f134e323.chunk.js",
"static/js/4335.d0260e05.chunk.js": "./static/js/4335.d0260e05.chunk.js",
"static/js/6604.56df4486.chunk.js": "./static/js/6604.56df4486.chunk.js",
"static/js/6763.d4ff8d6b.chunk.js": "./static/js/6763.d4ff8d6b.chunk.js",
"static/js/3543.fad941bc.chunk.js": "./static/js/3543.fad941bc.chunk.js",
"static/js/4061.ef33bbaa.chunk.js": "./static/js/4061.ef33bbaa.chunk.js",
"static/js/5112.626a10bf.chunk.js": "./static/js/5112.626a10bf.chunk.js",
"static/js/9611.c217768e.chunk.js": "./static/js/9611.c217768e.chunk.js",
"static/js/2637.583760ab.chunk.js": "./static/js/2637.583760ab.chunk.js",
"static/css/5503.90c9cdc7.chunk.css": "./static/css/5503.90c9cdc7.chunk.css",
"static/js/5503.e2bd5606.chunk.js": "./static/js/5503.e2bd5606.chunk.js",
"static/js/5926.67e41b5c.chunk.js": "./static/js/5926.67e41b5c.chunk.js",
"static/js/701.7eafab40.chunk.js": "./static/js/701.7eafab40.chunk.js",
"static/js/7821.bda18452.chunk.js": "./static/js/7821.bda18452.chunk.js",
"static/js/5503.e6dfff1f.chunk.js": "./static/js/5503.e6dfff1f.chunk.js",
"static/js/5926.6813a97f.chunk.js": "./static/js/5926.6813a97f.chunk.js",
"static/js/701.6d0fe16f.chunk.js": "./static/js/701.6d0fe16f.chunk.js",
"static/js/7821.461c5aa3.chunk.js": "./static/js/7821.461c5aa3.chunk.js",
"static/css/2850.90c9cdc7.chunk.css": "./static/css/2850.90c9cdc7.chunk.css",
"static/js/2850.6e78c6a1.chunk.js": "./static/js/2850.6e78c6a1.chunk.js",
"static/js/4131.827ea761.chunk.js": "./static/js/4131.827ea761.chunk.js",
"static/js/2850.8a62b572.chunk.js": "./static/js/2850.8a62b572.chunk.js",
"static/js/4131.864cf81f.chunk.js": "./static/js/4131.864cf81f.chunk.js",
"static/css/343.90c9cdc7.chunk.css": "./static/css/343.90c9cdc7.chunk.css",
"static/js/343.b753d8a6.chunk.js": "./static/js/343.b753d8a6.chunk.js",
"static/js/343.34f42ca3.chunk.js": "./static/js/343.34f42ca3.chunk.js",
"static/css/1199.90c9cdc7.chunk.css": "./static/css/1199.90c9cdc7.chunk.css",
"static/js/1199.da6b0ac7.chunk.js": "./static/js/1199.da6b0ac7.chunk.js",
"static/js/1199.503e1d6b.chunk.js": "./static/js/1199.503e1d6b.chunk.js",
"static/css/5517.90c9cdc7.chunk.css": "./static/css/5517.90c9cdc7.chunk.css",
"static/js/5517.d8de87b4.chunk.js": "./static/js/5517.d8de87b4.chunk.js",
"static/js/2555.136c8e49.chunk.js": "./static/js/2555.136c8e49.chunk.js",
"static/js/7585.c6b3f151.chunk.js": "./static/js/7585.c6b3f151.chunk.js",
"static/js/4902.32b013ff.chunk.js": "./static/js/4902.32b013ff.chunk.js",
"static/js/7847.04dba10f.chunk.js": "./static/js/7847.04dba10f.chunk.js",
"static/js/3097.2a16263b.chunk.js": "./static/js/3097.2a16263b.chunk.js",
"static/js/692.cb0079a0.chunk.js": "./static/js/692.cb0079a0.chunk.js",
"static/js/8626.8628ce46.chunk.js": "./static/js/8626.8628ce46.chunk.js",
"static/js/736.f445d925.chunk.js": "./static/js/736.f445d925.chunk.js",
"static/js/6577.c372268c.chunk.js": "./static/js/6577.c372268c.chunk.js",
"static/js/9561.ebe2bdbf.chunk.js": "./static/js/9561.ebe2bdbf.chunk.js",
"static/js/6401.546f3ad0.chunk.js": "./static/js/6401.546f3ad0.chunk.js",
"static/js/4932.09da6134.chunk.js": "./static/js/4932.09da6134.chunk.js",
"static/js/3119.de98cea1.chunk.js": "./static/js/3119.de98cea1.chunk.js",
"static/js/5643.b14e8a83.chunk.js": "./static/js/5643.b14e8a83.chunk.js",
"static/js/5517.cf7204c7.chunk.js": "./static/js/5517.cf7204c7.chunk.js",
"static/js/2555.0dbc9c69.chunk.js": "./static/js/2555.0dbc9c69.chunk.js",
"static/js/7585.862b6eb5.chunk.js": "./static/js/7585.862b6eb5.chunk.js",
"static/js/4902.395ae657.chunk.js": "./static/js/4902.395ae657.chunk.js",
"static/js/7847.4176f3e5.chunk.js": "./static/js/7847.4176f3e5.chunk.js",
"static/js/3097.c51c1e97.chunk.js": "./static/js/3097.c51c1e97.chunk.js",
"static/js/692.acf902c5.chunk.js": "./static/js/692.acf902c5.chunk.js",
"static/js/8626.617017df.chunk.js": "./static/js/8626.617017df.chunk.js",
"static/js/736.ae41c7ee.chunk.js": "./static/js/736.ae41c7ee.chunk.js",
"static/js/6577.c8329c4f.chunk.js": "./static/js/6577.c8329c4f.chunk.js",
"static/js/9561.3f9d7984.chunk.js": "./static/js/9561.3f9d7984.chunk.js",
"static/js/6401.5c896f2e.chunk.js": "./static/js/6401.5c896f2e.chunk.js",
"static/js/2949.c6b7f4b7.chunk.js": "./static/js/2949.c6b7f4b7.chunk.js",
"static/js/3119.828f52b0.chunk.js": "./static/js/3119.828f52b0.chunk.js",
"static/js/5643.a58157c7.chunk.js": "./static/js/5643.a58157c7.chunk.js",
"static/js/4781.f4794912.chunk.js": "./static/js/4781.f4794912.chunk.js",
"static/js/9478.a335fb0f.chunk.js": "./static/js/9478.a335fb0f.chunk.js",
"static/js/7164.3762a0c0.chunk.js": "./static/js/7164.3762a0c0.chunk.js",
"static/js/4414.428aea58.chunk.js": "./static/js/4414.428aea58.chunk.js",
"static/js/7798.3457153d.chunk.js": "./static/js/7798.3457153d.chunk.js",
"static/js/8833.ff06f54a.chunk.js": "./static/js/8833.ff06f54a.chunk.js",
"static/js/6526.503de0ce.chunk.js": "./static/js/6526.503de0ce.chunk.js",
"static/js/483.ef8155e7.chunk.js": "./static/js/483.ef8155e7.chunk.js",
"static/js/9467.485bd2cb.chunk.js": "./static/js/9467.485bd2cb.chunk.js",
"static/js/6895.913992ec.chunk.js": "./static/js/6895.913992ec.chunk.js",
"static/js/1379.ad79cf83.chunk.js": "./static/js/1379.ad79cf83.chunk.js",
"static/js/8277.ee7e7607.chunk.js": "./static/js/8277.ee7e7607.chunk.js",
"static/js/4133.21aad0d8.chunk.js": "./static/js/4133.21aad0d8.chunk.js",
"static/js/4414.c804fea8.chunk.js": "./static/js/4414.c804fea8.chunk.js",
"static/js/7798.5da0ca4b.chunk.js": "./static/js/7798.5da0ca4b.chunk.js",
"static/js/8833.9f18e03b.chunk.js": "./static/js/8833.9f18e03b.chunk.js",
"static/js/6526.904dad0c.chunk.js": "./static/js/6526.904dad0c.chunk.js",
"static/js/483.6a2efeb6.chunk.js": "./static/js/483.6a2efeb6.chunk.js",
"static/js/9467.361c4c5c.chunk.js": "./static/js/9467.361c4c5c.chunk.js",
"static/js/6895.c8233c8b.chunk.js": "./static/js/6895.c8233c8b.chunk.js",
"static/js/1379.c2ecb9aa.chunk.js": "./static/js/1379.c2ecb9aa.chunk.js",
"static/js/8277.ffa83ea5.chunk.js": "./static/js/8277.ffa83ea5.chunk.js",
"static/js/4133.9a0577c4.chunk.js": "./static/js/4133.9a0577c4.chunk.js",
"static/css/1367.90c9cdc7.chunk.css": "./static/css/1367.90c9cdc7.chunk.css",
"static/js/1367.8e7ba8bd.chunk.js": "./static/js/1367.8e7ba8bd.chunk.js",
"static/js/3956.8ed30c16.chunk.js": "./static/js/3956.8ed30c16.chunk.js",
"static/js/9221.696bb93f.chunk.js": "./static/js/9221.696bb93f.chunk.js",
"static/js/9031.f5984775.chunk.js": "./static/js/9031.f5984775.chunk.js",
"static/js/9134.53294fc2.chunk.js": "./static/js/9134.53294fc2.chunk.js",
"static/js/1367.0465294b.chunk.js": "./static/js/1367.0465294b.chunk.js",
"static/js/3956.5a9ef42b.chunk.js": "./static/js/3956.5a9ef42b.chunk.js",
"static/js/9221.06d80718.chunk.js": "./static/js/9221.06d80718.chunk.js",
"static/js/8896.042361de.chunk.js": "./static/js/8896.042361de.chunk.js",
"static/js/9134.f135131b.chunk.js": "./static/js/9134.f135131b.chunk.js",
"static/css/1268.90c9cdc7.chunk.css": "./static/css/1268.90c9cdc7.chunk.css",
"static/js/1268.5e491143.chunk.js": "./static/js/1268.5e491143.chunk.js",
"static/js/1030.a80a23bf.chunk.js": "./static/js/1030.a80a23bf.chunk.js",
"static/js/9145.2e7a2761.chunk.js": "./static/js/9145.2e7a2761.chunk.js",
"static/js/8998.952b511e.chunk.js": "./static/js/8998.952b511e.chunk.js",
"static/js/1501.64c3165f.chunk.js": "./static/js/1501.64c3165f.chunk.js",
"static/js/7770.c6344689.chunk.js": "./static/js/7770.c6344689.chunk.js",
"static/js/426.8a124aa3.chunk.js": "./static/js/426.8a124aa3.chunk.js",
"static/js/1268.ed4d5bd8.chunk.js": "./static/js/1268.ed4d5bd8.chunk.js",
"static/js/441.ef3a5a69.chunk.js": "./static/js/441.ef3a5a69.chunk.js",
"static/js/9145.0a0554bf.chunk.js": "./static/js/9145.0a0554bf.chunk.js",
"static/js/8998.6a160b0b.chunk.js": "./static/js/8998.6a160b0b.chunk.js",
"static/js/1501.5f62a612.chunk.js": "./static/js/1501.5f62a612.chunk.js",
"static/js/7770.0cb798cf.chunk.js": "./static/js/7770.0cb798cf.chunk.js",
"static/js/426.82aff597.chunk.js": "./static/js/426.82aff597.chunk.js",
"static/js/4298.39009639.chunk.js": "./static/js/4298.39009639.chunk.js",
"static/js/2878.3aef87af.chunk.js": "./static/js/2878.3aef87af.chunk.js",
"static/js/2878.8dd5ace8.chunk.js": "./static/js/2878.8dd5ace8.chunk.js",
"static/js/8495.b1689c2d.chunk.js": "./static/js/8495.b1689c2d.chunk.js",
"static/js/4934.72071d47.chunk.js": "./static/js/4934.72071d47.chunk.js",
"static/js/9942.d86db577.chunk.js": "./static/js/9942.d86db577.chunk.js",
"static/js/7021.0cd1393a.chunk.js": "./static/js/7021.0cd1393a.chunk.js",
"static/js/2684.af3a486a.chunk.js": "./static/js/2684.af3a486a.chunk.js",
"static/js/6683.31f7943c.chunk.js": "./static/js/6683.31f7943c.chunk.js",
"static/js/8350.927cb0f2.chunk.js": "./static/js/8350.927cb0f2.chunk.js",
"static/js/4873.b3b8ac8e.chunk.js": "./static/js/4873.b3b8ac8e.chunk.js",
"static/js/5367.4abbf09c.chunk.js": "./static/js/5367.4abbf09c.chunk.js",
"static/js/5223.d2798e93.chunk.js": "./static/js/5223.d2798e93.chunk.js",
"static/js/1799.dceada24.chunk.js": "./static/js/1799.dceada24.chunk.js",
"static/js/9297.8a17bfe7.chunk.js": "./static/js/9297.8a17bfe7.chunk.js",
"static/js/9968.42e61fd8.chunk.js": "./static/js/9968.42e61fd8.chunk.js",
"static/js/2180.3032b83a.chunk.js": "./static/js/2180.3032b83a.chunk.js",
"static/js/8253.112a3c07.chunk.js": "./static/js/8253.112a3c07.chunk.js",
"static/js/3328.161f27a6.chunk.js": "./static/js/3328.161f27a6.chunk.js",
"static/js/1440.0a79a7c6.chunk.js": "./static/js/1440.0a79a7c6.chunk.js",
"static/js/9179.c920b1c6.chunk.js": "./static/js/9179.c920b1c6.chunk.js",
"static/js/51.6f729db1.chunk.js": "./static/js/51.6f729db1.chunk.js",
"static/js/711.f849ab21.chunk.js": "./static/js/711.f849ab21.chunk.js",
"static/js/6901.0b8f3982.chunk.js": "./static/js/6901.0b8f3982.chunk.js",
"static/js/2185.c6714d7f.chunk.js": "./static/js/2185.c6714d7f.chunk.js",
"static/js/312.9d2483e2.chunk.js": "./static/js/312.9d2483e2.chunk.js",
"static/js/2112.218ae789.chunk.js": "./static/js/2112.218ae789.chunk.js",
"static/js/4619.e0972aca.chunk.js": "./static/js/4619.e0972aca.chunk.js",
"static/js/8990.943dbbfb.chunk.js": "./static/js/8990.943dbbfb.chunk.js",
"static/js/8455.01f5b771.chunk.js": "./static/js/8455.01f5b771.chunk.js",
"static/js/9942.78febb7d.chunk.js": "./static/js/9942.78febb7d.chunk.js",
"static/js/7021.9ea87695.chunk.js": "./static/js/7021.9ea87695.chunk.js",
"static/js/2684.cb179f6c.chunk.js": "./static/js/2684.cb179f6c.chunk.js",
"static/js/6683.ae70aa3c.chunk.js": "./static/js/6683.ae70aa3c.chunk.js",
"static/js/8350.d0f71354.chunk.js": "./static/js/8350.d0f71354.chunk.js",
"static/js/4873.9349e8b2.chunk.js": "./static/js/4873.9349e8b2.chunk.js",
"static/js/5367.81c2d437.chunk.js": "./static/js/5367.81c2d437.chunk.js",
"static/js/5223.98f026b3.chunk.js": "./static/js/5223.98f026b3.chunk.js",
"static/js/1799.90db5583.chunk.js": "./static/js/1799.90db5583.chunk.js",
"static/js/9297.fb2e535e.chunk.js": "./static/js/9297.fb2e535e.chunk.js",
"static/js/9968.481540ab.chunk.js": "./static/js/9968.481540ab.chunk.js",
"static/js/2180.14bc77fc.chunk.js": "./static/js/2180.14bc77fc.chunk.js",
"static/js/8253.fa95cf82.chunk.js": "./static/js/8253.fa95cf82.chunk.js",
"static/js/3328.f02a2e4c.chunk.js": "./static/js/3328.f02a2e4c.chunk.js",
"static/js/1440.2f369689.chunk.js": "./static/js/1440.2f369689.chunk.js",
"static/js/9179.f855888c.chunk.js": "./static/js/9179.f855888c.chunk.js",
"static/js/51.c461d317.chunk.js": "./static/js/51.c461d317.chunk.js",
"static/js/711.61c682cd.chunk.js": "./static/js/711.61c682cd.chunk.js",
"static/js/6901.1be7690b.chunk.js": "./static/js/6901.1be7690b.chunk.js",
"static/js/2185.0b324ec6.chunk.js": "./static/js/2185.0b324ec6.chunk.js",
"static/js/312.aefc992a.chunk.js": "./static/js/312.aefc992a.chunk.js",
"static/js/2112.93e2056f.chunk.js": "./static/js/2112.93e2056f.chunk.js",
"static/js/4619.82c18241.chunk.js": "./static/js/4619.82c18241.chunk.js",
"static/js/8990.d62803ce.chunk.js": "./static/js/8990.d62803ce.chunk.js",
"static/js/8455.ac01170a.chunk.js": "./static/js/8455.ac01170a.chunk.js",
"static/css/1913.90c9cdc7.chunk.css": "./static/css/1913.90c9cdc7.chunk.css",
"static/js/1913.f962e98f.chunk.js": "./static/js/1913.f962e98f.chunk.js",
"static/js/1604.54fe3660.chunk.js": "./static/js/1604.54fe3660.chunk.js",
"static/js/8391.824bba1f.chunk.js": "./static/js/8391.824bba1f.chunk.js",
"static/js/402.56cf1d62.chunk.js": "./static/js/402.56cf1d62.chunk.js",
"static/js/1705.0a3da076.chunk.js": "./static/js/1705.0a3da076.chunk.js",
"static/js/1581.b372ec91.chunk.js": "./static/js/1581.b372ec91.chunk.js",
"static/js/455.ae9e0193.chunk.js": "./static/js/455.ae9e0193.chunk.js",
"static/js/2661.59158a7f.chunk.js": "./static/js/2661.59158a7f.chunk.js",
"static/js/889.22fc77b5.chunk.js": "./static/js/889.22fc77b5.chunk.js",
"static/js/9088.0e6ebda2.chunk.js": "./static/js/9088.0e6ebda2.chunk.js",
"static/js/247.6b8f3ceb.chunk.js": "./static/js/247.6b8f3ceb.chunk.js",
"static/js/2408.a316c373.chunk.js": "./static/js/2408.a316c373.chunk.js",
"static/js/5171.e8fc646a.chunk.js": "./static/js/5171.e8fc646a.chunk.js",
"static/js/3691.ef93d563.chunk.js": "./static/js/3691.ef93d563.chunk.js",
"static/js/1913.62bd1877.chunk.js": "./static/js/1913.62bd1877.chunk.js",
"static/js/1604.d6abf9f0.chunk.js": "./static/js/1604.d6abf9f0.chunk.js",
"static/js/8391.93be3c76.chunk.js": "./static/js/8391.93be3c76.chunk.js",
"static/js/402.bce64a61.chunk.js": "./static/js/402.bce64a61.chunk.js",
"static/js/1705.596850eb.chunk.js": "./static/js/1705.596850eb.chunk.js",
"static/js/1581.5d8bdb2a.chunk.js": "./static/js/1581.5d8bdb2a.chunk.js",
"static/js/455.64f2adc7.chunk.js": "./static/js/455.64f2adc7.chunk.js",
"static/js/2661.358ee4e3.chunk.js": "./static/js/2661.358ee4e3.chunk.js",
"static/js/889.eb646ebf.chunk.js": "./static/js/889.eb646ebf.chunk.js",
"static/js/9088.c0ec4658.chunk.js": "./static/js/9088.c0ec4658.chunk.js",
"static/js/247.6ff1fc3d.chunk.js": "./static/js/247.6ff1fc3d.chunk.js",
"static/js/2408.d23e2b83.chunk.js": "./static/js/2408.d23e2b83.chunk.js",
"static/js/5171.e5224ef3.chunk.js": "./static/js/5171.e5224ef3.chunk.js",
"static/js/3691.ff436a8f.chunk.js": "./static/js/3691.ff436a8f.chunk.js",
"static/js/2426.ab27f6f9.chunk.js": "./static/js/2426.ab27f6f9.chunk.js",
"static/js/3762.52bd15d3.chunk.js": "./static/js/3762.52bd15d3.chunk.js",
"static/js/3801.64b6e473.chunk.js": "./static/js/3801.64b6e473.chunk.js",
"static/js/1918.4309a619.chunk.js": "./static/js/1918.4309a619.chunk.js",
"static/js/2813.cfbfa60f.chunk.js": "./static/js/2813.cfbfa60f.chunk.js",
"static/js/3801.e9dc3054.chunk.js": "./static/js/3801.e9dc3054.chunk.js",
"static/js/1918.9385ad56.chunk.js": "./static/js/1918.9385ad56.chunk.js",
"static/js/1373.c65e2a03.chunk.js": "./static/js/1373.c65e2a03.chunk.js",
"static/js/6431.5f2e5e6e.chunk.js": "./static/js/6431.5f2e5e6e.chunk.js",
"static/js/2011.f505a73d.chunk.js": "./static/js/2011.f505a73d.chunk.js",
"static/js/4814.6d9edd38.chunk.js": "./static/js/4814.6d9edd38.chunk.js",
"static/js/3909.cdbddaab.chunk.js": "./static/js/3909.cdbddaab.chunk.js",
"static/js/137.08d76dda.chunk.js": "./static/js/137.08d76dda.chunk.js",
"static/js/2011.af2dbefb.chunk.js": "./static/js/2011.af2dbefb.chunk.js",
"static/js/2515.322cc076.chunk.js": "./static/js/2515.322cc076.chunk.js",
"static/js/1459.03befbb8.chunk.js": "./static/js/1459.03befbb8.chunk.js",
"static/js/1267.ee70805c.chunk.js": "./static/js/1267.ee70805c.chunk.js",
"static/js/6172.b49c709f.chunk.js": "./static/js/6172.b49c709f.chunk.js",
"static/js/696.21928979.chunk.js": "./static/js/696.21928979.chunk.js",
"static/js/3388.f53bd1d3.chunk.js": "./static/js/3388.f53bd1d3.chunk.js",
"static/js/2567.a2b3cd1e.chunk.js": "./static/js/2567.a2b3cd1e.chunk.js",
"static/js/4709.d61f83b7.chunk.js": "./static/js/4709.d61f83b7.chunk.js",
"static/js/1622.0448f4dd.chunk.js": "./static/js/1622.0448f4dd.chunk.js",
"static/js/8896.79dd4492.chunk.js": "./static/js/8896.79dd4492.chunk.js",
"static/js/6484.3a2447c1.chunk.js": "./static/js/6484.3a2447c1.chunk.js",
"static/js/7142.4191cc91.chunk.js": "./static/js/7142.4191cc91.chunk.js",
"static/js/2691.53531251.chunk.js": "./static/js/2691.53531251.chunk.js",
"static/js/7472.f63abe1f.chunk.js": "./static/js/7472.f63abe1f.chunk.js",
"static/js/6172.12ed66ed.chunk.js": "./static/js/6172.12ed66ed.chunk.js",
"static/js/4827.a3ee5d0a.chunk.js": "./static/js/4827.a3ee5d0a.chunk.js",
"static/js/696.c93c6454.chunk.js": "./static/js/696.c93c6454.chunk.js",
"static/js/3388.6f330810.chunk.js": "./static/js/3388.6f330810.chunk.js",
"static/js/71.323f55a6.chunk.js": "./static/js/71.323f55a6.chunk.js",
"static/js/4709.8bd47e6f.chunk.js": "./static/js/4709.8bd47e6f.chunk.js",
"static/js/3870.a1265f93.chunk.js": "./static/js/3870.a1265f93.chunk.js",
"static/js/6484.de588cc0.chunk.js": "./static/js/6484.de588cc0.chunk.js",
"static/js/7142.93647281.chunk.js": "./static/js/7142.93647281.chunk.js",
"static/js/2691.19d72c3c.chunk.js": "./static/js/2691.19d72c3c.chunk.js",
"static/js/1790.eb475334.chunk.js": "./static/js/1790.eb475334.chunk.js",
"static/js/7472.85d323e5.chunk.js": "./static/js/7472.85d323e5.chunk.js",
"static/js/9515.a4e964be.chunk.js": "./static/js/9515.a4e964be.chunk.js",
"static/js/2983.15e04479.chunk.js": "./static/js/2983.15e04479.chunk.js",
"static/js/5289.d72640f7.chunk.js": "./static/js/5289.d72640f7.chunk.js",
"static/js/2763.d570fce2.chunk.js": "./static/js/2763.d570fce2.chunk.js",
"static/js/48.115b7eb1.chunk.js": "./static/js/48.115b7eb1.chunk.js",
"static/js/2763.d85f5750.chunk.js": "./static/js/2763.d85f5750.chunk.js",
"index.html": "./index.html",
"main.90d417ae.css.map": "./static/css/main.90d417ae.css.map",
"main.e6495671.js.map": "./static/js/main.e6495671.js.map",
"6914.ed2f1662.chunk.js.map": "./static/js/6914.ed2f1662.chunk.js.map",
"4209.2f923e7c.chunk.js.map": "./static/js/4209.2f923e7c.chunk.js.map",
"1829.51f89ce7.chunk.js.map": "./static/js/1829.51f89ce7.chunk.js.map",
"4455.0e61928a.chunk.js.map": "./static/js/4455.0e61928a.chunk.js.map",
"5088.ffe84f49.chunk.js.map": "./static/js/5088.ffe84f49.chunk.js.map",
"5140.b1dd0e23.chunk.js.map": "./static/js/5140.b1dd0e23.chunk.js.map",
"2527.6be456f8.chunk.js.map": "./static/js/2527.6be456f8.chunk.js.map",
"1260.64801103.chunk.js.map": "./static/js/1260.64801103.chunk.js.map",
"main.b20a708b.css.map": "./static/css/main.b20a708b.css.map",
"main.28f60345.js.map": "./static/js/main.28f60345.js.map",
"1260.5248e62a.chunk.js.map": "./static/js/1260.5248e62a.chunk.js.map",
"6914.57144791.chunk.js.map": "./static/js/6914.57144791.chunk.js.map",
"4209.dd491df8.chunk.js.map": "./static/js/4209.dd491df8.chunk.js.map",
"1829.4d8548a9.chunk.js.map": "./static/js/1829.4d8548a9.chunk.js.map",
"4455.34da4012.chunk.js.map": "./static/js/4455.34da4012.chunk.js.map",
"5088.2338ab8d.chunk.js.map": "./static/js/5088.2338ab8d.chunk.js.map",
"5140.29fde8ff.chunk.js.map": "./static/js/5140.29fde8ff.chunk.js.map",
"852.8313f23d.chunk.js.map": "./static/js/852.8313f23d.chunk.js.map",
"839.f4dd2641.chunk.js.map": "./static/js/839.f4dd2641.chunk.js.map",
"3176.59846ccd.chunk.js.map": "./static/js/3176.59846ccd.chunk.js.map",
"6137.c212a08b.chunk.js.map": "./static/js/6137.c212a08b.chunk.js.map",
"6137.4944b3c1.chunk.js.map": "./static/js/6137.4944b3c1.chunk.js.map",
"7045.7464040f.chunk.js.map": "./static/js/7045.7464040f.chunk.js.map",
"9251.5be021a3.chunk.js.map": "./static/js/9251.5be021a3.chunk.js.map",
"9251.c314c7b9.chunk.js.map": "./static/js/9251.c314c7b9.chunk.js.map",
"2338.4512b89d.chunk.js.map": "./static/js/2338.4512b89d.chunk.js.map",
"4335.c9054391.chunk.js.map": "./static/js/4335.c9054391.chunk.js.map",
"3061.42c87510.chunk.js.map": "./static/js/3061.42c87510.chunk.js.map",
"6763.ce363ce0.chunk.js.map": "./static/js/6763.ce363ce0.chunk.js.map",
"4575.fcb7724d.chunk.js.map": "./static/js/4575.fcb7724d.chunk.js.map",
"4061.92890fde.chunk.js.map": "./static/js/4061.92890fde.chunk.js.map",
"5112.f134e323.chunk.js.map": "./static/js/5112.f134e323.chunk.js.map",
"4335.d0260e05.chunk.js.map": "./static/js/4335.d0260e05.chunk.js.map",
"6604.56df4486.chunk.js.map": "./static/js/6604.56df4486.chunk.js.map",
"6763.d4ff8d6b.chunk.js.map": "./static/js/6763.d4ff8d6b.chunk.js.map",
"3543.fad941bc.chunk.js.map": "./static/js/3543.fad941bc.chunk.js.map",
"4061.ef33bbaa.chunk.js.map": "./static/js/4061.ef33bbaa.chunk.js.map",
"5112.626a10bf.chunk.js.map": "./static/js/5112.626a10bf.chunk.js.map",
"9611.c217768e.chunk.js.map": "./static/js/9611.c217768e.chunk.js.map",
"2637.583760ab.chunk.js.map": "./static/js/2637.583760ab.chunk.js.map",
"5503.90c9cdc7.chunk.css.map": "./static/css/5503.90c9cdc7.chunk.css.map",
"5503.e2bd5606.chunk.js.map": "./static/js/5503.e2bd5606.chunk.js.map",
"5926.67e41b5c.chunk.js.map": "./static/js/5926.67e41b5c.chunk.js.map",
"701.7eafab40.chunk.js.map": "./static/js/701.7eafab40.chunk.js.map",
"7821.bda18452.chunk.js.map": "./static/js/7821.bda18452.chunk.js.map",
"5503.e6dfff1f.chunk.js.map": "./static/js/5503.e6dfff1f.chunk.js.map",
"5926.6813a97f.chunk.js.map": "./static/js/5926.6813a97f.chunk.js.map",
"701.6d0fe16f.chunk.js.map": "./static/js/701.6d0fe16f.chunk.js.map",
"7821.461c5aa3.chunk.js.map": "./static/js/7821.461c5aa3.chunk.js.map",
"2850.90c9cdc7.chunk.css.map": "./static/css/2850.90c9cdc7.chunk.css.map",
"2850.6e78c6a1.chunk.js.map": "./static/js/2850.6e78c6a1.chunk.js.map",
"4131.827ea761.chunk.js.map": "./static/js/4131.827ea761.chunk.js.map",
"2850.8a62b572.chunk.js.map": "./static/js/2850.8a62b572.chunk.js.map",
"4131.864cf81f.chunk.js.map": "./static/js/4131.864cf81f.chunk.js.map",
"343.90c9cdc7.chunk.css.map": "./static/css/343.90c9cdc7.chunk.css.map",
"343.b753d8a6.chunk.js.map": "./static/js/343.b753d8a6.chunk.js.map",
"343.34f42ca3.chunk.js.map": "./static/js/343.34f42ca3.chunk.js.map",
"1199.90c9cdc7.chunk.css.map": "./static/css/1199.90c9cdc7.chunk.css.map",
"1199.da6b0ac7.chunk.js.map": "./static/js/1199.da6b0ac7.chunk.js.map",
"1199.503e1d6b.chunk.js.map": "./static/js/1199.503e1d6b.chunk.js.map",
"5517.90c9cdc7.chunk.css.map": "./static/css/5517.90c9cdc7.chunk.css.map",
"5517.d8de87b4.chunk.js.map": "./static/js/5517.d8de87b4.chunk.js.map",
"2555.136c8e49.chunk.js.map": "./static/js/2555.136c8e49.chunk.js.map",
"7585.c6b3f151.chunk.js.map": "./static/js/7585.c6b3f151.chunk.js.map",
"4902.32b013ff.chunk.js.map": "./static/js/4902.32b013ff.chunk.js.map",
"7847.04dba10f.chunk.js.map": "./static/js/7847.04dba10f.chunk.js.map",
"3097.2a16263b.chunk.js.map": "./static/js/3097.2a16263b.chunk.js.map",
"692.cb0079a0.chunk.js.map": "./static/js/692.cb0079a0.chunk.js.map",
"8626.8628ce46.chunk.js.map": "./static/js/8626.8628ce46.chunk.js.map",
"736.f445d925.chunk.js.map": "./static/js/736.f445d925.chunk.js.map",
"6577.c372268c.chunk.js.map": "./static/js/6577.c372268c.chunk.js.map",
"9561.ebe2bdbf.chunk.js.map": "./static/js/9561.ebe2bdbf.chunk.js.map",
"6401.546f3ad0.chunk.js.map": "./static/js/6401.546f3ad0.chunk.js.map",
"4932.09da6134.chunk.js.map": "./static/js/4932.09da6134.chunk.js.map",
"3119.de98cea1.chunk.js.map": "./static/js/3119.de98cea1.chunk.js.map",
"5643.b14e8a83.chunk.js.map": "./static/js/5643.b14e8a83.chunk.js.map",
"5517.cf7204c7.chunk.js.map": "./static/js/5517.cf7204c7.chunk.js.map",
"2555.0dbc9c69.chunk.js.map": "./static/js/2555.0dbc9c69.chunk.js.map",
"7585.862b6eb5.chunk.js.map": "./static/js/7585.862b6eb5.chunk.js.map",
"4902.395ae657.chunk.js.map": "./static/js/4902.395ae657.chunk.js.map",
"7847.4176f3e5.chunk.js.map": "./static/js/7847.4176f3e5.chunk.js.map",
"3097.c51c1e97.chunk.js.map": "./static/js/3097.c51c1e97.chunk.js.map",
"692.acf902c5.chunk.js.map": "./static/js/692.acf902c5.chunk.js.map",
"8626.617017df.chunk.js.map": "./static/js/8626.617017df.chunk.js.map",
"736.ae41c7ee.chunk.js.map": "./static/js/736.ae41c7ee.chunk.js.map",
"6577.c8329c4f.chunk.js.map": "./static/js/6577.c8329c4f.chunk.js.map",
"9561.3f9d7984.chunk.js.map": "./static/js/9561.3f9d7984.chunk.js.map",
"6401.5c896f2e.chunk.js.map": "./static/js/6401.5c896f2e.chunk.js.map",
"2949.c6b7f4b7.chunk.js.map": "./static/js/2949.c6b7f4b7.chunk.js.map",
"3119.828f52b0.chunk.js.map": "./static/js/3119.828f52b0.chunk.js.map",
"5643.a58157c7.chunk.js.map": "./static/js/5643.a58157c7.chunk.js.map",
"4781.f4794912.chunk.js.map": "./static/js/4781.f4794912.chunk.js.map",
"9478.a335fb0f.chunk.js.map": "./static/js/9478.a335fb0f.chunk.js.map",
"7164.3762a0c0.chunk.js.map": "./static/js/7164.3762a0c0.chunk.js.map",
"4414.428aea58.chunk.js.map": "./static/js/4414.428aea58.chunk.js.map",
"7798.3457153d.chunk.js.map": "./static/js/7798.3457153d.chunk.js.map",
"8833.ff06f54a.chunk.js.map": "./static/js/8833.ff06f54a.chunk.js.map",
"6526.503de0ce.chunk.js.map": "./static/js/6526.503de0ce.chunk.js.map",
"483.ef8155e7.chunk.js.map": "./static/js/483.ef8155e7.chunk.js.map",
"9467.485bd2cb.chunk.js.map": "./static/js/9467.485bd2cb.chunk.js.map",
"6895.913992ec.chunk.js.map": "./static/js/6895.913992ec.chunk.js.map",
"1379.ad79cf83.chunk.js.map": "./static/js/1379.ad79cf83.chunk.js.map",
"8277.ee7e7607.chunk.js.map": "./static/js/8277.ee7e7607.chunk.js.map",
"4133.21aad0d8.chunk.js.map": "./static/js/4133.21aad0d8.chunk.js.map",
"4414.c804fea8.chunk.js.map": "./static/js/4414.c804fea8.chunk.js.map",
"7798.5da0ca4b.chunk.js.map": "./static/js/7798.5da0ca4b.chunk.js.map",
"8833.9f18e03b.chunk.js.map": "./static/js/8833.9f18e03b.chunk.js.map",
"6526.904dad0c.chunk.js.map": "./static/js/6526.904dad0c.chunk.js.map",
"483.6a2efeb6.chunk.js.map": "./static/js/483.6a2efeb6.chunk.js.map",
"9467.361c4c5c.chunk.js.map": "./static/js/9467.361c4c5c.chunk.js.map",
"6895.c8233c8b.chunk.js.map": "./static/js/6895.c8233c8b.chunk.js.map",
"1379.c2ecb9aa.chunk.js.map": "./static/js/1379.c2ecb9aa.chunk.js.map",
"8277.ffa83ea5.chunk.js.map": "./static/js/8277.ffa83ea5.chunk.js.map",
"4133.9a0577c4.chunk.js.map": "./static/js/4133.9a0577c4.chunk.js.map",
"1367.90c9cdc7.chunk.css.map": "./static/css/1367.90c9cdc7.chunk.css.map",
"1367.8e7ba8bd.chunk.js.map": "./static/js/1367.8e7ba8bd.chunk.js.map",
"3956.8ed30c16.chunk.js.map": "./static/js/3956.8ed30c16.chunk.js.map",
"9221.696bb93f.chunk.js.map": "./static/js/9221.696bb93f.chunk.js.map",
"9031.f5984775.chunk.js.map": "./static/js/9031.f5984775.chunk.js.map",
"9134.53294fc2.chunk.js.map": "./static/js/9134.53294fc2.chunk.js.map",
"1367.0465294b.chunk.js.map": "./static/js/1367.0465294b.chunk.js.map",
"3956.5a9ef42b.chunk.js.map": "./static/js/3956.5a9ef42b.chunk.js.map",
"9221.06d80718.chunk.js.map": "./static/js/9221.06d80718.chunk.js.map",
"8896.042361de.chunk.js.map": "./static/js/8896.042361de.chunk.js.map",
"9134.f135131b.chunk.js.map": "./static/js/9134.f135131b.chunk.js.map",
"1268.90c9cdc7.chunk.css.map": "./static/css/1268.90c9cdc7.chunk.css.map",
"1268.5e491143.chunk.js.map": "./static/js/1268.5e491143.chunk.js.map",
"1030.a80a23bf.chunk.js.map": "./static/js/1030.a80a23bf.chunk.js.map",
"9145.2e7a2761.chunk.js.map": "./static/js/9145.2e7a2761.chunk.js.map",
"8998.952b511e.chunk.js.map": "./static/js/8998.952b511e.chunk.js.map",
"1501.64c3165f.chunk.js.map": "./static/js/1501.64c3165f.chunk.js.map",
"7770.c6344689.chunk.js.map": "./static/js/7770.c6344689.chunk.js.map",
"426.8a124aa3.chunk.js.map": "./static/js/426.8a124aa3.chunk.js.map",
"1268.ed4d5bd8.chunk.js.map": "./static/js/1268.ed4d5bd8.chunk.js.map",
"441.ef3a5a69.chunk.js.map": "./static/js/441.ef3a5a69.chunk.js.map",
"9145.0a0554bf.chunk.js.map": "./static/js/9145.0a0554bf.chunk.js.map",
"8998.6a160b0b.chunk.js.map": "./static/js/8998.6a160b0b.chunk.js.map",
"1501.5f62a612.chunk.js.map": "./static/js/1501.5f62a612.chunk.js.map",
"7770.0cb798cf.chunk.js.map": "./static/js/7770.0cb798cf.chunk.js.map",
"426.82aff597.chunk.js.map": "./static/js/426.82aff597.chunk.js.map",
"4298.39009639.chunk.js.map": "./static/js/4298.39009639.chunk.js.map",
"2878.3aef87af.chunk.js.map": "./static/js/2878.3aef87af.chunk.js.map",
"2878.8dd5ace8.chunk.js.map": "./static/js/2878.8dd5ace8.chunk.js.map",
"8495.b1689c2d.chunk.js.map": "./static/js/8495.b1689c2d.chunk.js.map",
"4934.72071d47.chunk.js.map": "./static/js/4934.72071d47.chunk.js.map",
"9942.d86db577.chunk.js.map": "./static/js/9942.d86db577.chunk.js.map",
"7021.0cd1393a.chunk.js.map": "./static/js/7021.0cd1393a.chunk.js.map",
"2684.af3a486a.chunk.js.map": "./static/js/2684.af3a486a.chunk.js.map",
"6683.31f7943c.chunk.js.map": "./static/js/6683.31f7943c.chunk.js.map",
"8350.927cb0f2.chunk.js.map": "./static/js/8350.927cb0f2.chunk.js.map",
"4873.b3b8ac8e.chunk.js.map": "./static/js/4873.b3b8ac8e.chunk.js.map",
"5367.4abbf09c.chunk.js.map": "./static/js/5367.4abbf09c.chunk.js.map",
"5223.d2798e93.chunk.js.map": "./static/js/5223.d2798e93.chunk.js.map",
"1799.dceada24.chunk.js.map": "./static/js/1799.dceada24.chunk.js.map",
"9297.8a17bfe7.chunk.js.map": "./static/js/9297.8a17bfe7.chunk.js.map",
"9968.42e61fd8.chunk.js.map": "./static/js/9968.42e61fd8.chunk.js.map",
"2180.3032b83a.chunk.js.map": "./static/js/2180.3032b83a.chunk.js.map",
"8253.112a3c07.chunk.js.map": "./static/js/8253.112a3c07.chunk.js.map",
"3328.161f27a6.chunk.js.map": "./static/js/3328.161f27a6.chunk.js.map",
"1440.0a79a7c6.chunk.js.map": "./static/js/1440.0a79a7c6.chunk.js.map",
"9179.c920b1c6.chunk.js.map": "./static/js/9179.c920b1c6.chunk.js.map",
"51.6f729db1.chunk.js.map": "./static/js/51.6f729db1.chunk.js.map",
"711.f849ab21.chunk.js.map": "./static/js/711.f849ab21.chunk.js.map",
"6901.0b8f3982.chunk.js.map": "./static/js/6901.0b8f3982.chunk.js.map",
"2185.c6714d7f.chunk.js.map": "./static/js/2185.c6714d7f.chunk.js.map",
"312.9d2483e2.chunk.js.map": "./static/js/312.9d2483e2.chunk.js.map",
"2112.218ae789.chunk.js.map": "./static/js/2112.218ae789.chunk.js.map",
"4619.e0972aca.chunk.js.map": "./static/js/4619.e0972aca.chunk.js.map",
"8990.943dbbfb.chunk.js.map": "./static/js/8990.943dbbfb.chunk.js.map",
"8455.01f5b771.chunk.js.map": "./static/js/8455.01f5b771.chunk.js.map",
"9942.78febb7d.chunk.js.map": "./static/js/9942.78febb7d.chunk.js.map",
"7021.9ea87695.chunk.js.map": "./static/js/7021.9ea87695.chunk.js.map",
"2684.cb179f6c.chunk.js.map": "./static/js/2684.cb179f6c.chunk.js.map",
"6683.ae70aa3c.chunk.js.map": "./static/js/6683.ae70aa3c.chunk.js.map",
"8350.d0f71354.chunk.js.map": "./static/js/8350.d0f71354.chunk.js.map",
"4873.9349e8b2.chunk.js.map": "./static/js/4873.9349e8b2.chunk.js.map",
"5367.81c2d437.chunk.js.map": "./static/js/5367.81c2d437.chunk.js.map",
"5223.98f026b3.chunk.js.map": "./static/js/5223.98f026b3.chunk.js.map",
"1799.90db5583.chunk.js.map": "./static/js/1799.90db5583.chunk.js.map",
"9297.fb2e535e.chunk.js.map": "./static/js/9297.fb2e535e.chunk.js.map",
"9968.481540ab.chunk.js.map": "./static/js/9968.481540ab.chunk.js.map",
"2180.14bc77fc.chunk.js.map": "./static/js/2180.14bc77fc.chunk.js.map",
"8253.fa95cf82.chunk.js.map": "./static/js/8253.fa95cf82.chunk.js.map",
"3328.f02a2e4c.chunk.js.map": "./static/js/3328.f02a2e4c.chunk.js.map",
"1440.2f369689.chunk.js.map": "./static/js/1440.2f369689.chunk.js.map",
"9179.f855888c.chunk.js.map": "./static/js/9179.f855888c.chunk.js.map",
"51.c461d317.chunk.js.map": "./static/js/51.c461d317.chunk.js.map",
"711.61c682cd.chunk.js.map": "./static/js/711.61c682cd.chunk.js.map",
"6901.1be7690b.chunk.js.map": "./static/js/6901.1be7690b.chunk.js.map",
"2185.0b324ec6.chunk.js.map": "./static/js/2185.0b324ec6.chunk.js.map",
"312.aefc992a.chunk.js.map": "./static/js/312.aefc992a.chunk.js.map",
"2112.93e2056f.chunk.js.map": "./static/js/2112.93e2056f.chunk.js.map",
"4619.82c18241.chunk.js.map": "./static/js/4619.82c18241.chunk.js.map",
"8990.d62803ce.chunk.js.map": "./static/js/8990.d62803ce.chunk.js.map",
"8455.ac01170a.chunk.js.map": "./static/js/8455.ac01170a.chunk.js.map",
"1913.90c9cdc7.chunk.css.map": "./static/css/1913.90c9cdc7.chunk.css.map",
"1913.f962e98f.chunk.js.map": "./static/js/1913.f962e98f.chunk.js.map",
"1604.54fe3660.chunk.js.map": "./static/js/1604.54fe3660.chunk.js.map",
"8391.824bba1f.chunk.js.map": "./static/js/8391.824bba1f.chunk.js.map",
"402.56cf1d62.chunk.js.map": "./static/js/402.56cf1d62.chunk.js.map",
"1705.0a3da076.chunk.js.map": "./static/js/1705.0a3da076.chunk.js.map",
"1581.b372ec91.chunk.js.map": "./static/js/1581.b372ec91.chunk.js.map",
"455.ae9e0193.chunk.js.map": "./static/js/455.ae9e0193.chunk.js.map",
"2661.59158a7f.chunk.js.map": "./static/js/2661.59158a7f.chunk.js.map",
"889.22fc77b5.chunk.js.map": "./static/js/889.22fc77b5.chunk.js.map",
"9088.0e6ebda2.chunk.js.map": "./static/js/9088.0e6ebda2.chunk.js.map",
"247.6b8f3ceb.chunk.js.map": "./static/js/247.6b8f3ceb.chunk.js.map",
"2408.a316c373.chunk.js.map": "./static/js/2408.a316c373.chunk.js.map",
"5171.e8fc646a.chunk.js.map": "./static/js/5171.e8fc646a.chunk.js.map",
"3691.ef93d563.chunk.js.map": "./static/js/3691.ef93d563.chunk.js.map",
"1913.62bd1877.chunk.js.map": "./static/js/1913.62bd1877.chunk.js.map",
"1604.d6abf9f0.chunk.js.map": "./static/js/1604.d6abf9f0.chunk.js.map",
"8391.93be3c76.chunk.js.map": "./static/js/8391.93be3c76.chunk.js.map",
"402.bce64a61.chunk.js.map": "./static/js/402.bce64a61.chunk.js.map",
"1705.596850eb.chunk.js.map": "./static/js/1705.596850eb.chunk.js.map",
"1581.5d8bdb2a.chunk.js.map": "./static/js/1581.5d8bdb2a.chunk.js.map",
"455.64f2adc7.chunk.js.map": "./static/js/455.64f2adc7.chunk.js.map",
"2661.358ee4e3.chunk.js.map": "./static/js/2661.358ee4e3.chunk.js.map",
"889.eb646ebf.chunk.js.map": "./static/js/889.eb646ebf.chunk.js.map",
"9088.c0ec4658.chunk.js.map": "./static/js/9088.c0ec4658.chunk.js.map",
"247.6ff1fc3d.chunk.js.map": "./static/js/247.6ff1fc3d.chunk.js.map",
"2408.d23e2b83.chunk.js.map": "./static/js/2408.d23e2b83.chunk.js.map",
"5171.e5224ef3.chunk.js.map": "./static/js/5171.e5224ef3.chunk.js.map",
"3691.ff436a8f.chunk.js.map": "./static/js/3691.ff436a8f.chunk.js.map",
"2426.ab27f6f9.chunk.js.map": "./static/js/2426.ab27f6f9.chunk.js.map",
"3762.52bd15d3.chunk.js.map": "./static/js/3762.52bd15d3.chunk.js.map",
"3801.64b6e473.chunk.js.map": "./static/js/3801.64b6e473.chunk.js.map",
"1918.4309a619.chunk.js.map": "./static/js/1918.4309a619.chunk.js.map",
"2813.cfbfa60f.chunk.js.map": "./static/js/2813.cfbfa60f.chunk.js.map",
"3801.e9dc3054.chunk.js.map": "./static/js/3801.e9dc3054.chunk.js.map",
"1918.9385ad56.chunk.js.map": "./static/js/1918.9385ad56.chunk.js.map",
"1373.c65e2a03.chunk.js.map": "./static/js/1373.c65e2a03.chunk.js.map",
"6431.5f2e5e6e.chunk.js.map": "./static/js/6431.5f2e5e6e.chunk.js.map",
"2011.f505a73d.chunk.js.map": "./static/js/2011.f505a73d.chunk.js.map",
"4814.6d9edd38.chunk.js.map": "./static/js/4814.6d9edd38.chunk.js.map",
"3909.cdbddaab.chunk.js.map": "./static/js/3909.cdbddaab.chunk.js.map",
"137.08d76dda.chunk.js.map": "./static/js/137.08d76dda.chunk.js.map",
"2011.af2dbefb.chunk.js.map": "./static/js/2011.af2dbefb.chunk.js.map",
"2515.322cc076.chunk.js.map": "./static/js/2515.322cc076.chunk.js.map",
"1459.03befbb8.chunk.js.map": "./static/js/1459.03befbb8.chunk.js.map",
"1267.ee70805c.chunk.js.map": "./static/js/1267.ee70805c.chunk.js.map",
"6172.b49c709f.chunk.js.map": "./static/js/6172.b49c709f.chunk.js.map",
"696.21928979.chunk.js.map": "./static/js/696.21928979.chunk.js.map",
"3388.f53bd1d3.chunk.js.map": "./static/js/3388.f53bd1d3.chunk.js.map",
"2567.a2b3cd1e.chunk.js.map": "./static/js/2567.a2b3cd1e.chunk.js.map",
"4709.d61f83b7.chunk.js.map": "./static/js/4709.d61f83b7.chunk.js.map",
"1622.0448f4dd.chunk.js.map": "./static/js/1622.0448f4dd.chunk.js.map",
"8896.79dd4492.chunk.js.map": "./static/js/8896.79dd4492.chunk.js.map",
"6484.3a2447c1.chunk.js.map": "./static/js/6484.3a2447c1.chunk.js.map",
"7142.4191cc91.chunk.js.map": "./static/js/7142.4191cc91.chunk.js.map",
"2691.53531251.chunk.js.map": "./static/js/2691.53531251.chunk.js.map",
"7472.f63abe1f.chunk.js.map": "./static/js/7472.f63abe1f.chunk.js.map",
"6172.12ed66ed.chunk.js.map": "./static/js/6172.12ed66ed.chunk.js.map",
"4827.a3ee5d0a.chunk.js.map": "./static/js/4827.a3ee5d0a.chunk.js.map",
"696.c93c6454.chunk.js.map": "./static/js/696.c93c6454.chunk.js.map",
"3388.6f330810.chunk.js.map": "./static/js/3388.6f330810.chunk.js.map",
"71.323f55a6.chunk.js.map": "./static/js/71.323f55a6.chunk.js.map",
"4709.8bd47e6f.chunk.js.map": "./static/js/4709.8bd47e6f.chunk.js.map",
"3870.a1265f93.chunk.js.map": "./static/js/3870.a1265f93.chunk.js.map",
"6484.de588cc0.chunk.js.map": "./static/js/6484.de588cc0.chunk.js.map",
"7142.93647281.chunk.js.map": "./static/js/7142.93647281.chunk.js.map",
"2691.19d72c3c.chunk.js.map": "./static/js/2691.19d72c3c.chunk.js.map",
"1790.eb475334.chunk.js.map": "./static/js/1790.eb475334.chunk.js.map",
"7472.85d323e5.chunk.js.map": "./static/js/7472.85d323e5.chunk.js.map",
"9515.a4e964be.chunk.js.map": "./static/js/9515.a4e964be.chunk.js.map",
"2983.15e04479.chunk.js.map": "./static/js/2983.15e04479.chunk.js.map",
"5289.d72640f7.chunk.js.map": "./static/js/5289.d72640f7.chunk.js.map",
"2763.d570fce2.chunk.js.map": "./static/js/2763.d570fce2.chunk.js.map"
"48.115b7eb1.chunk.js.map": "./static/js/48.115b7eb1.chunk.js.map",
"2763.d85f5750.chunk.js.map": "./static/js/2763.d85f5750.chunk.js.map"
},
"entrypoints": [
"static/css/main.90d417ae.css",
"static/js/main.e6495671.js"
"static/css/main.b20a708b.css",
"static/js/main.28f60345.js"
]
}

View File

@@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="/"/><meta content="width=device-width,initial-scale=1" name="viewport"/><meta content="#081C42" media="(prefers-color-scheme: light)" name="theme-color"/><meta content="#081C42" media="(prefers-color-scheme: dark)" name="theme-color"/><meta content="MinIO Console" name="description"/><link href="./styles/root-styles.css" rel="stylesheet"/><link href="./apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/><link href="./favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="./favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="./favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="./manifest.json" rel="manifest"/><link color="#3a4e54" href="./safari-pinned-tab.svg" rel="mask-icon"/><title>MinIO Console</title><script defer="defer" src="./static/js/main.e6495671.js"></script><link href="./static/css/main.90d417ae.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div id="preload"><img src="./images/background.svg"/> <img src="./images/background-wave-orig2.svg"/></div><div id="loader-block"><img src="./Loader.svg"/></div></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="/"/><meta content="width=device-width,initial-scale=1" name="viewport"/><meta content="#081C42" media="(prefers-color-scheme: light)" name="theme-color"/><meta content="#081C42" media="(prefers-color-scheme: dark)" name="theme-color"/><meta content="MinIO Console" name="description"/><link href="./styles/root-styles.css" rel="stylesheet"/><link href="./apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/><link href="./favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="./favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="./favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="./manifest.json" rel="manifest"/><link color="#3a4e54" href="./safari-pinned-tab.svg" rel="mask-icon"/><title>MinIO Console</title><script defer="defer" src="./static/js/main.28f60345.js"></script><link href="./static/css/main.b20a708b.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div id="preload"><img src="./images/background.svg"/> <img src="./images/background-wave-orig2.svg"/></div><div id="loader-block"><img src="./Loader.svg"/></div></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1260],{1260:function(t,e,n){n.r(e);n(72791);var o=n(16871),a=n(25469),r=n(45248),u=n(81207),c=n(87995),l=n(46078),i=n(80184);e.default=function(){var t=(0,a.TL)(),e=(0,o.s0)();return function(){var n=function(){(0,r.Ov)(),t((0,c.wr)(!1)),localStorage.setItem("userLoggedIn",""),localStorage.setItem("redirect-path",""),t((0,l.lX)()),e("login")};u.Z.invoke("POST","/api/v1/logout").then((function(){n()})).catch((function(t){console.log(t),n()}))}(),(0,i.jsx)(i.Fragment,{})}}}]);
//# sourceMappingURL=1260.5248e62a.chunk.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"static/js/1260.5248e62a.chunk.js","mappings":"6MAmDA,UA1BmB,WACjB,IAAMA,GAAWC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,MAqBjB,OApBe,WACb,IAAMC,EAAgB,YACpBC,EAAAA,EAAAA,MACAL,GAASM,EAAAA,EAAAA,KAAW,IACpBC,aAAaC,QAAQ,eAAgB,IACrCD,aAAaC,QAAQ,gBAAiB,IACtCR,GAASS,EAAAA,EAAAA,OACTP,EAAS,QACV,EACDQ,EAAAA,EAAAA,OACU,OADV,kBAEGC,MAAK,WACJP,GACD,IACAQ,OAAM,SAACC,GACNC,QAAQC,IAAIF,GACZT,GACD,GACJ,CACDY,IACO,uBACR,C","sources":["screens/LogoutPage/LogoutPage.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../store\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport { clearSession } from \"../../common/utils\";\nimport api from \"../../common/api\";\nimport { userLogged } from \"../../systemSlice\";\nimport { resetSession } from \"../Console/consoleSlice\";\n\nconst LogoutPage = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const logout = () => {\n const deleteSession = () => {\n clearSession();\n dispatch(userLogged(false));\n localStorage.setItem(\"userLoggedIn\", \"\");\n localStorage.setItem(\"redirect-path\", \"\");\n dispatch(resetSession());\n navigate(`login`);\n };\n api\n .invoke(\"POST\", `/api/v1/logout`)\n .then(() => {\n deleteSession();\n })\n .catch((err: ErrorResponseHandler) => {\n console.log(err);\n deleteSession();\n });\n };\n logout();\n return <></>;\n};\n\nexport default LogoutPage;\n"],"names":["dispatch","useAppDispatch","navigate","useNavigate","deleteSession","clearSession","userLogged","localStorage","setItem","resetSession","api","then","catch","err","console","log","logout"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +0,0 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1268],{92217:function(e,n,t){var o=t(1413),i=t(72791),r=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),u=t(25787),d=t(84570),f=t(23814),p=t(38734),m=t(40603),x=t(78029),h=t.n(x),Z=t(85457),j=t(80184);n.Z=(0,u.Z)((function(e){return(0,l.Z)((0,o.Z)({},f.YI))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,l=e.tooltip,u=void 0===l?"":l,f=e.mode,x=void 0===f?"json":f,b=e.classes,g=e.onBeforeChange,y=(e.readOnly,e.editorHeight),v=void 0===y?"250px":y;return(0,j.jsxs)(i.Fragment,{children:[(0,j.jsx)(r.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,j.jsxs)(a.Z,{className:b.inputLabel,children:[(0,j.jsx)("span",{children:o}),""!==u&&(0,j.jsx)("div",{className:b.tooltipContainer,children:(0,j.jsx)(c.Z,{title:u,placement:"top-start",children:(0,j.jsx)("div",{className:b.tooltip,children:(0,j.jsx)(d.Z,{})})})})]})}),(0,j.jsx)(r.ZP,{item:!0,xs:12,style:{maxHeight:v,overflow:"auto",border:"1px solid #eaeaea"},children:(0,j.jsx)(Z.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:v||"initial",color:"#000000"}})}),(0,j.jsx)(r.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,j.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,j.jsx)(h(),{text:n,children:(0,j.jsx)(m.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,j.jsx)(p.TIy,{}),color:"primary",variant:"outlined"})})})})]})}))},82859:function(e,n,t){t.r(n);var o=t(29439),i=t(1413),r=t(72791),a=t(60364),c=t(16871),s=t(61889),l=t(40986),u=t(36151),d=t(11135),f=t(25787),p=t(81207),m=t(23814),x=t(92217),h=t(87995),Z=t(25469),j=t(82295),b=t(50896),g=t(80184);n.default=(0,f.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)({errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},m.ID),m.YI))}))((function(e){var n=e.classes,t=(0,Z.TL)(),i=(0,c.s0)(),d=(0,a.v9)((function(e){return e.tenants.currentTenant})),f=(0,a.v9)((function(e){return e.tenants.currentNamespace})),m=(0,r.useState)(!1),y=(0,o.Z)(m,2),v=y[0],C=y[1],S=(0,r.useState)(!1),P=(0,o.Z)(S,2),w=P[0],k=P[1],T=(0,r.useState)(""),O=(0,o.Z)(T,2),_=O[0],L=O[1],M=(0,r.useState)(""),B=(0,o.Z)(M,2),E=B[0],F=B[1];(0,r.useEffect)((function(){p.Z.invoke("GET","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml")).then((function(e){k(!1),L(e.yaml)})).catch((function(e){k(!1),t((0,h.zb)(e))}))}),[d,f,t]),(0,r.useEffect)((function(){}),[]);var I=""!==_.trim();return(0,g.jsxs)(r.Fragment,{children:[v||w&&(0,g.jsx)(s.ZP,{item:!0,xs:12,children:(0,g.jsx)(l.Z,{})}),""!==E&&(0,g.jsx)("div",{className:n.errorState,children:E}),!w&&(0,g.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),v||(C(!0),F(""),p.Z.invoke("PUT","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml"),{yaml:_}).then((function(e){C(!1),t((0,j.v)()),F(""),i("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))})).catch((function(e){C(!1),F(e.errorMessage)})))},children:(0,g.jsxs)(s.ZP,{container:!0,children:[(0,g.jsx)(s.ZP,{item:!0,xs:12,children:(0,g.jsx)(b.Z,{children:"Tenant Specification"})}),(0,g.jsx)(s.ZP,{item:!0,xs:12,children:(0,g.jsx)(x.Z,{value:_,mode:"yaml",onBeforeChange:function(e,n,t){L(t)},editorHeight:"550px"})}),(0,g.jsxs)(s.ZP,{item:!0,xs:12,style:{textAlign:"right",paddingTop:16},children:[(0,g.jsx)(u.Z,{type:"button",variant:"outlined",color:"primary",disabled:v,onClick:function(){i("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))},children:"Cancel"}),(0,g.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",disabled:v||!I,style:{marginLeft:8},children:"Save"})]})]})})]})}))},61120:function(e,n,t){function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}t.d(n,{Z:function(){return o}})},60136:function(e,n,t){t.d(n,{Z:function(){return i}});var o=t(89611);function i(e,n){if("function"!==typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&(0,o.Z)(e,n)}},82963:function(e,n,t){t.d(n,{Z:function(){return r}});var o=t(71002),i=t(97326);function r(e,n){if(n&&("object"===(0,o.Z)(n)||"function"===typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return(0,i.Z)(e)}}}]);
//# sourceMappingURL=1268.5e491143.chunk.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1268],{92217:function(e,n,t){var o=t(1413),r=t(72791),i=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),u=t(25787),d=t(84570),f=t(23814),p=t(38734),m=t(75952),x=t(78029),h=t.n(x),b=t(90932),g=t(27454),j=t(80184);n.Z=(0,u.Z)((function(e){return(0,l.Z)((0,o.Z)({},f.YI))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,l=e.tooltip,u=void 0===l?"":l,f=e.mode,x=void 0===f?"json":f,y=e.classes,Z=e.onBeforeChange,v=(e.readOnly,e.editorHeight),C=void 0===v?"250px":v;return(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(i.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,j.jsxs)(a.Z,{className:y.inputLabel,children:[(0,j.jsx)("span",{children:o}),""!==u&&(0,j.jsx)("div",{className:y.tooltipContainer,children:(0,j.jsx)(c.Z,{title:u,placement:"top-start",children:(0,j.jsx)("div",{className:y.tooltip,children:(0,j.jsx)(d.Z,{})})})})]})}),(0,j.jsx)(i.ZP,{item:!0,xs:12,style:{maxHeight:C,overflow:"auto",border:"1px solid #eaeaea"},children:(0,j.jsx)(b.Z,{value:n,language:x,onChange:function(e){Z(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:C||"initial",color:"#000000"}})}),(0,j.jsx)(i.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,j.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,j.jsx)(g.Z,{tooltip:"Copy to Clipboard",children:(0,j.jsx)(h(),{text:n,children:(0,j.jsx)(m.z,{type:"button",id:"copy-code-mirror",icon:(0,j.jsx)(p.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},82859:function(e,n,t){t.r(n);var o=t(29439),r=t(1413),i=t(72791),a=t(60364),c=t(16871),s=t(40986),l=t(75952),u=t(61889),d=t(11135),f=t(25787),p=t(81207),m=t(23814),x=t(92217),h=t(87995),b=t(25469),g=t(82295),j=t(50896),y=t(80184);n.default=(0,f.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},m.ID),m.YI))}))((function(e){var n=e.classes,t=(0,b.TL)(),r=(0,c.s0)(),d=(0,a.v9)((function(e){return e.tenants.currentTenant})),f=(0,a.v9)((function(e){return e.tenants.currentNamespace})),m=(0,i.useState)(!1),Z=(0,o.Z)(m,2),v=Z[0],C=Z[1],S=(0,i.useState)(!1),P=(0,o.Z)(S,2),w=P[0],T=P[1],k=(0,i.useState)(""),O=(0,o.Z)(k,2),_=O[0],z=O[1],L=(0,i.useState)(""),M=(0,o.Z)(L,2),B=M[0],E=M[1];(0,i.useEffect)((function(){p.Z.invoke("GET","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml")).then((function(e){T(!1),z(e.yaml)})).catch((function(e){T(!1),t((0,h.zb)(e))}))}),[d,f,t]),(0,i.useEffect)((function(){}),[]);var F=""!==_.trim();return(0,y.jsxs)(i.Fragment,{children:[v||w&&(0,y.jsx)(u.ZP,{item:!0,xs:12,children:(0,y.jsx)(s.Z,{})}),""!==B&&(0,y.jsx)("div",{className:n.errorState,children:B}),!w&&(0,y.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),v||(C(!0),E(""),p.Z.invoke("PUT","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml"),{yaml:_}).then((function(e){C(!1),t((0,g.v)()),E(""),r("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))})).catch((function(e){C(!1),E(e.errorMessage)})))},children:(0,y.jsxs)(u.ZP,{container:!0,children:[(0,y.jsx)(u.ZP,{item:!0,xs:12,children:(0,y.jsx)(j.Z,{children:"Tenant Specification"})}),(0,y.jsx)(u.ZP,{item:!0,xs:12,children:(0,y.jsx)(x.Z,{value:_,mode:"yaml",onBeforeChange:function(e,n,t){z(t)},editorHeight:"550px"})}),(0,y.jsxs)(u.ZP,{item:!0,xs:12,style:{textAlign:"right",paddingTop:16},children:[(0,y.jsx)(l.z,{id:"cancel-tenant-yaml",type:"button",variant:"regular",disabled:v,onClick:function(){r("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))},label:"Cancel"}),(0,y.jsx)(l.z,{id:"save-tenant-yaml",type:"submit",variant:"callAction",disabled:v||!F,style:{marginLeft:8},label:"Save"})]})]})})]})}))},61120:function(e,n,t){function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}t.d(n,{Z:function(){return o}})},60136:function(e,n,t){t.d(n,{Z:function(){return r}});var o=t(89611);function r(e,n){if("function"!==typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&(0,o.Z)(e,n)}},82963:function(e,n,t){t.d(n,{Z:function(){return i}});var o=t(71002),r=t(97326);function i(e,n){if(n&&("object"===(0,o.Z)(n)||"function"===typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return(0,r.Z)(e)}}}]);
//# sourceMappingURL=1268.ed4d5bd8.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More