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
Nikolay Edigaryev
c3e37854c3
.cirrus.yml: install Sentry CLI ( #356 )
2022-12-15 22:28:21 +00: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
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
marc-48k
6d7dc40c57
Doco fixups ( #350 )
...
* Fix-ups and SSH howto
* Minor corrections, additions and normalizations
* Fixes SSH command.
* Update README.md
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
2022-12-14 21:49:37 +04:00
Nikolay Edigaryev
15b26f78ae
Registry: include port when looking up credentials ( #346 )
2022-12-05 09:56:48 -05:00
Nikolay Edigaryev
d9f4f9e954
Switch to github.com/nicklockwood/SwiftFormat version 0.50.6 ( #345 )
2022-12-05 11:11:57 +04: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
e061d00afc
Fix SwiftFormat's URL/glob mishandling ( #342 )
...
* Fix SwiftFormat's URL/glob mishandling
* Revert "Fix SwiftFormat's URL/glob mishandling"
This reverts commit 4d1a4c7fb3 .
* Use a fixed SwiftFormat
* Another SwiftFormat fix
* Update .cirrus.yml
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
2022-11-30 17:53:25 +00:00
Nikolay Edigaryev
4555dd5824
README.md: document --dir ( #338 )
2022-11-30 18:12:06 +04: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
Fedor Korotkov
03e6d9345d
Document list of users ( #332 )
...
Fixes #208
2022-11-21 12:34:24 +04:00
Nikolay Edigaryev
c09cbefdd0
VZVirtualMachineDelegate implementation: show the error details ( #330 )
2022-11-18 18:51:26 +04:00
Fedor Korotkov
3896728eb9
Added Code Owners ( #328 )
...
* Added Code Owners
* Rename gi to CODEOWNERS
2022-11-17 22:57:12 -05: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
Nikolay Edigaryev
e600d2f036
Improve UninitializedVMDirectoryError() ( #314 )
2022-11-09 20:49:35 -05:00
Nikolay Edigaryev
b21dbbe3a3
Fetcher: do not use cookies to avoid CSRF checks ( #312 )
...
* Fetcher: do not use cookies to avoid CSRF checks
* Explain why we disable cookies
* Rename getURLSession() → createURLSession() and move it below
2022-11-09 14:27:45 -05:00
Nikolay Edigaryev
ee0fbdd83d
OCI: pull blobs via file ( #306 )
...
* OCI: pull blobs via file
* Explain why we delete the downloaded file after opening a handle to it
* Further abstract away ways to fetch a URLRequest
* No need to cast HTTPURLResponse to HTTPURLResponse
* Fetcher: no need to be a delegate anymore
* Fetcher.fetch() can be made static
2022-11-09 19:36:41 +04:00
Fedor Korotkov
8961c5189a
Fixed Tart logo on GitHubMobile App ( #310 )
...
We can't use the regular images since we use Git LFS. Forgot to fix the main image as part of #237
2022-11-09 12:19:15 +04:00
Nikolay Edigaryev
555715588d
README.md: more realistic Packer HCL example ( #308 )
...
* README.md: more realistic Packer HCL example
* Update README.md
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
* Update README.md
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
2022-11-08 04:59:35 -05:00
Andrea Cristalli
8d096966b4
Packer json configuration is deprecated ( #307 )
2022-11-08 13:42:22 +04:00
Nikolay Edigaryev
fb954b7cc1
tart list: support -q (or --quiet) for automation purposes ( #293 )
2022-11-02 11:49:45 -04:00
Fedor Korotkov
8cbcd2285b
Document Cirrus Runners ( #288 )
...
* Document Cirrus Runners
Fixes #237
* Update README.md
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com>
* Remove redundant mention
Co-authored-by: Nikolay Edigaryev <edigaryev@gmail.com>
2022-10-27 10:17:13 -04:00
Pete Goldsmith
3d0d889c99
Remove whitespace ( #285 )
2022-10-22 08:17:42 -04:00
Nikolay Edigaryev
0e77f14dd7
OCI: always read channel until end ( #284 )
2022-10-18 11:44:14 -04:00
Nikolay Edigaryev
39e1b84423
Use URLSession.dataTask() with delegate instead of URLSession.bytes() ( #282 )
...
* Use URLSession.dataTask() with delegate instead of URLSession.bytes()
* Use URLSession.shared instead of creating a new one each time
2022-10-18 08:54:28 -04:00
Fedor Korotkov
af7530ee50
Relax status code acceptance ( #281 )
...
* Relax status code acceptance
Fixes #273
* added a comment
2022-10-17 21:42:25 +04:00
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