Commit Graph
47 Commits
Author SHA1 Message Date
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
Fedor Korotkov 7759c72a76 Don't use dispatchMain (#123) 2022-06-14 11:31:31 -04: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
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
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
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
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
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
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
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 KorotkovandNikolay Edigaryev 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
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 KorotkovandNikolay Edigaryev 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
Fedor Korotkov f20a98bf01 Smart generation of new MAC addresses (#45)
* Introduce --new-mac-address flag for Clone command

Related to https://github.com/cirruslabs/tart/issues/20#issuecomment-1116732505

* Smart generation of new MAC addresses
2022-05-06 20:38:56 +03:00
Fedor Korotkov 29e08220e4 Get OCI credentials only when needed (#46)
So we don't even request them for a public image
2022-05-06 02:12:38 +03:00
Fedor Korotkov cdf4932aa3 Improved logging a bit (#43)
* Improved logging a bit

* Progress for all bytes
2022-05-05 10:43:09 -04:00
Fedor Korotkov 4a5efefbc9 Embed AppIcon.png within binary (#30)
* Build product explicitly

Without it resources are not embedded in the executable

* Embed icon in code
2022-04-22 10:29:52 +03:00
Fedor Korotkov f07ffed6c8 --wait option for IP command (#29) 2022-04-19 19:56:59 +03:00
fedor 4ca7787958 Added config release 2022-04-18 11:44:29 -04:00
Fedor Korotkov 8b5b0536b7 Fixed env variable name 2022-04-18 11:24:42 -04:00
Fedor Korotkov d55e5457f9 Make the disk size configurable upon creation (#26)
* Make the disk size configurable upon creation

I haven't found a way to make a VM aware of a larger disk size. So I didn't add `--disk-size` option to `set` command.

* Fixed size so it's pretty in the UI

* Hidden option to resize disk for testing
2022-04-18 17:46:19 +03:00
Fedor Korotkov 609a2530dd Use GoReleaser for releases (#27) 2022-04-18 16:33:10 +03:00
Fedor Korotkov ad2db1461f Update App Icon (#28) 2022-04-17 13:52:54 +03:00
Fedor Korotkov cc31388c1b Renamed disk file (#24)
.img is a standard extension for disk images on macOS. With this extension clicking on the file in finder it will be open in Dick Utilities for inspection.
2022-04-14 22:49:38 +03:00
Fedor Korotkov e100cc0d7f Add App Icon (#23) 2022-04-14 13:23:21 -04:00
Fedor Korotkov 75b5d63387 Refactored UI (#22)
* Simplified crafting of a VM config

* Configure display

* Propagate VM name to the title
2022-04-13 16:42:27 -04:00
Fedor Korotkov 9f8d3017d9 Handle incomplete MAC address (#15) 2022-03-29 12:07:03 -04:00
Fedor Korotkov 49d430b3c4 Update dependencies and styles (#12)
* Update deps and .editorconfig

* run config
2022-03-24 18:54:49 +03:00
Fedor Korotkov dc1e502404 Logger (#11)
* Log progress

* ProgressObserver

* Reverted run configuration

* Cache *.ipsw files

* Use fraction

* Use datatask and pre-create cache folder
2022-03-22 22:17:23 -04:00
Fedor Korotkov 483627904c Swift package simplified (#7)
* Convert project to a Swift Package

* SwiftEntitlementsPlugin

* Include .swiftpm

* Removed plugin

* Run configuration to run signed binary

* Cirrus CI Configuration

* Fixed worker label
2022-03-07 11:46:49 -05:00
Fedor Korotkov dd40717c04 Create LICENSE (#10) 2022-03-07 11:46:29 -05:00
fedor 28ee76491a Added README.md 2022-02-06 17:31:54 -05:00