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
553b36349b
README.md: clarify "Pulling a Remote Image" section ( #196 )
2022-08-25 15:43:30 +04:00
Fedor Korotkov
d0bf286aa1
Document Linux VM image creation ( #193 )
2022-08-24 23:21:50 +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
Fedor Korotkov
b1be9730c7
Build and release from Ventrura ( #182 )
...
Might be related to #180
2022-08-17 17:42:24 +04:00
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
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
131827802a
Friendly error message on Intel ( #177 )
...
In case someone tries to install Tart. Fixes #176
2022-08-10 11:13:21 -04: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
Nikolay Edigaryev
f54e7c2cab
tart login: only store one credential per registry ( #162 )
2022-08-01 09:55:37 +03:00
Nikolay Edigaryev
85dfa961c9
tart run: introduce --disk option ( #156 )
...
* tart run: introduce --disk option
* Document how to create disks using Disk Utility
2022-07-26 09:25:23 -04:00
Nikolay Edigaryev
3a74fc35e6
Introduce TART_HOME ( #157 )
2022-07-25 17:01:46 +03:00
Nikolay Edigaryev
7bf7f890c4
tart run: return exit status 2 when VM is already running ( #155 )
2022-07-21 07:53:47 -04:00
Nikolay Edigaryev
48cd4b47e4
Move full-fledged VNC support to --experimental-vnc ( #154 )
2022-07-21 12:37:43 +03:00
Nikolay Edigaryev
c1dee4f9b2
Credentials: update Keychain entry if it already exists ( #149 )
2022-07-13 12:35:44 -04:00
Fedor Korotkov
116dc01f55
Document how to retrieve artifacts ( #146 )
2022-07-08 18:45:14 +03:00
Nikolay Edigaryev
52abb7589c
OCI: support Basic authentication scheme ( #145 )
...
* OCI: support Basic authentication scheme
* .isValid → .isValid()
* tart login: make --username optional
2022-07-08 16:36:00 +03:00
Nikolay Edigaryev
4386192161
tart login: introduce --username and --password-stdin flags ( #143 )
2022-07-05 16:32:20 +03:00
Nikolay Edigaryev
85429cea0a
Retrieve IP from DHCPD leases file instead of ARP cache ( #141 )
...
* Retrieve IP from DHCPD leases file instead of ARP cache
* Reference PLCache_read() from the retrieveRawLeases() parsing function
2022-06-30 17:58:52 +03:00
Nikolay Edigaryev
384abcd0bd
OCI: make sure annotations are sorted ( #138 )
2022-06-27 16:25:52 +03:00
Fedor Korotkov
92529afa23
Handle `tart run --no-graphics --vnc` properly ( #137 )
...
Let's start a VNC server but not force open Screen Sharing if `--no-graphics` is also passed.
2022-06-24 22:54:41 +03:00
Nikolay Edigaryev
c25364b2d4
Homebrew: depend on Softnet package ( #136 )
2022-06-21 14:55:51 -04:00
Nikolay Edigaryev
e12f95878e
Softnet: an alternative to built-in NAT with better isolation ( #48 )
...
* Softnet: an alternative to built-in NAT with better isolation
* Softnet: increase socketpair(2) socket buffer sizes to 1 MiB
* Pass VM's FD and MAC address to the Softnet
* Softnet: implement graceful shutdown
* Bring back the dispatchMain() and task cancellation
* tart pull: check for cancellation when pulling response body
* Don't dispatchMain() in withTaskCancellationHandler()
* Move VNC URL opening logic into VNCWrapper.open()
2022-06-21 19:17:02 +03:00
Fedor Korotkov
7efef28250
Allow VNC for Recovery mode ( #134 )
2022-06-20 20:08:31 +03:00
Nikolay Edigaryev
1e90752ded
Full-fledged VNC support ( #126 )
2022-06-20 18:53:17 +03:00
Fedor Korotkov
2020324ef5
Fixed --no-graphics ( #132 )
...
Followup to #129 which broke CLI integration because `--no-graphics` option didn't wait for anything.
2022-06-20 10:28:10 -04:00
Nikolay Edigaryev
b581db5be4
OCI: make annotations optional ( #130 )
...
* OCI: make annotations optional
* Don't initialize annotations by default
2022-06-17 10:53:52 -04:00
Fedor Korotkov
8ed2ce159f
Install Go
2022-06-17 10:33:32 -04:00
Fedor Korotkov
89217c23a2
Fixes for Ventura ( #129 )
...
* Fixes for Ventura
Still a noob in SwiftUI and Swift concurrency, but it seems on Ventura a task group is not actually running on main or something. Either way I think this change simplifies things but launching a VM in a task and then just continuing with either VNC or built-in graphics.
* Check VM's state
2022-06-17 10:04:57 -04:00
Fedor Korotkov
0d633de04a
Build Tart inside a Tart VM ( #127 )
2022-06-17 11:18:26 +03:00
Nikolay Edigaryev
f59ef2722d
OCI: store uncompressed disk size in manifest ( #128 )
2022-06-17 11:14:28 +03:00
Fedor Korotkov
7759c72a76
Don't use dispatchMain ( #123 )
2022-06-14 11:31:31 -04:00
Raymond
4cc8a9925a
accept larger disk size ( #122 )
2022-06-10 09:05:57 -04:00
Nikolay Edigaryev
b16bbf587a
Registry: log upload location when encountering blob pushing error ( #121 )
2022-06-08 17:23:16 +03:00