sensu / sensu-go-chef

Chef Library Cookbook for Sensu Go
https://sensu.io
MIT License
11 stars 22 forks source link

Add support for configuring Sensu Go's datastore #67

Closed asachs01 closed 4 years ago

asachs01 commented 4 years ago

Howdy, all!

One of the newer features in Sensu Go is the ability to configure Sensu to use Postgres as a datastore. I'm not seeing that ability (just looking through resources).

Impact

In this case, the impact is the inability to provide configuration for the datastore

Expected Behavior

There should be a resource that allows for configuration of the datastore, or more generally, a resource that allows for sending arbitrary bits of json to sensuctl so that additional configuration (aside from the datastore) can be provided.

Actual Behavior

There isn't really any, given that this would be a new feature.

asachs01 commented 4 years ago

See https://docs.sensu.io/sensu-go/5.14/reference/datastore/ for the configuration

webframp commented 4 years ago

👋 @asachs01

You're right, this isn't obviously supported by the cookbook. We'll take a look and see what can be done for this need.

derekgroh commented 4 years ago

@asachs01 How do you want to handle the Enterprise Licensing to enable the feature?

asachs01 commented 4 years ago

@derekgroh I think the core functionality is the same for both license activation & datastore configuration in this case--being able to use sensuctl to apply arbitrary bits of json. So in terms of what this looks like, whatever resource ends up being created could ensure that the license is valid before configuring the datastore. For example, sensuctl license info returns:

=== Sensu
Account Name: Sensu
Account ID:   1465
Plan:         trial
Version:      1
Features:     all
Issuer:       Sensu, Inc.
Issued:       2019-03-05 16:48:53 +0000 UTC
Valid:        true
Valid Until:  3031-01-31 00:00:00 +0000 UTC

for valid licenses, whereas running sensuctl license info without a license being activated returns:

 sensuctl license info                                                    
Error: invalid credentials

Upon validating the license, the alternative datastore could then be configured. Does this help?

derekgroh commented 4 years ago

@asachs01 that should be enough, should I request a temporary license to validate the first case or mock the return?