SPEKTRA Edge Wide-Column Annotations
Those four resource types in SPEKTRA Edge (TimeSerie, ActivityLog, ResourceChangeLog, Log) are still declared as Goten resources, but have several opt-outs that make them unique. See in SPEKTRA Edge repo:
- Audit API-Skeleton:
audit/proto/api-skeleton-v1.yaml
, resources:ActivityLog
,ResourceChangeLog
- Logging API-Skeleton:
logging/proto/api-skeleton-v1.yaml
, resources:Log
- Monitoring API-Skeleton:
monitoring/proto/api-skeleton-v4.yaml
, resources:TimeSerie
See opt-out settings: They don’t have a metadata field, standard CRUD is
disabled, and pagination and resource change are also not present. For
TimeSerie, we are also disabling the name field (more for historical reasons,
to match to Google Stackdriver API in version v3). We also disabled
“basicActions” for all (by specifying *
), but this option is not
necessary, since disabling standard CRUD ensures that no basic actions
(like Create, Get, BatchGet…) are generated.
As a result, Goten will not generate anything for these resources in the
access
or store
packages, nor server
will have any basics related
to them. Some standard types in the resources
package will also be
missing.
They will still get Descriptor instances, and they will still satisfy
the gotenresource.Resource
interface (as defined in the
runtime/resource/resource.go
file in the Goten repo), but for example
EnsureMetadata
will return nil value. Function SupportsMetadata
in the gotenresource.Descriptor
interface will return false.
This is how we are taking control of resources from Goten to us, and we can use a different storage type.