Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only output asset resources from "sensuctl asset list" #3692

Closed
calebhailey opened this issue Apr 15, 2020 · 2 comments
Closed

Only output asset resources from "sensuctl asset list" #3692

calebhailey opened this issue Apr 15, 2020 · 2 comments
Labels
component:assets Sensu Asset improvements wontfix

Comments

@calebhailey
Copy link

Feature Suggestion

The sensuctl asset list command should only output asset resources, not individual asset builds.

Possible Implementation

$ sensuctl asset add sensu/sensu-pagerduty-handler
no version specified, using latest: 1.3.2
fetching bonsai asset: sensu/sensu-pagerduty-handler:1.3.2
added asset: sensu/sensu-pagerduty-handler:1.3.2

$ sensuctl asset list 
NAME                                 BUILDS
sensu/sensu-pagerduty-handler:1.3.2  8     

$ sensuctl asset info sensu/sensu-pagerduty-handler --format yaml
type: Asset
api_version: core/v2
metadata:
  annotations:
    io.sensu.bonsai.api_url: https://bonsai.sensu.io/api/v1/assets/sensu/sensu-pagerduty-handler
    io.sensu.bonsai.name: sensu-pagerduty-handler
    io.sensu.bonsai.namespace: sensu
    io.sensu.bonsai.tags: handler
    io.sensu.bonsai.tier: Supported
    io.sensu.bonsai.url: https://bonsai.sensu.io/assets/sensu/sensu-pagerduty-handler
    io.sensu.bonsai.version: 1.3.2
  created_by: admin
  labels:
    sensu.io/managed_by: sensuctl
  name: sensu/sensu-pagerduty-handler
  namespace: default
spec:
  builds:
  - filters:
    - entity.system.os == 'windows'
    - entity.system.arch == 'amd64'
    headers: null
    sha512: 10eb353c624fa1853a5b6175366e6ae325315208b2289b1191629004737dbacbfc576f54b95a89560a5226e24aa0438458256b04ac1ffdc9876cf0afdf6441dd
    url: https://assets.bonsai.sensu.io/e6722787284bd20f68d0375ee927aa0ec5d2e57b/sensu-pagerduty-handler_1.3.2_windows_386.tar.gz
  - filters:
    - entity.system.os == 'windows'
    - entity.system.arch == 'amd64'
    headers: null
    sha512: 83b51af2254470edbeabf840ae556f113452133f4abbe41e0ce5e0ac37d00262a17646d38ddc23fa16f39706f3506ade902eb1b29429bb0898cfd8c5ce0b0e36
    url: https://assets.bonsai.sensu.io/e6722787284bd20f68d0375ee927aa0ec5d2e57b/sensu-pagerduty-handler_1.3.2_windows_amd64.tar.gz
  - filters:
    - entity.system.os == 'darwin'
    - entity.system.arch == '386'
    headers: null
    sha512: 46826d62f586f935d6a8686da7315105a8161364cbf7665943b3fd349cbe194ab1b5c1f312616014472f2499858f8c595ac5bc56b191df4761632bfa42b1b97c
    url: https://assets.bonsai.sensu.io/e6722787284bd20f68d0375ee927aa0ec5d2e57b/sensu-pagerduty-handler_1.3.2_darwin_386.tar.gz
  - filters:
    - entity.system.os == 'darwin'
    - entity.system.arch == 'amd64'
    headers: null
    sha512: 8f14359b5e9f881a495b7b2019b3ecd080421c43c07a96856ee607ab710f57397fd65fdb288cc672eac201e280fa7d87fb2a23f72089665dc0dfc25b27bc64fc
    url: https://assets.bonsai.sensu.io/e6722787284bd20f68d0375ee927aa0ec5d2e57b/sensu-pagerduty-handler_1.3.2_darwin_amd64.tar.gz
  - filters:
    - entity.system.os == 'linux'
    - entity.system.arch == 'armv7'
    headers: null
    sha512: 77d2a57ce4e806766faf766a592d5623ee31b634d5a118eaf1423a6aec14819cf569bdeb7f557c727f4c3f67a8127b771ff41a3d2e1ce17ffe9935a2bdb00a8a
    url: https://assets.bonsai.sensu.io/e6722787284bd20f68d0375ee927aa0ec5d2e57b/sensu-pagerduty-handler_1.3.2_linux_armv7.tar.gz
  - filters:
    - entity.system.os == 'linux'
    - entity.system.arch == 'arm64'
    headers: null
    sha512: be5a306fcfbec1f3be9ef8f5300dfcbc59425681f4108bf844dc6e7586567e5f5b207f448f335cff0f2bc3816c845bacffa21ed5a124dfb902b7894b4df0acb9
    url: https://assets.bonsai.sensu.io/e6722787284bd20f68d0375ee927aa0ec5d2e57b/sensu-pagerduty-handler_1.3.2_linux_arm64.tar.gz
  - filters:
    - entity.system.os == 'linux'
    - entity.system.arch == '386'
    headers: null
    sha512: 4fea313808cd4e899248f07928386fc84d52cae7013b41d26d6bb9bfac8a0fb4f84cce4ffbeb38d4f8bbb8e4e4e55f72942bfb244d8f2c9f862bcdfb5775da6c
    url: https://assets.bonsai.sensu.io/e6722787284bd20f68d0375ee927aa0ec5d2e57b/sensu-pagerduty-handler_1.3.2_linux_386.tar.gz
  - filters:
    - entity.system.os == 'linux'
    - entity.system.arch == 'amd64'
    headers: null
    sha512: f0236559b696270ea74ac51274269b8af28ed90901b43e2d13ebed1de34f4faf7a29f06268268a0a41a08721ce67fa0c1f245ad54e444eb06f26fbd87163b687
    url: https://assets.bonsai.sensu.io/e6722787284bd20f68d0375ee927aa0ec5d2e57b/sensu-pagerduty-handler_1.3.2_linux_amd64.tar.gz
  filters: null
  headers: null

