@opensoha/contracts 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +1 -1
  2. package/auth/catalog_generated.go +3 -3
  3. package/auth/catalog_test.go +35 -0
  4. package/auth/permission-catalog.json +19 -151
  5. package/compat/json-schema-ecosystem-0.1.0.json +1 -1
  6. package/compat/openapi-loose-boundaries-0.1.0.json +1 -5
  7. package/fixtures/openapi/DockerHostAgentInstallation/invalid/missing-command.json +6 -0
  8. package/fixtures/openapi/DockerHostAgentInstallation/valid/installation.json +7 -0
  9. package/fixtures/openapi/IdentityProvider/invalid/missing-id.json +9 -0
  10. package/fixtures/openapi/IdentityProvider/valid/current.json +12 -0
  11. package/fixtures/openapi/IdentityProvider/valid/v0.1.9.json +14 -0
  12. package/fixtures/openapi/MenuEnvelope/invalid/missing-data.json +1 -0
  13. package/fixtures/openapi/MenuEnvelope/valid/menu.json +13 -0
  14. package/fixtures/openapi/MenuInput/invalid/missing-icon.json +5 -0
  15. package/fixtures/openapi/MenuInput/valid/top-level.json +12 -0
  16. package/fixtures/openapi/MenuListEnvelope/invalid/items-object.json +3 -0
  17. package/fixtures/openapi/MenuListEnvelope/valid/tree.json +27 -0
  18. package/fixtures/openapi/OIDCClient/invalid/missing-grant-types.json +9 -0
  19. package/fixtures/openapi/OIDCClient/valid/current.json +19 -0
  20. package/fixtures/openapi/OIDCClient/valid/v0.1.9.json +10 -0
  21. package/fixtures/openapi/OIDCClientInput/invalid/empty-rules.json +5 -0
  22. package/fixtures/openapi/OIDCClientInput/valid/regex.json +4 -0
  23. package/fixtures/openapi/OIDCClientInput/valid/strict.json +4 -0
  24. package/fixtures/openapi/OIDCClientInput/valid/v0.1.9.json +7 -0
  25. package/fixtures/openapi/ObservabilityContext/invalid/missing-time-range.json +6 -0
  26. package/fixtures/openapi/ObservabilityContext/valid/scoped.json +27 -0
  27. package/fixtures/openapi/ObservabilityDashboardImportResultEnvelope/valid/imported.json +28 -1
  28. package/fixtures/openapi/ObservabilityDashboardPanelQueryInput/invalid/missing-time-to.json +6 -0
  29. package/fixtures/openapi/ObservabilityDashboardPanelQueryInput/valid/variables.json +8 -0
  30. package/fixtures/openapi/ObservabilityMetricCatalogEnvelope/invalid/missing-availability.json +10 -0
  31. package/fixtures/openapi/ObservabilityMetricCatalogEnvelope/valid/catalog.json +13 -0
  32. package/fixtures/openapi/ObservabilityQueryResultMeta/invalid/missing-state.json +3 -0
  33. package/fixtures/openapi/ObservabilityQueryResultMeta/valid/partial.json +15 -0
  34. package/fixtures/openapi/ObservabilityQuerySnapshot/invalid/missing-context.json +5 -0
  35. package/fixtures/openapi/ObservabilityQuerySnapshot/valid/prometheus.json +22 -0
  36. package/fixtures/openapi/ObservabilityServiceEnvelope/invalid/missing-status.json +12 -0
  37. package/fixtures/openapi/ObservabilityServiceEnvelope/valid/service.json +29 -0
  38. package/fixtures/openapi/ObservabilityServiceListEnvelope/invalid/missing-meta.json +3 -0
  39. package/fixtures/openapi/ObservabilityServiceListEnvelope/valid/services.json +39 -0
  40. package/fixtures/openapi/ObservabilityTopologyEnvelope/invalid/missing-edge-status.json +10 -0
  41. package/fixtures/openapi/ObservabilityTopologyEnvelope/valid/topology.json +22 -0
  42. package/fixtures/openapi/ScopeGrantEnvelope/invalid/missing-id.json +13 -0
  43. package/fixtures/openapi/ScopeGrantEnvelope/valid/platform.json +15 -0
  44. package/fixtures/openapi/ScopeGrantInput/invalid/missing-subject.json +7 -0
  45. package/fixtures/openapi/ScopeGrantInput/valid/delivery.json +11 -0
  46. package/fixtures/openapi/ScopeGrantListEnvelope/invalid/unknown-scope.json +16 -0
  47. package/fixtures/openapi/ScopeGrantListEnvelope/valid/list.json +18 -0
  48. package/gen/go/sohaapi/client.go +1 -1
  49. package/gen/go/sohaapi/client_test.go +18 -0
  50. package/gen/go/sohaapi/types.go +958 -93
  51. package/gen/ts/sohaapi/index.ts +1170 -34
  52. package/go.mod +1 -1
  53. package/openapi/soha-api.json +2364 -49
  54. package/openapi/soha-api.yaml +1294 -37
  55. package/openapi/spec_generated.go +3 -3
  56. package/package.json +1 -1
