Nikolay Edigaryev
36bb68a72d
tart run: deprecate --with-softnet and introduce --net-softnet ( #274 )
2022-10-14 18:38:39 +04:00
Nikolay Edigaryev
afd707eedf
OCI reference parser: allow dashes in host name ( #275 )
2022-10-14 16:36:25 +04:00
Nikolay Edigaryev
c67efb88f3
Fix tart prune --cache-budget logic ( #272 )
2022-10-14 01:43:37 +04:00
Nikolay Edigaryev
667de2a199
Monitor Softnet process and throw if it terminates prematurely ( #270 )
2022-10-12 20:00:13 +04:00
Nikolay Edigaryev
44650e9713
Improve RemoteName parser ( #225 ) ( #269 )
...
* Improve RemoteName parser
* Remove Parsing import
* Permit namespace components to contain separators, but no more than one
* Add testNoPathTraversal
2022-10-11 22:59:44 +04:00
Nikolay Edigaryev
62ee42de3b
Plug URLSession.bytes() memory leak ( #267 )
2022-10-10 18:38:57 +04:00
Nikolay Edigaryev
89301d114e
Log cache pruning to $TART_HOME/tart.log ( #265 )
...
* Log cache pruning to $TART_HOME/tart.log
* Log zero capacities
2022-10-07 23:01:42 +04:00
Nikolay Edigaryev
dbb33d0651
Don't download IPSWs into memory ( #262 )
2022-10-06 20:33:34 +04:00
Nikolay Edigaryev
166e3e570f
Ditch AsyncHTTPClient in favor of URLSession ( #260 )
2022-10-05 00:39:36 +04:00
Nikolay Edigaryev
7a2c20ba30
tart create: support fetching URLs specified in the --from-ipsw option ( #256 )
...
* tart create: support fetching URLs specified in the --from-ipsw option
* Use x-amz-meta-digest-sha256 header to cache IPSWs
2022-09-27 23:36:18 +04:00
Nikolay Edigaryev
e90d53eceb
tart delete: allow removing multiple VMs at once ( #257 )
2022-09-27 10:30:44 -04:00
Nikolay Edigaryev
afbc2e0764
tart ip: keep waiting for the /var/db/dhcpd_leases file to appear ( #254 )
2022-09-22 10:24:14 -04:00
Fedor Korotkov
0229138bd5
Fixed wait delay for IP command ( #250 )
...
I initially wanted a one-second wait but made a human mistake.
Fixes #249
2022-09-19 21:44:14 +04:00
Nikolay Edigaryev and Pete Goldsmith
4d08e6365e
Set line-buffered output for stdout and introduce --graphics for tart run ( #248 )
...
* Set line-buffered output for stdout
* tart run: introduce --graphics
* Update Sources/tart/Commands/Run.swift
Co-authored-by: Pete Goldsmith <peter.n.goldsmith@gmail.com >
* Update Sources/tart/Commands/Run.swift
Co-authored-by: Pete Goldsmith <peter.n.goldsmith@gmail.com >
Co-authored-by: Pete Goldsmith <peter.n.goldsmith@gmail.com >
2022-09-19 21:43:37 +04:00
Nikolay Edigaryev
4e20ea8f72
tart run: introduce --net-bridged ( #245 )
...
* tart run: introduce --net-bridged
* tart.entitlements: add com.apple.vm.networking
2022-09-14 17:53:04 +04:00
Nikolay Edigaryev and Pete Goldsmith
678ce0a55a
Introduce "tart rename" command to rename VMs ( #246 )
...
* Introduce "tart rename" command to rename VMs
* Remove unused SystemConfiguration import
* Update Sources/tart/Commands/Rename.swift
Co-authored-by: Pete Goldsmith <peter.n.goldsmith@gmail.com >
Co-authored-by: Pete Goldsmith <peter.n.goldsmith@gmail.com >
2022-09-14 17:44:26 +04:00
Fedor Korotkov
6321d547cf
Improve available capacity checking ( #240 )
...
* Improve available capacity checking
* Fixed expression
2022-09-12 21:55:25 +04:00
Nikolay Edigaryev
f241e21614
Self-hosted temporary directory ( #238 )
2022-09-12 20:56:52 +04:00
Pete Goldsmith
87f29cc11f
Clarify requirements for dir argument ( #231 )
2022-09-07 09:02:46 -04:00
Pete Goldsmith
90d1393137
Handle tilde in path for directory share ( #233 )
...
* Expand Tilde in path
* Expand tilde in disk paths
2022-09-07 08:15:29 -04:00
Nikolay Edigaryev
625d431d10
Revert "Improve RemoteName parser ( #225 )" ( #230 )
...
This reverts commit ae7018c31f .
2022-09-06 22:13:30 +04:00
Nikolay Edigaryev
4648e1aea1
tart clone: clone VM and generate MAC under a file lock ( #215 )
...
* tart clone: clone VM and generate MAC under a file lock
* Lock concurrent "tart pull"'s for the same host
* Config: ensure Tart's home and cache directories always exist
2022-09-06 21:33:51 +04:00
Nikolay Edigaryev
ae7018c31f
Improve RemoteName parser ( #225 )
...
* Improve RemoteName parser
* Remove Parsing import
* Permit namespace components to contain separators, but no more than one
* Add testNoPathTraversal
2022-09-06 17:28:49 +04:00
Pete Goldsmith
e54c89da0c
Clarify if guest or host is unsupported ( #228 )
2022-09-06 09:23:41 -04:00
Nikolay Edigaryev
9a0ec3e6b0
Fix cache reclaimed bytes calculation ( #223 )
2022-09-01 16:12:48 -04:00
Fedor Korotkov
400f85a493
Check Tart Home for auto-pruning ( #220 )
...
Otherwise it's weird we check $TMP but prune $TART_HOME
2022-09-01 15:44:19 -04:00
Fedor Korotkov
0105280b5d
Support plaintext auths from Docker config ( #219 )
2022-09-01 23:10:52 +04:00
Nikolay Edigaryev
0cad2e454c
Directory sharing support ( #211 )
2022-08-30 10:26:16 +04:00
Nikolay Edigaryev
17dcf942c1
Terminate VM on GUI window close ( #210 )
2022-08-30 02:41:58 +04:00
Nikolay Edigaryev
6296df7c0c
Credential helpers: "credHelpers" map is optional in Docker's config ( #209 )
2022-08-29 16:38:51 -04:00
Fedor Korotkov
c54b140750
Support Docker Helpers ( #205 )
...
Fixes #167
2022-08-29 20:26:53 +04:00
Fedor Korotkov
048a5506df
Support trackpad on macOS and clipboard sharing on Linux ( #202 )
...
Fixes #66
Relates to #14 since fixes on Linux
2022-08-27 20:05:45 +04:00
Nikolay Edigaryev
195a4b3a72
Make UnsupportedOSError more user-friendly ( #192 )
...
* Make UnsupportedOSError more user-friendly
* tart prune: allow only specifying a --gc flag
2022-08-24 15:03:54 -04:00
Nikolay Edigaryev
59393df2e1
Linux support ( #190 )
...
* Linux support
* Support macOS 12
* Improve readability a bit
* Remove useless variable
2022-08-23 22:38:50 +04:00
Nikolay Edigaryev
732c8244a4
Run garbage collection after each symlink and expose --gc in tart prune ( #191 )
2022-08-23 17:31:02 +04:00
Nikolay Edigaryev
9e69c8c161
testGetAndSetAccessTime: fix flakiness ( #187 )
2022-08-18 14:42:54 -04:00
Nikolay Edigaryev
e4ac2275b9
tart ip: show a warning when DHCP lease and ARP cache entries mismatch ( #186 )
2022-08-18 22:25:02 +04:00
Nikolay Edigaryev
1a1f19e169
Implement garbage collection when deleting cached OCI VMs ( #185 )
...
* Properly calculate remotely-retrieved manifest digests
* Implement garbage collection when deleting cached OCI VMs
2022-08-18 17:13:06 +04:00
Nikolay Edigaryev
fea916dacc
OCI blob compression: fix Data memory leak when using InputFilter ( #183 )
...
* OCI blob compression: fix Data memory leak when using InputFilter
* Rename mappedDiskOffset to mappedDiskReadOffset
* Update progress.completedUnitCount differently
2022-08-17 12:57:39 -04:00
Nikolay Edigaryev and Nikolay Edigaryev
14059a1d6f
tart {pull,clone}: add missing --insecure support ( #181 )
...
Co-authored-by: Nikolay Edigaryev <edi@microsun.local >
2022-08-17 01:31:19 +04:00
Nikolay Edigaryev
440681320a
Introduce "tart prune" command ( #164 )
2022-08-12 16:43:04 +03:00
Fedor Korotkov and Nikolay Edigaryev
a80954c888
Do not include Content-Range for monolithic uploads ( #179 )
...
* Do not include Content-Range for monolithic uploads
Some registries still assumes it's a chunked upload and verifies the "chunk" size which is too big.
* Update Sources/tart/OCI/Registry.swift
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com >
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com >
2022-08-12 16:33:15 +03:00
Nikolay Edigaryev
cc8201dee6
OCI: support insecure registries and custom ports ( #174 )
2022-08-12 16:24:14 +03:00
Fedor Korotkov
2cab49b3f1
Use Ventura APIs for recovery mode ( #175 )
2022-08-12 08:02:44 +03:00
Fedor Korotkov
e2b7f12388
Support chunked uploads ( #159 )
...
* Support chunked uploads
* Rebase fixes
* Bump swift http client
2022-08-08 10:16:47 -04:00
Fedor Korotkov
617a5d02dc
Fixed potential infinity auth ( #173 )
...
Follow up to an attempt in #169
2022-08-08 16:50:13 +03:00
Nikolay Edigaryev
b83bce4544
tart login: read whole stdin contents instead of just a line ( #170 )
2022-08-02 16:52:35 +03:00
Nikolay Edigaryev
7d16516b6a
OCI: gcr.io fixes ( #169 )
...
* Make sure we don't craft an URLComponents with an empty query items
* Prevent auth() infinite loop
* OCI: ignore invalid RFC 3339 formatted dates
2022-08-01 19:24:11 -04:00
Nikolay Edigaryev
56ddd8df75
OCI's HTTP client: prevent the usage of NIO Transport Services ( #168 )
2022-08-01 18:17:50 -04:00
Fedor Korotkov
b1534a05d5
Configure audio devices to pass through the signal from/to the host ( #163 )
...
Fixes #161
2022-08-01 17:54:55 +03:00