Changelog
0.65.1 (2023-02-01)
Features
- Add
hostname
attribute to theservice
object returned by theadd_service
instruction (#844) (50e786c), closes #745 - add typescript SDK for historical service & enclave identifiers (#923) (0fc8705)
- print shortened uuid by default for add service (#957) (057ba5c)
Bug Fixes
- (docs) update links to "enclave" and "services" in the Resource Identifier page in the docs (#977) (a7cc76d)
- add M1 support to Bash completion instructions (#961) (de41684)
- support shorter uuids from previous versions of Kurtosis (#985) (3f8b6fc)
0.65.0 (2023-01-26)
⚠ BREAKING CHANGES
- Remove the backward compatibility support for recipes in favour of pre-defined kurtosis types. (#920)
- This removes backwards compatibility for artifact_id in favor of artifact_name
- Remove support for unnamed
struct
asadd_service
config
argument. Alladd_service
instructions should now use a properServiceConfig
object as their second argument. (#778) - service_name in Starlark has been renamed service_id to for instructions add_service, remove_service, store_service_files and update_service. This also applies to the exec, post and get recipes. Users of these instructions and recipes will have to service_id rename to service_name for each named usage of service_id to service_name. If you only have positional usage then & go unaffected.
Features
add_services
now fails as soon as one service from the batch fails (#934) (ae2fc27), closes #933- Add
add_services
instruction to start services in bulk (#912) (e3c3124), closes #802 - added a
--full-uuid
flag that prints uuids fully otherwise prints short uuids (#898) (9b10342), closes #896 - added default issue template (#869) (8f141e3)
- added packet latency functionality (#888) (6d28b54)
- added the ability for users to introduce delay between subnetworks (#897) (3c5c841)
- Remove the backward compatibility support for recipes in favour of pre-defined kurtosis types. (#920) (d29455c)
- support historical identifiers for enclaves & services for logs (#900) (4db5f1e)
- Support uuids, names and shortened uuids for enclaves (#827) (60f32bf), closes #310
Bug Fixes
- align convertApiPortsToServiceContextPorts functionality across golang and typescript (#819) (e7f3425), closes #18
- Fix instructions syntax in the quickstart documentation (#892) (70d93fd)
- Fix magic string replacement in ServiceConfig (#942) (8aeb8fe)
- minor corrections in
add_services
docs (#924) (0c780ce) - Only publish via CI on master (#905) (42fe3be)
- rename --full-uuid to --full-uuids (#941) (7578296)
- rename SDK call and correct docs around fetching of historical identifiers (#932) (ff8d515)
- return enclave name instead of enclave uuid for enclave_context in typescript (#921) (537475e)
Code Refactoring
- remove backwards compatibility for artifact_id (#915) (7fcfefc), closes #829
- Remove support for unnamed
struct
asadd_service
config
argument. Alladd_service
instructions should now use a properServiceConfig
object as their second argument. (#778) (b402e36) - rename
service_id
in Starlark toservice_name
(#890) (a27d9d4), closes #861
0.64.2 (2023-01-17)
Features
- added backward compatibility to the the new constructors (2c319b3)
- added http and exec recipe constructor (2c319b3)
- added http recipe constructor (#794) (2c319b3)
Bug Fixes
- added cpu in starlark-instruction (0bd0dfe)
- created separate constructors for Post and Get request recipes. (2c319b3)
- update add-service link (0bd0dfe)
0.64.1 (2023-01-11)
Features
Bug Fixes
- Fix the serialization of the
Service
object returned by theadd_service
instruction (#845) (7fe5ec0), closes #721 - Make PR description update support dependabot PRs (8e1c2da)
- Make PR description update support dependabot PRs (#842) (8e1c2da)
- The multiline output of an recipe passed to an exec command is not printed on multiple lines (#841) (700eb9d), closes #732
0.64.0 (2023-01-10)
⚠ BREAKING CHANGES
- Files artifacts now support both names and uuids. Names provided using (artifact_id, name) are mandatory in Starlark. Note that soon we will be dropping support for artifact_id in favor of name. This applies to upload_files, render_templates and store_service_files. In the Go or TS SDK artifactName has also been introduced and made mandatory in the uploadFiles and storeWebFiles functions. Users must choose a point in time unique name for their artifacts.
- Deprecate AddService SDK call (#803)
Features
- !: Update
wait
backoff to be a constant backoff. Theinterval
argument ofwait
is now the constant interval, not the initial interval for an "Exponential Backoff" strategy. You might want to increase it slightly if it is set to a small duration value (#793) (4f728c0) - Add CPU and Memory allocation to (27f505e)
- Add CPU and Memory allocation to add_service (#790) (27f505e)
- Assert can take two runtime values (#787) (c0bb124)
- support passing names for cli generated artifacts (#834) (0cc8fb3)
Bug Fixes
- disabled for typescripts tests as well (97a0c1e)
- Fix starlark command for CLI rendertemplate (f8542dd)
- Fix starlark command for CLI storeservice (f8542dd)
- Fix starlark scripts for CLI commands (#824) (f8542dd)
- fixed search-logs-test in the internal testsuite (#811) (3196e6c)
- removed the dependency on file-server static in tests (97a0c1e)
- removed the dependency on file-server static in tests (#814) (97a0c1e)
- Wait returns a nice message when it times out (#788) (9e402ba)
Code Refactoring
- Deprecate AddService SDK call (#803) (89bf3e7), closes #460 #443
- Files artifacts support names and uuids (#804) (d35299d), closes #799
0.63.2 (2022-12-21)
Bug Fixes
0.63.1 (2022-12-20)
Features
- Add a
ServiceConfig
for the add_service instruction. Alladd_service
instructions should update theirconfig
argument to use a ServiceConfig object rather than an unnamedstruct
. Support forstruct
will be removed shortly. (#757) (de48639)
Bug Fixes
- fixed and issue when the start time request values was not properly set when finding for existing service GUIDs before streaming logs (#755) (995381a)
0.63.0 (2022-12-20)
⚠ BREAKING CHANGES
- Make a plan argument required for run. Users will have to now pass a
plan
object to therun
function in the main.star as the first argument. If you are passing args the argument should be calledargs
and has to be the second argument. Users will have to futher use all enclave-modifying functions like add_service, remove_service from theplan
object. (#728) (a33c0aa)
Features
0.62.0 (2022-12-16)
⚠ BREAKING CHANGES
- Kurtosis subnetwork capabilities are available in Starlark (#734)
- invert the order of files and artifact ids passed to files artifacts. users will have to invert the dictionary in their starlark code. (#711)
Features
add_service
now acceptssubnetwork
inside its config argument (#670) (996c24b)- Add
kurtosis
module containingconnection.[BLOCKED|ALLOWED]
(#718) (b71ee95) - Add recipe support to exec command (#668) (c8fd7c1), closes #510 #627
- Add support for exec recipe on wait command (#700) (b9bc1d0), closes #698
- Added
match
,regex-match
andinvert-match
flags in thesearch logs
CLI command to allow users to filter the returned log lines (#717) (4a3e814) - Added
remove_connection
instruction to remove a connection between 2 subnetworks (#692) (5905cc3) - Added
update-service
instruction to move a service from a subnetwork to a different subnetwork (#715) (d652a5d) - Added validation that will fail early if subnetwork feature is being used in an enclave that does not support it (#731) (9c3e869)
- invert the order of files and artifact ids passed to files artifacts. users will have to invert the dictionary in their starlark code. (#711) (9acfe3e), closes #545
- Kurtosis subnetwork capabilities are available in Starlark (#734) (cfacf16)
- support runtime values and ip addresses in exec and request (f09b65c)
- support runtime values and ip addresses in exec and request (#730) (f09b65c)
Bug Fixes
0.61.0 (2022-12-15)
⚠ BREAKING CHANGES
- exposed application protocol to users via starlark (#649)
- added application protocol to starlark
- expose application protocol to kurtosis cli (#641)
- exposed application protocol to cli
- expose app protocol to sdks (#640)
- expose application protocol to users (#703)
Features
- Added
set_connection
instruction to configure a connection between two subnetworks (#690) (6a8f6dd) - Added
subnetwork
attribute toServiceConfig
to granularly add service to a partition when starting it (#665) (9e1bc46) - Added
UpdateService
function toServiceNetwork
to granularly update service partition once it is started (#667) (3fdc6c3) - added application protocol to starlark (03b38b8)
- expose app protocol to sdks (#640) (03b38b8)
- expose application protocol to kurtosis cli (#641) (03b38b8)
- expose application protocol to users (#703) (03b38b8)
- exposed application protocol to cli (03b38b8)
- exposed application protocol to users via starlark (#649) (03b38b8)
Bug Fixes
0.60.0 (2022-12-15)
⚠ BREAKING CHANGES
- Updated 'KurtosisContext.GetServiceLogs' now receives a 'LogLineFilter' argument. Users will need to upgrade all the 'GetServiceLogs' call in order to pass the new 'LogLineFilter' argument (#697)
Features
- Added four constructors NewDoesContainTextLogLineFilter, NewDoesNotContainTextLogLineFilter, NewDoesContainMatchRegexLogLineFilter, and NewDoesNotContainMatchRegexLogLineFilter to create a LogLineFilter object, each constructor specifies the operator (text or regex expression) that will be used to filter the log lines. (0956343)
- Added LogLineFilter object which can be used to filter the service logs when calling KurtosisContext.GetServiceLogs (0956343)
- Updated 'KurtosisContext.GetServiceLogs' now receives a 'LogLineFilter' argument. Users will need to upgrade all the 'GetServiceLogs' call in order to pass the new 'LogLineFilter' argument (#697) (0956343)
Bug Fixes
- fix the update script (5223aac)
0.59.3 (2022-12-14)
Bug Fixes
0.59.2 (2022-12-14)
Features
- Added
SetConnection
,UnsetConnection
andSetDefaultConnection
to theServiceNetwork
to granularly update connections between two partitions (#651) (40c8b56)
0.59.1
Changes
- Cleaned up magic strings and updated protobuf to accept application protocol
0.59.0
Breaking Changes
- Introduce
PortSpec
constructor to starlark to create port definitions
Changes
- Added
does contain match regex
anddoes not contain match regex
operators in the Kurtosis engine's serverGetServiceLogs
endpoint
0.58.2
Features
- Made
args
optional forrun
- Added metrics for
kurtosis run
Fixes
- Fix bug that panics APIC when
wait
assert fails - Fixed the CLI output which could contain weird
%!p(MISSING)
when the output of a command was containing%p
(or another Go formatting token) - Cancel redundant runs of golang-ci-lint
- Fixed bug in installation of tab-completion
0.58.1
Fixes
- Changed installation of tab-completion
0.58.0
Breaking Changes
- Rename command from
get_value
torequest
command - Change function signature of
wait
to take in a recipe, assertion and request interval/timeout - Remove
extract
command - Changed how
args
tokurtosis run
are passed, they are passed as second positional argument, instead of the--args
flag- Users will have to start using
kurtosis run <script> <args>
without the--arg
flag - If there are any scripts that depend on the
--args
flag, users should use theargs
arg instead
- Users will have to start using
- Remove
define_fact
command
Changes
- Add
extract
option to HTTP requests - Prepared the Kurtosis engine server to do search in logs
- Adding
log line filters
parameter in theGetServiceLogs
Kurtosis engine endpoint - Made the test for
get_value
use thejq
string extraction features - Changed how
args
tokurtosis run
are passed, they are passed as second positional argument, instead of the--args
flag - Made
CLI
error if more arguments than expected are passed - Added an advanced test for default_service_network.StartServices in preparation of changing a bit the logic
- Remove completion files
- CLI now prints to StdOut. It used to be printing most of its output to StdErr
- Remove build binary and completions directory from git
Fixes
- Check an unchecked error in
CreateValue
in theRunTimeValueStore
- Appends
:latest
before checking for images without a version inDockerManager.FetchImages
Features
- The CLI now displays the list of container images currently being downloaded and validated during the Starlark validation step
exec
now returns the command output and code- Added capability for container-engine to store optional application protocol for Kubernetes.
- Allow paths to
kurtosis.yml
to be run as Kurtosis packages
Removals
- Remove facts engine and endpoints
0.57.8
Features
- Added capability for container-engine to store optional application protocol for Docker.
0.57.7
Changes
- Added automated installation of tab completion with brew installation.
Fixes
- Fixed a bug which was happening on small terminal windows regarding the display of the progress bar and progress info
0.57.6
Features
- The "Starlark code successfully executed" or "Error encountered running Starlark code" messages are now "Starlark code successfully run in dry-run mode" and "Error encountered running Starlark code in dry-run mode" when Starlark is run in dry-run mode (and without the "in dry-run mode" when the script is executed for real)\
- Added
RunStarlarkScriptBlocking
,RunStarlarkPackageBlocking
andRunStarlarkRemotePackageBlocking
functions to the enclave context to facilitate automated testing in our current modules.
Fixes
- Don't duplicate instruction position information in
store_service_files
- Use constants instead of hardcoded string for validation errors
Removals
- Remove stack trace from validation errors as it isn't used currently
Changes
- Changed validation message from "Pre-validating" to "Validating"
- Disabled progress info in non-interactive terminals when running a Starlark Package
0.57.5
Changes
- Replaced stack name with the stack file name in custom evaluation errors
- Replaced "internal ID" in the output message of
add_service
andremove_service
instructions with "service GUID"
Features
- Support public ports in Starlark to cover the NEAR usecase
Fixes
- Corrected some old references to Starlark "modules"
- Fixed a typo where the CLI setup URL was redirecting to the CI setup
- Corrected almost all old references to
docs.kurtosistech.com
- Changed the name from startosis to starlark in the
internal_testsuite
build script - Fixed
internal-testsuites
omission during build time - Fixed a bug related to omitting the
enclave ID
value when a function which filters modules is called
0.57.4
Changes
- Simplified the API by removing the ServiceInfo struct that was adding unnecessary complexity.
0.57.3
Changes
- Added exponential back-off and retries to
get_value
- Removed
core-lib-documentation.md
andengine-lib-documentation.md
in favour of the ones in the public docs repo
0.57.2
Changes
- Added
startosis_add_service_with_empty_ports
Golang and Typescript internal tests
Fixes
- Make validation more human-readable for missing docker images and instructions that depend on invalid service ids
- Fixed mismatch between
kurtosis enclave inspect
andkurtosis enclave ls
displaying enclave creation time in different timezones
Changes
- Make arg parsing errors more explicit on structs
- Updated Starlark section of core-lib-documentation.md to match the new streaming endpoints
- Updated
datastore-army-module
->datastore-army-package
- Added
startosis_add_service_with_empty_ports
Golang and Typescript internal tests - Removed
core-lib-documentation.md
andengine-lib-documentation.md
in favour of the ones in the public docs repo
Features
- Log file name and function like [filename.go:FunctionName()] while logging in
core
&engine
- Add artifact ID validation to Starlark commands
- Add IP address string replacement in
print
command - All Kurtosis instructions now returns a simple but explicit output
- The object returned by Starlark's
run()
function is serialized as JSON and returned to the CLI output. - Enforce
run(args)
for individual scripts
0.57.1
Changes
- Added tab-completion (suggestions) to commands that require Service GUIDs, i.e.
service shell
andservice logs
paths
0.57.0
Breaking Changes
- Renamed
src_path
parameter inread_file
tosrc
- Users will have to upgrade their
read_file
calls to reflect this change
- Users will have to upgrade their
Features
- Progress information (spinner, progress bar and quick progress message) is now printed by the CLI
- Instruction are now printed before the execution, and the associated result is printed once the execution is finished. This allows failed instruction to be printed before the error message is returned.
Breaking changes
- Endpoints
ExecuteStartosisScript
andExecuteStartosisModule
were removed - Endpoints
ExecuteKurtosisScript
was renamedRunStarlarkScript
andExecuteKurtosisModule
was renamedRunStarlarkPackage
Changes
- Starlark execution progress is now returned to the CLI via the KurtosisExecutionResponseLine stream
- Renamed
module
topackage
in the context of the Startosis engine
Fixes
- Fixed the error message when the relative filename was incorrect in a Starlark import
- Fixed the error message when package name was incorrect
- Don't proceed with execution if there are validation errors in Starlark
- Made missing
run
method interpretation error more user friendly
0.56.0
Breaking Changes
- Removed
module
key in thekurtosis.yml
(formerly calledkurtosis.mod
) file to don't have nested keys- Users will have to update their
kurtosis.yml
to remove the key and move thename
key in the root
- Users will have to update their
0.55.1
Changes
- Re-activate tests that had to be skipped because of the "Remove support for protobuf in Startosis" breaking change
- Renamed
input_args
toargs
. All Starlark packages should updaterun(input_args)
torun(args)
0.55.0
Fixes
- Fix failing documentation tests by linking to new domain in
cli
- Fix failing
docs-checker
checks by pointing tohttps://kurtosis-tech.github.io/kurtosis/
instead ofdocs.kurtosistech.com
Breaking Changes
- Renamed
kurtosis.mod
file tokurtosis.yml
this file extension enable syntax highlighting- Users will have to rename all theirs
kurtosis.mod
files
- Users will have to rename all theirs
Changes
- Made
run
an EngineConsumingKurtosisCommand, i.e. it automatically creates an engine if it doesn't exist - Added serialized arguments to KurtosisInstruction API type such that the CLI can display executed instructions in a nicer way.
Features
- Added one-off HTTP requests,
extract
andassert
0.54.1
Fixes
- Fixes a bug where the CLI was returning 0 even when an error happened running a Kurtosis script
Changes
- Small cleanup in
grpc_web_api_container_client
andgrpc_node_api_container_client
. They were implementing executeRemoteKurtosisModule unnecessarily
0.54.0
Breaking Changes
- Renamed
kurtosis exec
tokurtosis run
andmain in main.star
torun in main.star
- Upgrade to the latest CLI, and use the
run
function instead - Upgrade existing modules to have
run
and notmain
inmain.star
- Upgrade to the latest CLI, and use the
Features
- Updated the CLI to consume the streaming endpoints to execute Startosis. Kurtosis Instructions are now returned live, but the script output is still printed at the end (until we have better formatting).
- Update integration tests to consume Startosis streaming endpoints
0.53.12
Changes
- Changed occurrences of
[sS]tartosis
toStarlark
in errors sent by the CLI and its long and short description - Changed some logs and error messages inside core that which had references to Startosis to Starlark
- Allow
dicts
&structs
to be passed torender_templates.config.data
0.53.11
Changes
- Published the log-database HTTP port to the host machine
0.53.10
Changes
- Add 2 endpoints to the APIC that streams the output of a Startosis script execution
- Changed the syntax of render_templates in Starlark
Fixes
- Fixed the error that would happen if there was a missing
kurtosis.mod
file at the root of the module
0.53.9
Fixes
- Renamed
artifact_uuid
toartifact_id
andsrc
tosrc_path
inupload_files
in Starlark
0.53.8
0.53.7
Changes
- Modified the
EnclaveIdGenerator
now is a user defined type and can be initialized once because it contains a time-seed inside - Simplify how the kurtosis instruction canonicalizer works. It now generates a single line canonicalized instruction, and indentation is performed at the CLI level using Bazel buildtools library.
Fixes
- Fixed the
isEnclaveIdInUse
for the enclave validator, now uses on runtime foris-key-in-map
Features
- Add the ability to execute remote modules using
EnclaveContext.ExecuteStartoisRemoteModule
- Add the ability to execute remote module using cli
kurtosis exec github.com/author/module
0.53.6
0.53.5
Changes
- Error types in ExecuteStartosisResponse type is now a union type, to better represent they are exclusive and prepare for transition to streaming
- Update the KurtosisInstruction API type returned to the CLI. It now contains a combination of instruction position, the canonicalized instruction, and an optional instruction result
- Renamed
store_files_from_service
tostore_service_files
- Slightly update the way script output information are passed from the Startosis engine back the API container main class. This is a step to prepare for streaming this output all the way back the CLI.
- Removed
load
statement in favour ofimport_module
. Calling load will now throw an InterpretationError - Refactored startosis tests to enable parallel execution of tests
0.53.4
0.53.3
Fixes
- Fixed a bug with dumping enclave logs during the CI run
Features
- Log that the module is being compressed & uploaded during
kurtosis exec
- Added
file_system_path_arg
in the CLI which provides validation and tab auto-completion for filepath, dirpath, or both kind of arguments - Added tab-auto-complete for the
script-or-module-path
argument inkurtosis exec
CLI command
Changes
print()
is now a regular instructions like others, and it takes effect at execution time (used to be during interpretation)- Added
import_module
startosis builtin to replaceload
. Load is now deprecated. It can still be used but it will log a warning. It will be entirely removed in a future PR - Added exhaustive struct linting and brought code base into exhaustive struct compliance
- Temporarily disable enclave dump for k8s in CircleCI until we fix issue #407
- Small cleanup to kurtosis instruction classes. It now uses a pointer to the position object.
Fixes
- Renamed
cmd_args
andentrypoint_args
insideconfig
insideadd_service
tocmd
andentrypoint
Breaking Changes
- Renamed
cmd_args
andentrypoint_args
insideconfig
insideadd_service
tocmd
andentrypoint
- Users will have to replace their use of
cmd_args
andentry_point_args
to the above inside their Starlark modules
- Users will have to replace their use of
0.53.2
Features
- Make facts referencable on
add_service
- Added a new log line for printing the
created enclave ID
just when this is created inkurtosis exec
andkurtosis module exec
commands
0.53.1
Features
- Added random enclave ID generation in
EnclaveManager.CreateEnclave()
when an empty enclave ID is provided - Added the
created enclave
spotlight message when a new enclave is created from the CLI (currently with theenclave add
,module exec
andexec
commands)
Changes
- Moved the enclave ID auto generation and validation from the CLI to the engine's server which will catch all the presents and future use cases
Fixes
- Fixed a bug where we had renamed
container_image_name
inside the proto definition toimage
- Fix a test that dependent on an old on existent Starlark module
0.53.0
Features
- Made
render_templates
,upload_files
,store_Files_from_service
acceptartifact_uuid
and returnartifact_uuid
during interpretation time - Moved
kurtosis startosis exec
tokurtosis exec
Breaking Features
- Moved
kurtosis startosis exec
tokurtosis exec
- Users now need to use the new command to launch Starlark programs
Fixes
- Fixed building kurtosis by adding a conditional to build.sh to ignore startosis folder under internal_testsuites
0.52.5
Fixes
- Renamed
files_artifact_mount_dirpaths
to justfiles
0.52.4
Features
- Added the enclave's creation time info which can be obtained through the
enclave ls
and theenclave inspect
commands
Fixes
- Smoothened the experience
used_ports
->ports
,container_image_name
->name
,service_config
->config
0.52.3
Changes
- Cleanup Startosis interpreter predeclared functions
<<<<<<< HEAD:docs/changelog.md
0.52.2
Fixes
- Fixed TestValidUrls so that it checks for the correct http return code ||||||| e322558df:docs/changelog.md
0.52.2
=======
0.52.2
master:CHANGELOG.md
0.52.1
Features
- Add
wait
anddefine
command in Startosis - Added
not found service GUIDs information
inKurtosisContext.GetServiceLogs
method - Added a warning message in
service logs
CLI command when the request service GUID is not found in the logs database - Added ip address replacement in the JSON for
render_template
instruction
Changes
kurtosis_instruction.String()
now returns a single line version of the instruction for more concise logging
Fixes
- Fixes a bug where we'd propagate a nil error
- Adds validation for
service_name
instore_files_from_service
- Fixes a bug where typescript (jest) unit tests do not correctly wait for grpc services to become available
- Fixed a panic that would happen cause of a
nil
error being returned
0.52.0
Breaking Changes
- Unified
GetUserServiceLogs
andStreamUserServiceLogs
engine's endpoints, nowGetUserServiceLogs
will handle both use cases- Users will have to re-adapt
GetUserServiceLogs
calls and replace theStreamUserServiceLogs
call with this
- Users will have to re-adapt
- Added the
follow_logs
parameter inGetUserServiceLogsArgs
engine's proto file- Users should have to add this param in all the
GetUserServiceLogs
calls
- Users should have to add this param in all the
- Unified
GetUserServiceLogs
andStreamUserServiceLogs
methods inKurtosisContext
, nowGetUserServiceLogs
will handle both use cases- Users will have to re-adapt
GetUserServiceLogs
calls and replace theStreamUserServiceLogs
call with this
- Users will have to re-adapt
- Added the
follow_logs
parameter inKurtosisContext.GetUserServiceLogs
- Users will have to addition this new parameter on every call
Changes
- InterpretationError is now able to store a
cause
. It simplifies being more explicit on want the root issue was - Added
upload_service
to Startosis - Add
--args
tokurtosis startosis exec
CLI command to pass in a serialized JSON - Moved
read_file
to be a simple Startosis builtin in place of a Kurtosis instruction
0.51.13
Fixes
- Set
entrypoint
andcmd_args
tonil
if not specified instead of empty array
0.51.12
Features
- Added an optional
--dry-run
flag to thestartosis exec
(defaulting to false) command which prints the list of Kurtosis instruction without executing any. When--dry-run
is set to false, the list of Kurtosis instructions is printed to the output of CLI after being executed.
0.51.11
Features
- Improve how kurtosis instructions are canonicalized with a universal canonicalizer. Each instruction is now printed on multiple lines with a comment pointing the to position in the source code.
- Support
private_ip_address_placeholder
to be passed inconfig
foradd_service
in Starlark
Changes
- Updated how we generate the canonical string for Kurtosis
upload_files
instruction
0.51.10
Changes
- Added Starlark
proto
module, such that you can now doproto.has(msg, "field_name")
in Startosis to differentiate between when a field is set to its default value and when it is unset (the field has to be marked as optional) in the proto file though.
0.51.9
Features
- Implemented the new
StreamUserServiceLogs
endpoint in the Kurtosis engine server - Added the new
StreamUserServiceLogs
in the Kurtosis engine Golang library - Added the new
StreamUserServiceLogs
in the Kurtosis engine Typescript library - Added the
StreamUserServiceLogs
method in Loki logs database client - Added
stream-logs
test in Golang and Typescriptinternal-testsuites
- Added
service.GUID
field inService.Ctx
in the Kurtosis SDK
Changes
- Updated the CLI
service logs
command in order to use the newKurtosisContext.StreamUserServiceLogs
when user requested to follow logs - InterpretationError is now able to store a
cause
. It simplifies being more explicit on want the root issue was - Added
upload_service
to Startosis - Add
--args
tokurtosis startosis exec
CLI command to pass in a serialized JSON
0.51.8
Features
- Added exec and HTTP request facts
- Prints out the instruction line, col & filename in the execution error
- Prints out the instruction line, col & filename in the validation error
- Added
remove_service
to Startosis
Fixes
- Fixed nil accesses on Fact Engine
Changes
- Add more integration tests for Kurtosis modules with input and output types
0.51.7
Fixes
- Fixed instruction position to work with nested functions
Features
- Instruction position now contains the filename too
0.51.6
Features
- Added an
import_types
Starlark instruction to read types from a .proto file inside a module - Added the
time
module for Starlark to the interpreter - Added the ability for a Starlark module to take input args when a
ModuleInput
in the moduletypes.proto
file
0.51.5
Fixes
- Testsuite CircleCI jobs also short-circuit if the only changes are to docs, to prevent them failing due to no CLI artifact
0.51.4
Fixes
- Fixed a bug in
GetLogsCollector
that was failing when there is an old logs collector container running that doesn't publish the TCP port - Add missing bindings to Kubernetes gateway
Changes
- Adding/removing methods from
.proto
files will now be compile errors in Go code, rather than failing at runtime - Consolidated the core & engine Protobuf regeneration scripts into a single one
Features
- Validate service IDs on Startosis commands
0.51.3
Fixes
- Added
protoc
install step to thepublish_api_container_server_image
CircleCI task
0.51.2
Features
- Added a
render_templates
command to Startosis - Implemented backend for facts engine
- Added a
proto_file_store
in charge of compiling Startosis module's .proto file on the fly and storing their FileDescriptorSet in memory
Changes
- Simplified own-version constant generation by checking in
kurtosis_version
directory
0.51.1
- Added an
exec
command to Startosis - Added a
store_files_from_service
command to Startosis - Added the ability to pass
files
to the service config - Added a
read_file
command to Startosis - Added the ability to execute local modules in Startosis
Changes
- Fixed a typo in a filename
Fixes
- Fixed a bug in exec where we'd propagate a
nil
error - Made the
startosis_module_test
in js & golang deterministic and avoid race conditions during parallel runs
Removals
- Removed stale
scripts/run-pre-release-scripts
which isn't used anywhere and is invalid.
0.51.0
Breaking Changes
- Updated
kurtosisBackend.CreateLogsCollector
method incontainer-engine-lib
, added thelogsCollectorTcpPortNumber
parameter- Users will need to update all the
kurtosisBackend.CreateLogsCollector
setting the logs collectorTCP
port number
- Users will need to update all the
Features
- Added
KurtosisContext.GetUserServiceLogs
method ingolang
andtypescript
api libraries - Added the public documentation for the new
KurtosisContext.GetUserServiceLogs
method - Added
GetUserServiceLogs
in Kurtosis engine gateway - Implemented IP address references for services
- Added the
defaultTcpLogsCollectorPortNum
with9713
value inEngineManager
- Added the
LogsCollectorAvailabilityChecker
interface
Changes
- Add back old enclave continuity test
- Updated the
FluentbitAvailabilityChecker
constructor now it also receives the IP address as a parameter instead of usinglocalhost
- Published the
FluentbitAvailabilityChecker
constructor for using it during starting modules and user services - Refactored
service logs
Kurtosis CLI command in order to get the user service logs from thelogs database
(implemented in Docker cluster so far)
0.50.2
Fixes
- Fixes how the push cli artifacts & publish engine runs by generating kurtosis_version before hand
0.50.1
Fixes
- Fix generate scripts to take passed version on release
0.50.0
Features
- Created new engine's endpoint
GetUserServiceLogs
for consuming user service container logs from the logs database server - Added
LogsDatabaseClient
interface for defining the behaviour for consuming logs from the centralized logs database - Added
LokiLogsDatabaseClient
which implementsLogsDatabaseClient
for consuming logs from a Loki's server - Added
KurtosisBackendLogsClient
which implementsLogsDatabaseClient
for consuming user service container logs usingKurtosisBackend
- Created the
LogsDatabase
object incontainer-engine-lib
- Created the
LogsCollector
object incontainer-engine-lib
- Added
LogsDatabase
CRUD methods inDocker
Kurtosis backend - Added
LogsCollector
CRUD methods inDocker
Kurtosis backend - Added
ServiceNetwork
(interface),DefaultServiceNetwork
andMockServiceNetwork
Breaking Changes
- Updated
CreateEngine
method incontainer-engine-lib
, removed thelogsCollectorHttpPortNumber
parameter- Users will need to update all the
CreateEngine
calls removing this parameter
- Users will need to update all the
- Updated
NewEngineServerArgs
,LaunchWithDefaultVersion
andLaunchWithCustomVersion
methods inengine_server_launcher
removed thelogsCollectorHttpPortNumber
parameter- Users will need to update these method calls removing this parameter
Changes
- Untied the logs components containers and volumes creation and removal from the engine's crud in
container-engine-lib
- Made some changes to the implementation of the module manager based on some PR comments by Kevin
Features
- Implement Startosis add_service image pull validation
- Startosis scripts can now be run from the CLI:
kurtosis startosis exec path/to/script/file --enclave-id <ENCLAVE_ID>
- Implemented Startosis load method to load from Github repositories
Fixes
- Fix IP address placeholder injected by default in Startosis instructions. It used to be empty, which is invalid now
it is set to
KURTOSIS_IP_ADDR_PLACEHOLDER
- Fix enclave inspect CLI command error when there are additional port bindings
- Fix a stale message the run-all-test-against-latest-code script
- Fix bug that creates database while running local unit tests
- Manually truncate string instead of using
k8s.io/utils/strings
Removals
- Removes version constants within launchers and cli in favor of centralized generated version constant
- Removes remote-docker-setup from the
build_cli
job in Circle
0.49.9
Features
- Implement Startosis add_service method
- Enable linter on Startosis codebase
0.49.8
Changes
- Added a linter
- Made changes based on the linters output
- Made the
discord
command a LowLevelKurtosisCommand instead of an EngineConsumingKurtosisCommand
Features
- API container now saves free IPs on a local database
Fixes
- Fix go.mod for commons & cli to reflect monorepo and replaced imports with write package name
- Move linter core/server linter config to within core/server
0.49.7
Features
- Implement skeleton for the Startosis engine
Fixes
- Fixed a message that referred to an old repo.
Changes
- Added
cli
to the monorepo
0.49.6
Fixes
- Fixed a bug where engine launcher would try to launch older docker image
kurtosistech/kurtosis-engine-server
.
0.49.5
Changes
- Added
kurtosis-engine-server
to the monorepo - Merged the
kurtosis-engine-sdk
&kurtosis-core-sdk
Removals
- Remove unused variables from Docker Kurtosis backend
0.49.4
Fixes
- Fix historical changelog for
kurtosis-core
- Don't check for grpc proxy to be available
0.49.3
Fixes
- Fix typescript package releases
0.49.2
Removals
- Remove envoy proxy from docker image. No envoy proxy is being run anymore, effectively removing HTTP1.
Changes
- Added
kurtosis-core
to the monorepo
Fixes
- Fixed circle to not docs check on merge
0.49.1
Fixes
- Attempting to fix the release version
Changes
- Added container-engine-lib
0.49.0
Changes
- This version is a dummy version to set the minimum. We pick a version greater than the current version of the CLI (0.29.1).