Compare commits
120 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6705b685c | ||
|
|
6b11d403a6 | ||
|
|
8958cbec69 | ||
|
|
5ef66c3cfc | ||
|
|
d4395e1409 | ||
|
|
8a4139c8e7 | ||
|
|
34bcd25c9f | ||
|
|
7853aa6bb9 | ||
|
|
9c1f0c47b0 | ||
|
|
6ac95e40a4 | ||
|
|
70fb7291f5 | ||
|
|
4b28bf5921 | ||
|
|
99d5e71512 | ||
|
|
2a5c1afbdf | ||
|
|
51a9482e91 | ||
|
|
d01eeb43a7 | ||
|
|
7121dbfcea | ||
|
|
e5fc6e3125 | ||
|
|
396d8fbcfc | ||
|
|
f958b73e48 | ||
|
|
940c7dc5bc | ||
|
|
cdadb05551 | ||
|
|
1dcdc61ce8 | ||
|
|
7174892231 | ||
|
|
3262212bd0 | ||
|
|
ee1a6718d7 | ||
|
|
1c6a29bc20 | ||
|
|
6b02f472e6 | ||
|
|
eddb6a810b | ||
|
|
3b1449c029 | ||
|
|
365778eecb | ||
|
|
52fac7f542 | ||
|
|
5c96eb9e25 | ||
|
|
cd5f5cb635 | ||
|
|
e17a371744 | ||
|
|
4f72aa969b | ||
|
|
3a84cba801 | ||
|
|
9df7b815e9 | ||
|
|
3617ff2aef | ||
|
|
e7f16b4899 | ||
|
|
dbe456c1a9 | ||
|
|
6a96ec8177 | ||
|
|
85398eec53 | ||
|
|
e7f220b069 | ||
|
|
1bb7658294 | ||
|
|
39b7b3292a | ||
|
|
38cf606371 | ||
|
|
5e3f9acff9 | ||
|
|
2305c0563a | ||
|
|
b5a3398a69 | ||
|
|
c787110e17 | ||
|
|
1a83797a86 | ||
|
|
68e0f1d6a2 | ||
|
|
2d3a3c396c | ||
|
|
d6aceb5430 | ||
|
|
1c109769df | ||
|
|
f3bcfc327d | ||
|
|
fd779c2ffa | ||
|
|
58903e8337 | ||
|
|
5b98bb8fd6 | ||
|
|
c98d5c06d0 | ||
|
|
33c979783d | ||
|
|
eeb95b2bf6 | ||
|
|
e5c96a0787 | ||
|
|
e3c6e22b4e | ||
|
|
9789ec36db | ||
|
|
51ba86fa46 | ||
|
|
f5922bb68b | ||
|
|
40812fc086 | ||
|
|
8b34b81a61 | ||
|
|
04e1c4573f | ||
|
|
d7de170105 | ||
|
|
369ae9342e | ||
|
|
2b1d17e38f | ||
|
|
d5c01fcd7d | ||
|
|
d97d18ebab | ||
|
|
aa2714d118 | ||
|
|
06f259f190 | ||
|
|
77e74917ca | ||
|
|
d582cc96b7 | ||
|
|
0288215fbb | ||
|
|
d3e84e5824 | ||
|
|
dd91c793e2 | ||
|
|
b495148a69 | ||
|
|
e0f3e4513d | ||
|
|
6512a51119 | ||
|
|
90c54221d6 | ||
|
|
3f023f9771 | ||
|
|
a4ad341a18 | ||
|
|
2d6f949359 | ||
|
|
7577703d64 | ||
|
|
b24d62a695 | ||
|
|
e541446631 | ||
|
|
e2d86354fc | ||
|
|
1ce18043d5 | ||
|
|
4005c20f7e | ||
|
|
5bcf245ed9 | ||
|
|
402e07c844 | ||
|
|
8404baecd8 | ||
|
|
3c0e3a1208 | ||
|
|
cb35dcf971 | ||
|
|
41418bcf45 | ||
|
|
132b08b40e | ||
|
|
dbbaae78f7 | ||
|
|
585780d415 | ||
|
|
44b9979f02 | ||
|
|
0749c87ce7 | ||
|
|
e5f7059a5e | ||
|
|
d15472f417 | ||
|
|
726bfe623c | ||
|
|
e47a57af8c | ||
|
|
f673f17407 | ||
|
|
829833f242 | ||
|
|
94c3ade7fc | ||
|
|
4a27ef4b2c | ||
|
|
59b43884ff | ||
|
|
219fe55356 | ||
|
|
9136c2a167 | ||
|
|
114bc364e3 | ||
|
|
2caad9964f |
@@ -4,3 +4,4 @@ target/
|
|||||||
console
|
console
|
||||||
!console/
|
!console/
|
||||||
portal-ui/node_modules/
|
portal-ui/node_modules/
|
||||||
|
.git/
|
||||||
|
|||||||
3
.github/workflows/go.yml
vendored
3
.github/workflows/go.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version: [1.15.x]
|
go-version: [1.15.x, 1.16.x]
|
||||||
os: [ubuntu-latest]
|
os: [ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
|
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
|
||||||
@@ -33,4 +33,5 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
make verifiers
|
make verifiers
|
||||||
make test
|
make test
|
||||||
|
make crosscompile
|
||||||
make console
|
make console
|
||||||
|
|||||||
15
.github/workflows/react.yml
vendored
Normal file
15
.github/workflows/react.yml
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
name: "React Tests"
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Install modules
|
||||||
|
working-directory: ./portal-ui
|
||||||
|
run: yarn
|
||||||
|
- name: Run tests
|
||||||
|
working-directory: ./portal-ui
|
||||||
|
run: yarn test
|
||||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -24,6 +24,11 @@ console
|
|||||||
|
|
||||||
dist/
|
dist/
|
||||||
|
|
||||||
|
# Ignore node_modules
|
||||||
|
|
||||||
|
portal-ui/node_modules/
|
||||||
|
portal-ui/build/
|
||||||
|
|
||||||
# Ignore tls cert and key
|
# Ignore tls cert and key
|
||||||
private.key
|
private.key
|
||||||
public.crt
|
public.crt
|
||||||
@@ -32,3 +37,4 @@ public.crt
|
|||||||
.vscode/
|
.vscode/
|
||||||
*.code-workspace
|
*.code-workspace
|
||||||
*~
|
*~
|
||||||
|
.eslintcache
|
||||||
|
|||||||
143
.goreleaser.yml
143
.goreleaser.yml
@@ -3,111 +3,134 @@
|
|||||||
project_name: console
|
project_name: console
|
||||||
|
|
||||||
release:
|
release:
|
||||||
name_template: "Version {{.Version}}"
|
name_template: "Release version {{.Tag}}"
|
||||||
github:
|
github:
|
||||||
owner: minio
|
owner: minio
|
||||||
name: console
|
name: console
|
||||||
|
extra_files:
|
||||||
|
- glob: "*.minisig"
|
||||||
|
|
||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
# you may remove this if you don't use vgo
|
# you may remove this if you don't use vgo
|
||||||
- go mod tidy
|
- go mod tidy
|
||||||
- docker build -f Dockerfile.assets -t consoleassets .
|
|
||||||
- docker create --name extract consoleassets
|
|
||||||
- docker cp extract:/app/bindata_assetfs.go ./portal-ui/
|
|
||||||
- docker rm extract
|
|
||||||
|
|
||||||
builds:
|
builds:
|
||||||
-
|
-
|
||||||
goos:
|
goos:
|
||||||
- freebsd
|
|
||||||
- windows
|
|
||||||
- linux
|
- linux
|
||||||
- darwin
|
- darwin
|
||||||
|
- windows
|
||||||
goarch:
|
goarch:
|
||||||
- amd64
|
- amd64
|
||||||
|
- ppc64le
|
||||||
|
- s390x
|
||||||
- arm64
|
- arm64
|
||||||
|
|
||||||
ignore:
|
ignore:
|
||||||
- goos: darwin
|
|
||||||
goarch: arm64
|
|
||||||
- goos: darwin
|
- goos: darwin
|
||||||
goarch: arm
|
goarch: arm
|
||||||
- goos: darwin
|
|
||||||
goarch: ppc64le
|
|
||||||
- goos: darwin
|
|
||||||
goarch: s390x
|
|
||||||
- goos: windows
|
- goos: windows
|
||||||
goarch: arm64
|
goarch: arm64
|
||||||
- goos: windows
|
- goos: windows
|
||||||
goarch: arm
|
goarch: arm
|
||||||
- goos: windows
|
|
||||||
goarch: ppc64le
|
|
||||||
- goos: windows
|
|
||||||
goarch: s390x
|
|
||||||
- goos: freebsd
|
|
||||||
goarch: arm
|
|
||||||
- goos: freebsd
|
|
||||||
goarch: arm64
|
|
||||||
- goos: freebsd
|
|
||||||
goarch: ppc64le
|
|
||||||
- goos: freebsd
|
|
||||||
goarch: s390x
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
|
|
||||||
main: ./cmd/console/
|
main: ./cmd/console/
|
||||||
|
|
||||||
flags:
|
flags:
|
||||||
- -trimpath
|
- -trimpath
|
||||||
- --tags=kqueue
|
- --tags=kqueue
|
||||||
|
|
||||||
ldflags:
|
ldflags:
|
||||||
- -s -w -X github.com/minio/console/pkg.ReleaseTag={{.Tag}} -X github.com/minio/console/pkg.CommitID={{.FullCommit}} -X github.com/minio/console/pkg.Version={{.Version}} -X github.com/minio/console/pkg.ShortCommitID={{.ShortCommit}} -X github.com/minio/console/pkg.ReleaseTime={{.Date}}
|
- -s -w -X github.com/minio/console/pkg.ReleaseTag={{.Tag}} -X github.com/minio/console/pkg.CommitID={{.FullCommit}} -X github.com/minio/console/pkg.Version={{.Version}} -X github.com/minio/console/pkg.ShortCommitID={{.ShortCommit}} -X github.com/minio/console/pkg.ReleaseTime={{.Date}}
|
||||||
|
|
||||||
archives:
|
archives:
|
||||||
-
|
-
|
||||||
|
name_template: "{{ .ProjectName }}-{{ .Os }}-{{ .Arch }}"
|
||||||
|
format: binary
|
||||||
replacements:
|
replacements:
|
||||||
darwin: Darwin
|
arm: arm
|
||||||
linux: Linux
|
|
||||||
windows: Windows
|
signs:
|
||||||
freebsd: FreeBSD
|
-
|
||||||
amd64: x86_64
|
signature: "${artifact}.minisig"
|
||||||
format_overrides:
|
cmd: "sh"
|
||||||
- goos: windows
|
args:
|
||||||
format: zip
|
- '-c'
|
||||||
files:
|
- 'minisign -s /media/${USER}/minio/minisign.key -Sm ${artifact} < /media/${USER}/minio/minisign-passphrase'
|
||||||
- README.md
|
artifacts: all
|
||||||
- LICENSE
|
|
||||||
checksum:
|
|
||||||
name_template: 'checksums.txt'
|
|
||||||
snapshot:
|
snapshot:
|
||||||
name_template: 'snapshot-{{ time "2006-01-02" }}'
|
name_template: v0.0.0@{{.ShortCommit}}
|
||||||
|
|
||||||
changelog:
|
changelog:
|
||||||
sort: asc
|
sort: asc
|
||||||
filters:
|
|
||||||
exclude:
|
|
||||||
- '^docs:'
|
|
||||||
- '^test:'
|
|
||||||
nfpms:
|
nfpms:
|
||||||
-
|
-
|
||||||
vendor: MinIO Inc.
|
vendor: MinIO, Inc.
|
||||||
homepage: https://github.com/minio/console
|
homepage: https://github.com/minio/console
|
||||||
maintainer: MinIO <minio@minio.io>
|
maintainer: MinIO Development <dev@min.io>
|
||||||
description: MinIO Console Server
|
description: MinIO Console Server
|
||||||
license: GNU Affero General Public License v3.0
|
license: GNU Affero General Public License v3.0
|
||||||
formats:
|
formats:
|
||||||
- deb
|
- deb
|
||||||
- rpm
|
- rpm
|
||||||
replacements:
|
|
||||||
darwin: Darwin
|
|
||||||
linux: Linux
|
|
||||||
freebsd: FreeBSD
|
|
||||||
amd64: x86_64
|
|
||||||
dockers:
|
dockers:
|
||||||
-
|
- image_templates:
|
||||||
# GOOS of the built binary that should be used.
|
- "minio/console:{{ .Tag }}-amd64"
|
||||||
goos: linux
|
use_buildx: true
|
||||||
# GOARCH of the built binary that should be used.
|
goarch: amd64
|
||||||
goarch: amd64
|
dockerfile: Dockerfile.release
|
||||||
dockerfile: Dockerfile.release
|
extra_files:
|
||||||
image_templates:
|
- LICENSE
|
||||||
- "minio/console:{{ .Tag }}"
|
- CREDITS
|
||||||
- "minio/console:latest"
|
build_flag_templates:
|
||||||
|
- "--platform=linux/amd64"
|
||||||
|
- image_templates:
|
||||||
|
- "minio/console:{{ .Tag }}-ppc64le"
|
||||||
|
use_buildx: true
|
||||||
|
goarch: ppc64le
|
||||||
|
dockerfile: Dockerfile.release
|
||||||
|
extra_files:
|
||||||
|
- LICENSE
|
||||||
|
- CREDITS
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/ppc64le"
|
||||||
|
- image_templates:
|
||||||
|
- "minio/console:{{ .Tag }}-s390x"
|
||||||
|
use_buildx: true
|
||||||
|
goarch: s390x
|
||||||
|
dockerfile: Dockerfile.release
|
||||||
|
extra_files:
|
||||||
|
- LICENSE
|
||||||
|
- CREDITS
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/s390x"
|
||||||
|
- image_templates:
|
||||||
|
- "minio/console:{{ .Tag }}-arm64"
|
||||||
|
use_buildx: true
|
||||||
|
goarch: arm64
|
||||||
|
goos: linux
|
||||||
|
dockerfile: Dockerfile.release
|
||||||
|
extra_files:
|
||||||
|
- LICENSE
|
||||||
|
- CREDITS
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/arm64"
|
||||||
|
docker_manifests:
|
||||||
|
- name_template: minio/console:{{ .Tag }}
|
||||||
|
image_templates:
|
||||||
|
- minio/console:{{ .Tag }}-amd64
|
||||||
|
- minio/console:{{ .Tag }}-arm64
|
||||||
|
- minio/console:{{ .Tag }}-ppc64le
|
||||||
|
- minio/console:{{ .Tag }}-s390x
|
||||||
|
- name_template: minio/console:latest
|
||||||
|
image_templates:
|
||||||
|
- minio/console:{{ .Tag }}-amd64
|
||||||
|
- minio/console:{{ .Tag }}-arm64
|
||||||
|
- minio/console:{{ .Tag }}-ppc64le
|
||||||
|
- minio/console:{{ .Tag }}-s390x
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Run the `billy.ldif` file using `ldapadd` command to create a new user and assig
|
|||||||
|
|
||||||
```
|
```
|
||||||
$ docker cp console/docs/ldap/billy.ldif my-openldap-container:/container/service/slapd/assets/test/billy.ldif
|
$ docker cp console/docs/ldap/billy.ldif my-openldap-container:/container/service/slapd/assets/test/billy.ldif
|
||||||
$ docker exec my-openldap-container ldapadd -x -D "cn=admin,dc=example,dc=org" -w admin -f /container/service/slapd/assets/test/billy.ldif -H ldap://localhost -ZZ
|
$ docker exec my-openldap-container ldapadd -x -D "cn=admin,dc=example,dc=org" -w admin -f /container/service/slapd/assets/test/billy.ldif -H ldap://localhost
|
||||||
```
|
```
|
||||||
|
|
||||||
Query the ldap server to check the user billy was created correctly and got assigned to the consoleAdmin group, you should get a list
|
Query the ldap server to check the user billy was created correctly and got assigned to the consoleAdmin group, you should get a list
|
||||||
@@ -86,9 +86,6 @@ export MINIO_IDENTITY_LDAP_SERVER_INSECURE=on
|
|||||||
## Run Console
|
## Run Console
|
||||||
|
|
||||||
```
|
```
|
||||||
export CONSOLE_ACCESS_KEY=minio
|
|
||||||
export CONSOLE_SECRET_KEY=minio123
|
|
||||||
...
|
|
||||||
export CONSOLE_LDAP_ENABLED=on
|
export CONSOLE_LDAP_ENABLED=on
|
||||||
./console server
|
./console server
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ RUN go mod download
|
|||||||
ADD . /go/src/github.com/minio/console/
|
ADD . /go/src/github.com/minio/console/
|
||||||
WORKDIR /go/src/github.com/minio/console/
|
WORKDIR /go/src/github.com/minio/console/
|
||||||
|
|
||||||
COPY --from=uilayer /app/bindata_assetfs.go /go/src/github.com/minio/console/portal-ui/
|
COPY --from=uilayer /app/bindata_assetfs.go /go/src/github.com/minio/console/portal-ui/bindata_assetfs.go
|
||||||
|
|
||||||
ENV CGO_ENABLED=0
|
ENV CGO_ENABLED=0
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,21 @@
|
|||||||
FROM ubuntu:18.04 as certs
|
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3
|
||||||
|
|
||||||
RUN apt-get update -y && apt-get install -y ca-certificates
|
COPY CREDITS /licenses/CREDITS
|
||||||
|
COPY LICENSE /licenses/LICENSE
|
||||||
|
|
||||||
|
LABEL name="MinIO" \
|
||||||
|
vendor="MinIO Inc <dev@min.io>" \
|
||||||
|
maintainer="MinIO Inc <dev@min.io>" \
|
||||||
|
version="v0.6.3" \
|
||||||
|
release="v0.6.3" \
|
||||||
|
summary="A graphical user interface for MinIO" \
|
||||||
|
description="MinIO object storage is fundamentally different. Designed for performance and the S3 API, it is 100% open-source. MinIO is ideal for large, private cloud environments with stringent security requirements and delivers mission-critical availability across a diverse range of workloads."
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
microdnf update --nodocs && \
|
||||||
|
microdnf install ca-certificates --nodocs
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
MAINTAINER MinIO Development "dev@min.io"
|
|
||||||
EXPOSE 9090
|
EXPOSE 9090
|
||||||
COPY console /console
|
COPY console /console
|
||||||
|
|
||||||
COPY --from=certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
|
||||||
|
|
||||||
ENTRYPOINT ["/console"]
|
ENTRYPOINT ["/console"]
|
||||||
|
|||||||
7
Makefile
7
Makefile
@@ -3,7 +3,7 @@ GOPATH := $(shell go env GOPATH)
|
|||||||
# Sets the build version based on the output of the following command, if we are building for a tag, that's the build else it uses the current git branch as the build
|
# Sets the build version based on the output of the following command, if we are building for a tag, that's the build else it uses the current git branch as the build
|
||||||
BUILD_VERSION:=$(shell git describe --exact-match --tags $(git log -n1 --pretty='%h') 2>/dev/null || git rev-parse --abbrev-ref HEAD 2>/dev/null)
|
BUILD_VERSION:=$(shell git describe --exact-match --tags $(git log -n1 --pretty='%h') 2>/dev/null || git rev-parse --abbrev-ref HEAD 2>/dev/null)
|
||||||
BUILD_TIME:=$(shell date 2>/dev/null)
|
BUILD_TIME:=$(shell date 2>/dev/null)
|
||||||
TAG ?= "minio/console:$(VERSION)-dev"
|
TAG ?= "minio/console:$(BUILD_VERSION)-dev"
|
||||||
|
|
||||||
default: console
|
default: console
|
||||||
|
|
||||||
@@ -30,6 +30,9 @@ fmt:
|
|||||||
@GO111MODULE=on gofmt -d cmd/
|
@GO111MODULE=on gofmt -d cmd/
|
||||||
@GO111MODULE=on gofmt -d cluster/
|
@GO111MODULE=on gofmt -d cluster/
|
||||||
|
|
||||||
|
crosscompile:
|
||||||
|
@(env bash $(PWD)/cross-compile.sh)
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
@echo "Running $@ check"
|
@echo "Running $@ check"
|
||||||
@GO111MODULE=on ${GOPATH}/bin/golangci-lint cache clean
|
@GO111MODULE=on ${GOPATH}/bin/golangci-lint cache clean
|
||||||
@@ -47,7 +50,7 @@ swagger-gen:
|
|||||||
@swagger generate server -A console --main-package=console --exclude-main -P models.Principal -f ./swagger.yml -r NOTICE
|
@swagger generate server -A console --main-package=console --exclude-main -P models.Principal -f ./swagger.yml -r NOTICE
|
||||||
|
|
||||||
assets:
|
assets:
|
||||||
@(cd portal-ui; yarn install; make build-static; cd ..)
|
@(cd portal-ui; yarn install; make build-static; yarn prettier --write . --loglevel warn; cd ..)
|
||||||
|
|
||||||
test:
|
test:
|
||||||
@(GO111MODULE=on go test -race -v github.com/minio/console/restapi/...)
|
@(GO111MODULE=on go test -race -v github.com/minio/console/restapi/...)
|
||||||
|
|||||||
2
NOTICE
2
NOTICE
@@ -1,5 +1,5 @@
|
|||||||
This file is part of MinIO Console Server
|
This file is part of MinIO Console Server
|
||||||
Copyright (c) 2020 MinIO, Inc.
|
Copyright (c) 2021 MinIO, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
131
README.md
131
README.md
@@ -1,28 +1,83 @@
|
|||||||
# MinIO Console
|
# MinIO Console
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
A graphical user interface for [MinIO](https://github.com/minio/minio)
|
A graphical user interface for [MinIO](https://github.com/minio/minio)
|
||||||
|
|
||||||
|
| Dashboard | Creating a bucket |
|
||||||
|
| ------------- | ------------- |
|
||||||
|
|  |  |
|
||||||
|
|
||||||
| Dashboard | Adding A User |
|
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc -->
|
||||||
| ------------- | ------------- |
|
**Table of Contents**
|
||||||
|  |  |
|
|
||||||
|
- [MinIO Console](#minio-console)
|
||||||
|
- [Install](#install)
|
||||||
|
- [Binary Releases](#binary-releases)
|
||||||
|
- [Docker](#docker)
|
||||||
|
- [Build from source](#build-from-source)
|
||||||
|
- [Setup](#setup)
|
||||||
|
- [1. Create a user `console` using `mc`](#1-create-a-user-console-using-mc)
|
||||||
|
- [2. Create a policy for `console` with admin access to all resources (for testing)](#2-create-a-policy-for-console-with-admin-access-to-all-resources-for-testing)
|
||||||
|
- [3. Set the policy for the new `console` user](#3-set-the-policy-for-the-new-console-user)
|
||||||
|
- [Start Console service:](#start-console-service)
|
||||||
|
- [Start Console service with TLS:](#start-console-service-with-tls)
|
||||||
|
- [Connect Console to a Minio using TLS and a self-signed certificate](#connect-console-to-a-minio-using-tls-and-a-self-signed-certificate)
|
||||||
|
- [Contribute to console Project](#contribute-to-console-project)
|
||||||
|
|
||||||
|
<!-- markdown-toc end -->
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
### Binary Releases
|
||||||
|
|
||||||
|
| OS | ARCH | Binary |
|
||||||
|
|:-------:|:-------:|:----------------------------------------------------------------------------------------------------:|
|
||||||
|
| Linux | amd64 | [linux-amd64](https://github.com/minio/console/releases/latest/download/console-linux-amd64) |
|
||||||
|
| Linux | arm64 | [linux-arm64](https://github.com/minio/console/releases/latest/download/console-linux-arm64) |
|
||||||
|
| Linux | ppc64le | [linux-ppc64le](https://github.com/minio/console/releases/latest/download/console-linux-ppc64le) |
|
||||||
|
| Linux | s390x | [linux-s390x](https://github.com/minio/console/releases/latest/download/console-linux-s390x) |
|
||||||
|
| Apple | amd64 | [darwin-amd64](https://github.com/minio/console/releases/latest/download/console-darwin-amd64) |
|
||||||
|
| Windows | amd64 | [windows-amd64](https://github.com/minio/console/releases/latest/download/console-windows-amd64.exe) |
|
||||||
|
|
||||||
|
You can also verify the binary with [minisign](https://jedisct1.github.io/minisign/) by downloading the corresponding [`.minisig`](https://github.com/minio/console/releases/latest) signature file. Then run:
|
||||||
|
```
|
||||||
|
minisign -Vm console-<OS>-<ARCH> -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav
|
||||||
|
```
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
Pull the latest release via:
|
||||||
|
```
|
||||||
|
docker pull minio/console
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build from source
|
||||||
|
|
||||||
|
```
|
||||||
|
GO111MODULE=on go get github.com/minio/console/cmd/console
|
||||||
|
```
|
||||||
|
> You will need a working Go environment. Therefore, please follow [How to install Go](https://golang.org/doc/install).
|
||||||
|
> Minimum version required is go1.14
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
All `console` needs is a MinIO user with admin privileges and URL pointing to your MinIO deployment.
|
All `console` needs is a MinIO user with admin privileges and URL pointing to your MinIO deployment.
|
||||||
|
|
||||||
> Note: We don't recommend using MinIO's Operator Credentials
|
> Note: We don't recommend using MinIO's Operator Credentials
|
||||||
|
|
||||||
1. Create a user for `console` using `mc`.
|
### 1. Create a user `console` using `mc`
|
||||||
```
|
|
||||||
$ set +o history
|
```bash
|
||||||
$ mc admin user add myminio console YOURCONSOLESECRET
|
mc admin user add myminio/
|
||||||
$ set -o history
|
Enter Access Key: console
|
||||||
|
Enter Secret Key: xxxxxxxx
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Create a policy for `console` with access to everything (for testing and debugging)
|
### 2. Create a policy for `console` with admin access to all resources (for testing)
|
||||||
|
|
||||||
```
|
```sh
|
||||||
$ cat > consoleAdmin.json << EOF
|
cat > admin.json << EOF
|
||||||
{
|
{
|
||||||
"Version": "2012-10-17",
|
"Version": "2012-10-17",
|
||||||
"Statement": [{
|
"Statement": [{
|
||||||
@@ -45,19 +100,21 @@ $ cat > consoleAdmin.json << EOF
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
$ mc admin policy add myminio consoleAdmin consoleAdmin.json
|
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Set the policy for the new `console` user
|
```sh
|
||||||
|
mc admin policy add myminio/ consoleAdmin admin.json
|
||||||
```
|
|
||||||
$ mc admin policy set myminio consoleAdmin user=console
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 3. Set the policy for the new `console` user
|
||||||
|
|
||||||
### Note
|
```sh
|
||||||
Additionally, you can create policies to limit the privileges for `console` users, for example, if you want the user to only have access to dashboard, buckets, notifications and watch page, the policy should look like this:
|
mc admin policy set myminio consoleAdmin user=console
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> NOTE: Additionally, you can create policies to limit the privileges for other `console` users, for example, if you want the user to only have access to dashboard, buckets, notifications and watch page, the policy should look like this:
|
||||||
|
|
||||||
|
```json
|
||||||
{
|
{
|
||||||
"Version": "2012-10-17",
|
"Version": "2012-10-17",
|
||||||
"Statement": [{
|
"Statement": [{
|
||||||
@@ -97,33 +154,41 @@ Additionally, you can create policies to limit the privileges for `console` user
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run Console server
|
## Start Console service:
|
||||||
To run the server:
|
|
||||||
|
|
||||||
```
|
Before running console service, following environment settings must be supplied
|
||||||
#required to encrypt jwet payload
|
```sh
|
||||||
|
# Salt to encrypt JWT payload
|
||||||
export CONSOLE_PBKDF_PASSPHRASE=SECRET
|
export CONSOLE_PBKDF_PASSPHRASE=SECRET
|
||||||
|
|
||||||
#required to encrypt jwet payload
|
# Required to encrypt JWT payload
|
||||||
export CONSOLE_PBKDF_SALT=SECRET
|
export CONSOLE_PBKDF_SALT=SECRET
|
||||||
|
|
||||||
export CONSOLE_ACCESS_KEY=console
|
# MinIO Endpoint
|
||||||
export CONSOLE_SECRET_KEY=YOURCONSOLESECRET
|
|
||||||
export CONSOLE_MINIO_SERVER=http://localhost:9000
|
export CONSOLE_MINIO_SERVER=http://localhost:9000
|
||||||
./console server
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run Console with TLS enable
|
Now start the console service.
|
||||||
|
```
|
||||||
|
./console server
|
||||||
|
2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at http://localhost:9090
|
||||||
|
```
|
||||||
|
|
||||||
|
By default `console` runs on port `9090` this can be changed with `--port` of your choice.
|
||||||
|
|
||||||
|
## Start Console service with TLS:
|
||||||
|
|
||||||
Copy your `public.crt` and `private.key` to `~/.console/certs`, then:
|
Copy your `public.crt` and `private.key` to `~/.console/certs`, then:
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
./console server
|
./console server
|
||||||
|
2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at https://localhost:9090
|
||||||
```
|
```
|
||||||
|
|
||||||
Additionally, `Console` has support for multiple certificates, clients can request them using `SNI`. It expects the following structure:
|
For advanced users, `console` has support for multiple certificates to service clients through multiple domains.
|
||||||
|
|
||||||
```bash
|
Following tree structure is expected for supporting multiple domains:
|
||||||
|
```sh
|
||||||
certs/
|
certs/
|
||||||
│
|
│
|
||||||
├─ public.crt
|
├─ public.crt
|
||||||
@@ -141,13 +206,11 @@ Additionally, `Console` has support for multiple certificates, clients can reque
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Therefore, we read all filenames in the cert directory and check
|
|
||||||
for each directory whether it contains a public.crt and private.key.
|
|
||||||
|
|
||||||
## Connect Console to a Minio using TLS and a self-signed certificate
|
## Connect Console to a Minio using TLS and a self-signed certificate
|
||||||
|
|
||||||
Copy the MinIO `ca.crt` under `~/.console/certs/CAs`, then:
|
Copy the MinIO `ca.crt` under `~/.console/certs/CAs`, then:
|
||||||
```
|
|
||||||
|
```sh
|
||||||
export CONSOLE_MINIO_SERVER=https://localhost:9000
|
export CONSOLE_MINIO_SERVER=https://localhost:9000
|
||||||
./console server
|
./console server
|
||||||
```
|
```
|
||||||
|
|||||||
12
SECURITY.md
12
SECURITY.md
@@ -18,13 +18,13 @@ you need access credentials for a successful exploit).
|
|||||||
|
|
||||||
If you have not received a reply to your email within 48 hours or you have not heard from the security team
|
If you have not received a reply to your email within 48 hours or you have not heard from the security team
|
||||||
for the past five days please contact the security team directly:
|
for the past five days please contact the security team directly:
|
||||||
- Primary security coordinator: lenin@min.io
|
- Primary security coordinator: lenin@min.io
|
||||||
- Secondary coordinator: daniel@min.io, cesar@min.io
|
- Secondary coordinator: security@min.io
|
||||||
- If you receive no response: dev@min.io
|
- If you receive no response: dev@min.io
|
||||||
|
|
||||||
### Disclosure Process
|
### Disclosure Process
|
||||||
|
|
||||||
MinIO uses the following disclosure process:
|
MinIO Console uses the following disclosure process:
|
||||||
|
|
||||||
1. Once the security report is received one member of the security team tries to verify and reproduce
|
1. Once the security report is received one member of the security team tries to verify and reproduce
|
||||||
the issue and determines the impact it has.
|
the issue and determines the impact it has.
|
||||||
@@ -33,8 +33,8 @@ MinIO uses the following disclosure process:
|
|||||||
3. Code is audited to find any potential similar problems.
|
3. Code is audited to find any potential similar problems.
|
||||||
4. Fixes are prepared for the latest release.
|
4. Fixes are prepared for the latest release.
|
||||||
5. On the date that the fixes are applied a security advisory will be published on https://blog.min.io.
|
5. On the date that the fixes are applied a security advisory will be published on https://blog.min.io.
|
||||||
Please inform us in your report email whether MinIO should mention your contribution w.r.t. fixing
|
Please inform us in your report email whether MinIO Console should mention your contribution w.r.t. fixing
|
||||||
the security issue. By default MinIO will **not** publish this information to protect your privacy.
|
the security issue. By default MinIO Console will **not** publish this information to protect your privacy.
|
||||||
|
|
||||||
This process can take some time, especially when coordination is required with maintainers of other projects.
|
This process can take some time, especially when coordination is required with maintainers of other projects.
|
||||||
Every effort will be made to handle the bug in as timely a manner as possible, however it's important that we
|
Every effort will be made to handle the bug in as timely a manner as possible, however it's important that we
|
||||||
|
|||||||
38
VULNERABILITY_REPORT.md
Normal file
38
VULNERABILITY_REPORT.md
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
## Vulnerability Management Policy
|
||||||
|
|
||||||
|
This document formally describes the process of addressing and managing a
|
||||||
|
reported vulnerability that has been found in the MinIO Console server code base,
|
||||||
|
any directly connected ecosystem component or a direct / indirect dependency
|
||||||
|
of the code base.
|
||||||
|
|
||||||
|
### Scope
|
||||||
|
|
||||||
|
The vulnerability management policy described in this document covers the
|
||||||
|
process of investigating, assessing and resolving a vulnerability report
|
||||||
|
opened by a MinIO Console employee or an external third party.
|
||||||
|
|
||||||
|
Therefore, it lists pre-conditions and actions that should be performed to
|
||||||
|
resolve and fix a reported vulnerability.
|
||||||
|
|
||||||
|
### Vulnerability Management Process
|
||||||
|
|
||||||
|
The vulnerability management process requires that the vulnerability report
|
||||||
|
contains the following information:
|
||||||
|
|
||||||
|
- The project / component that contains the reported vulnerability.
|
||||||
|
- A description of the vulnerability. In particular, the type of the
|
||||||
|
reported vulnerability and how it might be exploited. Alternatively,
|
||||||
|
a well-established vulnerability identifier, e.g. CVE number, can be
|
||||||
|
used instead.
|
||||||
|
|
||||||
|
Based on the description mentioned above, a MinIO Console engineer or security team
|
||||||
|
member investigates:
|
||||||
|
|
||||||
|
- Whether the reported vulnerability exists.
|
||||||
|
- The conditions that are required such that the vulnerability can be exploited.
|
||||||
|
- The steps required to fix the vulnerability.
|
||||||
|
|
||||||
|
In general, if the vulnerability exists in one of the MinIO Console code bases
|
||||||
|
itself - not in a code dependency - then MinIO Console will, if possible, fix
|
||||||
|
the vulnerability or implement reasonable countermeasures such that the
|
||||||
|
vulnerability cannot be exploited anymore.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
// This file is part of MinIO Kubernetes Cloud
|
// This file is part of MinIO Kubernetes Cloud
|
||||||
// Copyright (c) 2019 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// This file is part of MinIO Kubernetes Cloud
|
// This file is part of MinIO Kubernetes Cloud
|
||||||
// Copyright (c) 2019 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -31,7 +31,6 @@ import (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
errCantDetermineMinIOImage = errors.New("can't determine MinIO Image")
|
errCantDetermineMinIOImage = errors.New("can't determine MinIO Image")
|
||||||
errCantDetermineMCImage = errors.New("can't determine MC Image")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetK8sAPIServer() string {
|
func GetK8sAPIServer() string {
|
||||||
@@ -64,13 +63,8 @@ func GetNsFromFile() string {
|
|||||||
return string(dat)
|
return string(dat)
|
||||||
}
|
}
|
||||||
|
|
||||||
// This operation will run only once at console startup
|
// Namespace will run only once at console startup
|
||||||
var namespace = GetNsFromFile()
|
var Namespace = GetNsFromFile()
|
||||||
|
|
||||||
// Returns the namespace in which the controller is installed
|
|
||||||
func GetNs() string {
|
|
||||||
return env.Get(ConsoleNamespace, namespace)
|
|
||||||
}
|
|
||||||
|
|
||||||
// getLatestMinIOImage returns the latest docker image for MinIO if found on the internet
|
// getLatestMinIOImage returns the latest docker image for MinIO if found on the internet
|
||||||
func getLatestMinIOImage(client HTTPClientI) (*string, error) {
|
func getLatestMinIOImage(client HTTPClientI) (*string, error) {
|
||||||
@@ -125,44 +119,3 @@ func GetLatestMinioImage(client HTTPClientI) (*string, error) {
|
|||||||
}
|
}
|
||||||
return latestMinIOImage, nil
|
return latestMinIOImage, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// getLatestMCImage returns the latest docker image for MC if found on the internet
|
|
||||||
func getLatestMCImage() (*string, error) {
|
|
||||||
// Create an http client with a 4 second timeout
|
|
||||||
client := http.Client{
|
|
||||||
Timeout: 4 * time.Second,
|
|
||||||
}
|
|
||||||
resp, err := client.Get("https://dl.min.io/client/mc/release/linux-amd64/")
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
body, err := ioutil.ReadAll(resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
var re = regexp.MustCompile(`(?m)\.\/mc\.(RELEASE.*?Z)"`)
|
|
||||||
// look for a single match
|
|
||||||
matches := re.FindAllStringSubmatch(string(body), 1)
|
|
||||||
for i := range matches {
|
|
||||||
release := matches[i][1]
|
|
||||||
dockerImage := fmt.Sprintf("minio/mc:%s", release)
|
|
||||||
return &dockerImage, nil
|
|
||||||
}
|
|
||||||
return nil, errCantDetermineMCImage
|
|
||||||
}
|
|
||||||
|
|
||||||
var latestMCImage, errLatestMCImage = getLatestMCImage()
|
|
||||||
|
|
||||||
func GetMCImage() (*string, error) {
|
|
||||||
image := strings.TrimSpace(env.Get(ConsoleMCImage, ""))
|
|
||||||
// if there is a preferred image configured by the user we'll always return that
|
|
||||||
if image != "" {
|
|
||||||
return &image, nil
|
|
||||||
}
|
|
||||||
if errLatestMCImage != nil {
|
|
||||||
return nil, errLatestMCImage
|
|
||||||
}
|
|
||||||
return latestMCImage, nil
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// This file is part of MinIO Kubernetes Cloud
|
// This file is part of MinIO Kubernetes Cloud
|
||||||
// Copyright (c) 2019 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -21,5 +21,4 @@ const (
|
|||||||
ConsoleK8SAPIServerTLSRootCA = "CONSOLE_K8S_API_SERVER_TLS_ROOT_CA"
|
ConsoleK8SAPIServerTLSRootCA = "CONSOLE_K8S_API_SERVER_TLS_ROOT_CA"
|
||||||
ConsoleMinioImage = "CONSOLE_MINIO_IMAGE"
|
ConsoleMinioImage = "CONSOLE_MINIO_IMAGE"
|
||||||
ConsoleMCImage = "CONSOLE_MC_IMAGE"
|
ConsoleMCImage = "CONSOLE_MC_IMAGE"
|
||||||
ConsoleNamespace = "CONSOLE_NAMESPACE"
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// This file is part of MinIO Kubernetes Cloud
|
// This file is part of MinIO Kubernetes Cloud
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
package cluster
|
package cluster
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -25,6 +26,8 @@ import (
|
|||||||
// that are used within this project.
|
// that are used within this project.
|
||||||
type HTTPClientI interface {
|
type HTTPClientI interface {
|
||||||
Get(url string) (resp *http.Response, err error)
|
Get(url string) (resp *http.Response, err error)
|
||||||
|
Post(url, contentType string, body io.Reader) (resp *http.Response, err error)
|
||||||
|
Do(req *http.Request) (*http.Response, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HTTPClient Interface implementation
|
// HTTPClient Interface implementation
|
||||||
@@ -38,3 +41,13 @@ type HTTPClient struct {
|
|||||||
func (c *HTTPClient) Get(url string) (resp *http.Response, err error) {
|
func (c *HTTPClient) Get(url string) (resp *http.Response, err error) {
|
||||||
return c.Client.Get(url)
|
return c.Client.Get(url)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Post implements http.Client.Post()
|
||||||
|
func (c *HTTPClient) Post(url, contentType string, body io.Reader) (resp *http.Response, err error) {
|
||||||
|
return c.Client.Post(url, contentType, body)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do implements http.Client.Do()
|
||||||
|
func (c *HTTPClient) Do(req *http.Request) (*http.Response, error) {
|
||||||
|
return c.Client.Do(req)
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -54,6 +54,7 @@ VERSION:
|
|||||||
|
|
||||||
var appCmds = []cli.Command{
|
var appCmds = []cli.Command{
|
||||||
serverCmd,
|
serverCmd,
|
||||||
|
updateCmd,
|
||||||
}
|
}
|
||||||
|
|
||||||
func newApp(name string) *cli.App {
|
func newApp(name string) *cli.App {
|
||||||
@@ -106,7 +107,7 @@ func newApp(name string) *cli.App {
|
|||||||
app.Author = "MinIO, Inc."
|
app.Author = "MinIO, Inc."
|
||||||
app.Usage = "MinIO Console Server"
|
app.Usage = "MinIO Console Server"
|
||||||
app.Description = `MinIO Console Server`
|
app.Description = `MinIO Console Server`
|
||||||
app.Copyright = "(c) 2020 MinIO, Inc."
|
app.Copyright = "(c) 2021 MinIO, Inc."
|
||||||
app.Compiled, _ = time.Parse(time.RFC3339, pkg.ReleaseTime)
|
app.Compiled, _ = time.Parse(time.RFC3339, pkg.ReleaseTime)
|
||||||
app.Commands = commands
|
app.Commands = commands
|
||||||
app.HideHelpCommand = true // Hide `help, h` command, we already have `minio --help`.
|
app.HideHelpCommand = true // Hide `help, h` command, we already have `minio --help`.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -57,6 +57,11 @@ var serverCmd = cli.Command{
|
|||||||
Value: restapi.GetTLSPort(),
|
Value: restapi.GetTLSPort(),
|
||||||
Usage: "HTTPS server port",
|
Usage: "HTTPS server port",
|
||||||
},
|
},
|
||||||
|
cli.StringFlag{
|
||||||
|
Name: "tls-redirect",
|
||||||
|
Value: restapi.GetTLSRedirect(),
|
||||||
|
Usage: "HTTPS redirect by default",
|
||||||
|
},
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "certs-dir",
|
Name: "certs-dir",
|
||||||
Value: certs.GlobalCertsCADir.Get(),
|
Value: certs.GlobalCertsCADir.Get(),
|
||||||
@@ -125,7 +130,7 @@ func startServer(ctx *cli.Context) error {
|
|||||||
// Need to store tls-port, tls-host un config variables so secure.middleware can read from there
|
// Need to store tls-port, tls-host un config variables so secure.middleware can read from there
|
||||||
restapi.TLSPort = fmt.Sprintf("%v", ctx.Int("tls-port"))
|
restapi.TLSPort = fmt.Sprintf("%v", ctx.Int("tls-port"))
|
||||||
restapi.TLSHostname = ctx.String("tls-host")
|
restapi.TLSHostname = ctx.String("tls-host")
|
||||||
restapi.TLSRedirect = "on"
|
restapi.TLSRedirect = ctx.String("tls-redirect")
|
||||||
}
|
}
|
||||||
|
|
||||||
server.ConfigureAPI()
|
server.ConfigureAPI()
|
||||||
|
|||||||
154
cmd/console/update.go
Normal file
154
cmd/console/update.go
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
// This file is part of MinIO Console Server
|
||||||
|
// Copyright (c) 2021 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 main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"net"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"runtime"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/blang/semver/v4"
|
||||||
|
"github.com/cheggaaa/pb/v3"
|
||||||
|
"github.com/minio/cli"
|
||||||
|
"github.com/minio/console/pkg"
|
||||||
|
"github.com/minio/selfupdate"
|
||||||
|
)
|
||||||
|
|
||||||
|
func getUpdateTransport(timeout time.Duration) http.RoundTripper {
|
||||||
|
var updateTransport http.RoundTripper = &http.Transport{
|
||||||
|
Proxy: http.ProxyFromEnvironment,
|
||||||
|
DialContext: (&net.Dialer{
|
||||||
|
Timeout: timeout,
|
||||||
|
KeepAlive: timeout,
|
||||||
|
DualStack: true,
|
||||||
|
}).DialContext,
|
||||||
|
IdleConnTimeout: timeout,
|
||||||
|
TLSHandshakeTimeout: timeout,
|
||||||
|
ExpectContinueTimeout: timeout,
|
||||||
|
DisableCompression: true,
|
||||||
|
}
|
||||||
|
return updateTransport
|
||||||
|
}
|
||||||
|
|
||||||
|
func getUpdateReaderFromURL(u string, transport http.RoundTripper) (io.ReadCloser, int64, error) {
|
||||||
|
clnt := &http.Client{
|
||||||
|
Transport: transport,
|
||||||
|
}
|
||||||
|
req, err := http.NewRequest(http.MethodGet, u, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, -1, err
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := clnt.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, -1, err
|
||||||
|
}
|
||||||
|
return resp.Body, resp.ContentLength, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
const defaultPubKey = "RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav"
|
||||||
|
|
||||||
|
func getLatestRelease(tr http.RoundTripper) (string, error) {
|
||||||
|
releaseURL := "https://api.github.com/repos/minio/console/releases/latest"
|
||||||
|
|
||||||
|
body, _, err := getUpdateReaderFromURL(releaseURL, tr)
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("unable to access github release URL %w", err)
|
||||||
|
}
|
||||||
|
defer body.Close()
|
||||||
|
|
||||||
|
lm := make(map[string]interface{})
|
||||||
|
if err = json.NewDecoder(body).Decode(&lm); err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
rel, ok := lm["tag_name"].(string)
|
||||||
|
if !ok {
|
||||||
|
return "", errors.New("unable to find latest release tag")
|
||||||
|
}
|
||||||
|
return rel, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// update console in-place
|
||||||
|
var updateCmd = cli.Command{
|
||||||
|
Name: "update",
|
||||||
|
Usage: "update console to latest release",
|
||||||
|
Action: updateInplace,
|
||||||
|
}
|
||||||
|
|
||||||
|
func updateInplace(ctx *cli.Context) error {
|
||||||
|
transport := getUpdateTransport(30 * time.Second)
|
||||||
|
rel, err := getLatestRelease(transport)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
latest, err := semver.Make(strings.TrimPrefix(rel, "v"))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
current, err := semver.Make(pkg.Version)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if current.GTE(latest) {
|
||||||
|
fmt.Printf("You are already running the latest version v%v.\n", pkg.Version)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
consoleBin := fmt.Sprintf("https://github.com/minio/console/releases/download/%s/console-%s-%s", rel, runtime.GOOS, runtime.GOARCH)
|
||||||
|
reader, length, err := getUpdateReaderFromURL(consoleBin, transport)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("unable to fetch binary from %s: %w", consoleBin, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
minisignPubkey := os.Getenv("CONSOLE_MINISIGN_PUBKEY")
|
||||||
|
if minisignPubkey == "" {
|
||||||
|
minisignPubkey = defaultPubKey
|
||||||
|
}
|
||||||
|
|
||||||
|
v := selfupdate.NewVerifier()
|
||||||
|
if err = v.LoadFromURL(consoleBin+".minisig", minisignPubkey, transport); err != nil {
|
||||||
|
return fmt.Errorf("unable to fetch binary signature for %s: %w", consoleBin, err)
|
||||||
|
}
|
||||||
|
opts := selfupdate.Options{
|
||||||
|
Verifier: v,
|
||||||
|
}
|
||||||
|
|
||||||
|
tmpl := `{{ red "Downloading:" }} {{bar . (red "[") (green "=") (red "]")}} {{speed . | rndcolor }}`
|
||||||
|
bar := pb.ProgressBarTemplate(tmpl).Start64(length)
|
||||||
|
barReader := bar.NewProxyReader(reader)
|
||||||
|
if err = selfupdate.Apply(barReader, opts); err != nil {
|
||||||
|
bar.Finish()
|
||||||
|
if rerr := selfupdate.RollbackError(err); rerr != nil {
|
||||||
|
return rerr
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
bar.Finish()
|
||||||
|
fmt.Printf("Updated 'console' to latest release %s\n", rel)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
34
cross-compile.sh
Executable file
34
cross-compile.sh
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
# Enable tracing if set.
|
||||||
|
[ -n "$BASH_XTRACEFD" ] && set -x
|
||||||
|
|
||||||
|
_init() {
|
||||||
|
## All binaries are static make sure to disable CGO.
|
||||||
|
export CGO_ENABLED=0
|
||||||
|
|
||||||
|
## List of architectures and OS to test coss compilation.
|
||||||
|
SUPPORTED_OSARCH="linux/ppc64le linux/mips64 linux/arm64 linux/s390x darwin/amd64 freebsd/amd64 windows/amd64 linux/arm linux/386 netbsd/amd64"
|
||||||
|
}
|
||||||
|
|
||||||
|
_build() {
|
||||||
|
local osarch=$1
|
||||||
|
IFS=/ read -r -a arr <<<"$osarch"
|
||||||
|
os="${arr[0]}"
|
||||||
|
arch="${arr[1]}"
|
||||||
|
package=$(go list -f '{{.ImportPath}}' ./cmd/console)
|
||||||
|
printf -- "--> %15s:%s\n" "${osarch}" "${package}"
|
||||||
|
|
||||||
|
# go build -trimpath to build the binary.
|
||||||
|
GOOS=$os GOARCH=$arch GO111MODULE=on go build -trimpath --tags=kqueue --ldflags "-s -w" -o /dev/null ./cmd/console
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
echo "Testing builds for OS/Arch: ${SUPPORTED_OSARCH}"
|
||||||
|
for each_osarch in ${SUPPORTED_OSARCH}; do
|
||||||
|
_build "${each_osarch}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
_init && main "$@"
|
||||||
22
go.mod
22
go.mod
@@ -3,6 +3,8 @@ module github.com/minio/console
|
|||||||
go 1.15
|
go 1.15
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/blang/semver/v4 v4.0.0
|
||||||
|
github.com/cheggaaa/pb/v3 v3.0.6
|
||||||
github.com/coreos/go-oidc v2.2.1+incompatible
|
github.com/coreos/go-oidc v2.2.1+incompatible
|
||||||
github.com/elazarl/go-bindata-assetfs v1.0.0
|
github.com/elazarl/go-bindata-assetfs v1.0.0
|
||||||
github.com/go-openapi/errors v0.19.6
|
github.com/go-openapi/errors v0.19.6
|
||||||
@@ -16,20 +18,22 @@ require (
|
|||||||
github.com/jessevdk/go-flags v1.4.0
|
github.com/jessevdk/go-flags v1.4.0
|
||||||
github.com/minio/cli v1.22.0
|
github.com/minio/cli v1.22.0
|
||||||
github.com/minio/kes v0.11.0
|
github.com/minio/kes v0.11.0
|
||||||
github.com/minio/mc v0.0.0-20201119214335-d4f9ea859d6c
|
github.com/minio/mc v0.0.0-20210301162250-f9d36f9b5243
|
||||||
github.com/minio/minio v0.0.0-20201102034248-d8e07f2c41c8
|
github.com/minio/minio v0.0.0-20210301203133-e8d8dfa3ae8f
|
||||||
github.com/minio/minio-go/v7 v7.0.6-0.20201119032702-6914cb678dde
|
github.com/minio/minio-go/v7 v7.0.10
|
||||||
github.com/minio/operator v0.0.0-20201022162018-527e5c32132b
|
github.com/minio/operator v0.0.0-20210201110528-753019b838b4
|
||||||
|
github.com/minio/operator/logsearchapi v0.0.0-20210201110528-753019b838b4
|
||||||
|
github.com/minio/selfupdate v0.3.1
|
||||||
github.com/mitchellh/go-homedir v1.1.0
|
github.com/mitchellh/go-homedir v1.1.0
|
||||||
github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect
|
github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect
|
||||||
github.com/secure-io/sio-go v0.3.1
|
github.com/secure-io/sio-go v0.3.1
|
||||||
github.com/stretchr/testify v1.6.1
|
github.com/stretchr/testify v1.6.1
|
||||||
github.com/unrolled/secure v1.0.7
|
github.com/unrolled/secure v1.0.7
|
||||||
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee
|
golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392
|
||||||
golang.org/x/net v0.0.0-20201010224723-4f7140c49acb
|
golang.org/x/net v0.0.0-20201216054612-986b41b23924
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
||||||
gopkg.in/yaml.v2 v2.3.0
|
gopkg.in/yaml.v2 v2.3.0
|
||||||
k8s.io/api v0.18.6
|
k8s.io/api v0.20.2
|
||||||
k8s.io/apimachinery v0.18.6
|
k8s.io/apimachinery v0.20.2
|
||||||
k8s.io/client-go v0.18.6
|
k8s.io/client-go v0.20.2
|
||||||
)
|
)
|
||||||
|
|||||||
BIN
images/pic1.png
BIN
images/pic1.png
Binary file not shown.
|
Before Width: | Height: | Size: 635 KiB After Width: | Height: | Size: 1.7 MiB |
BIN
images/pic2.png
BIN
images/pic2.png
Binary file not shown.
|
Before Width: | Height: | Size: 688 KiB After Width: | Height: | Size: 1.6 MiB |
@@ -1,5 +1,5 @@
|
|||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ spec:
|
|||||||
serviceAccountName: console-sa
|
serviceAccountName: console-sa
|
||||||
containers:
|
containers:
|
||||||
- name: console
|
- name: console
|
||||||
image: minio/console:v0.4.6
|
image: minio/console:v0.6.3
|
||||||
imagePullPolicy: "IfNotPresent"
|
imagePullPolicy: "IfNotPresent"
|
||||||
args:
|
args:
|
||||||
- server
|
- server
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ spec:
|
|||||||
serviceAccountName: console-sa
|
serviceAccountName: console-sa
|
||||||
containers:
|
containers:
|
||||||
- name: console
|
- name: console
|
||||||
image: minio/console:v0.4.6
|
image: minio/console:v0.6.3
|
||||||
imagePullPolicy: "IfNotPresent"
|
imagePullPolicy: "IfNotPresent"
|
||||||
env:
|
env:
|
||||||
- name: CONSOLE_OPERATOR_MODE
|
- name: CONSOLE_OPERATOR_MODE
|
||||||
|
|||||||
@@ -8,4 +8,3 @@ resources:
|
|||||||
- console-configmap.yaml
|
- console-configmap.yaml
|
||||||
- console-service.yaml
|
- console-service.yaml
|
||||||
- console-deployment.yaml
|
- console-deployment.yaml
|
||||||
- https://github.com/minio/operator/?ref=v3.0.19
|
|
||||||
|
|||||||
9
k8s/operator-console/operator/kustomization.yaml
Normal file
9
k8s/operator-console/operator/kustomization.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
# beginning of customizations
|
||||||
|
#namespace: min-ns
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- https://github.com/minio/operator/?ref=v3.0.29
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
// This file is part of MinIO Kubernetes Cloud
|
// This file is part of MinIO Kubernetes Cloud
|
||||||
// Copyright (c) 2019 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
98
models/account_change_password_request.go
Normal file
98
models/account_change_password_request.go
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
|
// This file is part of MinIO Console Server
|
||||||
|
// Copyright (c) 2021 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 (
|
||||||
|
"github.com/go-openapi/errors"
|
||||||
|
"github.com/go-openapi/strfmt"
|
||||||
|
"github.com/go-openapi/swag"
|
||||||
|
"github.com/go-openapi/validate"
|
||||||
|
)
|
||||||
|
|
||||||
|
// AccountChangePasswordRequest account change password request
|
||||||
|
//
|
||||||
|
// swagger:model accountChangePasswordRequest
|
||||||
|
type AccountChangePasswordRequest struct {
|
||||||
|
|
||||||
|
// current secret key
|
||||||
|
// Required: true
|
||||||
|
CurrentSecretKey *string `json:"current_secret_key"`
|
||||||
|
|
||||||
|
// new secret key
|
||||||
|
// Required: true
|
||||||
|
NewSecretKey *string `json:"new_secret_key"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate validates this account change password request
|
||||||
|
func (m *AccountChangePasswordRequest) Validate(formats strfmt.Registry) error {
|
||||||
|
var res []error
|
||||||
|
|
||||||
|
if err := m.validateCurrentSecretKey(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := m.validateNewSecretKey(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(res) > 0 {
|
||||||
|
return errors.CompositeValidationError(res...)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AccountChangePasswordRequest) validateCurrentSecretKey(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if err := validate.Required("current_secret_key", "body", m.CurrentSecretKey); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AccountChangePasswordRequest) validateNewSecretKey(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if err := validate.Required("new_secret_key", "body", m.NewSecretKey); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalBinary interface implementation
|
||||||
|
func (m *AccountChangePasswordRequest) MarshalBinary() ([]byte, error) {
|
||||||
|
if m == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return swag.WriteJSON(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalBinary interface implementation
|
||||||
|
func (m *AccountChangePasswordRequest) UnmarshalBinary(b []byte) error {
|
||||||
|
var res AccountChangePasswordRequest
|
||||||
|
if err := swag.ReadJSON(b, &res); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*m = res
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -23,6 +23,9 @@ package models
|
|||||||
// Editing this file might prove futile when you re-run the swagger generate command
|
// Editing this file might prove futile when you re-run the swagger generate command
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/go-openapi/errors"
|
||||||
"github.com/go-openapi/strfmt"
|
"github.com/go-openapi/strfmt"
|
||||||
"github.com/go-openapi/swag"
|
"github.com/go-openapi/swag"
|
||||||
)
|
)
|
||||||
@@ -40,10 +43,47 @@ type AdminInfoResponse struct {
|
|||||||
|
|
||||||
// usage
|
// usage
|
||||||
Usage int64 `json:"usage,omitempty"`
|
Usage int64 `json:"usage,omitempty"`
|
||||||
|
|
||||||
|
// widgets
|
||||||
|
Widgets []*Widget `json:"widgets"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate validates this admin info response
|
// Validate validates this admin info response
|
||||||
func (m *AdminInfoResponse) Validate(formats strfmt.Registry) error {
|
func (m *AdminInfoResponse) Validate(formats strfmt.Registry) error {
|
||||||
|
var res []error
|
||||||
|
|
||||||
|
if err := m.validateWidgets(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(res) > 0 {
|
||||||
|
return errors.CompositeValidationError(res...)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AdminInfoResponse) validateWidgets(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if swag.IsZero(m.Widgets) { // not required
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := 0; i < len(m.Widgets); i++ {
|
||||||
|
if swag.IsZero(m.Widgets[i]) { // not required
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if m.Widgets[i] != nil {
|
||||||
|
if err := m.Widgets[i].Validate(formats); err != nil {
|
||||||
|
if ve, ok := err.(*errors.Validation); ok {
|
||||||
|
return ve.ValidateName("widgets" + "." + strconv.Itoa(i))
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -63,6 +63,12 @@ type CreateTenantRequest struct {
|
|||||||
// erasure coding parity
|
// erasure coding parity
|
||||||
ErasureCodingParity int64 `json:"erasureCodingParity,omitempty"`
|
ErasureCodingParity int64 `json:"erasureCodingParity,omitempty"`
|
||||||
|
|
||||||
|
// expose console
|
||||||
|
ExposeConsole bool `json:"expose_console,omitempty"`
|
||||||
|
|
||||||
|
// expose minio
|
||||||
|
ExposeMinio bool `json:"expose_minio,omitempty"`
|
||||||
|
|
||||||
// idp
|
// idp
|
||||||
Idp *IdpConfiguration `json:"idp,omitempty"`
|
Idp *IdpConfiguration `json:"idp,omitempty"`
|
||||||
|
|
||||||
@@ -90,15 +96,15 @@ type CreateTenantRequest struct {
|
|||||||
// Required: true
|
// Required: true
|
||||||
Namespace *string `json:"namespace"`
|
Namespace *string `json:"namespace"`
|
||||||
|
|
||||||
|
// pools
|
||||||
|
// Required: true
|
||||||
|
Pools []*Pool `json:"pools"`
|
||||||
|
|
||||||
// secret key
|
// secret key
|
||||||
SecretKey string `json:"secret_key,omitempty"`
|
SecretKey string `json:"secret_key,omitempty"`
|
||||||
|
|
||||||
// tls
|
// tls
|
||||||
TLS *TLSConfiguration `json:"tls,omitempty"`
|
TLS *TLSConfiguration `json:"tls,omitempty"`
|
||||||
|
|
||||||
// zones
|
|
||||||
// Required: true
|
|
||||||
Zones []*Zone `json:"zones"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate validates this create tenant request
|
// Validate validates this create tenant request
|
||||||
@@ -129,11 +135,11 @@ func (m *CreateTenantRequest) Validate(formats strfmt.Registry) error {
|
|||||||
res = append(res, err)
|
res = append(res, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := m.validateTLS(formats); err != nil {
|
if err := m.validatePools(formats); err != nil {
|
||||||
res = append(res, err)
|
res = append(res, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := m.validateZones(formats); err != nil {
|
if err := m.validateTLS(formats); err != nil {
|
||||||
res = append(res, err)
|
res = append(res, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,6 +243,31 @@ func (m *CreateTenantRequest) validateNamespace(formats strfmt.Registry) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *CreateTenantRequest) validatePools(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if err := validate.Required("pools", "body", m.Pools); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := 0; i < len(m.Pools); i++ {
|
||||||
|
if swag.IsZero(m.Pools[i]) { // not required
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if m.Pools[i] != nil {
|
||||||
|
if err := m.Pools[i].Validate(formats); err != nil {
|
||||||
|
if ve, ok := err.(*errors.Validation); ok {
|
||||||
|
return ve.ValidateName("pools" + "." + strconv.Itoa(i))
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *CreateTenantRequest) validateTLS(formats strfmt.Registry) error {
|
func (m *CreateTenantRequest) validateTLS(formats strfmt.Registry) error {
|
||||||
|
|
||||||
if swag.IsZero(m.TLS) { // not required
|
if swag.IsZero(m.TLS) { // not required
|
||||||
@@ -255,31 +286,6 @@ func (m *CreateTenantRequest) validateTLS(formats strfmt.Registry) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *CreateTenantRequest) validateZones(formats strfmt.Registry) error {
|
|
||||||
|
|
||||||
if err := validate.Required("zones", "body", m.Zones); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
for i := 0; i < len(m.Zones); i++ {
|
|
||||||
if swag.IsZero(m.Zones[i]) { // not required
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if m.Zones[i] != nil {
|
|
||||||
if err := m.Zones[i].Validate(formats); err != nil {
|
|
||||||
if ve, ok := err.(*errors.Validation); ok {
|
|
||||||
return ve.ValidateName("zones" + "." + strconv.Itoa(i))
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalBinary interface implementation
|
// MarshalBinary interface implementation
|
||||||
func (m *CreateTenantRequest) MarshalBinary() ([]byte, error) {
|
func (m *CreateTenantRequest) MarshalBinary() ([]byte, error) {
|
||||||
if m == nil {
|
if m == nil {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -40,6 +40,9 @@ type EncryptionConfiguration struct {
|
|||||||
// client
|
// client
|
||||||
Client *KeyPairConfiguration `json:"client,omitempty"`
|
Client *KeyPairConfiguration `json:"client,omitempty"`
|
||||||
|
|
||||||
|
// gcp
|
||||||
|
Gcp *GcpConfiguration `json:"gcp,omitempty"`
|
||||||
|
|
||||||
// gemalto
|
// gemalto
|
||||||
Gemalto *GemaltoConfiguration `json:"gemalto,omitempty"`
|
Gemalto *GemaltoConfiguration `json:"gemalto,omitempty"`
|
||||||
|
|
||||||
@@ -68,6 +71,8 @@ func (m *EncryptionConfiguration) UnmarshalJSON(raw []byte) error {
|
|||||||
|
|
||||||
Client *KeyPairConfiguration `json:"client,omitempty"`
|
Client *KeyPairConfiguration `json:"client,omitempty"`
|
||||||
|
|
||||||
|
Gcp *GcpConfiguration `json:"gcp,omitempty"`
|
||||||
|
|
||||||
Gemalto *GemaltoConfiguration `json:"gemalto,omitempty"`
|
Gemalto *GemaltoConfiguration `json:"gemalto,omitempty"`
|
||||||
|
|
||||||
Image string `json:"image,omitempty"`
|
Image string `json:"image,omitempty"`
|
||||||
@@ -84,6 +89,8 @@ func (m *EncryptionConfiguration) UnmarshalJSON(raw []byte) error {
|
|||||||
|
|
||||||
m.Client = dataAO1.Client
|
m.Client = dataAO1.Client
|
||||||
|
|
||||||
|
m.Gcp = dataAO1.Gcp
|
||||||
|
|
||||||
m.Gemalto = dataAO1.Gemalto
|
m.Gemalto = dataAO1.Gemalto
|
||||||
|
|
||||||
m.Image = dataAO1.Image
|
m.Image = dataAO1.Image
|
||||||
@@ -109,6 +116,8 @@ func (m EncryptionConfiguration) MarshalJSON() ([]byte, error) {
|
|||||||
|
|
||||||
Client *KeyPairConfiguration `json:"client,omitempty"`
|
Client *KeyPairConfiguration `json:"client,omitempty"`
|
||||||
|
|
||||||
|
Gcp *GcpConfiguration `json:"gcp,omitempty"`
|
||||||
|
|
||||||
Gemalto *GemaltoConfiguration `json:"gemalto,omitempty"`
|
Gemalto *GemaltoConfiguration `json:"gemalto,omitempty"`
|
||||||
|
|
||||||
Image string `json:"image,omitempty"`
|
Image string `json:"image,omitempty"`
|
||||||
@@ -122,6 +131,8 @@ func (m EncryptionConfiguration) MarshalJSON() ([]byte, error) {
|
|||||||
|
|
||||||
dataAO1.Client = m.Client
|
dataAO1.Client = m.Client
|
||||||
|
|
||||||
|
dataAO1.Gcp = m.Gcp
|
||||||
|
|
||||||
dataAO1.Gemalto = m.Gemalto
|
dataAO1.Gemalto = m.Gemalto
|
||||||
|
|
||||||
dataAO1.Image = m.Image
|
dataAO1.Image = m.Image
|
||||||
@@ -155,6 +166,10 @@ func (m *EncryptionConfiguration) Validate(formats strfmt.Registry) error {
|
|||||||
res = append(res, err)
|
res = append(res, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := m.validateGcp(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
if err := m.validateGemalto(formats); err != nil {
|
if err := m.validateGemalto(formats); err != nil {
|
||||||
res = append(res, err)
|
res = append(res, err)
|
||||||
}
|
}
|
||||||
@@ -209,6 +224,24 @@ func (m *EncryptionConfiguration) validateClient(formats strfmt.Registry) error
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *EncryptionConfiguration) validateGcp(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if swag.IsZero(m.Gcp) { // not required
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if m.Gcp != nil {
|
||||||
|
if err := m.Gcp.Validate(formats); err != nil {
|
||||||
|
if ve, ok := err.(*errors.Validation); ok {
|
||||||
|
return ve.ValidateName("gcp")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *EncryptionConfiguration) validateGemalto(formats strfmt.Registry) error {
|
func (m *EncryptionConfiguration) validateGemalto(formats strfmt.Registry) error {
|
||||||
|
|
||||||
if swag.IsZero(m.Gemalto) { // not required
|
if swag.IsZero(m.Gemalto) { // not required
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
210
models/gcp_configuration.go
Normal file
210
models/gcp_configuration.go
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
|
// This file is part of MinIO Console Server
|
||||||
|
// Copyright (c) 2021 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 (
|
||||||
|
"github.com/go-openapi/errors"
|
||||||
|
"github.com/go-openapi/strfmt"
|
||||||
|
"github.com/go-openapi/swag"
|
||||||
|
"github.com/go-openapi/validate"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GcpConfiguration gcp configuration
|
||||||
|
//
|
||||||
|
// swagger:model gcpConfiguration
|
||||||
|
type GcpConfiguration struct {
|
||||||
|
|
||||||
|
// secretmanager
|
||||||
|
// Required: true
|
||||||
|
Secretmanager *GcpConfigurationSecretmanager `json:"secretmanager"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate validates this gcp configuration
|
||||||
|
func (m *GcpConfiguration) Validate(formats strfmt.Registry) error {
|
||||||
|
var res []error
|
||||||
|
|
||||||
|
if err := m.validateSecretmanager(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(res) > 0 {
|
||||||
|
return errors.CompositeValidationError(res...)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GcpConfiguration) validateSecretmanager(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if err := validate.Required("secretmanager", "body", m.Secretmanager); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if m.Secretmanager != nil {
|
||||||
|
if err := m.Secretmanager.Validate(formats); err != nil {
|
||||||
|
if ve, ok := err.(*errors.Validation); ok {
|
||||||
|
return ve.ValidateName("secretmanager")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalBinary interface implementation
|
||||||
|
func (m *GcpConfiguration) MarshalBinary() ([]byte, error) {
|
||||||
|
if m == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return swag.WriteJSON(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalBinary interface implementation
|
||||||
|
func (m *GcpConfiguration) UnmarshalBinary(b []byte) error {
|
||||||
|
var res GcpConfiguration
|
||||||
|
if err := swag.ReadJSON(b, &res); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*m = res
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GcpConfigurationSecretmanager gcp configuration secretmanager
|
||||||
|
//
|
||||||
|
// swagger:model GcpConfigurationSecretmanager
|
||||||
|
type GcpConfigurationSecretmanager struct {
|
||||||
|
|
||||||
|
// credentials
|
||||||
|
Credentials *GcpConfigurationSecretmanagerCredentials `json:"credentials,omitempty"`
|
||||||
|
|
||||||
|
// endpoint
|
||||||
|
Endpoint string `json:"endpoint,omitempty"`
|
||||||
|
|
||||||
|
// project id
|
||||||
|
// Required: true
|
||||||
|
ProjectID *string `json:"project_id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate validates this gcp configuration secretmanager
|
||||||
|
func (m *GcpConfigurationSecretmanager) Validate(formats strfmt.Registry) error {
|
||||||
|
var res []error
|
||||||
|
|
||||||
|
if err := m.validateCredentials(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := m.validateProjectID(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(res) > 0 {
|
||||||
|
return errors.CompositeValidationError(res...)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GcpConfigurationSecretmanager) validateCredentials(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if swag.IsZero(m.Credentials) { // not required
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if m.Credentials != nil {
|
||||||
|
if err := m.Credentials.Validate(formats); err != nil {
|
||||||
|
if ve, ok := err.(*errors.Validation); ok {
|
||||||
|
return ve.ValidateName("secretmanager" + "." + "credentials")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GcpConfigurationSecretmanager) validateProjectID(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if err := validate.Required("secretmanager"+"."+"project_id", "body", m.ProjectID); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalBinary interface implementation
|
||||||
|
func (m *GcpConfigurationSecretmanager) MarshalBinary() ([]byte, error) {
|
||||||
|
if m == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return swag.WriteJSON(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalBinary interface implementation
|
||||||
|
func (m *GcpConfigurationSecretmanager) UnmarshalBinary(b []byte) error {
|
||||||
|
var res GcpConfigurationSecretmanager
|
||||||
|
if err := swag.ReadJSON(b, &res); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*m = res
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GcpConfigurationSecretmanagerCredentials gcp configuration secretmanager credentials
|
||||||
|
//
|
||||||
|
// swagger:model GcpConfigurationSecretmanagerCredentials
|
||||||
|
type GcpConfigurationSecretmanagerCredentials struct {
|
||||||
|
|
||||||
|
// client email
|
||||||
|
ClientEmail string `json:"client_email,omitempty"`
|
||||||
|
|
||||||
|
// client id
|
||||||
|
ClientID string `json:"client_id,omitempty"`
|
||||||
|
|
||||||
|
// private key
|
||||||
|
PrivateKey string `json:"private_key,omitempty"`
|
||||||
|
|
||||||
|
// private key id
|
||||||
|
PrivateKeyID string `json:"private_key_id,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate validates this gcp configuration secretmanager credentials
|
||||||
|
func (m *GcpConfigurationSecretmanagerCredentials) Validate(formats strfmt.Registry) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalBinary interface implementation
|
||||||
|
func (m *GcpConfigurationSecretmanagerCredentials) MarshalBinary() ([]byte, error) {
|
||||||
|
if m == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return swag.WriteJSON(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalBinary interface implementation
|
||||||
|
func (m *GcpConfigurationSecretmanagerCredentials) UnmarshalBinary(b []byte) error {
|
||||||
|
var res GcpConfigurationSecretmanagerCredentials
|
||||||
|
if err := swag.ReadJSON(b, &res); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*m = res
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
112
models/get_bucket_retention_config.go
Normal file
112
models/get_bucket_retention_config.go
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
|
// This file is part of MinIO Console Server
|
||||||
|
// Copyright (c) 2021 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 (
|
||||||
|
"github.com/go-openapi/errors"
|
||||||
|
"github.com/go-openapi/strfmt"
|
||||||
|
"github.com/go-openapi/swag"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GetBucketRetentionConfig get bucket retention config
|
||||||
|
//
|
||||||
|
// swagger:model getBucketRetentionConfig
|
||||||
|
type GetBucketRetentionConfig struct {
|
||||||
|
|
||||||
|
// mode
|
||||||
|
Mode ObjectRetentionMode `json:"mode,omitempty"`
|
||||||
|
|
||||||
|
// unit
|
||||||
|
Unit ObjectRetentionUnit `json:"unit,omitempty"`
|
||||||
|
|
||||||
|
// validity
|
||||||
|
Validity int32 `json:"validity,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate validates this get bucket retention config
|
||||||
|
func (m *GetBucketRetentionConfig) Validate(formats strfmt.Registry) error {
|
||||||
|
var res []error
|
||||||
|
|
||||||
|
if err := m.validateMode(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := m.validateUnit(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(res) > 0 {
|
||||||
|
return errors.CompositeValidationError(res...)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GetBucketRetentionConfig) validateMode(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if swag.IsZero(m.Mode) { // not required
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := m.Mode.Validate(formats); err != nil {
|
||||||
|
if ve, ok := err.(*errors.Validation); ok {
|
||||||
|
return ve.ValidateName("mode")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GetBucketRetentionConfig) validateUnit(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if swag.IsZero(m.Unit) { // not required
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := m.Unit.Validate(formats); err != nil {
|
||||||
|
if ve, ok := err.(*errors.Validation); ok {
|
||||||
|
return ve.ValidateName("unit")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalBinary interface implementation
|
||||||
|
func (m *GetBucketRetentionConfig) MarshalBinary() ([]byte, error) {
|
||||||
|
if m == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return swag.WriteJSON(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalBinary interface implementation
|
||||||
|
func (m *GetBucketRetentionConfig) UnmarshalBinary(b []byte) error {
|
||||||
|
var res GetBucketRetentionConfig
|
||||||
|
if err := swag.ReadJSON(b, &res); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*m = res
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
48
models/iam_entity.go
Normal file
48
models/iam_entity.go
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
|
// This file is part of MinIO Console Server
|
||||||
|
// Copyright (c) 2021 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 (
|
||||||
|
"github.com/go-openapi/errors"
|
||||||
|
"github.com/go-openapi/strfmt"
|
||||||
|
"github.com/go-openapi/validate"
|
||||||
|
)
|
||||||
|
|
||||||
|
// IamEntity iam entity
|
||||||
|
//
|
||||||
|
// swagger:model iamEntity
|
||||||
|
type IamEntity string
|
||||||
|
|
||||||
|
// Validate validates this iam entity
|
||||||
|
func (m IamEntity) Validate(formats strfmt.Registry) error {
|
||||||
|
var res []error
|
||||||
|
|
||||||
|
if err := validate.Pattern("", "body", string(m), `^[\w+=,.@-]{1,64}$`); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(res) > 0 {
|
||||||
|
return errors.CompositeValidationError(res...)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
75
models/license.go
Normal file
75
models/license.go
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
|
// This file is part of MinIO Console Server
|
||||||
|
// Copyright (c) 2021 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 (
|
||||||
|
"github.com/go-openapi/strfmt"
|
||||||
|
"github.com/go-openapi/swag"
|
||||||
|
)
|
||||||
|
|
||||||
|
// License license
|
||||||
|
//
|
||||||
|
// swagger:model license
|
||||||
|
type License struct {
|
||||||
|
|
||||||
|
// account id
|
||||||
|
AccountID int64 `json:"account_id,omitempty"`
|
||||||
|
|
||||||
|
// email
|
||||||
|
Email string `json:"email,omitempty"`
|
||||||
|
|
||||||
|
// expires at
|
||||||
|
ExpiresAt string `json:"expires_at,omitempty"`
|
||||||
|
|
||||||
|
// organization
|
||||||
|
Organization string `json:"organization,omitempty"`
|
||||||
|
|
||||||
|
// plan
|
||||||
|
Plan string `json:"plan,omitempty"`
|
||||||
|
|
||||||
|
// storage capacity
|
||||||
|
StorageCapacity int64 `json:"storage_capacity,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate validates this license
|
||||||
|
func (m *License) Validate(formats strfmt.Registry) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalBinary interface implementation
|
||||||
|
func (m *License) MarshalBinary() ([]byte, error) {
|
||||||
|
if m == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return swag.WriteJSON(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalBinary interface implementation
|
||||||
|
func (m *License) UnmarshalBinary(b []byte) error {
|
||||||
|
var res License
|
||||||
|
if err := swag.ReadJSON(b, &res); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*m = res
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
60
models/log_search_response.go
Normal file
60
models/log_search_response.go
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
|
// This file is part of MinIO Console Server
|
||||||
|
// Copyright (c) 2021 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 (
|
||||||
|
"github.com/go-openapi/strfmt"
|
||||||
|
"github.com/go-openapi/swag"
|
||||||
|
)
|
||||||
|
|
||||||
|
// LogSearchResponse log search response
|
||||||
|
//
|
||||||
|
// swagger:model logSearchResponse
|
||||||
|
type LogSearchResponse struct {
|
||||||
|
|
||||||
|
// list of log search responses
|
||||||
|
Results interface{} `json:"results,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate validates this log search response
|
||||||
|
func (m *LogSearchResponse) Validate(formats strfmt.Registry) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalBinary interface implementation
|
||||||
|
func (m *LogSearchResponse) MarshalBinary() ([]byte, error) {
|
||||||
|
if m == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return swag.WriteJSON(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalBinary interface implementation
|
||||||
|
func (m *LogSearchResponse) UnmarshalBinary(b []byte) error {
|
||||||
|
var res LogSearchResponse
|
||||||
|
if err := swag.ReadJSON(b, &res); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*m = res
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
@@ -41,6 +41,9 @@ type MakeBucketRequest struct {
|
|||||||
// quota
|
// quota
|
||||||
Quota *SetBucketQuota `json:"quota,omitempty"`
|
Quota *SetBucketQuota `json:"quota,omitempty"`
|
||||||
|
|
||||||
|
// retention
|
||||||
|
Retention *PutBucketRetentionRequest `json:"retention,omitempty"`
|
||||||
|
|
||||||
// versioning
|
// versioning
|
||||||
Versioning bool `json:"versioning,omitempty"`
|
Versioning bool `json:"versioning,omitempty"`
|
||||||
}
|
}
|
||||||
@@ -57,6 +60,10 @@ func (m *MakeBucketRequest) Validate(formats strfmt.Registry) error {
|
|||||||
res = append(res, err)
|
res = append(res, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := m.validateRetention(formats); err != nil {
|
||||||
|
res = append(res, err)
|
||||||
|
}
|
||||||
|
|
||||||
if len(res) > 0 {
|
if len(res) > 0 {
|
||||||
return errors.CompositeValidationError(res...)
|
return errors.CompositeValidationError(res...)
|
||||||
}
|
}
|
||||||
@@ -90,6 +97,24 @@ func (m *MakeBucketRequest) validateQuota(formats strfmt.Registry) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *MakeBucketRequest) validateRetention(formats strfmt.Registry) error {
|
||||||
|
|
||||||
|
if swag.IsZero(m.Retention) { // not required
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if m.Retention != nil {
|
||||||
|
if err := m.Retention.Validate(formats); err != nil {
|
||||||
|
if ve, ok := err.(*errors.Validation); ok {
|
||||||
|
return ve.ValidateName("retention")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// MarshalBinary interface implementation
|
// MarshalBinary interface implementation
|
||||||
func (m *MakeBucketRequest) MarshalBinary() ([]byte, error) {
|
func (m *MakeBucketRequest) MarshalBinary() ([]byte, error) {
|
||||||
if m == nil {
|
if m == nil {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by go-swagger; DO NOT EDIT.
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
// This file is part of MinIO Console Server
|
// This file is part of MinIO Console Server
|
||||||
// Copyright (c) 2020 MinIO, Inc.
|
// Copyright (c) 2021 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|||||||
80
models/object_retention_unit.go
Normal file
80
models/object_retention_unit.go
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
// Code generated by go-swagger; DO NOT EDIT.
|
||||||
|
|
||||||
|
// This file is part of MinIO Console Server
|
||||||
|
// Copyright (c) 2021 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 (
|
||||||
|
"encoding/json"
|
||||||
|
|
||||||
|
"github.com/go-openapi/errors"
|
||||||
|
"github.com/go-openapi/strfmt"
|
||||||
|
"github.com/go-openapi/validate"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ObjectRetentionUnit object retention unit
|
||||||
|
//
|
||||||
|
// swagger:model objectRetentionUnit
|
||||||
|
type ObjectRetentionUnit string
|
||||||
|
|
||||||
|
const (
|
||||||
|
|
||||||
|
// ObjectRetentionUnitDays captures enum value "days"
|
||||||
|
ObjectRetentionUnitDays ObjectRetentionUnit = "days"
|
||||||
|
|
||||||
|
// ObjectRetentionUnitYears captures enum value "years"
|
||||||
|
ObjectRetentionUnitYears ObjectRetentionUnit = "years"
|
||||||
|
)
|
||||||
|
|
||||||
|
// for schema
|
||||||
|
var objectRetentionUnitEnum []interface{}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
var res []ObjectRetentionUnit
|
||||||
|
if err := json.Unmarshal([]byte(`["days","years"]`), &res); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
for _, v := range res {
|
||||||
|
objectRetentionUnitEnum = append(objectRetentionUnitEnum, v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m ObjectRetentionUnit) validateObjectRetentionUnitEnum(path, location string, value ObjectRetentionUnit) error {
|
||||||
|
if err := validate.EnumCase(path, location, value, objectRetentionUnitEnum, true); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate validates this object retention unit
|
||||||
|
func (m ObjectRetentionUnit) Validate(formats strfmt.Registry) error {
|
||||||
|
var res []error
|
||||||
|
|
||||||
|
// value enum
|
||||||
|
if err := m.validateObjectRetentionUnitEnum("", "body", m); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(res) > 0 {
|
||||||
|
return errors.CompositeValidationError(res...)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user