Skip to content

Commit 8e9ed60

Browse files
chore: remove deprecated sogar-registry crate (#1592)
The sogar-registry crate was excluded from the workspace build since 2022 and depended on the obsolete saphir HTTP framework. This commit performs a complete cleanup by removing: - The entire crates/sogar-registry directory and its source files - Workspace exclusion entry from root Cargo.toml - SogarConf, SogarPermission, and SogarUser type definitions - sogar configuration fields from ConfHandle and ConfFile structs - SOGAR schema definitions from config_schema.json - sogar fields from test configurations Historical changelog entries are preserved for reference. Co-authored-by: Benoît CORTIER <git.divisible626@passmail.com>
1 parent aaf5156 commit 8e9ed60

9 files changed

Lines changed: 81 additions & 802 deletions

File tree

Cargo.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@ default-members = [
1616
"jetsocat",
1717
]
1818

19-
# TODO: clean and fix compilation of the sogar component
20-
exclude = [
21-
"crates/sogar-registry"
22-
]
23-
2419
[workspace.package]
2520
version = "2025.3.2"
2621

config_schema.json

Lines changed: 81 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,14 @@
111111
},
112112
"description": "Array of plugin paths."
113113
},
114-
"Sogar": {
115-
"$ref": "#/definitions/SogarConf",
116-
"description": "Sogar configuration."
117-
},
118114
"__debug__": {
119115
"$ref": "#/definitions/DebugConf",
120116
"description": "Debug configuration."
121117
}
122118
},
123-
"required": ["Listeners"],
119+
"required": [
120+
"Listeners"
121+
],
124122
"additionalProperties": true,
125123
"definitions": {
126124
"ConfDataPubKeyFormat": {
@@ -139,7 +137,9 @@
139137
"description": "The binary-to-text encoding used for the key data."
140138
}
141139
},
142-
"required": ["Value"],
140+
"required": [
141+
"Value"
142+
],
143143
"additionalProperties": false
144144
},
145145
"ConfDataPrivKeyFormat": {
@@ -158,24 +158,39 @@
158158
"description": "The binary-to-text encoding used for the key data."
159159
}
160160
},
161-
"required": ["Value"],
161+
"required": [
162+
"Value"
163+
],
162164
"additionalProperties": false
163165
},
164166
"DataEncoding": {
165167
"type": "string",
166-
"enum": ["Multibase", "Base64", "Base64Pad", "Base64Url", "Base64UrlPad"],
168+
"enum": [
169+
"Multibase",
170+
"Base64",
171+
"Base64Pad",
172+
"Base64Url",
173+
"Base64UrlPad"
174+
],
167175
"default": "Multibase",
168176
"description": "The binary-to-text encoding used for the key data."
169177
},
170178
"PubKeyFormat": {
171179
"type": "string",
172-
"enum": ["Spki", "Pkcs1"],
180+
"enum": [
181+
"Spki",
182+
"Pkcs1"
183+
],
173184
"default": "Spki",
174185
"description": "The format used for the key data."
175186
},
176187
"PrivKeyFormat": {
177188
"type": "string",
178-
"enum": ["Pkcs8", "Pkcs1", "Ec"],
189+
"enum": [
190+
"Pkcs8",
191+
"Pkcs1",
192+
"Ec"
193+
],
179194
"default": "Pkcs8",
180195
"description": "The format used for the key data."
181196
},
@@ -199,18 +214,28 @@
199214
"description": "The binary-to-text encoding used for the key data."
200215
}
201216
},
202-
"required": ["Id", "Value"],
217+
"required": [
218+
"Id",
219+
"Value"
220+
],
203221
"additionalProperties": false
204222
},
205223
"CertSource": {
206224
"type": "string",
207-
"enum": ["External", "System"],
225+
"enum": [
226+
"External",
227+
"System"
228+
],
208229
"default": "External",
209230
"description": "Source for the TLS certificate."
210231
},
211232
"CertStoreLocation": {
212233
"type": "string",
213-
"enum": ["CurrentUser", "CurrentService", "LocalMachine"],
234+
"enum": [
235+
"CurrentUser",
236+
"CurrentService",
237+
"LocalMachine"
238+
],
214239
"default": "CurrentUser",
215240
"description": "Location of the System Certificate Store to use for TLS."
216241
},
@@ -228,7 +253,10 @@
228253
"description": "External URL for this listener."
229254
}
230255
},
231-
"required": ["InternalUrl", "ExternalUrl"],
256+
"required": [
257+
"InternalUrl",
258+
"ExternalUrl"
259+
],
232260
"additionalProperties": false
233261
},
234262
"Subscriber": {
@@ -244,7 +272,10 @@
244272
"description": "Bearer token to use when making HTTP requests."
245273
}
246274
},
247-
"required": ["Url", "Token"],
275+
"required": [
276+
"Url",
277+
"Token"
278+
],
248279
"additionalProperties": false
249280
},
250281
"NgrokConf": {
@@ -278,7 +309,9 @@
278309
"description": "A map of ngrok tunnels. The key is the name of the tunnel and value is a JSON object whose schema depends on tunnel protocol."
279310
}
280311
},
281-
"required": ["AuthToken"],
312+
"required": [
313+
"AuthToken"
314+
],
282315
"additionalProperties": false
283316
},
284317
"NgrokTunnelConf": {
@@ -288,7 +321,9 @@
288321
"properties": {
289322
"proto": {
290323
"type": "string",
291-
"enum": ["tcp"],
324+
"enum": [
325+
"tcp"
326+
],
292327
"description": "MUST be set to 'tcp'."
293328
},
294329
"RemoteAddr": {
@@ -316,15 +351,20 @@
316351
"description": "Array of CIDRs, rejects connections that match the given CIDRs and allows all other CIDRs."
317352
}
318353
},
319-
"required": ["proto", "RemoteAddr"],
354+
"required": [
355+
"proto",
356+
"RemoteAddr"
357+
],
320358
"additionalProperties": false
321359
},
322360
{
323361
"type": "object",
324362
"properties": {
325363
"proto": {
326364
"type": "string",
327-
"enum": ["http"],
365+
"enum": [
366+
"http"
367+
],
328368
"description": "MUST be set to 'http'."
329369
},
330370
"Domain": {
@@ -360,14 +400,23 @@
360400
"description": "Array of CIDRs, rejects connections that match the given CIDRs and allows all other CIDRs."
361401
}
362402
},
363-
"required": ["proto", "Domain"],
403+
"required": [
404+
"proto",
405+
"Domain"
406+
],
364407
"additionalProperties": false
365408
}
366409
]
367410
},
368411
"VerbosityProfile": {
369412
"type": "string",
370-
"enum": ["Default", "Debug", "Tls", "All", "Quiet"],
413+
"enum": [
414+
"Default",
415+
"Debug",
416+
"Tls",
417+
"All",
418+
"Quiet"
419+
],
371420
"default": "Default",
372421
"description": "Logging verbosity profile (pre-defined tracing directives)."
373422
},
@@ -401,12 +450,18 @@
401450
"description": "Path to the static files for the standalone web application. This is an advanced option which should typically not be changed."
402451
}
403452
},
404-
"required": ["Enabled", "Authentication"],
453+
"required": [
454+
"Enabled",
455+
"Authentication"
456+
],
405457
"additionalProperties": false
406458
},
407459
"WebAppAuth": {
408460
"type": "string",
409-
"enum": ["Custom", "None"],
461+
"enum": [
462+
"Custom",
463+
"None"
464+
],
410465
"description": "The authentication method for accessing the web application."
411466
},
412467
"AiGatewayConf": {
@@ -430,7 +485,9 @@
430485
"description": "AI providers configuration."
431486
}
432487
},
433-
"required": ["Enabled"],
488+
"required": [
489+
"Enabled"
490+
],
434491
"additionalProperties": false
435492
},
436493
"AiProvidersConf": {
@@ -573,90 +630,6 @@
573630
},
574631
"additionalProperties": false
575632
},
576-
"SogarConf": {
577-
"type": "object",
578-
"properties": {
579-
"RegistryUrl": {
580-
"type": "string",
581-
"description": "URL of the registry."
582-
},
583-
"Username": {
584-
"type": "string",
585-
"description": "Username for the registry."
586-
},
587-
"Password": {
588-
"type": "string",
589-
"description": "Password for the registry."
590-
},
591-
"ImageName": {
592-
"type": "string",
593-
"default": "videos",
594-
"description": "Name of the image."
595-
},
596-
"UserList": {
597-
"type": "array",
598-
"items": {
599-
"$ref": "#/definitions/SogarUser"
600-
},
601-
"default": [],
602-
"description": "List of users."
603-
},
604-
"ServeAsRegistry": {
605-
"type": "boolean",
606-
"default": false,
607-
"description": "Whether to serve as a registry."
608-
},
609-
"RegistryName": {
610-
"type": "string",
611-
"default": "devolutions_registry",
612-
"description": "Name of the registry."
613-
},
614-
"RegistryImage": {
615-
"type": "string",
616-
"default": "videos",
617-
"description": "Image of the registry."
618-
},
619-
"PushFiles": {
620-
"type": "boolean",
621-
"default": false,
622-
"description": "Whether to push files."
623-
},
624-
"KeepFiles": {
625-
"type": "boolean",
626-
"default": false,
627-
"description": "Whether to keep files."
628-
},
629-
"KeepTime": {
630-
"type": "integer",
631-
"description": "Time to keep files."
632-
}
633-
},
634-
"required": ["RegistryUrl", "Username", "Password", "ImageName"],
635-
"additionalProperties": false
636-
},
637-
"SogarUser": {
638-
"type": "object",
639-
"properties": {
640-
"Password": {
641-
"type": "string",
642-
"description": "Password of the user."
643-
},
644-
"Username": {
645-
"type": "string",
646-
"description": "Username of the user."
647-
},
648-
"Permission": {
649-
"$ref": "#/definitions/SogarPermission",
650-
"description": "Permission of the user."
651-
}
652-
},
653-
"additionalProperties": false
654-
},
655-
"SogarPermission": {
656-
"type": "string",
657-
"enum": ["Push", "Pull"],
658-
"description": "Permission type."
659-
},
660633
"DebugConf": {
661634
"type": "object",
662635
"properties": {

crates/sogar-registry/Cargo.toml

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)