fix(imagemanager): prepare proper storage and retrieval of container images
This commit is contained in:
parent
b8dd84b8a6
commit
f453ce3126
10
package.json
10
package.json
@ -26,14 +26,15 @@
|
||||
"@git.zone/tstest": "^1.0.90",
|
||||
"@git.zone/tswatch": "^2.0.23",
|
||||
"@push.rocks/tapbundle": "^5.0.23",
|
||||
"@types/node": "^20.12.14"
|
||||
"@types/node": "^20.13.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@api.global/typedrequest": "3.0.29",
|
||||
"@api.global/typedrequest": "3.0.30",
|
||||
"@api.global/typedserver": "^3.0.50",
|
||||
"@api.global/typedsocket": "^3.0.1",
|
||||
"@apiclient.xyz/cloudflare": "^6.0.1",
|
||||
"@apiclient.xyz/digitalocean": "^1.0.5",
|
||||
"@apiclient.xyz/docker": "^1.0.112",
|
||||
"@apiclient.xyz/hetznercloud": "^1.0.18",
|
||||
"@apiclient.xyz/slack": "^3.0.9",
|
||||
"@design.estate/dees-catalog": "^1.0.289",
|
||||
@ -50,7 +51,7 @@
|
||||
"@push.rocks/smartdata": "^5.2.4",
|
||||
"@push.rocks/smartdelay": "^3.0.5",
|
||||
"@push.rocks/smartexit": "^1.0.23",
|
||||
"@push.rocks/smartfile": "^11.0.15",
|
||||
"@push.rocks/smartfile": "^11.0.16",
|
||||
"@push.rocks/smartguard": "^3.0.2",
|
||||
"@push.rocks/smartjson": "^5.0.19",
|
||||
"@push.rocks/smartjwt": "^2.0.4",
|
||||
@ -61,11 +62,12 @@
|
||||
"@push.rocks/smartrequest": "^2.0.22",
|
||||
"@push.rocks/smartrx": "^3.0.7",
|
||||
"@push.rocks/smartssh": "^2.0.1",
|
||||
"@push.rocks/smartstream": "^3.0.39",
|
||||
"@push.rocks/smartstring": "^4.0.15",
|
||||
"@push.rocks/smartunique": "^3.0.9",
|
||||
"@push.rocks/taskbuffer": "^3.0.2",
|
||||
"@push.rocks/webjwt": "^1.0.9",
|
||||
"@serve.zone/interfaces": "^1.0.61",
|
||||
"@serve.zone/interfaces": "^1.0.62",
|
||||
"@tsclass/tsclass": "^4.0.54"
|
||||
},
|
||||
"files": [
|
||||
|
179
pnpm-lock.yaml
generated
179
pnpm-lock.yaml
generated
@ -9,8 +9,8 @@ importers:
|
||||
.:
|
||||
dependencies:
|
||||
'@api.global/typedrequest':
|
||||
specifier: 3.0.29
|
||||
version: 3.0.29
|
||||
specifier: 3.0.30
|
||||
version: 3.0.30
|
||||
'@api.global/typedserver':
|
||||
specifier: ^3.0.50
|
||||
version: 3.0.50
|
||||
@ -22,7 +22,10 @@ importers:
|
||||
version: 6.0.3
|
||||
'@apiclient.xyz/digitalocean':
|
||||
specifier: ^1.0.5
|
||||
version: 1.0.5(@types/node@20.12.14)
|
||||
version: 1.0.5(@types/node@20.13.0)
|
||||
'@apiclient.xyz/docker':
|
||||
specifier: ^1.0.112
|
||||
version: 1.0.112
|
||||
'@apiclient.xyz/hetznercloud':
|
||||
specifier: ^1.0.18
|
||||
version: 1.0.18
|
||||
@ -40,7 +43,7 @@ importers:
|
||||
version: 2.0.34
|
||||
'@git.zone/tsrun':
|
||||
specifier: ^1.2.37
|
||||
version: 1.2.46(@types/node@20.12.14)
|
||||
version: 1.2.46(@types/node@20.13.0)
|
||||
'@push.rocks/early':
|
||||
specifier: ^4.0.3
|
||||
version: 4.0.4
|
||||
@ -72,7 +75,7 @@ importers:
|
||||
specifier: ^1.0.23
|
||||
version: 1.0.23
|
||||
'@push.rocks/smartfile':
|
||||
specifier: ^11.0.15
|
||||
specifier: ^11.0.16
|
||||
version: 11.0.16
|
||||
'@push.rocks/smartguard':
|
||||
specifier: ^3.0.2
|
||||
@ -104,6 +107,9 @@ importers:
|
||||
'@push.rocks/smartssh':
|
||||
specifier: ^2.0.1
|
||||
version: 2.0.1
|
||||
'@push.rocks/smartstream':
|
||||
specifier: ^3.0.39
|
||||
version: 3.0.39
|
||||
'@push.rocks/smartstring':
|
||||
specifier: ^4.0.15
|
||||
version: 4.0.15
|
||||
@ -117,8 +123,8 @@ importers:
|
||||
specifier: ^1.0.9
|
||||
version: 1.0.9
|
||||
'@serve.zone/interfaces':
|
||||
specifier: ^1.0.61
|
||||
version: 1.0.61
|
||||
specifier: ^1.0.62
|
||||
version: 1.0.62
|
||||
'@tsclass/tsclass':
|
||||
specifier: ^4.0.54
|
||||
version: 4.0.54
|
||||
@ -131,16 +137,16 @@ importers:
|
||||
version: 2.0.15
|
||||
'@git.zone/tstest':
|
||||
specifier: ^1.0.90
|
||||
version: 1.0.90(@types/node@20.12.14)
|
||||
version: 1.0.90(@types/node@20.13.0)
|
||||
'@git.zone/tswatch':
|
||||
specifier: ^2.0.23
|
||||
version: 2.0.23(@types/node@20.12.14)
|
||||
version: 2.0.23(@types/node@20.13.0)
|
||||
'@push.rocks/tapbundle':
|
||||
specifier: ^5.0.23
|
||||
version: 5.0.23
|
||||
'@types/node':
|
||||
specifier: ^20.12.14
|
||||
version: 20.12.14
|
||||
specifier: ^20.13.0
|
||||
version: 20.13.0
|
||||
|
||||
packages:
|
||||
|
||||
@ -151,8 +157,8 @@ packages:
|
||||
'@api.global/typedrequest-interfaces@3.0.19':
|
||||
resolution: {integrity: sha512-uuHUXJeOy/inWSDrwD0Cwax2rovpxYllDhM2RWh+6mVpQuNmZ3uw6IVg6dA2G1rOe24Ebs+Y9SzEogo+jYN7vw==}
|
||||
|
||||
'@api.global/typedrequest@3.0.29':
|
||||
resolution: {integrity: sha512-ePTX6fbkWLFtaSvK8QU2nWcc3Z0ua9UTl47UFF3HY6dnom6yohIp4lwcCsgua/bVfxY4R1EeZgxhFbfSlA80vw==}
|
||||
'@api.global/typedrequest@3.0.30':
|
||||
resolution: {integrity: sha512-Pp3KVr8QHZ/44u2GE9r8JpWbs5yxA+CZLwxXXcrOBnmJ2Pkp+5PWtO7QZbqnshWAdMTJTYD+nXwlqO0XiPiWGg==}
|
||||
|
||||
'@api.global/typedserver@3.0.50':
|
||||
resolution: {integrity: sha512-WWZhLVcjqfJO3kq5RB/kYrss7hIiu3yBqBVA/o9cn7jwu3XHaC2DrT/HC7LrcKm1hndk0XbKMgBEb2orSaVl3g==}
|
||||
@ -166,6 +172,9 @@ packages:
|
||||
'@apiclient.xyz/digitalocean@1.0.5':
|
||||
resolution: {integrity: sha512-zP9X8OnYL0zXlWwd1z9DQHat9xvVeFfxbMuO2yQu6GhZdkHZWQQYynUZDT5zkSCcuwPOe4cZF1Pvo7HP7fgj1Q==}
|
||||
|
||||
'@apiclient.xyz/docker@1.0.112':
|
||||
resolution: {integrity: sha512-7UXNlUShq669ABLrr90zOvxxnhO2x2qOqmJDVRg3iZPtVrviDSTCwoeeLU+KCstUFJL0+8CIdTpjcsWVvZ1bDg==}
|
||||
|
||||
'@apiclient.xyz/hetznercloud@1.0.18':
|
||||
resolution: {integrity: sha512-otKDqcidnBpSdu3WD/OnBKHLZWxRmauJr09neaFzexSgpUEfe0hlKH5ql9/ov3ZLrSd0QXEkO8raDMgPmKLdxQ==}
|
||||
|
||||
@ -842,8 +851,8 @@ packages:
|
||||
'@push.rocks/smartstream@2.0.8':
|
||||
resolution: {integrity: sha512-GlF/9cCkvBHwKa3DK4DO5wjfSgqkj6gAS4TrY9uD5NMHu9RQv4WiNrElTYj7iCEpnZgUnLO3tzw1JA3NRIMnnA==}
|
||||
|
||||
'@push.rocks/smartstream@3.0.38':
|
||||
resolution: {integrity: sha512-Sk9esPURWXldS0ZvgClCtrEyvELjvFnbQgUAelwoXWMfM8pXuB9BX1tE+Z1iBkB9Xyw2p1d9jYelO6waSXg0BQ==}
|
||||
'@push.rocks/smartstream@3.0.39':
|
||||
resolution: {integrity: sha512-kdGVhapek8Om+KCu95VKfQptwhQxXRLcQ7xSeiPOltRxAIHSWbOkVOyf+EAqc6SJWPei3xswKfNuqg6qdTL+tA==}
|
||||
|
||||
'@push.rocks/smartstring@4.0.15':
|
||||
resolution: {integrity: sha512-NTNeOjWyg+aHtBTiQEyXamr7oTvYZ3wS1fudHo9ua7CLrykpK+i+RxFyJaLg1zB5x9xQF3NLEQecB14HPFX8Cg==}
|
||||
@ -857,6 +866,9 @@ packages:
|
||||
'@push.rocks/smarturl@3.0.7':
|
||||
resolution: {integrity: sha512-nx4EWjQD9JeO7QVbOsxd1PFeDQYoSQOOOYCZ+r7QWXHLJG52iYzgvJDCQyX6p705HDkYMJWozW2ZzhR22qLKbw==}
|
||||
|
||||
'@push.rocks/smartversion@3.0.5':
|
||||
resolution: {integrity: sha512-8MZSo1yqyaKxKq0Q5N188l4un++9GFWVbhCAX5mXJwewZHn97ujffTeL+eOQYpWFTEpUhaq1QhL4NhqObBCt1Q==}
|
||||
|
||||
'@push.rocks/smartxml@1.0.8':
|
||||
resolution: {integrity: sha512-idrPsBj9t6oxkLZJZgWtyZK6PnQ5BVDbBErk0UfGanXgSWJc+ZEKNYjVqr850+Na3+y0CT6AQdug7pnaokygwg==}
|
||||
|
||||
@ -1115,8 +1127,8 @@ packages:
|
||||
resolution: {integrity: sha512-gvZ5QnZu14bPIWaFDOCyH6pfPgN/nQ0hF3EFhE74Ypfm5dCzq6OZEC9jeUTXDypfsvbSs3xAgj4XG83sVSUDAg==}
|
||||
deprecated: This package has been deprecated in favour of the new package at @push.rocks/webstore
|
||||
|
||||
'@serve.zone/interfaces@1.0.61':
|
||||
resolution: {integrity: sha512-JNwoKMjfyVAdPwQdXfvy69z2CLxK9zADrsHiVziowNsFiCc2VDfBmTYlhvsqD19kqzgHbqpDSbXKZxcIFdvlXQ==}
|
||||
'@serve.zone/interfaces@1.0.62':
|
||||
resolution: {integrity: sha512-XtTKHqqVXqou89z71VgiNenb10Fo5WHKNG8M5LHKfDOsnAUz13UaSpG9wyA0MdK3IlRYu48MegYH4IrRKfmAsA==}
|
||||
|
||||
'@sindresorhus/is@5.6.0':
|
||||
resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
|
||||
@ -1463,8 +1475,8 @@ packages:
|
||||
'@types/node-forge@1.3.11':
|
||||
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
|
||||
|
||||
'@types/node@20.12.14':
|
||||
resolution: {integrity: sha512-scnD59RpYD91xngrQQLGkE+6UrHUPzeKZWhhjBSa3HSkwjbQc38+q3RoIVEwxQGRw3M+j5hpNAM+lgV3cVormg==}
|
||||
'@types/node@20.13.0':
|
||||
resolution: {integrity: sha512-FM6AOb3khNkNIXPnHFDYaHerSv8uN22C91z098AnGccVu+Pcdhi+pNUFDi0iLmPIsVE0JBD0KVS7mzUYt4nRzQ==}
|
||||
|
||||
'@types/parse5@6.0.3':
|
||||
resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
|
||||
@ -1484,6 +1496,9 @@ packages:
|
||||
'@types/relateurl@0.2.33':
|
||||
resolution: {integrity: sha512-bTQCKsVbIdzLqZhLkF5fcJQreE4y1ro4DIyVrlDNSCJRRwHhB8Z+4zXXa8jN6eDvc2HbRsEYgbvrnGvi54EpSw==}
|
||||
|
||||
'@types/semver@7.5.8':
|
||||
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
|
||||
|
||||
'@types/send@0.17.4':
|
||||
resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
|
||||
|
||||
@ -4235,7 +4250,7 @@ snapshots:
|
||||
|
||||
'@api.global/typedrequest-interfaces@3.0.19': {}
|
||||
|
||||
'@api.global/typedrequest@3.0.29':
|
||||
'@api.global/typedrequest@3.0.30':
|
||||
dependencies:
|
||||
'@api.global/typedrequest-interfaces': 3.0.19
|
||||
'@push.rocks/isounique': 1.0.5
|
||||
@ -4249,7 +4264,7 @@ snapshots:
|
||||
|
||||
'@api.global/typedserver@3.0.50':
|
||||
dependencies:
|
||||
'@api.global/typedrequest': 3.0.29
|
||||
'@api.global/typedrequest': 3.0.30
|
||||
'@api.global/typedrequest-interfaces': 3.0.19
|
||||
'@api.global/typedsocket': 3.0.1
|
||||
'@cloudflare/workers-types': 4.20240529.0
|
||||
@ -4274,7 +4289,7 @@ snapshots:
|
||||
'@push.rocks/smartrequest': 2.0.22
|
||||
'@push.rocks/smartrx': 3.0.7
|
||||
'@push.rocks/smartsitemap': 2.0.3
|
||||
'@push.rocks/smartstream': 3.0.38
|
||||
'@push.rocks/smartstream': 3.0.39
|
||||
'@push.rocks/smarttime': 4.0.6
|
||||
'@push.rocks/taskbuffer': 3.1.7
|
||||
'@push.rocks/webrequest': 3.0.37
|
||||
@ -4294,7 +4309,7 @@ snapshots:
|
||||
|
||||
'@api.global/typedsocket@3.0.1':
|
||||
dependencies:
|
||||
'@api.global/typedrequest': 3.0.29
|
||||
'@api.global/typedrequest': 3.0.30
|
||||
'@api.global/typedrequest-interfaces': 3.0.19
|
||||
'@push.rocks/isohash': 2.0.1
|
||||
'@push.rocks/smartjson': 5.0.20
|
||||
@ -4317,15 +4332,30 @@ snapshots:
|
||||
'@pushrocks/smartstring': 4.0.7
|
||||
'@tsclass/tsclass': 4.0.54
|
||||
|
||||
'@apiclient.xyz/digitalocean@1.0.5(@types/node@20.12.14)':
|
||||
'@apiclient.xyz/digitalocean@1.0.5(@types/node@20.13.0)':
|
||||
dependencies:
|
||||
'@git.zone/tsrun': 1.2.46(@types/node@20.12.14)
|
||||
'@git.zone/tsrun': 1.2.46(@types/node@20.13.0)
|
||||
'@push.rocks/smartrequest': 2.0.22
|
||||
transitivePeerDependencies:
|
||||
- '@swc/core'
|
||||
- '@swc/wasm'
|
||||
- '@types/node'
|
||||
|
||||
'@apiclient.xyz/docker@1.0.112':
|
||||
dependencies:
|
||||
'@push.rocks/lik': 6.0.15
|
||||
'@push.rocks/smartfile': 11.0.16
|
||||
'@push.rocks/smartjson': 5.0.20
|
||||
'@push.rocks/smartlog': 3.0.6
|
||||
'@push.rocks/smartnetwork': 3.0.2
|
||||
'@push.rocks/smartpath': 5.0.18
|
||||
'@push.rocks/smartpromise': 4.0.3
|
||||
'@push.rocks/smartrequest': 2.0.22
|
||||
'@push.rocks/smartstring': 4.0.15
|
||||
'@push.rocks/smartversion': 3.0.5
|
||||
'@tsclass/tsclass': 4.0.54
|
||||
rxjs: 7.8.1
|
||||
|
||||
'@apiclient.xyz/hetznercloud@1.0.18':
|
||||
dependencies:
|
||||
'@push.rocks/smartrequest': 2.0.22
|
||||
@ -5477,14 +5507,14 @@ snapshots:
|
||||
|
||||
'@design.estate/dees-comms@1.0.27':
|
||||
dependencies:
|
||||
'@api.global/typedrequest': 3.0.29
|
||||
'@api.global/typedrequest': 3.0.30
|
||||
'@api.global/typedrequest-interfaces': 3.0.19
|
||||
'@push.rocks/smartdelay': 3.0.5
|
||||
broadcast-channel: 7.0.0
|
||||
|
||||
'@design.estate/dees-domtools@2.0.57':
|
||||
dependencies:
|
||||
'@api.global/typedrequest': 3.0.29
|
||||
'@api.global/typedrequest': 3.0.30
|
||||
'@design.estate/dees-comms': 1.0.27
|
||||
'@push.rocks/lik': 6.0.15
|
||||
'@push.rocks/smartdelay': 3.0.5
|
||||
@ -5651,22 +5681,22 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@git.zone/tsrun@1.2.46(@types/node@20.12.14)':
|
||||
'@git.zone/tsrun@1.2.46(@types/node@20.13.0)':
|
||||
dependencies:
|
||||
'@push.rocks/smartfile': 10.0.41
|
||||
'@push.rocks/smartshell': 3.0.5
|
||||
ts-node: 10.9.2(@types/node@20.12.14)(typescript@5.1.6)
|
||||
ts-node: 10.9.2(@types/node@20.13.0)(typescript@5.1.6)
|
||||
typescript: 5.1.6
|
||||
transitivePeerDependencies:
|
||||
- '@swc/core'
|
||||
- '@swc/wasm'
|
||||
- '@types/node'
|
||||
|
||||
'@git.zone/tstest@1.0.90(@types/node@20.12.14)':
|
||||
'@git.zone/tstest@1.0.90(@types/node@20.13.0)':
|
||||
dependencies:
|
||||
'@api.global/typedserver': 3.0.50
|
||||
'@git.zone/tsbundle': 2.0.15
|
||||
'@git.zone/tsrun': 1.2.46(@types/node@20.12.14)
|
||||
'@git.zone/tsrun': 1.2.46(@types/node@20.13.0)
|
||||
'@push.rocks/consolecolor': 2.0.2
|
||||
'@push.rocks/smartbrowser': 2.0.6
|
||||
'@push.rocks/smartdelay': 3.0.5
|
||||
@ -5687,11 +5717,11 @@ snapshots:
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
|
||||
'@git.zone/tswatch@2.0.23(@types/node@20.12.14)':
|
||||
'@git.zone/tswatch@2.0.23(@types/node@20.13.0)':
|
||||
dependencies:
|
||||
'@api.global/typedserver': 3.0.50
|
||||
'@git.zone/tsbundle': 2.0.15
|
||||
'@git.zone/tsrun': 1.2.46(@types/node@20.12.14)
|
||||
'@git.zone/tsrun': 1.2.46(@types/node@20.13.0)
|
||||
'@push.rocks/early': 4.0.4
|
||||
'@push.rocks/lik': 6.0.15
|
||||
'@push.rocks/smartchok': 1.0.34
|
||||
@ -5705,8 +5735,10 @@ snapshots:
|
||||
- '@swc/core'
|
||||
- '@swc/wasm'
|
||||
- '@types/node'
|
||||
- bufferutil
|
||||
- encoding
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
|
||||
'@happy-dom/global-registrator@8.9.0':
|
||||
dependencies:
|
||||
@ -5884,7 +5916,7 @@ snapshots:
|
||||
|
||||
'@push.rocks/qenv@6.0.5':
|
||||
dependencies:
|
||||
'@api.global/typedrequest': 3.0.29
|
||||
'@api.global/typedrequest': 3.0.30
|
||||
'@configvault.io/interfaces': 1.0.17
|
||||
'@push.rocks/smartfile': 11.0.16
|
||||
'@push.rocks/smartlog': 3.0.6
|
||||
@ -5936,7 +5968,7 @@ snapshots:
|
||||
'@push.rocks/smartpath': 5.0.18
|
||||
'@push.rocks/smartpromise': 4.0.3
|
||||
'@push.rocks/smartrx': 3.0.7
|
||||
'@push.rocks/smartstream': 3.0.38
|
||||
'@push.rocks/smartstream': 3.0.39
|
||||
'@tsclass/tsclass': 4.0.54
|
||||
minio: 8.0.0
|
||||
|
||||
@ -6068,7 +6100,7 @@ snapshots:
|
||||
'@push.rocks/smartpath': 5.0.18
|
||||
'@push.rocks/smartpromise': 4.0.3
|
||||
'@push.rocks/smartrequest': 2.0.22
|
||||
'@push.rocks/smartstream': 3.0.38
|
||||
'@push.rocks/smartstream': 3.0.39
|
||||
'@types/fs-extra': 11.0.4
|
||||
'@types/glob': 8.1.0
|
||||
'@types/js-yaml': 4.0.9
|
||||
@ -6345,12 +6377,12 @@ snapshots:
|
||||
from2: 2.3.0
|
||||
through2: 4.0.2
|
||||
|
||||
'@push.rocks/smartstream@3.0.38':
|
||||
'@push.rocks/smartstream@3.0.39':
|
||||
dependencies:
|
||||
'@push.rocks/lik': 6.0.15
|
||||
'@push.rocks/smartenv': 5.0.12
|
||||
'@push.rocks/smartpromise': 4.0.3
|
||||
'@push.rocks/smartrx': 3.0.7
|
||||
'@push.rocks/webstream': 1.0.10
|
||||
|
||||
'@push.rocks/smartstring@4.0.15':
|
||||
dependencies:
|
||||
@ -6381,6 +6413,11 @@ snapshots:
|
||||
|
||||
'@push.rocks/smarturl@3.0.7': {}
|
||||
|
||||
'@push.rocks/smartversion@3.0.5':
|
||||
dependencies:
|
||||
'@types/semver': 7.5.8
|
||||
semver: 7.6.2
|
||||
|
||||
'@push.rocks/smartxml@1.0.8':
|
||||
dependencies:
|
||||
fast-xml-parser: 4.4.0
|
||||
@ -6869,7 +6906,7 @@ snapshots:
|
||||
fake-indexeddb: 4.0.2
|
||||
idb: 7.1.1
|
||||
|
||||
'@serve.zone/interfaces@1.0.61':
|
||||
'@serve.zone/interfaces@1.0.62':
|
||||
dependencies:
|
||||
'@api.global/typedrequest-interfaces': 3.0.19
|
||||
'@push.rocks/smartlog-interfaces': 3.0.0
|
||||
@ -7200,14 +7237,14 @@ snapshots:
|
||||
|
||||
'@types/accepts@1.3.7':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/babel__code-frame@7.0.6': {}
|
||||
|
||||
'@types/body-parser@1.19.5':
|
||||
dependencies:
|
||||
'@types/connect': 3.4.38
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/buffer-json@2.0.3': {}
|
||||
|
||||
@ -7223,12 +7260,12 @@ snapshots:
|
||||
|
||||
'@types/clean-css@4.2.11':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
source-map: 0.6.1
|
||||
|
||||
'@types/co-body@6.1.3':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
'@types/qs': 6.9.15
|
||||
|
||||
'@types/compression@1.7.5':
|
||||
@ -7237,7 +7274,7 @@ snapshots:
|
||||
|
||||
'@types/connect@3.4.38':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/content-disposition@0.5.8': {}
|
||||
|
||||
@ -7250,11 +7287,11 @@ snapshots:
|
||||
'@types/connect': 3.4.38
|
||||
'@types/express': 4.17.21
|
||||
'@types/keygrip': 1.0.6
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/cors@2.8.17':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/debounce@1.2.4': {}
|
||||
|
||||
@ -7266,7 +7303,7 @@ snapshots:
|
||||
|
||||
'@types/express-serve-static-core@4.19.3':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
'@types/qs': 6.9.15
|
||||
'@types/range-parser': 1.2.7
|
||||
'@types/send': 0.17.4
|
||||
@ -7284,30 +7321,30 @@ snapshots:
|
||||
|
||||
'@types/finalhandler@1.2.3':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/from2@2.3.5':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/fs-extra@11.0.4':
|
||||
dependencies:
|
||||
'@types/jsonfile': 6.1.4
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/fs-extra@9.0.13':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/glob@7.2.0':
|
||||
dependencies:
|
||||
'@types/minimatch': 5.1.2
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/glob@8.1.0':
|
||||
dependencies:
|
||||
'@types/minimatch': 5.1.2
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/hast@3.0.4':
|
||||
dependencies:
|
||||
@ -7341,11 +7378,11 @@ snapshots:
|
||||
|
||||
'@types/jsonfile@6.1.4':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/jsonwebtoken@9.0.6':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/keygrip@1.0.6': {}
|
||||
|
||||
@ -7362,7 +7399,7 @@ snapshots:
|
||||
'@types/http-errors': 2.0.4
|
||||
'@types/keygrip': 1.0.6
|
||||
'@types/koa-compose': 3.2.8
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/mdast@4.0.4':
|
||||
dependencies:
|
||||
@ -7380,9 +7417,9 @@ snapshots:
|
||||
|
||||
'@types/node-forge@1.3.11':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/node@20.12.14':
|
||||
'@types/node@20.13.0':
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
|
||||
@ -7398,15 +7435,17 @@ snapshots:
|
||||
|
||||
'@types/relateurl@0.2.33': {}
|
||||
|
||||
'@types/semver@7.5.8': {}
|
||||
|
||||
'@types/send@0.17.4':
|
||||
dependencies:
|
||||
'@types/mime': 1.3.5
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/serve-static@1.15.7':
|
||||
dependencies:
|
||||
'@types/http-errors': 2.0.4
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
'@types/send': 0.17.4
|
||||
|
||||
'@types/shortid@0.0.29': {}
|
||||
@ -7426,7 +7465,7 @@ snapshots:
|
||||
|
||||
'@types/through2@2.0.41':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/trusted-types@2.0.7': {}
|
||||
|
||||
@ -7450,7 +7489,7 @@ snapshots:
|
||||
|
||||
'@types/whatwg-url@8.2.2':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
'@types/webidl-conversions': 7.0.3
|
||||
|
||||
'@types/which@2.0.2': {}
|
||||
@ -7459,15 +7498,15 @@ snapshots:
|
||||
|
||||
'@types/ws@7.4.7':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/ws@8.5.10':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
|
||||
'@types/yauzl@2.10.3':
|
||||
dependencies:
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
optional: true
|
||||
|
||||
'@ungap/structured-clone@1.2.0': {}
|
||||
@ -8105,7 +8144,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/cookie': 0.4.1
|
||||
'@types/cors': 2.8.17
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
accepts: 1.3.8
|
||||
base64id: 2.0.0
|
||||
cookie: 0.4.2
|
||||
@ -8122,7 +8161,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/cookie': 0.4.1
|
||||
'@types/cors': 2.8.17
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
accepts: 1.3.8
|
||||
base64id: 2.0.0
|
||||
cookie: 0.4.2
|
||||
@ -8139,7 +8178,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/cookie': 0.4.1
|
||||
'@types/cors': 2.8.17
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
accepts: 1.3.8
|
||||
base64id: 2.0.0
|
||||
cookie: 0.4.2
|
||||
@ -10294,14 +10333,14 @@ snapshots:
|
||||
|
||||
trough@2.2.0: {}
|
||||
|
||||
ts-node@10.9.2(@types/node@20.12.14)(typescript@5.1.6):
|
||||
ts-node@10.9.2(@types/node@20.13.0)(typescript@5.1.6):
|
||||
dependencies:
|
||||
'@cspotcode/source-map-support': 0.8.1
|
||||
'@tsconfig/node10': 1.0.11
|
||||
'@tsconfig/node12': 1.0.11
|
||||
'@tsconfig/node14': 1.0.3
|
||||
'@tsconfig/node16': 1.0.4
|
||||
'@types/node': 20.12.14
|
||||
'@types/node': 20.13.0
|
||||
acorn: 8.11.3
|
||||
acorn-walk: 8.3.2
|
||||
arg: 4.1.3
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@serve.zone/cloudly',
|
||||
version: '1.1.1',
|
||||
version: '1.1.2',
|
||||
description: 'A cloud manager leveraging Docker Swarmkit for multi-cloud operations including DigitalOcean, Hetzner Cloud, and Cloudflare, with integration support and robust configuration management system.'
|
||||
}
|
||||
|
@ -26,4 +26,12 @@ export class Image extends plugins.smartdata.SmartDataDbDoc<Image, plugins.serve
|
||||
public data: plugins.servezoneInterfaces.data.IImage['data'];
|
||||
|
||||
public async getVersions() {}
|
||||
|
||||
/**
|
||||
* returns a storage path
|
||||
* note: this is relative to the storage method defined by the imageManager
|
||||
*/
|
||||
public async getStoragePath(versionStringArg: string) {
|
||||
return `${this.data.name}:${versionStringArg}`.replace('/', '__')
|
||||
}
|
||||
}
|
@ -7,6 +7,7 @@ export class ImageManager {
|
||||
cloudlyRef: Cloudly;
|
||||
public typedrouter = new plugins.typedrequest.TypedRouter();
|
||||
public smartbucketInstance: plugins.smartbucket.SmartBucket;
|
||||
public imageDir: plugins.smartbucket.Directory;
|
||||
|
||||
get db() {
|
||||
return this.cloudlyRef.mongodbConnector.smartdataDb;
|
||||
@ -83,11 +84,10 @@ export class ImageManager {
|
||||
'pullImageVersion',
|
||||
async (reqArg) => {
|
||||
const image = await this.CImage.getInstance({
|
||||
data: {
|
||||
name: reqArg.name,
|
||||
},
|
||||
id: reqArg.imageId,
|
||||
});
|
||||
const imageVersion = null;
|
||||
const imageVersion = image.data.versions.find((version) => version.versionString === reqArg.versionString);
|
||||
const readable = this.imageDir.fastGetStream(await image.getStoragePath(reqArg.versionString));
|
||||
const imageVirtualStream = new plugins.typedrequest.VirtualStream();
|
||||
return {
|
||||
imageStream: imageVirtualStream,
|
||||
@ -106,6 +106,10 @@ export class ImageManager {
|
||||
);
|
||||
const bucket = await this.smartbucketInstance.getBucketByName('cloudly-test');
|
||||
await bucket.fastPut({ path: 'test/test.txt', contents: 'hello' });
|
||||
|
||||
this.imageDir = await bucket.getDirectoryFromPath({
|
||||
path: 'images',
|
||||
});
|
||||
}
|
||||
|
||||
public async createImage(nameArg: string) {
|
||||
|
@ -2,6 +2,8 @@ import * as plugins from './plugins.js';
|
||||
|
||||
export type TClientType = 'coreflow' | 'cli' | 'serverconfig';
|
||||
|
||||
import { Image } from './classes.image.js';
|
||||
|
||||
export class CloudlyClient {
|
||||
private cloudlyUrl: string;
|
||||
private registerAs: string;
|
||||
@ -55,15 +57,18 @@ export class CloudlyClient {
|
||||
this.typedrouter,
|
||||
this.cloudlyUrl
|
||||
);
|
||||
console.log(`CloudlyCluent connected to cloudly at ${this.cloudlyUrl}. Remember to get an identity.`)
|
||||
}
|
||||
|
||||
public async stop() {
|
||||
await this.typedsocketClient.stop();
|
||||
}
|
||||
|
||||
public identity: plugins.servezoneInterfaces.data.IClusterIdentifier;
|
||||
public async getIdentityByJumpCode(
|
||||
jumpCodeArg: string,
|
||||
tagConnection = false
|
||||
tagConnection = false,
|
||||
statefullIdentity = true
|
||||
): Promise<plugins.servezoneInterfaces.data.IClusterIdentifier> {
|
||||
const identityRequest =
|
||||
this.typedsocketClient.createTypedRequest<plugins.servezoneInterfaces.requests.identity.IRequest_Any_Cloudly_CoreflowManager_GetIdentityByJumpCode>(
|
||||
@ -80,6 +85,10 @@ export class CloudlyClient {
|
||||
this.typedsocketClient.addTag('identity', identity);
|
||||
}
|
||||
|
||||
if (statefullIdentity) {
|
||||
this.identity = identity;
|
||||
}
|
||||
|
||||
return identity;
|
||||
}
|
||||
|
||||
@ -127,4 +136,9 @@ export class CloudlyClient {
|
||||
});
|
||||
return typedResponse.certificate;
|
||||
}
|
||||
|
||||
// Images
|
||||
public async getImages() {
|
||||
return Image.getImages(this);
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,84 @@
|
||||
import type { CloudlyClient } from './classes.cloudlyclient.js';
|
||||
import * as plugins from './plugins.js';
|
||||
|
||||
export class Image {
|
||||
public getImages() {
|
||||
|
||||
export class Image implements plugins.servezoneInterfaces.data.IImage {
|
||||
public static async getImages(cloudlyClientRef: CloudlyClient) {
|
||||
const getAllImagesTR = cloudlyClientRef.typedsocketClient.createTypedRequest<plugins.servezoneInterfaces.requests.image.IRequest_GetAllImages>(
|
||||
'getAllImages'
|
||||
);
|
||||
const response = await getAllImagesTR.fire({
|
||||
jwt: cloudlyClientRef.identity.jwt,
|
||||
});
|
||||
const resultImages: Image[] = [];
|
||||
for (const image of response.images) {
|
||||
const newImage = new Image(cloudlyClientRef);
|
||||
Object.assign(newImage, image);
|
||||
resultImages.push(newImage);
|
||||
}
|
||||
return resultImages;
|
||||
}
|
||||
}
|
||||
|
||||
// INSTANCE
|
||||
cloudlyClientRef: CloudlyClient;
|
||||
|
||||
id: plugins.servezoneInterfaces.data.IImage['id'];
|
||||
data: plugins.servezoneInterfaces.data.IImage['data'];
|
||||
|
||||
constructor(cloudlyClientRef: CloudlyClient) {
|
||||
this.cloudlyClientRef = cloudlyClientRef;
|
||||
}
|
||||
|
||||
/**
|
||||
* updates the image data
|
||||
*/
|
||||
public async update() {
|
||||
const getVersionsTR = this.cloudlyClientRef.typedsocketClient.createTypedRequest<plugins.servezoneInterfaces.requests.image.IRequest_GetImageMetadata>(
|
||||
'getImageMetadata'
|
||||
);
|
||||
const response = await getVersionsTR.fire({
|
||||
jwt: this.cloudlyClientRef.identity.jwt,
|
||||
imageId: this.id,
|
||||
});
|
||||
Object.assign(this, response.image);
|
||||
}
|
||||
|
||||
/**
|
||||
* pushes a new version of the image
|
||||
* @param imageVersion
|
||||
* @param imageReadableArg
|
||||
*/
|
||||
public async pushImageVersion(imageVersion: string, imageReadableArg: ReadableStream<Uint8Array>): Promise<void> {
|
||||
const done = plugins.smartpromise.defer();
|
||||
const pullImageTR = this.cloudlyClientRef.typedsocketClient.createTypedRequest<plugins.servezoneInterfaces.requests.image.IRequest_PushImageVersion>(
|
||||
'pushImageVersion'
|
||||
);
|
||||
const virtualStream = new plugins.typedrequest.VirtualStream();
|
||||
const response = await pullImageTR.fire({
|
||||
jwt: this.cloudlyClientRef.identity.jwt,
|
||||
imageId: this.id,
|
||||
versionString: '',
|
||||
imageStream: virtualStream,
|
||||
});
|
||||
await virtualStream.readFromWebstream(imageReadableArg);
|
||||
await done.promise;
|
||||
await this.update();
|
||||
};
|
||||
|
||||
/**
|
||||
* pulls a version of the image
|
||||
*/
|
||||
public async pullImageVersion(versionStringArg: string): Promise<ReadableStream<Uint8Array>> {
|
||||
const pullImageTR = this.cloudlyClientRef.typedsocketClient.createTypedRequest<plugins.servezoneInterfaces.requests.image.IRequest_PullImageVersion>(
|
||||
'pullImageVersion'
|
||||
);
|
||||
const response = await pullImageTR.fire({
|
||||
jwt: this.cloudlyClientRef.identity.jwt,
|
||||
imageId: this.id,
|
||||
versionString: versionStringArg,
|
||||
});
|
||||
const imageStream = response.imageStream;
|
||||
const webduplexStream = new plugins.webstream.WebDuplexStream({});
|
||||
imageStream.writeToWebstream(webduplexStream.writable);
|
||||
return webduplexStream.readable;
|
||||
};
|
||||
}
|
||||
|
@ -6,10 +6,14 @@ export {
|
||||
}
|
||||
|
||||
// @push.rocks scope
|
||||
import * as smartpromise from '@push.rocks/smartpromise';
|
||||
import * as smartrx from '@push.rocks/smartrx';
|
||||
import * as webstream from '@push.rocks/smartstream/web';
|
||||
|
||||
export {
|
||||
smartpromise,
|
||||
smartrx,
|
||||
webstream,
|
||||
}
|
||||
|
||||
// @api.global scope
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@serve.zone/cloudly',
|
||||
version: '1.1.1',
|
||||
version: '1.1.2',
|
||||
description: 'A cloud manager leveraging Docker Swarmkit for multi-cloud operations including DigitalOcean, Hetzner Cloud, and Cloudflare, with integration support and robust configuration management system.'
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user