Skip to content

Commit bcb07ec

Browse files
Refactor the TLSPKMode to be OutputMode and add a Local File mode
Signed-off-by: Richard Wall <[email protected]>
1 parent 4026993 commit bcb07ec

File tree

6 files changed

+204
-97
lines changed

6 files changed

+204
-97
lines changed

cmd/agent_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ func TestAgentRunOneShot(t *testing.T) {
1919
"preflight",
2020
"agent",
2121
"--one-shot",
22-
// TODO(wallrj): This should not be required when an `--input-file` has been supplied.
23-
"--api-token=should-not-be-required",
2422
"--agent-config-file=testdata/agent/one-shot/success/config.yaml",
2523
"--input-path=testdata/agent/one-shot/success/input.json",
2624
"--output-path=/dev/null",

pkg/agent/config.go

Lines changed: 42 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -324,15 +324,16 @@ func InitAgentCmdFlags(c *cobra.Command, cfg *AgentCmdFlags) {
324324

325325
}
326326

327-
// TLSPKMode controls how to authenticate to TLSPK / Jetstack Secure. Only one
328-
// TLSPKMode may be provided if using those backends.
329-
type TLSPKMode string
327+
// OutputMode controls how the collected data is published.
328+
// Only one OutputMode may be provided.
329+
type OutputMode string
330330

331331
const (
332-
JetstackSecureOAuth TLSPKMode = "Jetstack Secure OAuth"
333-
JetstackSecureAPIToken TLSPKMode = "Jetstack Secure API Token"
334-
VenafiCloudKeypair TLSPKMode = "Venafi Cloud Key Pair Service Account"
335-
VenafiCloudVenafiConnection TLSPKMode = "Venafi Cloud VenafiConnection"
332+
JetstackSecureOAuth OutputMode = "Jetstack Secure OAuth"
333+
JetstackSecureAPIToken OutputMode = "Jetstack Secure API Token"
334+
VenafiCloudKeypair OutputMode = "Venafi Cloud Key Pair Service Account"
335+
VenafiCloudVenafiConnection OutputMode = "Venafi Cloud VenafiConnection"
336+
LocalFile OutputMode = "Local File"
336337
)
337338

338339
// The command-line flags and the config file are combined into this struct by
@@ -345,7 +346,7 @@ type CombinedConfig struct {
345346
StrictMode bool
346347
OneShot bool
347348

348-
TLSPKMode TLSPKMode
349+
OutputMode OutputMode
349350

350351
// Used by all TLSPK modes.
351352
ClusterID string
@@ -389,7 +390,7 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
389390

390391
{
391392
var (
392-
mode TLSPKMode
393+
mode OutputMode
393394
reason string
394395
keysAndValues []any
395396
)
@@ -419,18 +420,22 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
419420
case !flags.VenafiCloudMode && flags.CredentialsPath != "":
420421
mode = JetstackSecureOAuth
421422
reason = "--credentials-file was specified without --venafi-cloud"
423+
case flags.OutputPath != "":
424+
mode = LocalFile
425+
reason = "--output-path was specified"
422426
default:
423-
return CombinedConfig{}, nil, fmt.Errorf("no TLSPK mode specified. " +
424-
"To enable one of the TLSPK modes, you can:\n" +
427+
return CombinedConfig{}, nil, fmt.Errorf("no output mode specified. " +
428+
"To enable one of the output modes, you can:\n" +
425429
" - Use (--venafi-cloud with --credentials-file) or (--client-id with --private-key-path) to use the " + string(VenafiCloudKeypair) + " mode.\n" +
426430
" - Use --venafi-connection for the " + string(VenafiCloudVenafiConnection) + " mode.\n" +
427431
" - Use --credentials-file alone if you want to use the " + string(JetstackSecureOAuth) + " mode.\n" +
428-
" - Use --api-token if you want to use the " + string(JetstackSecureAPIToken) + " mode.")
432+
" - Use --api-token if you want to use the " + string(JetstackSecureAPIToken) + " mode.\n" +
433+
" - Use --output-path for " + string(LocalFile) + " mode.")
429434
}
430435

431436
keysAndValues = append(keysAndValues, "mode", mode, "reason", reason)
432-
log.V(logs.Debug).Info("Configured to push to Venafi", keysAndValues...)
433-
res.TLSPKMode = mode
437+
log.V(logs.Debug).Info("Output mode selected", keysAndValues...)
438+
res.OutputMode = mode
434439
}
435440

436441
var errs error
@@ -459,7 +464,7 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
459464
endpointPath = cfg.Endpoint.Path
460465
case !hasServerField && !hasEndpointField:
461466
server = "https://preflight.jetstack.io"
462-
if res.TLSPKMode == VenafiCloudKeypair {
467+
if res.OutputMode == VenafiCloudKeypair {
463468
// The VenafiCloudVenafiConnection mode doesn't need a server.
464469
server = client.VenafiCloudProdURL
465470
}
@@ -468,7 +473,7 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
468473
if urlErr != nil || url.Hostname() == "" {
469474
errs = multierror.Append(errs, fmt.Errorf("server %q is not a valid URL", server))
470475
}
471-
if res.TLSPKMode == VenafiCloudVenafiConnection && server != "" {
476+
if res.OutputMode == VenafiCloudVenafiConnection && server != "" {
472477
log.Info(fmt.Sprintf("ignoring the server field specified in the config file. In %s mode, this field is not needed.", VenafiCloudVenafiConnection))
473478
server = ""
474479
}
@@ -479,10 +484,10 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
479484
// Validation of `venafi-cloud.upload_path`.
480485
{
481486
var uploadPath string
482-
switch res.TLSPKMode { // nolint:exhaustive
487+
switch res.OutputMode { // nolint:exhaustive
483488
case VenafiCloudKeypair:
484489
if cfg.VenafiCloud == nil || cfg.VenafiCloud.UploadPath == "" {
485-
errs = multierror.Append(errs, fmt.Errorf("the venafi-cloud.upload_path field is required when using the %s mode", res.TLSPKMode))
490+
errs = multierror.Append(errs, fmt.Errorf("the venafi-cloud.upload_path field is required when using the %s mode", res.OutputMode))
486491
break // Skip to the end of the switch statement.
487492
}
488493
_, urlErr := url.Parse(cfg.VenafiCloud.UploadPath)
@@ -499,7 +504,7 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
499504
// change this value with the new --venafi-connection flag, and this
500505
// field is simply ignored.
501506
if cfg.VenafiCloud != nil && cfg.VenafiCloud.UploadPath != "" {
502-
log.Info(fmt.Sprintf(`ignoring the venafi-cloud.upload_path field in the config file. In %s mode, this field is not needed.`, res.TLSPKMode))
507+
log.Info(fmt.Sprintf(`ignoring the venafi-cloud.upload_path field in the config file. In %s mode, this field is not needed.`, res.OutputMode))
503508
}
504509
uploadPath = ""
505510
}
@@ -517,18 +522,18 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
517522
// https://venafi.atlassian.net/browse/VC-35385 is done.
518523
{
519524
if cfg.VenafiCloud != nil && cfg.VenafiCloud.UploaderID != "" {
520-
log.Info(fmt.Sprintf(`ignoring the venafi-cloud.uploader_id field in the config file. This field is not needed in %s mode.`, res.TLSPKMode))
525+
log.Info(fmt.Sprintf(`ignoring the venafi-cloud.uploader_id field in the config file. This field is not needed in %s mode.`, res.OutputMode))
521526
}
522527
}
523528

524529
// Validation of `cluster_id` and `organization_id`.
525530
{
526531
var clusterID string
527532
var organizationID string // Only used by the old jetstack-secure mode.
528-
switch res.TLSPKMode { // nolint:exhaustive
533+
switch res.OutputMode { // nolint:exhaustive
529534
case VenafiCloudKeypair, VenafiCloudVenafiConnection:
530535
if cfg.ClusterID == "" {
531-
errs = multierror.Append(errs, fmt.Errorf("cluster_id is required in %s mode", res.TLSPKMode))
536+
errs = multierror.Append(errs, fmt.Errorf("cluster_id is required in %s mode", res.OutputMode))
532537
}
533538
clusterID = cfg.ClusterID
534539
case JetstackSecureOAuth, JetstackSecureAPIToken:
@@ -587,7 +592,7 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
587592
var err error
588593
installNS, err = getInClusterNamespace()
589594
if err != nil {
590-
if res.TLSPKMode == VenafiCloudVenafiConnection {
595+
if res.OutputMode == VenafiCloudVenafiConnection {
591596
errs = multierror.Append(errs, fmt.Errorf("could not guess which namespace the agent is running in: %w", err))
592597
}
593598
}
@@ -596,7 +601,7 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
596601
}
597602

598603
// Validation of --venafi-connection and --venafi-connection-namespace.
599-
if res.TLSPKMode == VenafiCloudVenafiConnection {
604+
if res.OutputMode == VenafiCloudVenafiConnection {
600605
res.VenConnName = flags.VenConnName
601606
venConnNS := flags.VenConnNS
602607
if flags.VenConnNS == "" {
@@ -643,12 +648,12 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
643648
return CombinedConfig{}, nil, errs
644649
}
645650

646-
preflightClient, err := validateCredsAndCreateClient(log, flags.CredentialsPath, flags.ClientID, flags.PrivateKeyPath, flags.APIToken, res)
651+
outputClient, err := validateCredsAndCreateClient(log, flags.CredentialsPath, flags.ClientID, flags.PrivateKeyPath, flags.APIToken, res)
647652
if err != nil {
648653
return CombinedConfig{}, nil, multierror.Prefix(err, "validating creds:")
649654
}
650655

651-
return res, preflightClient, nil
656+
return res, outputClient, nil
652657
}
653658

654659
// Validation of --credentials-file/-k, --client-id, and --private-key-path,
@@ -660,9 +665,9 @@ func ValidateAndCombineConfig(log logr.Logger, cfg Config, flags AgentCmdFlags)
660665
func validateCredsAndCreateClient(log logr.Logger, flagCredentialsPath, flagClientID, flagPrivateKeyPath, flagAPIToken string, cfg CombinedConfig) (client.Client, error) {
661666
var errs error
662667

663-
var preflightClient client.Client
668+
var outputClient client.Client
664669
metadata := &api.AgentMetadata{Version: version.PreflightVersion, ClusterID: cfg.ClusterID}
665-
switch cfg.TLSPKMode {
670+
switch cfg.OutputMode {
666671
case JetstackSecureOAuth:
667672
// Note that there are no command line flags to configure the
668673
// JetstackSecureOAuth mode.
@@ -678,7 +683,7 @@ func validateCredsAndCreateClient(log logr.Logger, flagCredentialsPath, flagClie
678683
break // Don't continue with the client if credentials file invalid.
679684
}
680685

681-
preflightClient, err = client.NewOAuthClient(metadata, creds, cfg.Server)
686+
outputClient, err = client.NewOAuthClient(metadata, creds, cfg.Server)
682687
if err != nil {
683688
errs = multierror.Append(errs, err)
684689
}
@@ -730,7 +735,7 @@ func validateCredsAndCreateClient(log logr.Logger, flagCredentialsPath, flagClie
730735
log.Info("Loading upload_path from \"venafi-cloud\" configuration.")
731736

732737
var err error
733-
preflightClient, err = client.NewVenafiCloudClient(metadata, creds, cfg.Server, uploaderID, cfg.UploadPath)
738+
outputClient, err = client.NewVenafiCloudClient(metadata, creds, cfg.Server, uploaderID, cfg.UploadPath)
734739
if err != nil {
735740
errs = multierror.Append(errs, err)
736741
}
@@ -742,25 +747,27 @@ func validateCredsAndCreateClient(log logr.Logger, flagCredentialsPath, flagClie
742747
break // Don't continue with the client if kubeconfig wasn't loaded.
743748
}
744749

745-
preflightClient, err = client.NewVenConnClient(restCfg, metadata, cfg.InstallNS, cfg.VenConnName, cfg.VenConnNS, nil)
750+
outputClient, err = client.NewVenConnClient(restCfg, metadata, cfg.InstallNS, cfg.VenConnName, cfg.VenConnNS, nil)
746751
if err != nil {
747752
errs = multierror.Append(errs, err)
748753
}
749754
case JetstackSecureAPIToken:
750755
var err error
751-
preflightClient, err = client.NewAPITokenClient(metadata, flagAPIToken, cfg.Server)
756+
outputClient, err = client.NewAPITokenClient(metadata, flagAPIToken, cfg.Server)
752757
if err != nil {
753758
errs = multierror.Append(errs, err)
754759
}
760+
case LocalFile:
761+
outputClient = client.NewFileClient(cfg.OutputPath)
755762
default:
756-
panic(fmt.Errorf("programmer mistake: auth mode not implemented: %s", cfg.TLSPKMode))
763+
panic(fmt.Errorf("programmer mistake: output mode not implemented: %s", cfg.OutputMode))
757764
}
758765

759766
if errs != nil {
760-
return nil, fmt.Errorf("failed loading config using the %s mode: %w", cfg.TLSPKMode, errs)
767+
return nil, fmt.Errorf("failed loading config using the %s mode: %w", cfg.OutputMode, errs)
761768
}
762769

763-
return preflightClient, nil
770+
return outputClient, nil
764771
}
765772

766773
// Same as ValidateAndCombineConfig but just for validating the data gatherers.

pkg/agent/config_test.go

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
9696
withCmdLineFlags("--period", "99m", "--credentials-file", fakeCredsPath))
9797
require.NoError(t, err)
9898
assert.Equal(t, testutil.Undent(`
99-
INFO Configured to push to Venafi mode="Jetstack Secure OAuth" reason="--credentials-file was specified without --venafi-cloud"
99+
INFO Output mode selected mode="Jetstack Secure OAuth" reason="--credentials-file was specified without --venafi-cloud"
100100
INFO Both the 'period' field and --period are set. Using the value provided with --period.
101101
`), gotLogs.String())
102102
assert.Equal(t, 99*time.Minute, got.Period)
@@ -178,12 +178,12 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
178178

179179
// The log line printed by pflag is not captured by the log recorder.
180180
assert.Equal(t, testutil.Undent(`
181-
INFO Configured to push to Venafi mode="Jetstack Secure OAuth" reason="--credentials-file was specified without --venafi-cloud"
181+
INFO Output mode selected mode="Jetstack Secure OAuth" reason="--credentials-file was specified without --venafi-cloud"
182182
INFO Using period from config period="1h0m0s"
183183
`), b.String())
184184
})
185185

186-
t.Run("error when no auth method specified", func(t *testing.T) {
186+
t.Run("error when no output mode specified", func(t *testing.T) {
187187
_, cl, err := ValidateAndCombineConfig(discardLogs(),
188188
withConfig(testutil.Undent(`
189189
server: https://api.venafi.eu
@@ -194,11 +194,12 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
194194
withoutCmdLineFlags(),
195195
)
196196
assert.EqualError(t, err, testutil.Undent(`
197-
no TLSPK mode specified. To enable one of the TLSPK modes, you can:
197+
no output mode specified. To enable one of the output modes, you can:
198198
- Use (--venafi-cloud with --credentials-file) or (--client-id with --private-key-path) to use the Venafi Cloud Key Pair Service Account mode.
199199
- Use --venafi-connection for the Venafi Cloud VenafiConnection mode.
200200
- Use --credentials-file alone if you want to use the Jetstack Secure OAuth mode.
201-
- Use --api-token if you want to use the Jetstack Secure API Token mode.`))
201+
- Use --api-token if you want to use the Jetstack Secure API Token mode.
202+
- Use --output-path for Local File mode.`))
202203
assert.Nil(t, cl)
203204
})
204205

@@ -226,8 +227,8 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
226227
withCmdLineFlags("--credentials-file", credsPath),
227228
)
228229
expect := CombinedConfig{
229-
TLSPKMode: "Jetstack Secure OAuth",
230-
ClusterID: "example-cluster",
230+
OutputMode: "Jetstack Secure OAuth",
231+
ClusterID: "example-cluster",
231232
DataGatherers: []DataGatherer{{Kind: "dummy",
232233
Name: "d1",
233234
Config: &dummyConfig{},
@@ -275,7 +276,7 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
275276
InputPath: "/home",
276277
OutputPath: "/nothome",
277278
UploadPath: "/testing/path",
278-
TLSPKMode: VenafiCloudKeypair,
279+
OutputMode: VenafiCloudKeypair,
279280
ClusterID: "the cluster name",
280281
BackoffMaxTime: 99 * time.Minute,
281282
InstallNS: "venafi",
@@ -299,7 +300,7 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
299300
withCmdLineFlags("--client-id", "5bc7d07c-45da-11ef-a878-523f1e1d7de1", "--private-key-path", privKeyPath),
300301
)
301302
require.NoError(t, err)
302-
assert.Equal(t, VenafiCloudKeypair, got.TLSPKMode)
303+
assert.Equal(t, VenafiCloudKeypair, got.OutputMode)
303304
assert.IsType(t, &client.VenafiCloudClient{}, cl)
304305
})
305306

@@ -388,7 +389,7 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
388389
`)),
389390
withCmdLineFlags("--credentials-file", path))
390391
require.NoError(t, err)
391-
assert.Equal(t, CombinedConfig{Server: "https://api.venafi.eu", Period: time.Hour, OrganizationID: "foo", ClusterID: "bar", TLSPKMode: JetstackSecureOAuth, BackoffMaxTime: 10 * time.Minute, InstallNS: "venafi"}, got)
392+
assert.Equal(t, CombinedConfig{Server: "https://api.venafi.eu", Period: time.Hour, OrganizationID: "foo", ClusterID: "bar", OutputMode: JetstackSecureOAuth, BackoffMaxTime: 10 * time.Minute, InstallNS: "venafi"}, got)
392393
assert.IsType(t, &client.OAuthClient{}, cl)
393394
})
394395

@@ -467,7 +468,7 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
467468
`)),
468469
withCmdLineFlags("--client-id", "5bc7d07c-45da-11ef-a878-523f1e1d7de1", "--private-key-path", path))
469470
require.NoError(t, err)
470-
assert.Equal(t, CombinedConfig{Server: "https://api.venafi.eu", Period: time.Hour, TLSPKMode: VenafiCloudKeypair, ClusterID: "the cluster name", UploadPath: "/foo/bar", BackoffMaxTime: 10 * time.Minute, InstallNS: "venafi"}, got)
471+
assert.Equal(t, CombinedConfig{Server: "https://api.venafi.eu", Period: time.Hour, OutputMode: VenafiCloudKeypair, ClusterID: "the cluster name", UploadPath: "/foo/bar", BackoffMaxTime: 10 * time.Minute, InstallNS: "venafi"}, got)
471472
assert.IsType(t, &client.VenafiCloudClient{}, cl)
472473
})
473474

@@ -489,7 +490,7 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
489490
`)),
490491
withCmdLineFlags("--venafi-cloud", "--credentials-file", credsPath))
491492
require.NoError(t, err)
492-
assert.Equal(t, CombinedConfig{Server: "https://api.venafi.eu", Period: time.Hour, TLSPKMode: VenafiCloudKeypair, ClusterID: "the cluster name", UploadPath: "/foo/bar", BackoffMaxTime: 10 * time.Minute, InstallNS: "venafi"}, got)
493+
assert.Equal(t, CombinedConfig{Server: "https://api.venafi.eu", Period: time.Hour, OutputMode: VenafiCloudKeypair, ClusterID: "the cluster name", UploadPath: "/foo/bar", BackoffMaxTime: 10 * time.Minute, InstallNS: "venafi"}, got)
493494
})
494495

495496
t.Run("venafi-cloud-keypair-auth: venafi-cloud.upload_path field is required", func(t *testing.T) {
@@ -566,7 +567,7 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
566567
assert.Equal(t, CombinedConfig{
567568
Period: 1 * time.Hour,
568569
ClusterID: "the cluster name",
569-
TLSPKMode: VenafiCloudVenafiConnection,
570+
OutputMode: VenafiCloudVenafiConnection,
570571
VenConnName: "venafi-components",
571572
VenConnNS: "venafi",
572573
InstallNS: "venafi",
@@ -592,13 +593,13 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
592593
)
593594
require.NoError(t, err)
594595
assert.Equal(t, testutil.Undent(`
595-
INFO Configured to push to Venafi venConnName="venafi-components" mode="Venafi Cloud VenafiConnection" reason="--venafi-connection was specified"
596+
INFO Output mode selected venConnName="venafi-components" mode="Venafi Cloud VenafiConnection" reason="--venafi-connection was specified"
596597
INFO ignoring the server field specified in the config file. In Venafi Cloud VenafiConnection mode, this field is not needed.
597598
INFO ignoring the venafi-cloud.upload_path field in the config file. In Venafi Cloud VenafiConnection mode, this field is not needed.
598599
INFO ignoring the venafi-cloud.uploader_id field in the config file. This field is not needed in Venafi Cloud VenafiConnection mode.
599600
INFO Using period from config period="1h0m0s"
600601
`), gotLogs.String())
601-
assert.Equal(t, VenafiCloudVenafiConnection, got.TLSPKMode)
602+
assert.Equal(t, VenafiCloudVenafiConnection, got.OutputMode)
602603
assert.IsType(t, &client.VenConnClient{}, gotCl)
603604
})
604605

@@ -613,7 +614,20 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
613614
`)),
614615
withCmdLineFlags("--venafi-connection", "venafi-components"))
615616
require.NoError(t, err)
616-
assert.Equal(t, VenafiCloudVenafiConnection, got.TLSPKMode)
617+
assert.Equal(t, VenafiCloudVenafiConnection, got.OutputMode)
618+
})
619+
620+
t.Run("--output-file selects local file mode", func(t *testing.T) {
621+
log, gotLog := recordLogs(t)
622+
got, outputClient, err := ValidateAndCombineConfig(log,
623+
withConfig(""),
624+
withCmdLineFlags("--period", "1m", "--output-path", t.TempDir()))
625+
require.NoError(t, err)
626+
assert.Equal(t, LocalFile, got.OutputMode)
627+
assert.Equal(t, testutil.Undent(`
628+
INFO Output mode selected mode="Local File" reason="--output-path was specified"
629+
`), gotLog.String())
630+
assert.IsType(t, &client.FileClient{}, outputClient)
617631
})
618632

619633
// When --input-path is supplied, the data is being read from a local file
@@ -637,7 +651,6 @@ func Test_ValidateAndCombineConfig(t *testing.T) {
637651
"--one-shot",
638652
"--input-path", expectedInputPath,
639653
"--output-path", "/dev/null",
640-
"--api-token", "should-not-be-required",
641654
),
642655
)
643656
require.NoError(t, err)
@@ -680,7 +693,7 @@ func Test_ValidateAndCombineConfig_VenafiCloudKeyPair(t *testing.T) {
680693
)
681694
require.NoError(t, err)
682695
testutil.TrustCA(t, cl, cert)
683-
assert.Equal(t, VenafiCloudKeypair, got.TLSPKMode)
696+
assert.Equal(t, VenafiCloudKeypair, got.OutputMode)
684697

685698
err = cl.PostDataReadingsWithOptions(ctx, nil, client.Options{ClusterName: "test cluster name"})
686699
require.NoError(t, err)

0 commit comments

Comments
 (0)