diff --git a/CHANGELOG.md b/CHANGELOG.md index 934552f57..60a98c4d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - (Bugfix) Propagate Gateway Idle Timeout - (Feature) Update Authz V1 Definitions - (Feature) (Platform) Add Sharding to the Inventory Endpoint +- (Feature) Emit Default values in Inventory ## [1.2.46](https://github.com/arangodb/kube-arangodb/tree/1.2.46) (2025-02-24) - (Bugfix) Clean Phase change properly during upgrade diff --git a/integrations/inventory/v1/definition/inventory_test.go b/integrations/inventory/v1/definition/inventory_test.go index 1849111cd..ce4f18932 100644 --- a/integrations/inventory/v1/definition/inventory_test.go +++ b/integrations/inventory/v1/definition/inventory_test.go @@ -25,6 +25,7 @@ import ( "testing" "github.com/stretchr/testify/require" + "google.golang.org/protobuf/encoding/protojson" ugrpc "github.com/arangodb/kube-arangodb/pkg/util/grpc" ) @@ -35,13 +36,16 @@ func Test_State_Marshal(t *testing.T) { Hash: "xyz", }, Arangodb: &ArangoDBConfiguration{ - Mode: ArangoDBMode_Cluster, - Edition: ArangoDBEdition_Enterprise, - Version: "1.2.3", + Mode: ArangoDBMode_Cluster, + Edition: ArangoDBEdition_Enterprise, + Version: "1.2.3", + Sharding: ArangoDBSharding_Sharded, }, } - data, err := ugrpc.Marshal(&s) + data, err := ugrpc.Marshal(&s, func(in *protojson.MarshalOptions) { + in.EmitDefaultValues = true + }) require.NoError(t, err) t.Log(string(data)) diff --git a/pkg/deployment/resources/config_map_gateway.go b/pkg/deployment/resources/config_map_gateway.go index 910f7ecbc..24f34d2d3 100644 --- a/pkg/deployment/resources/config_map_gateway.go +++ b/pkg/deployment/resources/config_map_gateway.go @@ -26,6 +26,7 @@ import ( "path" "path/filepath" + "google.golang.org/protobuf/encoding/protojson" core "k8s.io/api/core/v1" kerrors "k8s.io/apimachinery/pkg/api/errors" meta "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -75,6 +76,11 @@ func (r *Resources) ensureGatewayConfig(ctx context.Context, cachedStatus inspec Arangodb: pbInventoryV1.NewArangoDBConfiguration(r.context.GetSpec(), r.context.GetStatus()), }, Marshaller: ugrpc.Marshal[*pbInventoryV1.Inventory], + Options: []util.Mod[protojson.MarshalOptions]{ + func(in *protojson.MarshalOptions) { + in.EmitDefaultValues = true + }, + }, }, } diff --git a/pkg/deployment/resources/gateway/gateway_config_destination_static.go b/pkg/deployment/resources/gateway/gateway_config_destination_static.go index 5e6746f4f..01d2ecabc 100644 --- a/pkg/deployment/resources/gateway/gateway_config_destination_static.go +++ b/pkg/deployment/resources/gateway/gateway_config_destination_static.go @@ -42,6 +42,8 @@ type ConfigDestinationStatic[T any] struct { Response T `json:"response,omitempty"` Marshaller ConfigDestinationStaticMarshaller[T] `json:"-"` + + Options []util.Mod[protojson.MarshalOptions] } func (c *ConfigDestinationStatic[T]) Validate() error {