Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
b11f8d9
feat(cli): release check registered components: convo + partial state
sicoyle Aug 5, 2025
ab0619d
fix: add state components working properly with cli
sicoyle Aug 5, 2025
629dad1
feat: add pubsub component checks plus missing metadata files
sicoyle Aug 5, 2025
0c14def
feat: add secretstores and start on bindings
sicoyle Aug 6, 2025
4ec9db8
feat: add bindings
sicoyle Aug 6, 2025
4639640
feat: add crypto, lock, nameresolution comps to my setup and fix them up
sicoyle Aug 7, 2025
204f64f
style: rename file to what it should be
sicoyle Aug 7, 2025
c76ce88
feat: add middleware components to cli too
sicoyle Aug 7, 2025
4c9cfdb
style: clean up sam logs
sicoyle Aug 7, 2025
10e3174
style: add allllll other component types
sicoyle Aug 7, 2025
0d101e6
Merge branch 'main' into endgame-task-1.16-comp-registration
sicoyle Aug 7, 2025
556437c
fix: make build happy
sicoyle Aug 7, 2025
cea8dd2
fix(build): update to add newline i removed on accident
sicoyle Aug 7, 2025
2132832
style: ensure we use proper types in metadata files
sicoyle Aug 7, 2025
305a1d3
style: update metadata files for the analyzer to be happy
sicoyle Aug 8, 2025
7e7a7ae
fix: make metadata analyzer happy
sicoyle Aug 8, 2025
2842f7a
fix(rethink): support tls config with a workaround to make metadata a…
sicoyle Aug 8, 2025
0b616ef
style: rm extra quote
sicoyle Aug 8, 2025
443536f
style: make linter happy
sicoyle Aug 8, 2025
dd8ee7e
style: go back to old crypto nameing
sicoyle Aug 8, 2025
1f5262c
fix: last fixes for gcp pubsub bindingg
sicoyle Aug 8, 2025
94cb681
style: fix for metadata analyzer
sicoyle Aug 8, 2025
559f12a
style: appease linter
sicoyle Aug 8, 2025
ef4a474
revert: checkout state dir from main since in diff pr now
sicoyle Aug 11, 2025
7e19011
revert: checkout bindings dir from main since in diff pr now
sicoyle Aug 11, 2025
6f1ca96
revert: checkout nameresolution dir from main since in diff pr now
sicoyle Aug 11, 2025
e4da01b
revert: checkout middleware dir from main since in diff pr now
sicoyle Aug 11, 2025
5b4b3b0
revert: checkout ps dir from main since in diff pr now
sicoyle Aug 11, 2025
e3f9f16
fix: grab latest from master and reset these files to updated master
sicoyle Aug 11, 2025
e1371c6
revert: checkout lock + crypto dir from main since in diff pr now
sicoyle Aug 11, 2025
968cc23
revert: checkout secretstore dir from main since in diff pr now
sicoyle Aug 11, 2025
c0213e2
fix: clean up other changes moved to other prs
sicoyle Aug 11, 2025
8123429
style: few fixes after clean up on pr
sicoyle Aug 11, 2025
dfa1f29
Merge branch 'main' into endgame-task-1.16-comp-registration
sicoyle Aug 11, 2025
ce78278
Merge branch 'main' into endgame-task-1.16-comp-registration
yaron2 Aug 18, 2025
db64e28
Merge branch 'main' into endgame-task-1.16-comp-registration
sicoyle Aug 22, 2025
8de25d6
Merge branch 'main' into endgame-task-1.16-comp-registration
yaron2 Aug 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
style: update metadata files for the analyzer to be happy
Signed-off-by: Samantha Coyle <sam@diagrid.io>
  • Loading branch information
