Coder Social home page Coder Social logo

ffrierson / karavi-authorization Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dell/karavi-authorization

0.0 0.0 0.0 9.98 MB

Karavi Authorization is part of the Karavi open source suite of Kubernetes storage enablers for Dell products. Karavi Authorization provides Storage & Kubernetes administrators the ability to apply RBAC for Dell CSI Drivers.

License: Apache License 2.0

Shell 1.48% Go 96.43% Makefile 0.64% Dockerfile 0.13% Open Policy Agent 1.32%

karavi-authorization's Introduction

Dell Container Storage Modules (CSM) for Authorization

Contributor Covenant License Docker Pulls Go version GitHub release (latest by date including pre-releases)

CSM for Authorization is part of the CSM (Container Storage Modules) open-source suite of Kubernetes storage enablers for Dell products. CSM for Authorization provides storage and Kubernetes administrators the ability to apply RBAC for Dell CSI Drivers. It does this by deploying a proxy between the CSI driver and the storage system to enforce role-based access and usage rules.

Storage administrators of compatible storage platforms will be able to apply quota and RBAC rules that instantly and automatically restrict cluster tenants usage of storage resources. Users of storage through CSM for Authorization do not need to have storage admin root credentials to access the storage system.

For documentation, please visit Container Storage Modules documentation.

Table of Contents

Building CSM for Authorization

If you wish to clone and build CSM for Authorization, a Linux host is required with the following installed:

Component Version Additional Information
Docker or Podman v19+ ,v4.4.1+ Docker installation , Podman installation
Golang v1.16 Golang installation
git latest Git installation
kubectl 1.17-1.19 Ensure you copy the kubeconfig file from the Kubernetes cluster to the linux host. kubectl installation
Helm v.3.3.0 Helm installation

Once all prerequisites are on the Linux host, follow the steps below to clone, build and deploy CSM for Authorization:

  1. Clone the repository: git clone https://github.com/dell/karavi-authorization.git
  2. In the karavi-authorization directory, run the following to build and deploy: make build builder dist

Testing CSM for Authorization

From the root directory where the repo was cloned, the unit tests can be executed as follows:

make test

This will also provide code coverage statistics for the various Go packages.

Test setup

To test the setup, follow the steps below:

  • Create a StorageClass
  • Create a PVC request from the StorageClass with any storage capacity less than the RoleQuota you specified during configuration
  • Request a Pod to consume the PVC created above. If everything is well configured, the PVC will be bound to storage and the volume will be created on the storage system.

You can also test failure cases, by repeating the above steps but specify a quota larger than RoleQuota you specified. Conversely, when you request a Pod to use PVC, you'll get the request is denied as PVC exceeds capacity and PV will be in a pending state.

Versioning

This project is adhering to Semantic Versioning.

About

Dell Container Storage Modules (CSM) is 100% open source and community-driven. All components are available under Apache 2 License on GitHub.

karavi-authorization's People

Contributors

atye avatar ianbibby avatar dependabot[bot] avatar sharmilarama avatar isaiasa1 avatar xuluna avatar tdawe avatar gallacher avatar hoppea2 avatar arnchiequ-dell avatar shaynafinocchiaro avatar alikdell avatar sahiba-gupta avatar rsedlock1958 avatar rodrigobassil avatar ashleyvjoy avatar evgenyuglov avatar aronatdell avatar cbartoszdell avatar chimanjain avatar kerrykovacevic avatar lj-software avatar shanduur-dell avatar nitesh3108 avatar pereskereotubo avatar ameer-jabbar avatar bjiang27 avatar ffrierson 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.