Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
cbfcd17
readme
nonsocode Mar 31, 2025
117ed27
preview examples
nonsocode Apr 8, 2025
f6afd40
examples
nonsocode Apr 8, 2025
2933c1a
mq
nonsocode Apr 9, 2025
310ad2b
almost done with persistence
nonsocode Apr 9, 2025
f662461
finish broker changes
nonsocode Apr 9, 2025
bb256f7
secretProviderClassReff
nonsocode Apr 14, 2025
3b52a2c
linted
nonsocode Apr 18, 2025
1990b0e
skynet
nonsocode Apr 18, 2025
18064f5
dataflowEndpoint types
nonsocode Apr 18, 2025
a8b6479
spaes
nonsocode Apr 18, 2025
0cf322a
adr namespaces
nonsocode Apr 18, 2025
075cb8f
Otel endpoint
nonsocode Apr 18, 2025
3bb0860
diagnostics
nonsocode Apr 18, 2025
491d26f
namespace
nonsocode Apr 18, 2025
47ef0a4
dfg
nonsocode Apr 23, 2025
68c01b9
lint
nonsocode Apr 23, 2025
b52c4ec
start reg auth
nonsocode Apr 23, 2025
9cddec8
get rid of auth file
nonsocode Apr 23, 2025
ba7d391
Auth for registry endpoint
nonsocode Apr 24, 2025
ec673ed
diff
nonsocode Apr 24, 2025
a5e911f
fix spelling
nonsocode Apr 24, 2025
25b1c23
use v6
nonsocode Apr 24, 2025
519ef46
node Connections
nonsocode Apr 24, 2025
2a54d51
test duplicate accross namespaces
nonsocode Apr 24, 2025
1bb99ec
undo namespaces
nonsocode Apr 24, 2025
929a690
back to v5
nonsocode Apr 24, 2025
3324467
dataflows
nonsocode Apr 24, 2025
0dfbbd7
Registry endpoint
nonsocode Apr 25, 2025
cd3f56b
ref
nonsocode Apr 25, 2025
a06774d
diagnostics
nonsocode Apr 25, 2025
ed55a90
registry endpoints
nonsocode Apr 25, 2025
d7cb89b
format
nonsocode Apr 25, 2025
4647105
connector config instances
nonsocode Apr 25, 2025
49f2ded
values
nonsocode Apr 27, 2025
0358ce2
finished MQprops for conntemp
nonsocode Apr 27, 2025
e1e4d48
connector template
nonsocode Apr 27, 2025
ccd7905
doc
nonsocode Apr 27, 2025
f01c1a7
suppressions
nonsocode Apr 27, 2025
ce51fd1
linting
nonsocode Apr 27, 2025
31081c0
self review 1
nonsocode Apr 27, 2025
290fba3
compiled
nonsocode Apr 28, 2025
da3fc30
lint
nonsocode Apr 28, 2025
9408ea3
reg endpoint
nonsocode Apr 28, 2025
1c8042d
dummy examples
nonsocode Apr 28, 2025
e93726c
fix examples
nonsocode Apr 28, 2025
1cc202d
auth
nonsocode Apr 28, 2025
c9fe34b
avoid additional propertis
nonsocode Apr 28, 2025
6175085
docblocks
nonsocode Apr 28, 2025
6cc2a83
docb
nonsocode Apr 28, 2025
13dca17
doc
nonsocode Apr 28, 2025
4f38ac1
doc
nonsocode Apr 28, 2025
1c4793d
linting
nonsocode Apr 28, 2025
addf20e
ref
nonsocode Apr 28, 2025
122db33
spelling
nonsocode Apr 28, 2025
09d6087
akri
nonsocode Apr 28, 2025
53c425b
Fix operation id.
nonsocode Apr 28, 2025
cb6a776
Discovery handler
nonsocode Apr 28, 2025
8fbc687
lint
nonsocode Apr 28, 2025
1922256
update examples
nonsocode Apr 28, 2025
efb6dc7
include examples
nonsocode Apr 28, 2025
67e6110
Merge branch 'main' into nchukwuogor/aio-2507-preview
mikeharder Apr 28, 2025
f25bee8
ref of spc
nonsocode Apr 29, 2025
a212db9
build
nonsocode Apr 29, 2025
ab434ce
lint
nonsocode Apr 29, 2025
6dd5817
adr
nonsocode Apr 29, 2025
666d487
additional validation
nonsocode Apr 29, 2025
94cb385
use kubernetes types
nonsocode Apr 30, 2025
b866e4a
changes
nonsocode Apr 30, 2025
47af2bb
make optional
nonsocode Apr 30, 2025
6986958
require mqtt conf
nonsocode Apr 30, 2025
3e5438c
build
nonsocode Apr 30, 2025
b442824
remove profile ref
nonsocode May 1, 2025
33b2432
remove pvc default
nonsocode May 1, 2025
26aca8a
rename broker types
nonsocode May 1, 2025
60896cd
lint
nonsocode May 1, 2025
5690ce4
doc
nonsocode May 1, 2025
9246344
move aliases
nonsocode May 1, 2025
33916fe
Doc fix
nonsocode May 1, 2025
1aa0246
default secret provider ref
nonsocode May 1, 2025
a3fcadc
state store
nonsocode May 2, 2025
129a1cf
host type
nonsocode May 3, 2025
0767d66
operationalmode
nonsocode May 3, 2025
920eeea
remove constraints and add artifac pull secret
nonsocode May 3, 2025
03920ee
remove profile ref
nonsocode May 3, 2025
e7846c3
pvc exmption
nonsocode May 3, 2025
f43a636
make mqtt nullable
nonsocode May 5, 2025
8339122
nullable part 2
nonsocode May 5, 2025
1a21c5d
connector template secrets, additionalConfiguration, pvc now moved to…
nonsocode May 5, 2025
4c1f8bb
Registry settings
nonsocode May 5, 2025
a47984f
rename Akri resources
nonsocode May 6, 2025
5de2e85
secondRename
nonsocode May 6, 2025
bafeaad
bucketized
nonsocode May 6, 2025
44f2b6a
additional
nonsocode May 6, 2025
ec400af
default
nonsocode May 6, 2025
ec3e91e
Tag Digest
nonsocode May 7, 2025
88d3367
swagger
nonsocode May 7, 2025
7f3f515
statefulset and suppressions
nonsocode May 7, 2025
d63d203
exclusions
nonsocode May 7, 2025
206a530
lint
nonsocode May 7, 2025
a717934
fix old examples
nonsocode May 7, 2025
1e88185
groker custom policy
nonsocode May 7, 2025
9cd7119
docs
nonsocode May 7, 2025
9292ce0
subtype string
nonsocode May 7, 2025
5e88357
connector changes
nonsocode May 8, 2025
44117ac
feedback
nonsocode May 8, 2025
55adf66
feedback
nonsocode May 8, 2025
81cdd57
linting
nonsocode May 8, 2025
3ea0c1e
secretref
nonsocode May 8, 2025
460e639
secret ref
nonsocode May 8, 2025
c26e648
optionality
nonsocode May 8, 2025
2fe16c8
spelling
nonsocode May 8, 2025
8904eeb
remove lifecyle from persistence
nonsocode May 8, 2025
c16b497
readme
nonsocode May 8, 2025
23fdc37
operation names
nonsocode May 8, 2025
bcb68c7
bring back profile ref
nonsocode May 8, 2025
deeb246
delete
nonsocode May 8, 2025
95ac786
examples
nonsocode May 8, 2025
a8554dc
examples
nonsocode May 8, 2025
8c0f0d0
examples
nonsocode May 8, 2025
2f9325c
remove old prop
nonsocode May 8, 2025
ac4fdce
examples
nonsocode May 8, 2025
b6095a2
remove copy
nonsocode May 8, 2025
1a6353c
move hostype
nonsocode May 8, 2025
419ea6c
lint
nonsocode May 8, 2025
c0fa164
add profile ref
nonsocode May 9, 2025
1495e65
single line comment
nonsocode May 9, 2025
39f8db9
documentation update
nonsocode May 9, 2025
f49a1eb
csharp java clients
nonsocode May 9, 2025
bbb3a3c
dotnet fix
nonsocode May 9, 2025
97fd36c
lint
nonsocode May 9, 2025
88dc42f
version
nonsocode May 9, 2025
3473aec
remove version
nonsocode May 9, 2025
0695acf
version
nonsocode May 9, 2025
88da959
fix source
nonsocode May 9, 2025
f61b416
first step for helm
nonsocode May 9, 2025
730ccd8
fix helm
nonsocode May 9, 2025
923384a
documentation
nonsocode May 9, 2025
d54eea2
fix c#
nonsocode May 9, 2025
3e7eb29
lint
nonsocode May 9, 2025
99b17a6
client possible fix
nonsocode May 10, 2025
f615735
lint
nonsocode May 10, 2025
6b2e222
remove genereate
nonsocode May 10, 2025
2a62db6
Trust list
nonsocode May 12, 2025
f8cbd8f
spelling
nonsocode May 12, 2025
cb5c451
extendedLocation
nonsocode May 12, 2025
30de971
registry endpoint trust
nonsocode May 12, 2025
f046fa3
make otel cahnges
nonsocode May 12, 2025
bfa678c
Merge branch 'main' into nchukwuogor/aio-2507-preview
nonsocode May 12, 2025
4a33a66
Fix otel
nonsocode May 12, 2025
c9981f4
make required
nonsocode May 12, 2025
36a9846
validation
nonsocode May 12, 2025
be8cb8a
validation
nonsocode May 12, 2025
0efdd55
localization
nonsocode May 12, 2025
59c8621
trust settings
nonsocode May 12, 2025
61b411d
regEndpoint trustlist
nonsocode May 12, 2025
c7cbd8a
remove diagnostics
nonsocode May 12, 2025
fdc5ed9
configmap
nonsocode May 12, 2025
90de675
configmap
nonsocode May 12, 2025
4185b10
persitence vicbility
nonsocode May 13, 2025
f56e10b
make it optional
nonsocode May 13, 2025
8995aa5
fix op mode
nonsocode May 14, 2025
2b32233
dataflowGraphs polymorphism
nonsocode May 14, 2025
bf34c6e
Fix go client
nonsocode May 15, 2025
b65ce7a
dataflow persistence
nonsocode May 15, 2025
8c1fe57
description
nonsocode May 16, 2025
1c116f4
use identifiers
nonsocode May 16, 2025
95a969b
no azurecr
nonsocode May 20, 2025
4acb0ba
typo
nonsocode May 27, 2025
cf646f8
generate
nonsocode May 27, 2025
6da91bc
remove property flattening
nonsocode May 27, 2025
644dc99
fix examples
nonsocode May 29, 2025
bc3fd63
Merge branch 'main' into nchukwuogor/aio-2507-preview
nonsocode May 29, 2025
150dbb3
examples2
nonsocode May 29, 2025
bbfb369
examples3
nonsocode May 29, 2025
09dacc7
fix nodetype
nonsocode Jun 4, 2025
bba173a
repositoryName
nonsocode Jun 5, 2025
f36693f
assetRef
nonsocode Jun 5, 2025
a90d767
dataflowGraph schema fixes
nonsocode Jun 6, 2025
dd21840
whitespace
nonsocode Jun 6, 2025
a6a556a
optional serialization format
nonsocode Jun 6, 2025
f21f5a2
Revert "optional serialization format"
nonsocode Jun 6, 2025
ae08732
name typo
nonsocode Jun 17, 2025
57f5bb8
Update connectorTemplate.tsp to make 'version' prop optional
chgennar Jun 25, 2025
de8e480
Update swagger for change
chgennar Jun 25, 2025
58643e8
fix documentation
nonsocode Jul 10, 2025
36d039f
description
nonsocode Jul 10, 2025
47217bd
remove akri discovery handlers
nonsocode Jul 11, 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
mq
  • Loading branch information
