mcs

command module
v0.0.0-...-b25a986 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2020 License: AGPL-3.0 Imports: 10 Imported by: 0

README

MCS Minio Console Service

This is a REST portal server created using go-swagger

Setup

All mcs 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

  1. Create a user for mcs using mc.
$ set +o history
$ mc admin user add myminio mcs YOURMCSSECRET
$ set -o history
  1. Create a policy for mcs
$ cat > mcsAdmin.json << EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "admin:*"
      ],
      "Effect": "Allow",
      "Sid": ""
    },
    {
      "Action": [
        "s3:*"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Sid": ""
    }
  ]
}
EOF
$ mc admin policy add myminio mcsAdmin mcsAdmin.json
  1. Set the policy for the new mcs user
$ mc admin policy set myminio mcsAdmin user=mcs

Run MCS server

To run the server:

$ MCS_ACCESS_KEY=mcs \
MCS_SECRET_KEY=YOURMCSSECRET \
MCS_MINIO_SERVER=http://localhost:9000 \
./mcs-server --port=52300

You can verify that the apis work by doing the request on localhost:52300/api/v1/...

Development

The API handlers are created using a YAML definition located in swagger.YAML.

To add new api, the YAML file needs to be updated with all the desired apis using the Swagger Basic Structure, this includes paths, parameters, definitions, tags, etc.

Generate server from YAML

Once the YAML file is ready we can autogenerate the code needed for the new api by just running:

Validate it:

swagger validate ./swagger.yml

Update server code:

make swagger-gen

This will update all the necessary code.

./restapi/configure_mcs.go is a file that contains the handlers to be used by the application, here is the only place where we need to update our code to support the new apis. This file is not affected when running the swagger generator and it is safe to edit.

Unit Tests

./restapi/handlers_test.go needs to be updated with the proper tests for the new api.

To run tests:

 go test ./restapi

Documentation

Overview

Code generated for package main by go-bindata DO NOT EDIT. (@generated) sources: portal-ui/build/android-icon-144x144.png portal-ui/build/android-icon-192x192.png portal-ui/build/android-icon-36x36.png portal-ui/build/android-icon-48x48.png portal-ui/build/android-icon-72x72.png portal-ui/build/android-icon-96x96.png portal-ui/build/apple-icon-180x180.png portal-ui/build/asset-manifest.json portal-ui/build/favicon-16x16.png portal-ui/build/favicon-32x32.png portal-ui/build/favicon-96x96.png portal-ui/build/favicon.ico portal-ui/build/images/BG_Illustration.svg portal-ui/build/index.html portal-ui/build/logo192.png portal-ui/build/logo512.png portal-ui/build/manifest.json portal-ui/build/precache-manifest.74a2d269d0e005f51565256b6a5fe900.js portal-ui/build/robots.txt portal-ui/build/safari-pinned-tab.svg portal-ui/build/service-worker.js portal-ui/build/static/css/main.d5fff3f6.chunk.css portal-ui/build/static/css/main.d5fff3f6.chunk.css.map portal-ui/build/static/js/2.4c1d8bf4.chunk.js portal-ui/build/static/js/2.4c1d8bf4.chunk.js.LICENSE.txt portal-ui/build/static/js/2.4c1d8bf4.chunk.js.map portal-ui/build/static/js/main.a32ca715.chunk.js portal-ui/build/static/js/main.a32ca715.chunk.js.map portal-ui/build/static/js/runtime-main.4f8a9e73.js portal-ui/build/static/js/runtime-main.4f8a9e73.js.map portal-ui/build/static/media/mkube_logo_temp.279ba91b.svg

Directories

Path Synopsis
cmd
Code generated for package portal by go-bindata DO NOT EDIT.
Code generated for package portal by go-bindata DO NOT EDIT.
Package restapi MinIO Console Server Schemes: http Host: localhost BasePath: / Version: 0.1.0 Consumes: - application/json Produces: - application/octet-stream - application/json swagger:meta
Package restapi MinIO Console Server Schemes: http Host: localhost BasePath: / Version: 0.1.0 Consumes: - application/json Produces: - application/octet-stream - application/json swagger:meta

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL