Git Product home page Git Product logo

adminio-api's Introduction

Adminio-api

This is a simple admin "REST" API for minio s3 server. Here is a Web UI for this API - adminio-ui

Docker hub stats GitHub License

OpenAPI v3

see OpenAPI v3 specs at openAPI/openapi_v3.yaml or html version

Run full stack demo

obtain docker-compose.yml from adminio-ui repository. And run it: docker-compose -f docker-compose.yml up

it will bring up:

  • minio server on 9000 port
  • adminio API on 8080 port
  • adminio UI on 80 port

after that you can go to http://localhost and try out

Run with docker

docker run -d \
      -p 8080:8080 \
      -e ADMINIO_HOST_PORT=":8080" \
      -e MINIO_HOST_PORT="localhost:9000" \
      -e MINIO_ACCESS="test" \
      -e MINIO_SECRET="testtest123" \
      rzrbld/adminio-api:latest

Run with Kubernetes/OpenShift/OKD/OCP

go to Helm charts repo

Run manually

  • start minio server
  • set env variables
  • go to src folder and compile with go build main.go, then run ./main binary

Monitoring

Adminio-API expose metrics for Prometheus at /metrics if ADMINIO_METRICS_ENABLE is set to true.

Config Env variables

Variable Description Default
ADMINIO_HOST_PORT which host and port API should listening. This is Iris based API, so you will need to provide 0.0.0.0:8080 for listening on all interfaces localhost:8080
MINIO_HOST_PORT provide a minio server host and port localhost:9000
MINIO_SSL enable or disable ssl false
MINIO_REGION set minio region us-east-1
MINIO_ACCESS set minio Access Key test
MINIO_SECRET set minio Secret Key testtest123
MINIO_DEFAULT_LOCK_OBLECT_ENABLE set minio default make bucket behaviour with locking object false
ADMINIO_CORS_DOMAIN set adminio-api CORS policy domain *
ADMINIO_OAUTH_ENABLE enable oauth over supported providers false
ADMINIO_OAUTH_PROVIDER oauth provider, for more information see the full list of supported providers github
ADMINIO_OAUTH_CLIENT_ID oauth app client id my-github-oauth-app-client-id
ADMINIO_OAUTH_CLIENT_SECRET oauth app secret my-github-oauth-app-secret
ADMINIO_OAUTH_CALLBACK oauth callback, default listener on /auth/callback http://"+ADMINIO_HOST_PORT+"/auth/callback
ADMINIO_OAUTH_CUSTOM_DOMAIN oauth custom domain, for supported providers (auth0\wso2) -
ADMINIO_COOKIE_HASH_KEY hash key for session cookies. AES only supports key sizes of 16, 24 or 32 bytes NRUeuq6AdskNPa7ewZuxG9TrDZC4xFat
ADMINIO_COOKIE_BLOCK_KEY block key for session cookies. AES only supports key sizes of 16, 24 or 32 bytes bnfYuphzxPhJMR823YNezH83fuHuddFC
ADMINIO_COOKIE_NAME name for the session cookie adminiosessionid
ADMINIO_AUDIT_LOG_ENABLE enable audit log, mae sense if oauth is enabled, othervise set to false false
ADMINIO_METRICS_ENABLE enable default iris/golang metrics and bucket sizes metric on /metric/ uri path false
ADMINIO_PROBES_ENABLE enable liveness and readiness probes for k8s at /ready/ and /live/ uri path installations false

List of supported oauth providers

  • amazon
  • auth0
  • bitbucket
  • box
  • digitalocean
  • dropbox
  • github
  • gitlab
  • heroku
  • onedrive
  • salesforce
  • slack
  • wso2

Example config

  • prometheus config for adminio metrics: examples/prometheus.yml
  • bucket lifecycle: examples/lifecycle.xml

adminio-api's People

Contributors

0x003e avatar rzrbld avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.