package/README.md CHANGED
@@ -105,7 +105,7 @@ calling code in the consumer until those APIs are promoted into the supported
105
105
  client surface. Redirect-oriented flows such as OIDC provider redirects should
106
106
  not use the JSON-only `doJSON` helper until a non-JSON client mode is added.
107
107
 
108
- The Go generator and generated DTO checks run with Go 1.26.5 in CI.
108
+ The Go generator and generated DTO checks run with Go 1.26.6 in CI.
109
109
 
110
110
  ## Validation
111
111
 
@@ -5,9 +5,9 @@ package auth
5
5
  import _ "embed"
6
6
 
7
7
  const (
8
- PermissionCatalogVersion = "1.3.0"
9
- PermissionCatalogContentSHA256 = "fe738c69a160e58cf919ce6de8380d6427be6f8848cabad7d807ec82fdea8a3b"
10
- PermissionCatalogSHA256 = "206f12ff27279b1f345a87cd93be82789d1a79df311de9e7a86ab8cf75dde013"
8
+ PermissionCatalogVersion = "2.0.0"
9
+ PermissionCatalogContentSHA256 = "82626eb53d9cd6b53ee502ae32285392c672f7f186a7dbefb42bf1f700d67e98"
10
+ PermissionCatalogSHA256 = "f563a9be8901002e790f271d589c9f4b8b05dcd8e9b4bba767b835b1cc606b76"
11
11
  )
12
12
 
13
13
  //go:embed permission-catalog.json
@@ -51,3 +51,38 @@ func TestPermissionCatalogIncludesVirtualizationStorageView(t *testing.T) {
51
51
  }
52
52
  t.Fatal("virtualization.storage.view is missing")
53
53
  }
