Skip to content

v0.34.2 updates#104

Draft
gertd wants to merge 9 commits into
mainfrom
v0.34.2
Draft

v0.34.2 updates#104
gertd wants to merge 9 commits into
mainfrom
v0.34.2

Conversation

@gertd

@gertd gertd commented Jul 8, 2026

Copy link
Copy Markdown
Member

The schema changes in this PR are made to enable the conversion to the v4 schema; all changes are non-breaking, as they implement the newer versions of the API inside the reader and service services, which are the only two services that will remain in the v4 schema.

Common

  • Add the aserto.directory.common.v3.Manifest type
  • Add the aserto.directory.common.v3.Model type

Reader

  • Add reader.Export
  • Add reader.GetManifest
  • Add reader.GetModel
  • Add reader.ListObjects
  • Add reader.ListRelations

Writer

  • Add writer.Import
  • Add writer.SetManifest
  • Add writer.DeleteManifest
  • Add writer.Batch (NEW)

NOTE:

The existing model, exporter, and importer services are unchanged, but will be removed in the v4 schema.

The reader and writer services are the future state, except for the aserto.directory.common.v3.Object type definition.

common.Object

Current v3 definition

message Object {
  // object type identifier
  string type = 1 [(google.api.field_behavior) = REQUIRED];
  // object instance identifier
  string id = 2 [(google.api.field_behavior) = REQUIRED];
  // display name object (optional) (DEPRECATED)
  string display_name = 3 [(google.api.field_behavior) = OPTIONAL, deprecated = true];
  // property bag (optional)
  google.protobuf.Struct properties = 4 [(google.api.field_behavior) = OPTIONAL];
  // created at timestamp (UTC) (DEPRECATED)
  google.protobuf.Timestamp created_at = 20 [(google.api.field_behavior) = OUTPUT_ONLY, deprecated = true];
  // last updated timestamp (UTC)
  google.protobuf.Timestamp updated_at = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
  // object instance etag (optional)
  string etag = 23 [(google.api.field_behavior) = OPTIONAL];
}

The v4 Object type definition will deprecate the:

  • display_name field; existing values will be moved into the property bag
  • created_at; will be removed as the etag value will contain the created_at timestamp similar to a ULID

To be consistent across the schema and codebase, the v4 Object type definition will rename the:

  • type field into object_type
  • id field into object_id

New v4 definition

message Object {
  // object type identifier
  string object_type = 1 [(google.api.field_behavior) = REQUIRED];
  // object instance identifier
  string object_id = 2 [(google.api.field_behavior) = REQUIRED];
  // property bag (optional)
  google.protobuf.Struct properties = 4 [(google.api.field_behavior) = OPTIONAL];
  // last updated timestamp (UTC)
  google.protobuf.Timestamp updated_at = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
  // object instance etag (optional)
  string etag = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
}

Deprecated methods, which will be REMOVED in v4:

  • reader.GetObjects (replaced by ListObjects)
  • reader.GetObjectsMany
  • reader.GetRelations (replaced by ListRelations)
  • reader.CheckPermission (replaced by Check)
  • reader.CheckRelation (replaced by Check)
  • exporter.Export (replaced by reader.Export)
  • importer.Import (replaced by writer.Import)
  • model.GetManifest (replaced by reader.GetManifest)
  • model.SetManifest (replaced by writer.SetManifest)
  • model.DeleteManifest (replaced by writer.DeleteManifest)

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow build / build (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedJul 8, 2026, 7:26 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant