GithubHelp home page GithubHelp logo

theapsgroup / steampipe-plugin-keycloak Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 1.0 258 KB

Use SQL to instantly query Keycloak clients, users and more. Open source CLI. No DB required.

Home Page: https://hub.steampipe.io/plugins/theapsgroup/keycloak

License: Apache License 2.0

Makefile 0.41% Go 97.78% PLSQL 1.81%
golang keycloak postgres postgresql postgresql-fdw sql steampipe steampipe-plugin

steampipe-plugin-keycloak's People

Contributors

afdevries avatar graza-io avatar misraved avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

misraved

steampipe-plugin-keycloak's Issues

Upgrade underlying `gocloak` SDK to a newer version.

As of Keycloak v17.0 the auth part of the urls was removed, however this is coded into the client returned by gocloak, should look at updating to newer/newest release of gocloak to remediate this issue.

This is currently causing issues for anyone using Keycloak 17+

Docs: Missing graphics

This repository needs the following graphics:

/docs/keycloak.svg
/docs/keycloak-plugin-social-graphic.png

(see the GitLab one for examples, however these need to be for Keycloak).

Perf: user table improvements

Currently the user table doesn't have any filters coded in which would benefit obtaining smaller data sets. This would drastically improve performance when not all users are required.

Expand information available about Users in the keycloak_user table

Currently we have a minimal usage subset in this keycloak_user table, this is omitting valuable data such as:

  • Federation Link : string
  • Attributes : map[string][]string
  • RealmRoles : []string
  • Groups : []string (linkable via keycloak_user_group currently)
  • ClientRoles : map[string][]string
  • RequiredActions : []string

Initial plugin suggestions

Thanks @graza-io for another great plugin! I took a look today and left some suggestions/questions below, please let me know if you have any questions on them.

Config file:

  • Can you please change baseurl to base_url to follow the standard snake casing?

Docs:

  • Is the brand color #FCA121 correct? It seems to be more orange, not sure if that was copy and paste from another plugin?
  • In keycloak_user.md, can you please break up the middle examples into individual examples, e.g., Get a specific user by ID, Get a specific user by username, Get a specific user by email? This allows users to copy and paste as the hub site has a copy icon per code block (in the top right of each code block).
  • Several table docs, like for keycloak_client and keycloak_group, are light on examples. Can you please add a few more so each table doc has at least 3-4 examples? These really help users get started and jump right into using your plugin.

General:

  • Is paging supported by the API, and if so does the SDK already handle this?I took a quick look around in the SDK and didn't spot anything.
  • Does the API support passing in a limit/max number of results? For APIs that we do, we usually recommend setting that to the passed in limit clause if given and if it's lower than the default paging size or limit, e.g., https://github.com/turbot/steampipe-plugin-tfe/blob/main/tfe/table_tfe_team.go#L48-L59, as this will help reduce the number of results returned (helpful especially for large APIs).

Tables:

  • I see a few TODOs around adding more optional key quals, like in the keycloak_user table. Are you planning on adding these before publishing the initial version?
  • Some tables seem like they don't have a lot of columns, like the keycloak_group and keycloak_user. Are there more columns we can add to both? For instance, for the keycloak_user table, in the SDK and API, it seems like there are more potential columns we can add based on what's returned by the API, but I don't see those in the table definition.
  • Possibly related to the item above, I did notice that in some tables you pass BriefRepresentation as true. Is there a reason these tables are only fetching this form of information? I only quickly read over the API docs, so I'm not very familiar with it yet, but for these tables, is it better to have the brief or full representations?

Docs: Tidy up all documentation at end of initial table build.

Essentially this needs to be performed after the remaining tables tagged in the milestone v0.0.1 are completed, to update all documentation and enhance it with better examples.

This is our final checkpoint for requesting this plugin to be published, so should also ensure we remove the "WIP" mentions in the readme, etc.

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.