Nikolay Edigaryev
cf49fd10b6
Print errors to stderr ( #504 )
2023-05-18 19:11:22 +04:00
Fedor Korotkov
8e11bbe1cd
Improve error reporting for unsupported host OS version ( #491 )
...
Fixes #489
2023-05-07 21:07:26 +04:00
Nikolay Edigaryev
6de31de6bf
tart login: trim newline characters at the end of --password-stdin ( #486 )
2023-05-04 14:02:46 +04:00
Nikolay Edigaryev
4f70d01dd6
Set User-Agent header for OCI HTTP requests ( #478 )
...
* Set User-Agent header for OCI HTTP requests
* IORegistry value is actually a NUL-terminated C string
* Use sysctl instead of IOKit
2023-04-28 18:02:57 +04:00
Nikolay Edigaryev
b03408f856
tart ip: wait for the VM to start if --wait was set ( #467 )
2023-04-10 10:37:00 +00:00
Nikolay Edigaryev and Fedor Korotkov
1d3aa5ac81
tart push: allow pushing OCI VMs from the cache too ( #465 )
...
* tart push: allow pushing OCI VMs from the cache too
* Check for RemoteName earlier
* Refactored pushing of OCI images under new tag (#466 )
* Refactored pushing of OCI images under new tag
* Fixed compilation
---------
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com >
2023-04-06 14:20:04 +00:00
Fedor Korotkov
261c1806df
Improve tart ip error message ( #464 )
...
Resolves #460
2023-04-05 18:19:39 +00:00
Fedor Korotkov
e1bb565c3b
UI improvements ( #459 )
2023-03-31 10:58:14 -04:00
Nikolay Edigaryev
9b26d30c42
tart import: fix import failing due to SIGBUS ( #458 )
2023-03-30 15:52:48 +04:00
Nikolay Edigaryev
e72fcd9b19
tart list: show if the VM is running or not ( #456 )
...
* tart list: show if the VM is running or not
* Boolean "running" field instead of "state", similarly to "tart get"
* Re-use VMDirectory.running() in "tart get"
2023-03-29 08:51:53 -04:00
Nikolay Edigaryev
33a51b7344
tart export: make export path optional ( #454 )
2023-03-27 16:59:57 +00:00
Fedor Korotkov and Nikolay Edigaryev
f62949b6f4
Option to pass externally created serial console ( #448 )
...
* Option to pass externally created serial console
See https://github.com/cirruslabs/tart/pull/364#issuecomment-1472111742 for details
* Fixed compilation
* Apply suggestions from code review
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com >
---------
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com >
2023-03-17 13:52:13 +00:00
Nikolay Edigaryev
d7561cab0b
Graceful Softnet termination ( #434 )
2023-03-16 18:37:46 +04:00
fedor
066f585c53
Reformatted Serial.swift
2023-03-16 10:22:27 -04:00
d8ac36b3bd
support ZVirtioConsoleDevice for linux vm ( #364 )
...
* support ZVirtioConsoleDevice for linux vm, user can control the vm via serial port with screen command
* cleanup code, fix indent
* add --serial option to tart
* remove serial in vmconfig, fix Serial.swift
---------
Co-authored-by: peternguyen93 <peternguyen9321@gmail.com >
Co-authored-by: peter <peter@starlabs.sg >
2023-03-16 10:21:13 -04:00
Fedor Korotkov
4a454a3115
Allow to choose IP resolution strategy ( #446 )
...
Haven't seen any reports of the `arp` vs DHCP issues so I think it's reasonable to remove the warning and allow to customize the resolution strategy.
2023-03-16 17:41:54 +04:00
Fedor Korotkov
1f35a9b35e
Fixed error message for incorrect memory ( #426 )
2023-02-27 18:32:40 +04:00
Nikolay Edigaryev
2be5eedeb6
Try to set a SUID bit on Softnet using Sudo before failing ( #421 )
...
* Try to set a SUID bit on Softnet using Sudo before failing
* .cirrus.yml: switch to the new Mac machine
2023-02-17 08:50:57 +04:00
Fedor Korotkov
78f7ba8f80
Remove Reporting ( #411 )
2023-02-09 20:47:54 +04:00
Fedor Korotkov
b242f27f49
Ignore GC errors ( #405 )
...
* Ignore GC errors
Such errors are not critical
* Print GC error to stderr
2023-02-09 00:15:34 +04:00
Nikolay Edigaryev
b566d07bc4
Avoid URL.formatted() method ( #408 )
2023-02-08 06:52:01 -05:00
Fedor Korotkov
def779e20b
Report to Sentry instead of Puppy ( #402 )
...
Instead of logging locally let's report to Sentry.
2023-02-07 20:04:45 +04:00
Fedor Korotkov
b8ff7474c3
Removed --with-softnet flag ( #401 )
...
Fixes #276
2023-02-05 21:56:23 +04:00
Fedor Korotkov
f34aa5f072
JSON output for get and list commands ( #394 )
...
* JSON output for `get` and `list` commands
In the light of the upcoming `1.0.0` release and stabilizing of the API, let's introduce some breaking changes for the good.
Removed all the `--cpu`, `--memory`, `--disk` and `--display` flags and replaced with a single `--json` flag for machine-readable output.
Added `--json` option to the `list` command to output a single JSON list. Notably removed `--quite` flag since it seemed unnecessary.
Fixes #297
* Added Size to `list` output
Fixes #379
* Added running state to `get`
Fixes #393
* Better signature
* Updated tests
* More test fixes
2023-02-04 11:40:39 +04:00
Fedor Korotkov
ecc5de18be
Collect installation information ( #390 )
2023-02-02 06:12:28 -05:00
Nikolay Edigaryev
41af674a88
Introduce "tart import" and "tart export" commands ( #386 )
...
* Introduce "tart import" and "tart export" commands
* Use AppleArchive instead of ZIP and simply {ar,un}chive the VM dir
* Fix formatting
* Link to Apple's docs
* Print "importing..." and "exporting..." lines
2023-02-01 15:27:05 -05:00
Nikolay Edigaryev
ba4f00fa78
Fix ArgumentParser's exception printing ( #367 )
2022-12-21 18:06:01 +04:00
Nikolay Edigaryev
1380ece108
Use separate exception codes for better Sentry grouping ( #363 )
2022-12-19 17:40:55 +00:00
Fedor Korotkov
9cdb7087f2
Fixed --help ( #361 )
...
* Fixed --help
Apparently `--help` works via exceptions 🤷♂️
Fixes #360
* lint issue
2022-12-17 20:57:17 +04:00
Fedor Korotkov
828351a8fb
Report pull metrics to Sentry ( #354 )
...
* Report GC events to Sentry
* Formatting
* Use transactions for measuring pull duration on cache miss
* Fixed linting
* Explicitly enable capturing of failed requests
* Allow customizing tracesSampleRate
* bindToScope
* Measure compressed disk size
* Don't capture GC events
2022-12-15 16:53:34 -05:00
Nikolay Edigaryev
f9ac994e18
Fix inverted VMStorageOCI.link() logic ( #355 )
2022-12-15 21:18:33 +00:00
marc-48k
fdeaf979c2
Get command ( #353 )
...
* (wip) First pass at Get command.
* Adds validation in case multiple options are supplied.
2022-12-15 22:52:22 +04:00
Nikolay Edigaryev
d9f1c37cdd
Sentry integration ( #352 )
...
* Ditch Foundation.exit()'s where feasible
* Sentry integration
* SwiftFormat
* Upload symbols and sources to Sentry
* Use Sentry Releases
* Do not use ExitCode exceptions
* Clarify why we need CustomNSError extension
2022-12-15 13:50:21 +00:00
Fedor Korotkov
81253417a4
Optimal buffer sizes for Softnet socket ( #351 )
...
* Optimal buffer sizes for Softnet socket
* Formatting
2022-12-14 23:18:39 +04:00
marc-48k and Nikolay Edigaryev
c9caeab098
Filter tart list by source ( #349 )
...
* Adds Option to filter VMs by 'source'
* Tidy up columns for table on some Terminals
* Don't show headers if there's an error.
* Fixes linting errors.
* Update Sources/tart/Commands/List.swift
- removing the short name for now, as we don't know if we may need -s in the future
- removing the capitalization for the word "source" and adding an example instead
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com >
* source should be an Optional flag. Reverts header change.
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com >
2022-12-14 13:08:35 -05:00
Nikolay Edigaryev
15b26f78ae
Registry: include port when looking up credentials ( #346 )
2022-12-05 09:56:48 -05:00
Nikolay Edigaryev
31635e59d7
Don't swallow VZVirtualMachine.start() exceptions ( #343 )
...
* Don't swallow VZVirtualMachine.start() exceptions
* Rename task to startTask for clarity
* No need to use "self"
2022-12-01 14:03:21 -05:00
Nikolay Edigaryev
ad9c3c661e
Reformat code idents and introduce the SwiftFormat linter ( #339 )
...
* Package.swift: add SwiftFormat
Can be invoked with "swift package plugin swiftformat".
* $ swift package plugin swiftformat
* .cirrus.yml: run SwiftFormat
* SwiftFormat: exclude Sources/tart/OCI/Reference/Generated
2022-11-29 15:56:13 +00:00
Nikolay Edigaryev
c27d4a089c
OCI: WWW-Authenticate's scheme should be treated case-insensitive ( #336 )
2022-11-25 16:59:38 +04:00
Nikolay Edigaryev
70f9fcc12e
tart run: do not check --disk lock for read-only attachments ( #334 )
2022-11-22 22:37:48 -05:00
Nikolay Edigaryev
456ebc1c7b
Rosetta support ( #324 )
2022-11-21 12:56:27 -05:00
Nikolay Edigaryev
14cbc727ad
tart run: check if the disks are locked ( #333 )
2022-11-21 17:42:53 +04:00
Nikolay Edigaryev
c09cbefdd0
VZVirtualMachineDelegate implementation: show the error details ( #330 )
2022-11-18 18:51:26 +04:00
sheldonneuberger-sc
de993fbf6d
use 64bit int for memory ( #327 )
2022-11-16 14:52:28 -05:00
Nikolay Edigaryev
f08ddf3855
Fetch IPSWs via file ( #322 )
2022-11-15 10:01:52 +04:00
Nikolay Edigaryev
8524d93741
Integration tests ( #313 )
...
* Integration tests
* Set "HOMEBREW_NO_AUTO_UPDATE=1" for virtualenv installation step
* Use CIRRUS_WORKING_DIR as temporary directory if present
2022-11-14 13:24:51 -05:00
Nikolay Edigaryev
833c162187
tart stop: return a different exit code when VM is not running ( #321 )
...
See https://github.com/cirruslabs/tart/pull/316#issuecomment-1311556674 .
2022-11-11 14:20:21 -05:00
Fedor Korotkov
31ba71dad7
Option to provide registry credentials via environment variables ( #320 )
...
Fixes #124
2022-11-11 18:32:23 +04:00
Nikolay Edigaryev
5e77968989
Introduce "tart stop" ( #316 )
2022-11-11 07:59:22 +04:00
Evan Burkey
f37372da28
Implement Get command ( #309 )
2022-11-10 09:14:14 +04:00