sicoyle committed Aug 8, 2025
commit 305a1d395853c691489546d674ddf8e552a31f83
3 changes: 2 additions & 1 deletion .build-tools/pkg/metadataanalyzer/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ func GenerateMetadataAnalyzer(contribRoot string, componentFolders []string, out
if methodFinderErr == nil {
methodFound = true
}
case "crypto":
case "cryptography":
method, methodFinderErr = getConstructorMethod("contribCrypto.SubtleCrypto", parsedFile)
if methodFinderErr == nil {
methodFound = true
Expand All @@ -136,6 +136,7 @@ func GenerateMetadataAnalyzer(contribRoot string, componentFolders []string, out
methodFound = true
}
}
// TODO: add conversation, nameresolution

if methodFound {
pkgs[packageName] = PkgInfo{
Expand Down
5 changes: 5 additions & 0 deletions bindings/alicloud/oss/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ authenticationProfiles:
description: |
Authenticate using AliCloud access key credentials.
metadata:
- name: accessKey
required: false
description: "The AliCloud access key"
example: '"your-access-key"'
sensitive: true
- name: accessKeyID
required: false
description: "The AliCloud access key ID"
Expand Down
5 changes: 5 additions & 0 deletions bindings/alicloud/tablestore/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ authenticationProfiles:
description: |
Authenticate using AliCloud access key credentials.
metadata:
- name: accessKey
required: false
description: "The AliCloud access key"
example: '"your-access-key"'
sensitive: true
- name: accessKeyID
required: true
description: "The AliCloud access key ID"
Expand Down
6 changes: 5 additions & 1 deletion bindings/aws/dynamodb/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,8 @@ metadata:
- name: table
required: true
description: "The DynamoDB table name"
example: '"my-table"'
example: '"my-table"'
- name: endpoint
required: false
description: "The AWS DynamoDB endpoint"
example: '"https://dynamodb.us-east-1.amazonaws.com"'
6 changes: 5 additions & 1 deletion bindings/aws/kinesis/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,8 @@ metadata:
- name: partitionKey
required: false
description: "The partition key for the Kinesis stream"
example: '"my-partition-key"'
example: '"my-partition-key"'
- name: endpoint
required: false
description: "The AWS Kinesis endpoint"
example: '"https://kinesis.us-east-1.amazonaws.com"'
6 changes: 5 additions & 1 deletion bindings/aws/sqs/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,8 @@ metadata:
- name: queueName
required: true
description: "The SQS queue name"
example: '"my-queue"'
example: '"my-queue"'
- name: endpoint
required: false
description: "The AWS SQS endpoint"
example: '"https://sqs.us-east-1.amazonaws.com"'
6 changes: 5 additions & 1 deletion bindings/cloudflare/queues/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,8 @@ metadata:
required: false
description: "Timeout for network requests in seconds"
example: '20'
default: '20'
default: '20'
- name: queueName
required: true
description: "The Cloudflare queue name"
example: '"my-queue"'
2 changes: 1 addition & 1 deletion bindings/kubernetes/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ metadata:
description: "The path to the kubeconfig file"
example: '"~/.kube/config"'
default: '"~/.kube/config"'
- name: resyncPeriodInSec
- name: resyncPeriod
required: false
type: duration
description: "The resync period in seconds"
Expand Down
53 changes: 52 additions & 1 deletion bindings/rethinkdb/statechange/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,55 @@ metadata:
required: false
description: Whether to enable opentracing for queries.
example: false
default: false
default: false
- name: write_timeout
type: string
required: false
description: Write timeout duration."
example: "10s"
- name: read_timeout
type: string
required: false
description: Read timeout duration."
example: "10s"
- name: handshake_version
type: number
required: false
description: Handshake version for RethinkDB."
example: 1
- name: keep_alive_timeout
type: string
required: false
description: Keep alive period duration."
example: "30s"
- name: max_idle
type: number
required: false
description: Maximum number of idle connections."
example: 5
- name: auth_key
type: string
required: false
description: The authentication key for RethinkDB. This field is now deprecated."
example: "auth-key"
sensitive: true
- name: initial_cap
type: number
required: false
description: Initial connection pool capacity."
example: 5
- name: max_open
type: number
required: false
description: Maximum number of open connections."
example: 10
- name: discover_hosts
type: bool
required: false
description: Whether to discover hosts."
example: false
- name: node_refresh_interval
type: string
required: false
description: Node refresh interval duration."
example: "5m"
4 changes: 2 additions & 2 deletions bindings/rethinkdb/statechange/statechange.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ func (b *Binding) Read(ctx context.Context, handler bindings.Handler) error {
go func() {
defer b.wg.Done()
for readCtx.Err() == nil {
var change interface{}
var change any
ok := cursor.Next(&change)
if !ok {
b.logger.Errorf("error detecting change: %v", cursor.Err())
Expand Down Expand Up @@ -149,7 +149,7 @@ func (b *Binding) Close() error {
return b.session.Close()
}

func metadataToConfig(cfg map[string]string, logger logger.Logger) (StateConfig, error) {
func metadataToConfig(cfg map[string]string, _ logger.Logger) (StateConfig, error) {
c := StateConfig{}

// prepare metadata keys for decoding
Expand Down
10 changes: 9 additions & 1 deletion bindings/twilio/sendgrid/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,12 @@ metadata:
- name: dynamicTemplateId
required: false
description: "The dynamic template ID"
example: '"your-template-id"'
example: '"your-template-id"'
- name: emailFromName
required: false
description: "The sender name"
example: '"John Doe"'
- name: emailToName
required: false
description: "The recipient name"
example: '"Jane Smith"'
31 changes: 31 additions & 0 deletions lock/redis/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,42 @@ authenticationProfiles:
description: |
Authenticate using Redis password.
metadata:
- name: redisUsername
required: false
description: "The Redis username"
example: '"redis-user"'
- name: redisPassword
required: false
sensitive: true
description: "The Redis password"
example: '"your-redis-password"'
- title: "Sentinel Authentication"
description: |
Authenticate using Redis Sentinel password.
metadata:
- name: sentinelUsername
required: false
description: "The Redis Sentinel username"
example: '"sentinel-user"'
- name: sentinelPassword
required: false
sensitive: true
description: "The Redis Sentinel password"
example: '"sentinel-password"'
- title: "TLS Authentication"
description: |
Authenticate using Redis TLS certificate.
metadata:
- name: clientCert
required: false
sensitive: true
description: "The Redis client certificate"
example: '"-----BEGIN CERTIFICATE-----\nXXX..."'
- name: clientKey
required: false
sensitive: true
description: "The Redis client key"
example: '"-----BEGIN PRIVATE KEY-----\nXXX..."'
metadata:
- name: redisHost
required: true
Expand Down
12 changes: 11 additions & 1 deletion pubsub/rocketmq/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -189,4 +189,14 @@ metadata:
type: string
required: false
description: The message properties to pass to the application (comma-separated).
example: "UNIQ_KEY,MSG_ID"
example: "UNIQ_KEY,MSG_ID"
- name: groupName
type: string
required: false
description: The consumer group name (deprecated, use consumerGroup instead).
example: "dapr-consumer-group"
- name: sendTimeOut
type: number
required: false
description: The send timeout in nanoseconds (deprecated, use sendTimeOutSec instead).
example: 10000000000
18 changes: 17 additions & 1 deletion state/gcp/firestore/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,20 @@ metadata:
required: false
description: The entity kind (collection name) for storing state data.
example: "dapr-state"
default: "DaprState"
default: "DaprState"
- name: type
type: string
required: false
description: The type of service account.
example: "service_account"
- name: connectionEndpoint
type: string
required: false
description: The Firestore connection endpoint.
example: "https://firestore.googleapis.com"
- name: noIndex
type: bool
required: false
description: Whether to disable indexing for the entity.
example: false
default: false
4 changes: 2 additions & 2 deletions state/hazelcast/hazelcast.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ type Hazelcast struct {
}

type hazelcastMetadata struct {
HazelcastServers string `json:"hazelcastServers" mapstructure:"hazelcastServers,servers"`
HazelcastMap string `json:"hazelcastMap" mapstructure:"hazelcastMap,map"`
HazelcastServers string `json:"hazelcastServers" mapstructure:"hazelcastServers"`
HazelcastMap string `json:"hazelcastMap" mapstructure:"hazelcastMap"`
}

// NewHazelcastStore returns a new hazelcast backed state store.
Expand Down
4 changes: 2 additions & 2 deletions state/hazelcast/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ urls:
- title: Reference
url: https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-hazelcast/
metadata:
- name: servers
- name: hazelcastServers
type: string
required: true
description: Comma-separated list of Hazelcast servers.
example: "localhost:5701"
- name: map
- name: hazelcastMap
type: string
required: true
description: The Hazelcast map name.
Expand Down
7 changes: 6 additions & 1 deletion state/oci/objectstorage/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,9 @@ metadata:
type: string
required: true
description: The OCID of the compartment containing the bucket.
example: "ocid1.compartment.oc1..example"
example: "ocid1.compartment.oc1..example"
- name: namespace
type: string
required: false
description: The OCI namespace for the object storage.
example: "my-namespace"
10 changes: 4 additions & 6 deletions state/oci/objectstorage/objectstorage.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,9 @@ const (
privateKeyKey = "privateKey"
userKey = "userOCID"
bucketNameKey = "bucketName"
// TODO: this needs to be used or removed below!
metadataTTLKey = "ttlInSeconds"
daprStateStoreMetaLabel = "dapr-state-store"
expiryTimeMetaLabel = "expiry-time-from-ttl"
isoDateTimeFormat = "2006-01-02T15:04:05"
daprStateStoreMetaLabel = "dapr-state-store"
expiryTimeMetaLabel = "expiry-time-from-ttl"
isoDateTimeFormat = "2006-01-02T15:04:05"
)

type StateStore struct {
Expand All @@ -81,7 +79,7 @@ type objectStoreMetadata struct {
InstancePrincipalAuthentication bool
ConfigFileAuthentication bool

OCIObjectStorageClient *objectstorage.ObjectStorageClient
OCIObjectStorageClient *objectstorage.ObjectStorageClient `mapstructure:"-"`
}

type objectStoreClient interface {
Expand Down
53 changes: 52 additions & 1 deletion state/rethinkdb/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,55 @@ metadata:
required: false
description: Whether to enable opentracing for queries.
example: false
default: false
default: false
- name: write_timeout
type: string
required: false
description: Write timeout duration."
example: "10s"
- name: read_timeout
type: string
required: false
description: Read timeout duration."
example: "10s"
- name: handshake_version
type: number
required: false
description: Handshake version for RethinkDB."
example: 1
- name: keep_alive_timeout
type: string
required: false
description: Keep alive period duration."
example: "30s"
- name: max_idle
type: number
required: false
description: Maximum number of idle connections."
example: 5
- name: auth_key
type: string
required: false
description: The authentication key for RethinkDB."
example: "auth-key"
sensitive: true
- name: initial_cap
type: number
required: false
description: Initial connection pool capacity."
example: 5
- name: max_open
type: number
required: false
description: Maximum number of open connections."
example: 10
- name: discover_hosts
type: bool
required: false
description: Whether to discover hosts."
example: false
- name: node_refresh_interval
type: string
required: false
description: Node refresh interval duration."
example: "5m"
Loading