Sensu go - how to install asset from a tar file?

Sensu Go Topic Template
I’m installing this asset GitHub - nixwiz/sensu-go-fatigue-check-filter: An event filter for Sensu Go for managing alert fatigue which uploaded to our internal image repo as as file sensu-go-fatigue-check-filter_0.7.0.tar.gz Is there a way to install the asset from this tar file?

I find there is a document to use sensuctl command install, does this command “testing-sha” will install the asset in sensu?
$ sensuctl command list testing-sha // 1229e25

When I’m trying to execute the command, there is an error of missing files
$ sensuctl command exec testing-sha INFO[0000] asset includes builds, using builds instead of asset asset=testing-sha component=asset-manager entity=sensuctl Error: fork/exec /root/.cache/sensu/sensuctl/1229e25xxxxxxx/bin/entrypoint: no such file or directory

$ ls -al /root/.cache/sensu/sensuctl/1229e25/
total 12
drwxr-xr-x 3 root root 34 Mar 9 19:22 .
drwxr-xr-x 3 root root 178 Mar 9 19:22 …
drwxr-xr-x 2 root root 30 Mar 9 19:22 lib
-rw-r–r-- 1 root root 10401 Mar 9 19:22

Since you are hosting this on an internal repo, the best way to use it as an asset would be to create an asset resource pointing to your local repo. Create a file like below substituting the actual URL for the file in your repo:

type: Asset
api_version: core/v2
  name: sensu-go-fatigue-check-filter
  - url: https://your.internal.repo.url/your/repo/path/sensu-go-fatigue-check-filter_0.8.0.tar.gz
    sha512: b854b7bfadc39b36d537a3b035d7ace293cc48c2f58a719804d9cfebd24e4d9bd58cb75631bb5ecb46263053ae270c0143f1690a0eec18c36922cc7351458064

Assuming you’ve named this file something like fatigue_check_asset.yaml you would then run sensuctl create -f fatigue_check_asset.yaml to create the asset definition. You should now be able to reference this asset when creating the filter resource for it. When a handler makes use of the filter you create, the asset will be dynamically downloaded into /var/cache/sensu/sensu-backend (assuming you are running the Sensu backend on Linux with the default configuration for asset paths).

As for your sensuctl command exec... command failure, that is for Sensuctl command plugins that allow you to extend the functionality of the sensuctl command itself.


So your question aside for a moment,
I do not know what that testing-sha command is. Please remember the sensuctl can be extended with new commands via assets and it appears that you have installed a sensuctl command and named it testing-sha. If your organization has built new private command extensions, those of us outside of your org won’t be able to help you with these private extensions. It could be testing-sha is one such private command extension.

And it appears that whatver testing-sha is, it’s not a welformed sensuctl command extension. When you attempt to run command exec testing-sha sensuctl is failing and throwing an error for this reason.

So you need to double check internally in your org to see what testing-sha command is meant to do and be. It’s probably not meant to be a sensuctl command extension.