Context

Currently, the sensuctl asset list command is quite verbose (and misleading? because it's not listing assets, but rather, asset builds), which makes it hard to quickly view the unique assets that have been registered in the given namespace. A simplified list view would make asset resource management via sensuctl much easier.

For reference, here's the current output after adding a single asset with multiple builds:

$ sensuctl asset list
              Name                                                      URL                                          Hash    
 ─────────────────────────────── ───────────────────────────────────────────────────────────────────────────────── ───────── 
  sensu/sensu-pagerduty-handler   //assets.bonsai.sensu.io/.../sensu-pagerduty-handler_1.3.2_windows_386.tar.gz     10eb353  
  sensu/sensu-pagerduty-handler   //assets.bonsai.sensu.io/.../sensu-pagerduty-handler_1.3.2_windows_amd64.tar.gz   83b51af  
  sensu/sensu-pagerduty-handler   //assets.bonsai.sensu.io/.../sensu-pagerduty-handler_1.3.2_darwin_386.tar.gz      46826d6  
  sensu/sensu-pagerduty-handler   //assets.bonsai.sensu.io/.../sensu-pagerduty-handler_1.3.2_darwin_amd64.tar.gz    8f14359  
  sensu/sensu-pagerduty-handler   //assets.bonsai.sensu.io/.../sensu-pagerduty-handler_1.3.2_linux_armv7.tar.gz     77d2a57  
  sensu/sensu-pagerduty-handler   //assets.bonsai.sensu.io/.../sensu-pagerduty-handler_1.3.2_linux_arm64.tar.gz     be5a306  
  sensu/sensu-pagerduty-handler   //assets.bonsai.sensu.io/.../sensu-pagerduty-handler_1.3.2_linux_386.tar.gz       4fea313  
  sensu/sensu-pagerduty-handler   //assets.bonsai.sensu.io/.../sensu-pagerduty-handler_1.3.2_linux_amd64.tar.gz     f023655  

Also, the sensuctl asset list output is somewhat redundant with sensuctl asset info (displaying URL and SHA values in both the list and detail views). Related: #3667

@calebhailey
Copy link
Author

calebhailey commented Apr 15, 2020

Alternative list view outputs:

  1. Simple

    $ sensuctl asset list 
    NAME                                 BUILDS
    sensu/sensu-pagerduty-handler:1.3.2  8     
    
  2. Docker style... formally adopting an asset naming convention that includes a "tag" (i.e. <asset_name>[:<asset_tag>])?

    $ sensuctl asset list 
    NAME                           TAG    BUILDS
    sensu/sensu-pagerduty-handler  1.3.2  8     
    
  3. Options 1 and 2 with Bonsai asset names (for assets with Bonsai metadata)?

    $ sensuctl asset list
    NAME                                 BUILDS  BONSAI ASSET
    sensu/sensu-pagerduty-handler:1.3.2  8       sensu/sensu-pagerduty-handler     
    helloworld:0.1.0                     1      
    
    $ sensuctl asset list 
    NAME                           TAG    BUILDS  BONSAI ASSET
    sensu/sensu-pagerduty-handler  1.3.2  8       sensu/sensu-pagerduty-handler     
    helloworld                     0.1.0  1      
    

@calebhailey calebhailey added the component:assets Sensu Asset improvements label Apr 15, 2020
@stale
Copy link

stale bot commented Oct 12, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Oct 12, 2020
@stale stale bot closed this as completed Oct 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:assets Sensu Asset improvements wontfix
Projects
None yet
Development

No branches or pull requests

1 participant