Sign inSign up

rzrbld/adminio-api

By rzrbld

Updated over 3 years ago

Image
0

50K+

rzrbld/adminio-api repository overview

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
VariableDescriptionDefault
ADMINIO_HOST_PORTwhich 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 interfaceslocalhost:8080
MINIO_HOST_PORTprovide a minio server host and portlocalhost:9000
MINIO_SSLenable or disable sslfalse
MINIO_REGIONset minio regionus-east-1
MINIO_ACCESSset minio Access Keytest
MINIO_SECRETset minio Secret Keytesttest123
MINIO_DEFAULT_LOCK_OBLECT_ENABLEset minio default make bucket behaviour with locking objectfalse
ADMINIO_CORS_DOMAINset adminio-api CORS policy domain*
ADMINIO_OAUTH_ENABLEenable oauth over supported providersfalse
ADMINIO_OAUTH_PROVIDERoauth provider, for more information see the full list of supported providersgithub
ADMINIO_OAUTH_CLIENT_IDoauth app client idmy-github-oauth-app-client-id
ADMINIO_OAUTH_CLIENT_SECREToauth app secretmy-github-oauth-app-secret
ADMINIO_OAUTH_CALLBACKoauth callback, default listener on /auth/callbackhttp://"+ADMINIO_HOST_PORT+"/auth/callback
ADMINIO_OAUTH_CUSTOM_DOMAINoauth custom domain, for supported providers (auth0\wso2)-
ADMINIO_COOKIE_HASH_KEYhash key for session cookies. AES only supports key sizes of 16, 24 or 32 bytesNRUeuq6AdskNPa7ewZuxG9TrDZC4xFat
ADMINIO_COOKIE_BLOCK_KEYblock key for session cookies. AES only supports key sizes of 16, 24 or 32 bytesbnfYuphzxPhJMR823YNezH83fuHuddFC
ADMINIO_COOKIE_NAMEname for the session cookieadminiosessionid
ADMINIO_AUDIT_LOG_ENABLEenable audit log, mae sense if oauth is enabled, othervise set to falsefalse
ADMINIO_METRICS_ENABLEenable default iris/golang metrics and bucket sizes metric on /metrics/ uri pathfalse
ADMINIO_PROBES_ENABLEenable liveness and readiness probes for k8s at /ready/ and /live/ uri path installationsfalse
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

Tag summary

Content type

Image

Digest

sha256:0ef1aa28b

Size

17.9 MB

Last updated

over 3 years ago

docker pull rzrbld/adminio-api