nonsocode committed Apr 27, 2025
commit 2933c1a8e213deb926f86f8e41151083d69509a8
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ npx tsp compile IoTOperations.Management/.
npx tsv IoTOperations.Management/.

# Prettier
echo "Running prettier..."
npx prettier --write **/*.json
# echo "Running prettier..."
# npx prettier --write **/*.json

echo "Completed generating the specs and the examples!"
echo "Done!"
2 changes: 0 additions & 2 deletions specification/iotoperations/IoTOperations.Management/main.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@ import "./models/dataflows/dataflowProfiles.tsp";
import "./models/dataflows/dataflows.tsp";

using TypeSpec.Http;
using TypeSpec.Rest;
using TypeSpec.Versioning;
using TypeSpec.OpenAPI;
using Azure.Core;
using Azure.ResourceManager;

#suppress "@azure-tools/typespec-azure-core/casing-style"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ import "@azure-tools/typespec-azure-resource-manager";

using TypeSpec.Http;
using TypeSpec.Rest;
using OpenAPI;
using Azure.ResourceManager;

using TypeSpec.Versioning;
namespace Microsoft.IoTOperations;

/**
Expand Down Expand Up @@ -56,11 +55,85 @@ model BrokerProperties {
@doc("Memory profile of Broker.")
memoryProfile?: BrokerMemoryProfile = BrokerMemoryProfile.Medium;

@visibility(Lifecycle.Read, Lifecycle.Create)
@doc("The persistence settings of the Broker.")
@added(Versions.`2025-07-01-preview`)
persistence?: Persistence;

@visibility(Lifecycle.Read)
@doc("The status of the last operation.")
provisioningState?: ProvisioningState;
}

@doc("""
Disk persistence configuration.

When persistence is enabled, certain items (non-performance-critical data) selected for persistence will reside only on disk. Below are the affected items:

- Retained messages will be stored on disk only.
- WILL messages will be stored on disk only.
- DSS key/value pairs will be stored on disk only, except for performance-critical items like timed locks, which remain in both disk and memory for improved performance.

Optional. Everything is in-memory if not set.
Note: if configured, all MQTT session states are written to disk.
""")
@added(Versions.`2025-07-01-preview`)
model Persistence {
@doc("Dynamic settings of the persistence.")
dynamicSettings?: DynamicSettings;

@doc("The max size of the message buffer on disk. If a PVC template is specified using persistentVolumeClaimSpec Then this size is used as the request and limit sizes of that template If a PVC template isn't specified Then local-path provisioner is requested with this size limit Required.")
maxSize: string;

@doc("""
Use the specified persistent volume claim template to mount a persistent volume Same object as in diskBackedMessageBuffer, but with a limitation that access modes field must be set to `ReadWriteOncePod`.

If unset, a default PVC with default properties will be used. Among other things this PVC will use the cluster default storage class, which may or may not be using a local path provisioner. User is opting in to sub-optimal behavior if they leave this unset or set it without the storage class field, and their cluster default is not a local path class.
""")
persistentVolumeClaimSpec?: VolumeClaimSpec = #{
accessModes: #["ReadWriteOncePod"],
};

@doc("Controls which topic's retained messages should be persisted to disk.")
retain?: RetainmentPolicy;
}

enum RetainmentMode {
string,

@doc("Persist all 'retain' messages.")
All: "All",

@doc("Persist no messages.")
None: "None",

@doc("Persist only the specified topics.")
Custom: "Custom",
}

@doc("Retainment policy properties")
@discriminator("mode")
@added(Versions.`2025-07-01-preview`)
model RetainmentPolicy {
@doc("The mode of the retainment policy.")
mode: RetainmentMode;

@doc("Settings for the retainment policy.")
retainSettings?: RetainmentSettings;
}
@doc("""
Client sets the specified user property key/value in the CONNECT/SUBSCRIBE/PUBLISH
Optional, default shown If customer specify a user property, it will work to enable persistence dynamically, in addition to the default user property "aio-persistence"
""")
@added(Versions.`2025-07-01-preview`)
model DynamicSettings {
@doc("The user property key to enable persistence.")
userPropertyKey?: string;

@doc("The user property value to enable persistence.")
userPropertyValue?: string;
}

@doc("Broker Advanced Settings")
model AdvancedSettings {
@doc("Configurations related to All Clients.")
Expand Down Expand Up @@ -209,6 +282,27 @@ model VolumeClaimResourceRequirements {
#suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API"
@doc("Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/")
requests?: Record<string>;

@doc("""
Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.
""")
@OpenAPI.extension("x-ms-identifiers", #[])
@added(Versions.`2025-07-01-preview`)
claims?: VolumeClaimResourceRequirementsClaims[];
}

@doc("VolumeClaimResourceRequirementsClaims properties")
@added(Versions.`2025-07-01-preview`)
model VolumeClaimResourceRequirementsClaims {
@doc("Name of the resource. This must match the name of a resource in spec.resourceClaims.")
name: string;

@doc("The amount of compute resources required.")
resources?: VolumeClaimResourceRequirements;
}

@doc("VolumeClaimSpecSelector properties")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3283,6 +3283,14 @@
"create"
]
},
"persistence": {
"$ref": "#/definitions/Persistence",
"description": "The persistence settings of the Broker.",
"x-ms-mutability": [
"read",
"create"
]
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
"description": "The status of the last operation.",
Expand Down Expand Up @@ -5081,6 +5089,20 @@
"maxSize"
]
},
"DynamicSettings": {
"type": "object",
"description": "Client sets the specified user property key/value in the CONNECT/SUBSCRIBE/PUBLISH \nOptional, default shown If customer specify a user property, it will work to enable persistence dynamically, in addition to the default user property \"aio-persistence\"",
"properties": {
"userPropertyKey": {
"type": "string",
"description": "The user property key to enable persistence."
},
"userPropertyValue": {
"type": "string",
"description": "The user property value to enable persistence."
}
}
},
"EndpointType": {
"type": "string",
"description": "DataflowEndpoint Type properties",
Expand Down Expand Up @@ -5768,6 +5790,31 @@
]
}
},
"Persistence": {
"type": "object",
"description": "Disk persistence configuration.\n\nWhen persistence is enabled, certain items (non-performance-critical data) selected for persistence will reside only on disk. Below are the affected items: \n\n- Retained messages will be stored on disk only. \n- WILL messages will be stored on disk only. \n- DSS key/value pairs will be stored on disk only, except for performance-critical items like timed locks, which remain in both disk and memory for improved performance.\n\nOptional. Everything is in-memory if not set. \nNote: if configured, all MQTT session states are written to disk.",
"properties": {
"dynamicSettings": {
"$ref": "#/definitions/DynamicSettings",
"description": "dynamic settings of the persistence.",
"x-ms-mutability": [
"read",
"create"
]
},
"maxSize": {
"type": "string",
"description": "The max size of the message buffer on disk. If a PVC template is specified using persistentVolumeClaimSpec Then this size is used as the request and limit sizes of that template If a PVC template isn't specified Then local-path provisioner is requested with this size limit Required."
},
"persistentVolumeClaimSpec": {
"$ref": "#/definitions/VolumeClaimSpec",
"description": "Use the specified persistent volume claim template to mount a persistent volume Same object as in diskBackedMessageBuffer, but with a limitation that access modes field must be set to `ReadWriteOncePod`.\n\nIf unset, a default PVC with default properties will be used. Among other things this PVC will use the cluster default storage class, which may or may not be using a local path provisioner. User is opting in to sub-optimal behavior if they leave this unset or set it without the storage class field, and their cluster default is not a local path class."
}
},
"required": [
"maxSize"
]
},
"PrincipalDefinition": {
"type": "object",
"description": "PrincipalDefinition properties of Rule",
Expand Down Expand Up @@ -6495,9 +6542,34 @@
"additionalProperties": {
"type": "string"
}
},
"claims": {
"type": "array",
"description": "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
"items": {
"$ref": "#/definitions/VolumeClaimResourceRequirementsClaims"
},
"x-ms-identifiers": []
}
}
},
"VolumeClaimResourceRequirementsClaims": {
"type": "object",
"description": "VolumeClaimResourceRequirementsClaims properties",
"properties": {
"name": {
"type": "string",
"description": "Name of the resource. This must match the name of a resource in spec.resourceClaims."
},
"resources": {
"$ref": "#/definitions/VolumeClaimResourceRequirements",
"description": "The amount of compute resources required."
}
},
"required": [
"name"
]
},
"VolumeClaimSpec": {
"type": "object",
"description": "VolumeClaimSpec properties",
Expand Down