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
Fedor Korotkov
022317bc17
Build Debug Binary ( #117 )
...
* Build Debug Binary
Xcode 14 Beta breaks something when building with a production configuration and Tart can't run a VM.
* Fixed path
2022-06-07 18:14:52 +03:00
Fedor Korotkov
87733290e7
Smaller icon ( #116 )
...
Initially it wasn't fully following the [guidelines](https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/app-icon/ ).
Fixes #112
2022-06-06 18:38:30 +03:00
Fedor Korotkov
c14b46adc3
Make sure VM directory exists before moving ( #111 )
2022-06-03 23:22:11 +03:00
Nikolay Edigaryev
63329ef363
Atomic tart {create,clone,pull} operations using rename(2) ( #109 )
...
* tart clone: always re-generate MAC-address
This is not really an issue for non-enterprise users[1].
[1]: https://github.com/cirruslabs/tart/issues/20#issuecomment-1136944455
* Atomic tart {create,clone,pull} operations using rename(2)
* Print a nicer error message when attempting to double-run a VM
* tart clone: bring back the old MAC-address generation logic
* Ensure VMDirectory.temporary() will be deleted on failure
2022-06-01 11:02:31 -04:00
Nikolay Edigaryev
5446164a36
tart pull: introduce --populate-cache flag ( #103 )
...
* tart pull: introduce --populate-cache flag
* VMStorageOCI: introduce cache() method
* Review comments (#107 )
* Rename SetCommand back to Set
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
2022-05-28 23:20:24 -04:00
Nikolay Edigaryev
f3068b9055
tart login: verify credentials ( #102 )
...
* tart login: verify credentials
* Make DictionaryCredentialsProvider fileprivate to Login.swift
2022-05-26 09:31:46 -04:00
Fedor Korotkov
afa6b7b46c
Auto-detect screen DPI ( #106 )
...
* Auto-detect screen DPI
Fixes #104
* Added a comment
2022-05-26 12:23:13 +03:00
Fedor Korotkov
d277fb2941
Added helpfull messages to run command ( #100 )
2022-05-23 11:29:35 -04:00
Fedor Korotkov
088cdc51a3
Option to run with VNC ( #97 )
...
* Option to run with VNC
So copy/paste is working. For example, `tart run --vnc latest`.
Related to 14
* Add VNC task first
* Indicate the wait
2022-05-23 16:49:15 +03:00
Fedor Korotkov
afb23a3e3a
Init HTTP client only if Registry is used ( #99 )
2022-05-21 00:26:43 +03:00
Fedor Korotkov
35904dc637
Async http client for pull/push ( #95 )
...
* Use async http client for pull/push
* Don't update progress too frequently
* Removed unused variable
* Rebased after added tests
2022-05-20 11:04:21 -04:00
Nikolay Edigaryev
fec803277d
Registry functional/integration tests ( #96 )
...
* Registry functional/integration tests
* Remove DockerClientSwift import
* Encodable, Decodable → Codable
2022-05-20 09:52:37 -04:00
Nikolay Edigaryev
13b05d75c5
.ci/set-version.sh: use temporary file ( #93 )
...
* .ci/set-version.sh: use temporary file
* Update .ci/set-version.sh
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
2022-05-19 15:51:22 -04:00
Nikolay Edigaryev
54a321df7f
Sort "tart list" by default ( #94 )
2022-05-19 15:05:16 -04:00
Fedor Korotkov
b3695c8406
Log output of hooks ( #92 )
2022-05-19 19:37:04 +03:00
Fedor Korotkov
0a257a1547
Option to run in recovery mode ( #91 )
...
* Option to run in recovery mode
* Fixed typo
* Use Dynamic package to call private APIs
* Improved comment
* Move options closer to invocation
2022-05-19 08:17:05 -04:00
Nikolay Edigaryev
60c15e3e49
tart list: fix heading order ( #90 )
2022-05-18 14:20:52 -04:00
Fedor Korotkov
a1bcbdbf0b
Bump default CPU cores ( #86 )
...
To prevent frustrations like #68
2022-05-18 18:12:45 +03:00
Fedor Korotkov
7fec41b2cb
Document VM location on disk ( #87 )
...
Fixes #68
2022-05-18 18:01:13 +03:00
Fedor Korotkov
ea4fb9a2d5
Add Geekbench report link ( #83 )
...
Fixes #82
2022-05-17 15:20:04 -04:00
Nikolay Edigaryev
c2da3fd919
Support "tart --version" ( #81 )
...
* Support "tart --version"
* Move CI.swift patcher into a separate script
Otherwise it doesn't work in GoReleaser.
2022-05-17 10:40:21 -04:00
Fedor Korotkov
63a2793c32
Support upper case in remote names ( #79 )
2022-05-16 18:14:42 +03:00
Fedor Korotkov
0fc3d3d1f4
Add virtual sound devices ( #78 )
2022-05-16 17:21:21 +03:00
Nikolay Edigaryev
60b705478b
Handle Ctrl + C properly ( #73 )
...
* Terminate when Ctrl+C is encountered when entering credentials
* Handle Ctrl+C by catching SIGINT and converting it to task cancellation
* maxCharacters instead of (buf.count - 2)
* readStdinCredential: fix maxCharacters to be 255
* "user" variable should be named "credential"
2022-05-16 09:56:30 -04:00
Nikolay Edigaryev
fa9e3146c1
tart list: filter out uninitialized VM directories ( #76 )
2022-05-16 08:30:58 -04:00
Nikolay Edigaryev
3dfe8f870c
Provide more details when VM's network attachment disconnects ( #74 )
2022-05-16 08:23:34 -04:00
Fedor Korotkov
7afa446a73
Change default disk size upon creation ( #71 )
...
To help with frustrations like https://github.com/cirruslabs/tart/issues/44#issuecomment-1126831261
Experts will still use `--disk-size` flag to tailor disk size for their needs.
2022-05-16 09:44:31 +03:00
Nikolay Edigaryev
d1bed25023
tart pull: be more liberal when accepting local image as argument ( #70 )
...
* tart pull: be more liberal when accepting local image as argument
* Update Sources/tart/Commands/Pull.swift
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
* Single sentence and consistent capitalization
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
2022-05-15 18:03:15 -04:00
Fedor Korotkov
b39c3c9b52
Reworked CI integration documentation ( #69 )
...
It was a bit confusing to folks not familiar with Cirrus CLI. Reworked the documentation to better introduce Cirrus CLI.
2022-05-15 13:25:25 +03:00
Nikolay Edigaryev
8554e56e4b
Registry: use issued_at field in the token response message ( #65 )
...
* Registry: use issued_at field in the token response message
* Configure JSONDecoder instead of the Decodable itself
2022-05-12 22:33:02 +03:00
Nikolay Edigaryev
3fdcc5c33c
.goreleaser(brews): depend on macOS Monterey ( #64 )
...
* .goreleaser(brews): depend on macOS Monterey
* README.md: mention that macOS Monterey or later is required
2022-05-12 00:42:12 +03:00
Austin Culter
182ddf0268
Minor typo: 'reposiotry' > 'repository' ( #61 )
...
On the tin.
2022-05-10 17:16:03 -04:00
Fedor Korotkov
24375c24f3
Print total size of compressed layers ( #60 )
...
Before pulling an image.
2022-05-10 16:20:52 -04:00
Fedor Korotkov
4ebec53c77
Two more FAQs ( #58 )
...
* Two more FAQs
* Better summary
* Another clarification
2022-05-10 23:13:17 +03:00
Fedor Korotkov
2f5a6790d8
Refactored registry token handling ( #57 )
...
* Refactored registry token handling
* Update Sources/tart/OCI/Registry.swift
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com>
* Target our dedicated M1 Mini
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com>
2022-05-09 16:13:22 +03:00
Fedor Korotkov
cc697b4f6e
More images in docs ( #56 )
...
* More images in docs
* More images in docs
* Updated GIF
2022-05-09 12:59:51 +03:00
Nikolay Edigaryev
f6acbe8fe5
Registry: invalidate expired tokens ( #55 )
2022-05-08 19:46:11 -04:00
Fedor Korotkov
341fd168b3
Fixed release build entitlements ( #54 )
2022-05-08 13:05:10 +03:00
Fedor Korotkov
e8a6efa60a
Return title to docs ( #53 )
...
* Return title to docs
* smaller
2022-05-07 11:24:25 +03:00
Fedor Korotkov
efc9c74b6c
Report if an image already pulled ( #52 )
2022-05-06 17:06:28 -04:00
Fedor Korotkov
f712ba8ce3
Proper documentation ( #49 )
...
* WIP proper docs
* Update README.md
* wip
* More updates
* Apply suggestions from code review
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com>
* Use GitHub Packages links
* Promote Cirrus CLI first and then mentioned Cirrus CI
* Apply suggestions from code review
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com>
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com>
2022-05-06 23:59:33 +03:00