vault/buf.yaml
Vault Automation ecb9574f67
VAULT-42187: add a new RPC to send data protection call count billing data from standby node to active node (#12213) (#12306)
* define the proto, define the RPC

* create new standby and active node workers

* fix bugs: set up consumption billing worker on standby nodes

* add external unit tests

* change type of request from int to any

* remove active node worker - the existing logic already updates and flushes data to storage for active node inside updateBillingMetrics

* fix things around after conflict merge

* make fmt

* protobuf lint

* protobuf lint issue fix

* implement cadence based testing of the standby worker

* protobuf formatting

* expand the RPC to include transform call counts, update data returned from endpoint to include transform, remove all todo comments, add tests, fix test helper methods

* create oss no-op stub for the standby worker

* remove unnecessary locks from util testing methods, remove unused method

* Update vault/consumption_billing.go



* remove unused method

* feedback: remove a check on whether system view is initialized

* re-add the check on initialized state of system view

* access the standby state field directly instead of using a method that uses a lock causing deadlock

* feedback: use require.Eventually instead of manual looping to wait for primary to update the count

* feedback: simplify logic to identify initialized consumption billing worker, remove unused methods

* feedback: use log.Error instead of log.Warn

* Update vault/consumption_billing_util_ent.go



* feedback: increase the timeout for the rpc call to 30 secs

* feedback: fix comments in tests to clarify active node and standby node definitions

---------

Co-authored-by: Amir Aslamov <amir.aslamov@hashicorp.com>
Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>
2026-02-11 21:05:01 +00:00

139 lines
5.7 KiB
YAML

# Copyright IBM Corp. 2016, 2025
# SPDX-License-Identifier: BUSL-1.1
version: v1
breaking:
use:
- FILE
deps:
- buf.build/hashicorp/go-kms-wrapping
lint:
ignore_only:
ENUM_VALUE_PREFIX:
- sdk/helper/clientcountutil/generation/generate_data.proto
- vault/hcp_link/proto/node_status/status.proto
- vault/replication_services_ent.proto
ENUM_ZERO_VALUE_SUFFIX:
- sdk/helper/clientcountutil/generation/generate_data.proto
- vault/hcp_link/proto/node_status/status.proto
- vault/replication_services_ent.proto
FIELD_LOWER_SNAKE_CASE:
- enthelpers/wal/types_ent.proto
- sdk/database/dbplugin/database.proto
- sdk/database/dbplugin/v5/proto/database.proto
- sdk/logical/identity.proto
- sdk/plugin/pb/backend.proto
- vault/hcp_link/proto/meta/meta.proto
- vault/hcp_link/proto/node_status/status.proto
- vault/replication/replication_resolver_ent.proto
- vault/replication_services_ent.proto
IMPORT_USED:
- vault/hcp_link/proto/node_status/status.proto
- vault/replication_services_ent.proto
PACKAGE_DIRECTORY_MATCH:
- builtin/logical/pki/metadata.proto
- enthelpers/merkle/types_ent.proto
- enthelpers/wal/types_ent.proto
- helper/forwarding/types.proto
- helper/identity/mfa/types.proto
- helper/identity/types.proto
- helper/storagepacker/types.proto
- physical/raft/types.proto
- sdk/database/dbplugin/database.proto
- sdk/database/dbplugin/v5/proto/database.proto
- sdk/database/dbplugin/v5/proto/database_ent.proto
- sdk/helper/pluginutil/multiplexing.proto
- sdk/logical/event.proto
- sdk/logical/identity.proto
- sdk/logical/observation.proto
- sdk/logical/plugin.proto
- sdk/logical/version.proto
- sdk/plugin/pb/backend.proto
- sdk/plugin/pb/system_view_service_ent.proto
- vault/activity/activity_log.proto
- vault/billing/billing.proto
- sdk/helper/clientcountutil/generation/generate_data.proto
- vault/hcp_link/proto/link_control/link_control.proto
- vault/hcp_link/proto/meta/meta.proto
- vault/hcp_link/proto/node_status/status.proto
- vault/replication/replication_resolver_ent.proto
- vault/seal/multi_wrap_value.proto
- vault/tokens/token.proto
PACKAGE_SAME_DIRECTORY:
- vault/replication/replication_resolver_ent.proto
- vault/replication_services_ent.proto
- vault/request_forwarding_service.proto
PACKAGE_SAME_GO_PACKAGE:
- vault/replication/replication_resolver_ent.proto
- vault/replication_services_ent.proto
- vault/request_forwarding_service.proto
PACKAGE_VERSION_SUFFIX:
- builtin/logical/pki/metadata.proto
- enthelpers/merkle/types_ent.proto
- enthelpers/wal/types_ent.proto
- helper/forwarding/types.proto
- helper/identity/mfa/types.proto
- helper/identity/types.proto
- helper/storagepacker/types.proto
- physical/raft/types.proto
- sdk/database/dbplugin/database.proto
- sdk/helper/pluginutil/multiplexing.proto
- sdk/logical/event.proto
- sdk/logical/identity.proto
- sdk/logical/observation.proto
- sdk/logical/plugin.proto
- sdk/logical/version.proto
- sdk/plugin/pb/backend.proto
- sdk/plugin/pb/system_view_service_ent.proto
- vault/activity/activity_log.proto
- vault/billing/billing.proto
- sdk/helper/clientcountutil/generation/generate_data.proto
- vault/hcp_link/proto/link_control/link_control.proto
- vault/hcp_link/proto/meta/meta.proto
- vault/hcp_link/proto/node_status/status.proto
- vault/replication/replication_resolver_ent.proto
- vault/replication_services_ent.proto
- vault/request_forwarding_service.proto
- vault/seal/multi_wrap_value.proto
- vault/tokens/token.proto
RPC_REQUEST_RESPONSE_UNIQUE:
- sdk/database/dbplugin/database.proto
- sdk/database/dbplugin/v5/proto/database.proto
- sdk/database/dbplugin/v5/proto/database_ent.proto
- sdk/plugin/pb/backend.proto
- sdk/plugin/pb/system_view_service_ent.proto
- vault/replication_services_ent.proto
- vault/request_forwarding_service.proto
RPC_REQUEST_STANDARD_NAME:
- sdk/database/dbplugin/database.proto
- sdk/database/dbplugin/v5/proto/database.proto
- sdk/database/dbplugin/v5/proto/database_ent.proto
- sdk/logical/version.proto
- sdk/plugin/pb/backend.proto
- sdk/plugin/pb/system_view_service_ent.proto
- vault/replication/replication_resolver_ent.proto
- vault/replication_services_ent.proto
- vault/request_forwarding_service.proto
RPC_RESPONSE_STANDARD_NAME:
- sdk/database/dbplugin/database.proto
- sdk/database/dbplugin/v5/proto/database.proto
- sdk/database/dbplugin/v5/proto/database_ent.proto
- sdk/logical/version.proto
- sdk/plugin/pb/backend.proto
- vault/hcp_link/proto/meta/meta.proto
- vault/replication/replication_resolver_ent.proto
- vault/replication_services_ent.proto
- vault/request_forwarding_service.proto
SERVICE_SUFFIX:
- sdk/database/dbplugin/database.proto
- sdk/database/dbplugin/v5/proto/database.proto
- sdk/database/dbplugin/v5/proto/database_ent.proto
- sdk/helper/pluginutil/multiplexing.proto
- sdk/logical/version.proto
- sdk/plugin/pb/backend.proto
- sdk/plugin/pb/system_view_service_ent.proto
- vault/hcp_link/proto/link_control/link_control.proto
- vault/hcp_link/proto/meta/meta.proto
- vault/replication/replication_resolver_ent.proto
- vault/replication_services_ent.proto
- vault/request_forwarding_service.proto