54
+
55
+ func TestPermissionCatalogIncludesIndependentResourceCreationEntry(t *testing.T) {
56
+ var catalog struct {
57
+ Permissions []struct {
58
+ Key string `json:"key"`
59
+ Status string `json:"status"`
60
+ Assignable bool `json:"assignable"`
61
+ LegacyAliases []string `json:"legacyAliases"`
62
+ } `json:"permissions"`
63
+ }
64
+ if err := json.Unmarshal(PermissionCatalogJSON(), &catalog); err != nil {
65
+ t.Fatalf("decode permission catalog: %v", err)
66
+ }
67
+
68
+ found := false
69
+ for _, permission := range catalog.Permissions {
70
+ if permission.Key == "platform.resource.create" {
71
+ t.Fatal("retired platform.resource.create definition is still present")
72
+ }
73
+ for _, alias := range permission.LegacyAliases {
74
+ if alias == "platform.resource.create" {
75
+ t.Fatalf("retired platform.resource.create alias remains on %s", permission.Key)
76
+ }
77
+ }
78
+ if permission.Key == "platform.resource-creation.use" {
79
+ found = true
80
+ if permission.Status != "active" || !permission.Assignable {
81
+ t.Fatalf("resource creation entry must be independently assignable: %#v", permission)
82
+ }
83
+ }
84
+ }
85
+ if !found {
86
+ t.Fatal("platform.resource-creation.use is missing")
87
+ }
88
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "authorization.opensoha.io/v1",
3
- "catalogVersion": "1.3.0",
4
- "contentHash": "sha256:fe738c69a160e58cf919ce6de8380d6427be6f8848cabad7d807ec82fdea8a3b",
3
+ "catalogVersion": "2.0.0",
4
+ "contentHash": "sha256:82626eb53d9cd6b53ee502ae32285392c672f7f186a7dbefb42bf1f700d67e98",
5
5
  "permissions": [
6
6
  {
7
7
  "key": "access.directory.create",
@@ -5472,8 +5472,7 @@
5472
5472
  "status": "active",
5473
5473
  "assignable": true,
5474
5474
  "legacyAliases": [
5475
- "platform.rbac.manage",
5476
- "platform.resource.create"
5475
+ "platform.rbac.manage"
5477
5476
  ],
5478
5477
  "legacyCapabilities": [
5479
5478
  "create"
@@ -5558,8 +5557,7 @@
5558
5557
  "status": "active",
5559
5558
  "assignable": true,
5560
5559
  "legacyAliases": [
5561
- "platform.rbac.manage",
5562
- "platform.resource.create"
5560
+ "platform.rbac.manage"
5563
5561
  ],
5564
5562
  "legacyCapabilities": [
5565
5563
  "create"
@@ -5644,8 +5642,7 @@
5644
5642
  "status": "active",
5645
5643
  "assignable": true,
5646
5644
  "legacyAliases": [
5647
- "platform.rbac.manage",
5648
- "platform.resource.create"
5645
+ "platform.rbac.manage"
5649
5646
  ],
5650
5647
  "legacyCapabilities": [
5651
5648
  "create"
@@ -5730,8 +5727,7 @@
5730
5727
  "status": "active",
5731
5728
  "assignable": true,
5732
5729
  "legacyAliases": [
5733
- "platform.rbac.manage",
5734
- "platform.resource.create"
5730
+ "platform.rbac.manage"
5735
5731
  ],
5736
5732
  "legacyCapabilities": [
5737
5733
  "create"
@@ -5816,8 +5812,7 @@
5816
5812
  "status": "active",
5817
5813
  "assignable": true,
5818
5814
  "legacyAliases": [
5819
- "platform.rbac.manage",
5820
- "platform.resource.create"
5815
+ "platform.rbac.manage"
5821
5816
  ],
5822
5817
  "legacyCapabilities": [
5823
5818
  "create"
@@ -5974,9 +5969,6 @@
5974
5969
  "approvalPolicy": "never",
5975
5970
  "status": "active",
5976
5971
  "assignable": true,
5977
- "legacyAliases": [
5978
- "platform.resource.create"
5979
- ],
5980
5972
  "legacyCapabilities": [
5981
5973
  "create"
5982
5974
  ]
@@ -6051,9 +6043,6 @@
6051
6043
  "approvalPolicy": "never",
6052
6044
  "status": "active",
6053
6045
  "assignable": true,
6054
- "legacyAliases": [
6055
- "platform.resource.create"
6056
- ],
6057
6046
  "legacyCapabilities": [
6058
6047
  "create"
6059
6048
  ]
@@ -6131,9 +6120,6 @@
6131
6120
  "approvalPolicy": "never",
6132
6121
  "status": "active",
6133
6122
  "assignable": true,
6134
- "legacyAliases": [
6135
- "platform.resource.create"
6136
- ],
6137
6123
  "legacyCapabilities": [
6138
6124
  "create"
6139
6125
  ]
@@ -6211,9 +6197,6 @@
6211
6197
  "approvalPolicy": "never",
6212
6198
  "status": "active",
6213
6199
  "assignable": true,
6214
- "legacyAliases": [
6215
- "platform.resource.create"
6216
- ],
6217
6200
  "legacyCapabilities": [
6218
6201
  "create"
6219
6202
  ]
@@ -6291,9 +6274,6 @@
6291
6274
  "approvalPolicy": "never",
6292
6275
  "status": "active",
6293
6276
  "assignable": true,
6294
- "legacyAliases": [
6295
- "platform.resource.create"
6296
- ],
6297
6277
  "legacyCapabilities": [
6298
6278
  "create"
6299
6279
  ]
@@ -6372,8 +6352,7 @@
6372
6352
  "status": "active",
6373
6353
  "assignable": true,
6374
6354
  "legacyAliases": [
6375
- "platform.admission.manage",
6376
- "platform.resource.create"
6355
+ "platform.admission.manage"
6377
6356
  ],
6378
6357
  "legacyCapabilities": [
6379
6358
  "create"
@@ -6458,9 +6437,6 @@
6458
6437
  "approvalPolicy": "never",
6459
6438
  "status": "active",
6460
6439
  "assignable": true,
6461
- "legacyAliases": [
6462
- "platform.resource.create"
6463
- ],
6464
6440
  "legacyCapabilities": [
6465
6441
  "create"
6466
6442
  ]
@@ -6539,8 +6515,7 @@
6539
6515
  "status": "active",
6540
6516
  "assignable": true,
6541
6517
  "legacyAliases": [
6542
- "platform.cluster-resources.manage",
6543
- "platform.resource.create"
6518
+ "platform.cluster-resources.manage"
6544
6519
  ],
6545
6520
  "legacyCapabilities": [
6546
6521
  "create"
@@ -6625,9 +6600,6 @@
6625
6600
  "approvalPolicy": "never",
6626
6601
  "status": "active",
6627
6602
  "assignable": true,
6628
- "legacyAliases": [
6629
- "platform.resource.create"
6630
- ],
6631
6603
  "legacyCapabilities": [
6632
6604
  "create"
6633
6605
  ]
@@ -6705,9 +6677,6 @@
6705
6677
  "approvalPolicy": "never",
6706
6678
  "status": "active",
6707
6679
  "assignable": true,
6708
- "legacyAliases": [
6709
- "platform.resource.create"
6710
- ],
6711
6680
  "legacyCapabilities": [
6712
6681
  "create"
6713
6682
  ]
@@ -6802,9 +6771,6 @@
6802
6771
  "approvalPolicy": "never",
6803
6772
  "status": "active",
6804
6773
  "assignable": true,
6805
- "legacyAliases": [
6806
- "platform.resource.create"
6807
- ],
6808
6774
  "legacyCapabilities": [
6809
6775
  "create"
6810
6776
  ]
@@ -6883,8 +6849,7 @@
6883
6849
  "status": "active",
6884
6850
  "assignable": true,
6885
6851
  "legacyAliases": [
6886
- "platform.admission.manage",
6887
- "platform.resource.create"
6852
+ "platform.admission.manage"
6888
6853
  ],
6889
6854
  "legacyCapabilities": [
6890
6855
  "create"
@@ -7139,8 +7104,7 @@
7139
7104
  "status": "active",
7140
7105
  "assignable": true,
7141
7106
  "legacyAliases": [
7142
- "platform.crds.manage",
7143
- "platform.resource.create"
7107
+ "platform.crds.manage"
7144
7108
  ],
7145
7109
  "legacyCapabilities": [
7146
7110
  "create"
@@ -7205,9 +7169,6 @@
7205
7169
  "approvalPolicy": "never",
7206
7170
  "status": "active",
7207
7171
  "assignable": true,
7208
- "legacyAliases": [
7209
- "platform.resource.create"
7210
- ],
7211
7172
  "legacyCapabilities": [
7212
7173
  "create"
7213
7174
  ]
@@ -7282,9 +7243,6 @@
7282
7243
  "approvalPolicy": "never",
7283
7244
  "status": "active",
7284
7245
  "assignable": true,
7285
- "legacyAliases": [
7286
- "platform.resource.create"
7287
- ],
7288
7246
  "legacyCapabilities": [
7289
7247
  "create"
7290
7248
  ]
@@ -7377,8 +7335,7 @@
7377
7335
  "status": "active",
7378
7336
  "assignable": true,
7379
7337
  "legacyAliases": [
7380
- "platform.namespaces.manage",
7381
- "platform.resource.create"
7338
+ "platform.namespaces.manage"
7382
7339
  ],
7383
7340
  "legacyCapabilities": [
7384
7341
  "create"
@@ -7502,9 +7459,6 @@
7502
7459
  "approvalPolicy": "never",
7503
7460
  "status": "active",
7504
7461
  "assignable": true,
7505
- "legacyAliases": [
7506
- "platform.resource.create"
7507
- ],
7508
7462
  "legacyCapabilities": [
7509
7463
  "create"
7510
7464
  ]
@@ -7582,9 +7536,6 @@
7582
7536
  "approvalPolicy": "never",
7583
7537
  "status": "active",
7584
7538
  "assignable": true,
7585
- "legacyAliases": [
7586
- "platform.resource.create"
7587
- ],
7588
7539
  "legacyCapabilities": [
7589
7540
  "create"
7590
7541
  ]
@@ -7662,9 +7613,6 @@
7662
7613
  "approvalPolicy": "never",
7663
7614
  "status": "active",
7664
7615
  "assignable": true,
7665
- "legacyAliases": [
7666
- "platform.resource.create"
7667
- ],
7668
7616
  "legacyCapabilities": [
7669
7617
  "create"
7670
7618
  ]
@@ -7782,9 +7730,6 @@
7782
7730
  "approvalPolicy": "never",
7783
7731
  "status": "active",
7784
7732
  "assignable": true,
7785
- "legacyAliases": [
7786
- "platform.resource.create"
7787
- ],
7788
7733
  "legacyCapabilities": [
7789
7734
  "create"
7790
7735
  ]
@@ -7862,9 +7807,6 @@
7862
7807
  "approvalPolicy": "never",
7863
7808
  "status": "active",
7864
7809
  "assignable": true,
7865
- "legacyAliases": [
7866
- "platform.resource.create"
7867
- ],
7868
7810
  "legacyCapabilities": [
7869
7811
  "create"
7870
7812
  ]
@@ -7942,9 +7884,6 @@
7942
7884
  "approvalPolicy": "never",
7943
7885
  "status": "active",
7944
7886
  "assignable": true,
7945
- "legacyAliases": [
7946
- "platform.resource.create"
7947
- ],
7948
7887
  "legacyCapabilities": [
7949
7888
  "create"
7950
7889
  ]
@@ -8022,9 +7961,6 @@
8022
7961
  "approvalPolicy": "never",
8023
7962
  "status": "active",
8024
7963
  "assignable": true,
8025
- "legacyAliases": [
8026
- "platform.resource.create"
8027
- ],
8028
7964
  "legacyCapabilities": [
8029
7965
  "create"
8030
7966
  ]
@@ -8103,9 +8039,6 @@
8103
8039
  "approvalPolicy": "never",
8104
8040
  "status": "active",
8105
8041
  "assignable": true,
8106
- "legacyAliases": [
8107
- "platform.resource.create"
8108
- ],
8109
8042
  "legacyCapabilities": [
8110
8043
  "create"
8111
8044
  ]
@@ -8494,11 +8427,11 @@
8494
8427
  ]
8495
8428
  },
8496
8429
  {
8497
- "key": "platform.resource.create",
8430
+ "key": "platform.resource-creation.use",
8498
8431
  "domain": "platform",
8499
- "resource": "resource",
8500
- "action": "create",
8501
- "displayName": "创建 Kubernetes 资源",
8432
+ "resource": "resource-creation",
8433
+ "action": "use",
8434
+ "displayName": "使用 Kubernetes YAML 创建器",
8502
8435
  "riskLevel": "mutate",
8503
8436
  "scopeKinds": [
8504
8437
  "workspace",
@@ -8507,48 +8440,8 @@
8507
8440
  "resource"
8508
8441
  ],
8509
8442
  "approvalPolicy": "never",
8510
- "status": "legacy",
8511
- "assignable": false,
8512
- "replacedBy": [
8513
- "platform.access-control.cluster-role-bindings.create",
8514
- "platform.access-control.cluster-roles.create",
8515
- "platform.access-control.role-bindings.create",
8516
- "platform.access-control.roles.create",
8517
- "platform.access-control.service-accounts.create",
8518
- "platform.clusters.create",
8519
- "platform.configuration.config-maps.create",
8520
- "platform.configuration.horizontal-pod-autoscalers.create",
8521
- "platform.configuration.leases.create",
8522
- "platform.configuration.limit-ranges.create",
8523
- "platform.configuration.mutating-webhook-configurations.create",
8524
- "platform.configuration.pod-disruption-budgets.create",
8525
- "platform.configuration.priority-classes.create",
8526
- "platform.configuration.resource-quotas.create",
8527
- "platform.configuration.runtime-classes.create",
8528
- "platform.configuration.secrets.create",
8529
- "platform.configuration.validating-webhook-configurations.create",
8530
- "platform.extensions.crds.create",
8531
- "platform.extensions.custom-resources.create",
8532
- "platform.helm.releases.create",
8533
- "platform.namespaces.create",
8534
- "platform.network.endpoint-slices.create",
8535
- "platform.network.gateway-classes.create",
8536
- "platform.network.gateways.create",
8537
- "platform.network.ingress-classes.create",
8538
- "platform.network.ingresses.create",
8539
- "platform.network.network-policies.create",
8540
- "platform.network.port-forwards.create",
8541
- "platform.network.services.create",
8542
- "platform.storage.persistent-volume-claims.create",
8543
- "platform.storage.persistent-volumes.create",
8544
- "platform.storage.storage-classes.create",
8545
- "platform.workloads.cron-jobs.create",
8546
- "platform.workloads.daemon-sets.create",
8547
- "platform.workloads.jobs.create",
8548
- "platform.workloads.replica-sets.create",
8549
- "platform.workloads.replication-controllers.create",
8550
- "platform.workloads.stateful-sets.create"
8551
- ]
8443
+ "status": "active",
8444
+ "assignable": true
8552
8445
  },
8553
8446
  {
8554
8447
  "key": "platform.storage.persistent-volume-claims.create",
@@ -8565,9 +8458,6 @@
8565
8458
  "approvalPolicy": "never",
8566
8459
  "status": "active",
8567
8460
  "assignable": true,
8568
- "legacyAliases": [
8569
- "platform.resource.create"
8570
- ],
8571
8461
  "legacyCapabilities": [
8572
8462
  "create"
8573
8463
  ]
@@ -8645,9 +8535,6 @@
8645
8535
  "approvalPolicy": "never",
8646
8536
  "status": "active",
8647
8537
  "assignable": true,
8648
- "legacyAliases": [
8649
- "platform.resource.create"
8650
- ],
8651
8538
  "legacyCapabilities": [
8652
8539
  "create"
8653
8540
  ]
@@ -8726,8 +8613,7 @@
8726
8613
  "status": "active",
8727
8614
  "assignable": true,
8728
8615
  "legacyAliases": [
8729
- "platform.cluster-resources.manage",
8730
- "platform.resource.create"
8616
+ "platform.cluster-resources.manage"
8731
8617
  ],
8732
8618
  "legacyCapabilities": [
8733
8619
  "create"
@@ -8834,9 +8720,6 @@
8834
8720
  "approvalPolicy": "never",
8835
8721
  "status": "active",
8836
8722
  "assignable": true,
8837
- "legacyAliases": [
8838
- "platform.resource.create"
8839
- ],
8840
8723
  "legacyCapabilities": [
8841
8724
  "create"
8842
8725
  ]
@@ -8933,9 +8816,6 @@
8933
8816
  "approvalPolicy": "never",
8934
8817
  "status": "active",
8935
8818
  "assignable": true,
8936
- "legacyAliases": [
8937
- "platform.resource.create"
8938
- ],
8939
8819
  "legacyCapabilities": [
8940
8820
  "create"
8941
8821
  ]
@@ -9032,9 +8912,6 @@
9032
8912
  "approvalPolicy": "never",
9033
8913
  "status": "active",
9034
8914
  "assignable": true,
9035
- "legacyAliases": [
9036
- "platform.resource.create"
9037
- ],
9038
8915
  "legacyCapabilities": [
9039
8916
  "create"
9040
8917
  ]
@@ -9131,9 +9008,6 @@
9131
9008
  "approvalPolicy": "never",
9132
9009
  "status": "active",
9133
9010
  "assignable": true,
9134
- "legacyAliases": [
9135
- "platform.resource.create"
9136
- ],
9137
9011
  "legacyCapabilities": [
9138
9012
  "create"
9139
9013
  ]
@@ -9211,9 +9085,6 @@
9211
9085
  "approvalPolicy": "never",
9212
9086
  "status": "active",
9213
9087
  "assignable": true,
9214
- "legacyAliases": [
9215
- "platform.resource.create"
9216
- ],
9217
9088
  "legacyCapabilities": [
9218
9089
  "create"
9219
9090
  ]
@@ -9272,9 +9143,6 @@
9272
9143
  "approvalPolicy": "never",
9273
9144
  "status": "active",
9274
9145
  "assignable": true,
9275
- "legacyAliases": [
9276
- "platform.resource.create"
9277
- ],
9278
9146
  "legacyCapabilities": [
9279
9147
  "create"
9280
9148
  ]
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.9",
2
+ "version": "0.1.11",
3
3
  "schemas": {
4
4
  "plugins/plugin-manifest.schema.json": {
5
5
  "rootRequired": ["id", "name", "publisher", "type", "version"],
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.9",
2
+ "version": "0.1.11",
3
3
  "generatedFrom": "openapi/soha-api.yaml",
4
4
  "entries": [
5
5
  {
@@ -354,10 +354,6 @@
354
354
  "kind": "additionalPropertiesTrue",
355
355
  "path": "components/schemas/IdentityProviderInput/properties/config/additionalProperties"
356
356
  },
357
- {
358
- "kind": "additionalPropertiesTrue",
359
- "path": "components/schemas/IdentityProviderInput/properties/secretRefs/additionalProperties"
360
- },
361
357
  {
362
358
  "kind": "additionalPropertiesTrue",
363
359
  "path": "components/schemas/InstalledPlugin/properties/metadata/additionalProperties"
@@ -0,0 +1,6 @@
1
+ {
2
+ "hostId": "runtime-host-01",
3
+ "operationId": "host-sync-01",
4
+ "scriptUrl": "https://soha.example.com/api/v1/docker/agent-installations/ticket/install.sh",
5
+ "expiresAt": "2026-08-11T10:15:00Z"
6
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "hostId": "runtime-host-01",
3
+ "operationId": "host-sync-01",
4
+ "scriptUrl": "https://soha.example.com/api/v1/docker/agent-installations/ticket/install.sh",
5
+ "command": "curl -fsSL 'https://soha.example.com/api/v1/docker/agent-installations/ticket/install.sh' | sudo sh",
6
+ "expiresAt": "2026-08-11T10:15:00Z"
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "applicationId": "application-1",
3
+ "name": "Broken provider",
4
+ "type": "oidc",
5
+ "enabled": true,
6
+ "status": "active",
7
+ "createdAt": "2026-08-01T00:00:00Z",
8
+ "updatedAt": "2026-08-01T00:00:00Z"
9
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "id": "provider-2",
3
+ "applicationId": "application-2",
4
+ "name": "Example SAML",
5
+ "type": "saml",
6
+ "enabled": true,
7
+ "config": {},
8
+ "configuredSecretAliases": ["SIGNING_KEY"],
9
+ "status": "active",
10
+ "createdAt": "2026-08-01T00:00:00Z",
11
+ "updatedAt": "2026-08-01T00:00:00Z"
12
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "provider-1",
3
+ "applicationId": "application-1",
4
+ "name": "Example OIDC",
5
+ "type": "oidc",
6
+ "enabled": true,
7
+ "config": {},
8
+ "secretRefs": {
9
+ "CLIENT_SECRET": "soha://secrets/oidc-client"
10
+ },
11
+ "status": "active",
12
+ "createdAt": "2026-08-01T00:00:00Z",
13
+ "updatedAt": "2026-08-01T00:00:00Z"
14
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "data": {
3
+ "id": "settings-overview",
4
+ "path": "/settings/overview",
5
+ "labelZh": "设置总览",
6
+ "labelEn": "Settings Overview",
7
+ "iconKey": "dashboard",
8
+ "section": "",
9
+ "sortOrder": 10,
10
+ "enabled": true,
11
+ "roleIds": []
12
+ }
13
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "path": "/settings/overview",
3
+ "labelZh": "设置总览",
4
+ "labelEn": "Settings Overview"
5
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "id": "settings-overview",
3
+ "parentId": null,
4
+ "path": "/settings/overview",
5
+ "labelZh": "设置总览",
6
+ "labelEn": "Settings Overview",
7
+ "iconKey": "dashboard",
8
+ "section": "",
9
+ "sortOrder": 10,
10
+ "enabled": true,
11
+ "roleIds": []
12
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "id": "settings",
5
+ "path": "/settings",
6
+ "labelZh": "设置中心",
7
+ "labelEn": "Settings",
8
+ "iconKey": "setting",
9
+ "section": "",
10
+ "sortOrder": 10,
11
+ "enabled": true,
12
+ "children": [
13
+ {
14
+ "id": "settings-overview",
15
+ "parentId": "settings",
16
+ "path": "/settings/overview",
17
+ "labelZh": "设置总览",
18
+ "labelEn": "Settings Overview",
19
+ "iconKey": "dashboard",
20
+ "section": "",
21
+ "sortOrder": 10,
22
+ "enabled": true
23
+ }
24
+ ]
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": "client-1",
3
+ "providerId": "provider-1",
4
+ "clientId": "grafana",
5
+ "redirectUris": ["https://grafana.example.com/login/oauth"],
6
+ "status": "active",
7
+ "createdAt": "2026-08-01T00:00:00Z",
8
+ "updatedAt": "2026-08-01T00:00:00Z"
9
+ }