Houses the kurtosis command line utility
module exec
to the new Kurtosis command frameworkReadCloser
s returned by service logs
and module exec
not getting closedservice logs
commandKurtosisConfig
to use the latest config structenclave-size-in-Megabytes
-> enclave-size-in-megabytes
tag on the Kubernetes configKurtosisClusterConfig
now creates engine container config suppliersenclave dump
enclave ls
enclave rm
service logs
service shell
kurtosis cluster get|set|ls
, which define which backend cluster (defined in config) that the CLI will access for all engine-related commands.enclave-size-in-Megabytes
field in Kubernetes cluster field now is optional, and defaults to 10 MBYYYY-MM-DDTHH-MM-SS-sss
kurtosis engine restart
to use the newest enginetest_cli_functionality
CircleCI testlarge
when building the CLI to speed build timeskurtosis engine restart
after upgradingAccidentally-released empty release; no changes
--with-kubernetes
flagenclave inspect
no longer prints out the enclave data directory
0.2.2
engine restart
to get the new version of the engineservice pause
and service unpause
to CLIkurtosis core lib
to 1.45.4 which adds EnclaveContext.PauseService
and EnclaveContext.UnpauseService
kurtosis engine lib
to 1.17.4uploadFiles
tests for typescript and go clients.uploadFiles
typescript test.files storeservice
to store files from a service in the enclavefiles_artifact_mounting
internal test in order to test duplicate mountpointskurtosis core lib
to 1.45.3 which adds EnclaveContext.StoreFilesFromService
and removes EnclaveContext.RegisterFilesArtifacts
kurtosis engine lib
to 1.17.3kurtosis engine restart
to use the latest versionkurtosis-engine-api-lib
to 1.17.3 as wellEnclaveContext
; users should follow the remediation steps hereContainerConfigBuilder.WithFiles
which allows use of files artifacts uploaded via EnclaveContext.UploadFiles
in servicesfiles upload
to send files into an enclave--files
flag to service add
to allow mounting files artifacts on the containerfiles storeweb
to store files from a web URL in the enclavekurtosis engine lib
to 1.15.0
kurtosis-engine-api-lib
1.15.0DockerManager
with KurtosisBackend
in module exec
commandcontainer engine lib
to 0.15.0destroy_enclave_test
in Golang and Typescript internal testsuitesold_enclave_continuity
test now tests having stopped old enclaves around, as well as service add
clean
about 50-100% fasterkurtosis clean -a
cleans up its containers, volumes, and networksenclave inspect
now prints port IDs, in sorted ordercontainer engine lib
to 0.14.3kurtosis core lib
to 1.42.2DockerManager
with KurtosisBackend
in:
EngineConsumingKurtosisCommand
struct and in RunFunc
clean
commandenclave inspect
commandenclave rm
commandservice logs
commandservice shell
commandenclave inspect
crashes if a module is stoppedkurtosis engine lib
to 1.14.2
kurtosis-engine-api-lib
1.14.2Repl
and Sandbox
commands because now CLI contains several tools to start enclaves, add user services and get access from outside on an easy way
Repl
and Sandbox
anymore, now the CLI contains commands to facilitate the creation of an enclave
and running any kind of user service
inside itenclave dump
to use KurtosisBackend
service add
command for adding a service to an enclaveservice rm
command for removing services from an enclave--id
flag to enclave new
to allow setting the new enclave’s ID--enclave-id
parameter of module exec
to exec the module in an existing enclave, rather than creating a new onesandbox
command when we switched to the newer EnclaveContext.newGrpcNodeEnclaveContext
function--with-partitioning
flag to the sandbox
command for turning on network partitioning<none>
will be printed instead of emptystring to make it clearer that the service has no portssandbox
commandconfig path
command to print the path to the Kurtosis config file--force
flag to config init
to allow users to ignore the interactive confirmation prompt (useful for running in CI)config init
in a non-interactive shell when the config already exists, throw an error with informative informationforce
fails, and with force
succeedsservice shell
will first try to find & use bash
before dropping down to sh
KurtosisCommand
wrapper over the cobra.Command
objects that we’re using to create CLI commands, so that we have a centralized place to add autocompletionKurtosisCommand
NewEnclaveIDArg
generator for building enclave ID args with tab-completion and validation out-of-the-boxenclave rm
commandEngineConsumingKurtosisCommand
to make it easier to write commands that use the engineclean
and config init
to the new KurtosisCommand
frameworkSetSelectionArg
for easily creating arguments that choose from a set (with tab-complete, of course)enclave rm
to use the new command frameworkenclave rm
and enclave inspect
to use the NewEnclaveIDArg
componentenclave rm
failsLowlevelKurtosisCommand
unit tests less likely to experience false negativeskurtosis-engine-api-lib
1.11.0^[a-z0-9][-a-z0-9.]*[a-z0-9]$
--kurtosis-log-level
flag to set the API container’s log level has been renamed to --api-container-log-level
for the following commands:
enclave new
module exec
sandbox
--kurtosis-log-level
flag no longer exists for the enclave ls
command
--cli-log-level
insteaddebug
level by default, to better help us debug issues that are hard to reproducesetupCLILogs
was accidentally setting the logrus output to STDOUT rather than the Cobra command outputlogrus.SetLevel
s that were overriding the CLI log level set using --cli-log-level
build.sh
wasn’t calling go test
stacktrace.Propagate
s that didn’t have formatstr variablesDuplicateFlagsCausePanic
unit testnetwork_soft_partition_test
in Golang and Typescript internal testsuiteengine restart
using stacktrace.Propagate
incorrectlyconfig init
helptext; this likely isn’t going to land wellenclave inspect
is now tab-completableenclave inspect
to the new command frameworkcompletion
)MetricsUserIDStore
which generates a hashed user ID based on OS configuration, and saves the ID in a file to use it in future runs of the CLImetricsUserdID
and shouldSendMetrics
to the EngineServerService.Launcher
kurtosis engine restart
after upgrading to this version of the CLIkurtosis-engine-api-lib
1.9.0enclave inspect
is now tab-completableenclave inspect
now also prints the service ID in addition to the GUID-f
flag to service logs
to allow users to keep following logsenclave stop
and enclave rm
require at least one enclave IDenclave dump
would incorrectly report that the issue was with a different containerenclave dump
breaking if a REPL container is presentKurtosisConfig
object which contains Kurtosis CLI configurations encapsulated to avoid accidentally editionsKurtosisConfigStore
which saves and get the KurtosisConfig
content in/from the kurtosis-cli-config.yml
fileKurtosisConfigInitializer
handle KurtosisConfig
initial status, request users if it is neededKurtosisConfigProvider
which is in charge of return the KurtosisConfig
if it already exists and if it not requests user for initial configurationconfig init
command to initialize the KurtosisConfig
, it requires one positional args to set if user accept or not to send metricsPromptDisplayer
to display CLI promptsuser metrics consent prompt
to request user consents to collecting and sending metricsoverride Kurtosis config confirmation prompt
to request user for confirmation when they’re trying to initialize the config but it’s already createdenclave dump
subcommand to dump all the logs & container specs for an enclavenetwork_soft_partition.test.ts
network_partition.test.ts
module exec
fails, don’t stop the enclave so the user can continue debuggingfiles.test.ts
module.test.ts
wait_for_endpoint_availability.test.ts
enclave inspect
also reports the enclave data directory on the host machineKurtosis Engine
checker in KurtosisContext
creationfiles_artifact_mounting.test.ts
exec_command.test.ts
module exec
command prints and follows the module’s logsenclave inspect
are printed in deterministic, sorted order so they stop jumping around on subsequent runssandbox
would error on enclaveCtx.getServiceContext
bulk_command_execution.test.ts
basic_datastore_and_api.test.ts
enclave_setup.ts
network_soft_partition_test
in golang internal test suitekurtosis engine restart
after upgrading to this version of the CLIkurtosis-engine-api-lib
1.7.2--partitioning
flag to module exec
for enabling partitioningmodule exec
module exec
will now be named after the module image and the time it was ranmodule exec
to manually specify the ID of the enclave that will be createdservice logs
that was successful would really failbasic_datastore_test.ts
, enclave_setup.ts
and test_helpers.ts
internal_testsuites
folder.test_helpers
class now has a higher-level API: AddDatastoreService
and AddAPIService
, which makes many of our internal testsuite test setups a one-linerenclave inspect
stacktrace.Propagate
now panics when it gets a nil
valueenclave inspect
breaking if the enclave was stoppedbuild.sh
scripts to the CLI & internal testsuite subdirectories nowgo.mod
, but now one in CLI and one in golang_internal_testsuite
(rationale being that the dependencies for the CLI and for the internal testsuite are very different, plus we’ll have a typescript_internal_testsuite
soon)localStaticFilesTest
, because there’s no longer a distinction between “local” and “static” now that the testsuite runs with Go test--image
arg to engine start
and engine restart
has been replaced with a --version
flag, so that the full org & image is no longer required--kurtosis-api-image
flag to sandbox
has been replaced with a --api-container-version
flag, so that the full org & image is no longer required--api-container-image
flag to enclave new
has been replaced with a --api-container-version
flag, so that the full org & image is no longer required--api-container-image
flag to module exec
has been replaced with a --api-container-version
flag, so that the full org & image is no longer requiredengine status
now returns the engine version, rather than the API versiontest
command, as tests can be written directly in your testing framework of choice by connecting to the running engine using kurtosis-engine-api-lib
AdvancedNetworkTest
, because we no longer have Network
typeslatest
version of the REPL images, because the CLI should use pinned X.Y.Z version to avoid problemstest
command
--image
arg to engine start
and engine restart
has been replaced with a --version
flag
--kurtosis-api-image
flag to sandbox
has been replaced with a --api-container-version
flag
--api-container-image
flag to enclave new
has been replaced with a --api-container-version
flag
--api-container-image
flag to module exec
has been replaced with a --api-container-version
flag
kurtosis engine restart
suggestion when the engine is out-of-date now:
enclave inspect
enclave inspect
host port bindings now properly return 127.0.0.1
, to match what’s returned by the AddService
RootCmd
because issue #69 is fixedversion_checker
class, now the checkCLILatestVersion
functionality is part of the RootCmd
and the checkIfEngineIsUpToDate
functionality is controlled by the engine_existence_guarantor
RootCmd
until issue #69 is fixedenclave inspect
also prints the Kurtosis modules
version_checker.CheckLatestVersion
method to check if it is running the latest CLI version before running any CLI commandversion_checker.CheckIfEngineIsUpToDate
method to check if it is running engine is up-to-date.service logs
command is executed with a nonexistent enclave ID or nonexistent GUID just silently exits127.0.0.1
rather than 0.0.0.0
for Windows userskurtosistech/example-microservices_datastore
Docker image with kurtosistech/example-datastore-server
in golang_internal_testsuite
kurtosistech/example-microservices_api
Docker image with kurtosistech/example-api-server
in golang_internal_testsuite
kurtosistech/example-microservices_datastore
Docker image with docker/getting-started
in bulk_command_execution_test
and wait_for_endpoint_availability_test
datastore army module
Docker image to the latest version kurtosistech/datastore-army-module:0.1.5
in module_test
--log-level
flag to engine start
repl new
image flag to make more sense--js-repl-image
flag of repl new
has been renamed to --image
, with shorthand -i
module exec
or sandbox
stops, rather than destroys, the enclave it createdenclave new
prints the new enclave’s IDsandbox
is printed after the REPL exitsclean
command, to clean up accumulated Kurtosis artifactsrepl inspect
command to list installed packages on the REPL--image
flag in kurtosis engine start
command, it was not being used when the engine is being executedDestroyEnclave
method is called in kurtosis sandbox
commandengine status
wouldn’t check the error value from getting the engine status objectsandbox
command no longer destroys the enclave after the REPL exitsgoreleaser-ci-image
0.1.1 to publish a new Homebrew formula with a fix for the bottle :unneeded
deprecation warningenclave stop
and enclave rm
commandsEnclaveManager
with Kurtosis Engine API Libs
which handle all the interactions with the Kurtosis Engine Server
version
command to print the CLI’s version, with a test--cli-log-level
flag that controls what level the CLI will log atKurtosisApiVersion
constant published by Kurt Clientkurtosis engine start
to start an enginekurtosis-core
1.25.2, which contains fixes for container-engine-lib
0.7.0 feature that allows binding container ports to specific host machine portsengine start
command to the CLIengine stop
command to the CLIengine start
waits until the engine is responding to gRPC requests before it reports the engine as upengine status
command to the CLImodule exec
engine start
won’t start another container if one is already runningengine start
waits for gRPC availability before it reports the engine upenclave
commands also show enclave stateTablePrinter
objectKeyValuePrinter
for pretty-printing key-value pairsenclave inspect
also prints the enclave ID & statemodule exec
will attempt to update the module & API container images before runningnode_modules
directory in your current directory when starting a REPL will cause the REPL to fail/local
rather than the present directorycore-api-lib
version to 0.19.0, to match the rest of the codeModuleTest
(renamed from LambdaTest
) now uses the ports returned by the Datastore Army modulepipefail
wasn’t set which would result in the testsuite-running step passing when it shouldn’tlambda
command to module
repl install
command for installing NPM packages to a running REPL containerParsePositionalArgs
(renamed to ParsePositionalArgsAndRejectEmptyStrings
) now also errors on empty stringsenclave new
command to create a new enclaverepl new
command to start a new Javascript REPLREPL runner
to reuse the creation and execution of the REPL containerenclave inspect
GetEnclave
method in EnclaveManager
in order to get information of a running enclaveNetwork
typeapi-container-url
into api-container-ip
and api-container-port
go.mod
, so that its version can’t silently upgrade under users and break everythingkurtosis-cli
(was kurtosis
)kurtosis-cli
package (for Homebrew, APT, and Yum) rather than just kurtosis
FURY_TOKEN
when publishingkurtosis-core