Open madhushreeray30 opened 8 months ago
Hey @madhushreeray30 , thanks for the suggestions!
Here is a status update on the implemtation:
config/akeyless.spc
I have since simplified the configuration by delegating the authentication to our CLI so that as we add new authentication methods they can be supported centrally instead of within each tool.
akeyless.spc
file to follow the format of the namecheap plugindocs/tables/table_auth_method.md
akeyless_auth_method
;
docs/index.md
index.md
for this plugin. For reference, we can follow the namecheap pluginakeyless/auth_method.go
auth_method_name
has incorrect description and transform function.
This one was interesting as the "key" for that API call is actually the "name" of the auth method but the Terraform repository uses the term "path" so I am mirroring that here. I've updated the description and transform function to reflect that.
akeyless/connection_config.go
config.spc
file however we are addressing only a few here. If there are multiple combinations for authentication we should address all of them separately in the file and make sure all the required arguments are defined.
I have since simplified the configuration by delegating the authentication to our CLI so that as we add new authentication methods they can be supported centrally instead of within each tool.
akeyless/plugin.go
akeyless/utils.go
README.md
CHANGELOG.md
## v0.0.1 [TBD]
What's new?
Makefile
install:
go build -o ~/.steampipe/plugins/hub.steampipe.io/plugins/akeyless-community/akeyless@latest/teampipe-plugin-akeyless.plugin *.go
.vscode
.vscode
folder
Follow-up questions
Hey @madhushreeray30 ,
How do I get the stuff that goes at the top of the docs/index.md
file like the images and their paths?
@devorbitus The image path for this plugin in README.md would be
![image](https://hub.steampipe.io/images/plugins/akeyless-community/akeyless-social-graphic.png)
For the index.md file it should be as follows
---
organization: akeyless-commuity
category:
icon_url: "/images/plugins/akeyless-commuity/akeyless.svg"
brand_color:
display_name: "Akeyless"
short_name: "akeyless"
description:
og_description:
og_image: "/images/plugins/akeyless-community/akeyess-social-graphic.png"
---
Please add the other details as per the plugin. I have just added the paths. The graphics will be available once they are ready for this plugin from our end.
@madhushreeray30 sorry to do this but we had a rebranding and was hoping you could generate an updated picture like from https://akeyless.io
Here is the logo:
@madhushreeray30 Can we also make sure that the path to the plugin is https://hub.steampipe.io/plugins/akeyless/akeyless
? And anything else it should just be akeyless/akeyless
. Thanks!
Meaning as follows:
---
organization: Akeyless Security
category:
icon_url: "/images/plugins/akeyless/akeyless.svg"
brand_color:
display_name: "Akeyless"
short_name: "akeyless"
description:
og_description:
og_image: "/images/plugins/akeyless/akeyess-social-graphic.png"
---
@madhushreeray30 I also updated the README.md file and added an index.md file currently waiting to be merged. Just let me know if you have any objections to me merging please :)
Thanks @akljph and @devorbitus for this new plugin π !!
Few points that remain unaddressed:
We need to add the github org name to the plugin configuration in the config/akeyless.spc
file:
connection "akeyless" {
plugin = "akeyless-community/akeyless"
# Defines the type of access. Supported types: "api_key", "aws_iam", "azure_ad", "gcp", "universal_identity", "k8s", "jwt".
#access_type = ""
# The access ID for authentication, required for all access types.
#access_id = ""
# The access key or secret, paired with access_id.
#access_key = ""
# API URL for the Akeyless Gateway, the default URL is https://api.akeyless.io.
#api_url = ""
# JSON Web Token for JWT-based authentication.
#jwt = ""
# User identity token for Universal Identityβ’ authentication.
#uid_token = ""
# Audience for GCP authentication.
#gcp_audience = ""
# Object ID for Azure AD authentication.
#azure_object_id = ""
# Kubernetes service account token for Kubernetes-based authentication.
#k8s_service_account_token = ""
# Name of the Kubernetes auth config.
#k8s_auth_config_name = ""
# CA certificate for TLS verification of the Akeyless Gateway.
#gateway_ca_cert = ""
}
In the plugin code, I see references to akeylesslabs
org name, however the org name seems to be akeyless-community
, could you please confirm which org is being used? On those lines, the Makefile
should use install: go build -o ~/.steampipe/plugins/hub.steampipe.io/plugins/akeyless-community/akeyless@latest/steampipe-plugin-akeyless.plugin *.go
instead of install: go build -o ~/.steampipe/plugins/hub.steampipe.io/plugins/akeyless-community/akeyless@latest/steampipe-plugin-akeyless.plugin *.go
The table file names must include akeyless
, for instance:
table_item.go
-> table_akeyless_item.go
table_role.go
-> table_akeyless_role.go
table docs
:
2 spaces per indent level
? akeyless_role
table could have example queries on Roles created in the last 30 days
, and Roles not modified in the last 90 days
. You could have a query expanding the JSON fields as well. Thanks, @misraved. Answers below:
1) akeyless-community
is the correct org name. We only import certain libraries from our akeylesslabs
org for this to work.
2) I updated the makefile command
3) I updated the file names to table_akeyless.go
4) I updated the indentation and added more examples to the table_docs
Please let me know if this is good to go :)
Lastly, please update the header image for our integration with our new logo above and send us a link to use: https://github.com/akeyless-community/steampipe-plugin-akeyless/issues/1#issuecomment-2189031219
Thanks @devorbitus for this new plugin. Great work π !! I think this plugin is a WIP hence I would like to give some recommendations on the structure built so far. This would help in faster development and ensure we follow our best practices: The following suggestions are to make the plugin build process easier and faster. Some of the suggestions may not be directly from your code but related to general norms practiced across Steampipe.
config/akeyless.spc
akeyless.spc
file to follow the format of the namecheap plugindocs/tables/table_auth_method.md
akeyless_auth_method
;
docs/index.md
index.md
for this plugin. For reference, we can follow the namecheap pluginakeyless/auth_method.go
auth_method_name
has incorrect description and transform function.akeyless/connection_config.go
config.spc
file however we are addressing only a few here. If there are multiple combinations for authentication we should address all of them separately in the file and make sure all the required arguments are defined.akeyless/plugin.go
akeyless/utils.go
README.md
CHANGELOG.md
What's new?
Makefile
.vscode
.vscode
folderFollow-up questions
Please let us know if you have questions, happy to help π