From c635ca7d7083cfa4fed1742b6aef28f67a4440bd Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Wed, 15 May 2024 13:32:27 +0100 Subject: [PATCH 01/10] fix engine launcher --- engine/launcher/args/args.go | 4 ++ .../engine_server_launcher.go | 53 ++++++++++++++++++- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/engine/launcher/args/args.go b/engine/launcher/args/args.go index 124dfdb82c..4dcbd34510 100644 --- a/engine/launcher/args/args.go +++ b/engine/launcher/args/args.go @@ -64,6 +64,8 @@ type EngineServerArgs struct { // To restart the current API containers after the engine has been restarted RestartAPIContainers bool `json:"restart_api_containers"` + + ImageRepository string `json:"image_repository"` } var skipValidation = map[string]bool{ @@ -108,6 +110,7 @@ func NewEngineServerArgs( grpcListenPortNum uint16, logLevelStr string, imageVersionTag string, + imageRepository string, metricsUserID string, didUserAcceptSendingMetrics bool, kurtosisBackendType KurtosisBackendType, @@ -140,6 +143,7 @@ func NewEngineServerArgs( CloudInstanceID: cloudInstanceID, AllowedCORSOrigins: allowedCORSOrigins, RestartAPIContainers: restartAPIContainers, + ImageRepository: imageRepository, } if err := result.validate(); err != nil { return nil, stacktrace.Propagate(err, "An error occurred validating engine server args") diff --git a/engine/launcher/engine_server_launcher/engine_server_launcher.go b/engine/launcher/engine_server_launcher/engine_server_launcher.go index 18e99c8f4a..ab1a0c9c77 100644 --- a/engine/launcher/engine_server_launcher/engine_server_launcher.go +++ b/engine/launcher/engine_server_launcher/engine_server_launcher.go @@ -19,7 +19,9 @@ import ( const ( // TODO This should come from the same logic that builds the server image!!!!! - containerImage = "kurtosistech/engine" + defaultImageAuthor = "kurtosistech" + authorImageNameSeparator = "/" + engineImageName = "engine" ) type EngineServerLauncher struct { @@ -98,6 +100,52 @@ func (launcher *EngineServerLauncher) LaunchWithCustomVersion( resultPublicIpAddr net.IP, resultPublicGrpcPortSpec *port_spec.PortSpec, resultErr error, +) { + return launcher.LaunchWithCustomImageRepository( + ctx, + imageVersionTag, + defaultImageAuthor, + logLevel, + grpcListenPortNum, + metricsUserID, + didUserAcceptSendingMetrics, + backendConfigSupplier, + onBastionHost, + poolSize, + enclaveEnvVars, + isCI, + cloudUserID, + cloudInstanceID, + allowedCORSOrigins, + shouldStartInDebugMode, + githubAuthToken, + restartAPIContainers, + ) +} + +func (launcher *EngineServerLauncher) LaunchWithCustomImageRepository( + ctx context.Context, + imageVersionTag string, + imageAuthor string, + logLevel logrus.Level, + grpcListenPortNum uint16, // The port that the engine server will listen on AND the port that it should be bound to on the host machine + metricsUserID string, + didUserAcceptSendingMetrics bool, + backendConfigSupplier KurtosisBackendConfigSupplier, + onBastionHost bool, + poolSize uint8, + enclaveEnvVars string, + isCI bool, + cloudUserID metrics_client.CloudUserID, + cloudInstanceID metrics_client.CloudInstanceID, + allowedCORSOrigins *[]string, + shouldStartInDebugMode bool, + githubAuthToken string, + restartAPIContainers bool, +) ( + resultPublicIpAddr net.IP, + resultPublicGrpcPortSpec *port_spec.PortSpec, + resultErr error, ) { kurtosisBackendType, kurtosisBackendConfig := backendConfigSupplier.getKurtosisBackendConfig() @@ -105,6 +153,7 @@ func (launcher *EngineServerLauncher) LaunchWithCustomVersion( grpcListenPortNum, logLevel.String(), imageVersionTag, + defaultImageAuthor, metricsUserID, didUserAcceptSendingMetrics, kurtosisBackendType, @@ -129,7 +178,7 @@ func (launcher *EngineServerLauncher) LaunchWithCustomVersion( engine, err := launcher.kurtosisBackend.CreateEngine( ctx, - containerImage, + imageAuthor+authorImageNameSeparator+engineImageName, imageVersionTag, grpcListenPortNum, envVars, From 2fa30d80480e7795a054f44fb54c5ea7f7d06498 Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Wed, 15 May 2024 16:57:24 +0100 Subject: [PATCH 02/10] added another arg --- .../api_container_service.pb.go | 6 +- .../api_container_service_grpc.pb.go | 2 +- .../engine_service.pb.go | 4 +- .../engine_service_grpc.pb.go | 2 +- api/rust/src/api_container_api.rs | 2 +- .../api_container_service_grpc_web_pb.d.ts | 4 +- .../api_container_service_grpc_web_pb.js | 2 +- .../api_container_service_pb.d.ts | 2 +- .../connect/api_container_service_pb.d.ts | 4 +- .../connect/api_container_service_pb.js | 106 +++++++++--------- .../connect/engine_service_pb.d.ts | 2 +- .../connect/engine_service_pb.js | 46 ++++---- .../engine_service_grpc_web_pb.d.ts | 4 +- .../engine_service_grpc_web_pb.js | 2 +- .../engine_service_pb.d.ts | 4 +- cli/cli/commands/engine/restart/restart.go | 16 ++- .../helpers/engine_manager/engine_manager.go | 2 + .../api_container_launcher.go | 46 +++++++- core/launcher/args/api_container_args.go | 6 + core/server/api_container/main.go | 1 + .../service_network/api_container_info.go | 8 ++ .../default_service_network_test.go | 1 + ...full_framework_backward_compatible_test.go | 2 +- .../service_config_full_framework_test.go | 2 +- ...nfig_multiple_files_in_same_folder_test.go | 2 +- .../service_config/service_config.go | 5 +- .../startosis_interpreter_idempotent_test.go | 2 +- .../startosis_interpreter_plan_yaml_test.go | 3 +- engine/launcher/args/args.go | 4 +- .../engine_server_launcher.go | 4 +- .../engine/enclave_manager/enclave_creator.go | 3 + .../engine/enclave_manager/enclave_manager.go | 4 + .../engine/enclave_manager/enclave_pool.go | 1 + engine/server/engine/main.go | 2 + .../server/engine_connect_server_service.go | 6 + .../engine/server/engine_rest_api_handler.go | 4 + 36 files changed, 206 insertions(+), 110 deletions(-) diff --git a/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service.pb.go b/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service.pb.go index a0a48cd649..43b2e8edf5 100644 --- a/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service.pb.go +++ b/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.31.0 +// protoc v4.24.4 // source: api_container_service.proto package kurtosis_core_rpc_api_bindings @@ -3226,7 +3226,7 @@ type GetStarlarkRunResponse struct { MainFunctionName string `protobuf:"bytes,6,opt,name=main_function_name,json=mainFunctionName,proto3" json:"main_function_name,omitempty"` ExperimentalFeatures []KurtosisFeatureFlag `protobuf:"varint,7,rep,packed,name=experimental_features,json=experimentalFeatures,proto3,enum=api_container_api.KurtosisFeatureFlag" json:"experimental_features,omitempty"` RestartPolicy RestartPolicy `protobuf:"varint,8,opt,name=restart_policy,json=restartPolicy,proto3,enum=api_container_api.RestartPolicy" json:"restart_policy,omitempty"` - // The params that were used for the very first run of the script + // The params that were used on for the very first Starlark run in an APIC InitialSerializedParams *string `protobuf:"bytes,9,opt,name=initial_serialized_params,json=initialSerializedParams,proto3,oneof" json:"initial_serialized_params,omitempty"` } diff --git a/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc.pb.go b/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc.pb.go index b0740c5e5f..b86b3ee8cc 100644 --- a/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc.pb.go +++ b/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.2 +// - protoc v4.24.4 // source: api_container_service.proto package kurtosis_core_rpc_api_bindings diff --git a/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service.pb.go b/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service.pb.go index 7420f88c38..e15990f41e 100644 --- a/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service.pb.go +++ b/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.31.0 +// protoc v4.24.4 // source: engine_service.proto package kurtosis_engine_rpc_api_bindings diff --git a/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc.pb.go b/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc.pb.go index d3a95bd5b6..030fc811cf 100644 --- a/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc.pb.go +++ b/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.2 +// - protoc v4.24.4 // source: engine_service.proto package kurtosis_engine_rpc_api_bindings diff --git a/api/rust/src/api_container_api.rs b/api/rust/src/api_container_api.rs index 07d5f0791e..a3de2c65bc 100644 --- a/api/rust/src/api_container_api.rs +++ b/api/rust/src/api_container_api.rs @@ -687,7 +687,7 @@ pub struct GetStarlarkRunResponse { pub experimental_features: ::prost::alloc::vec::Vec, #[prost(enumeration = "RestartPolicy", tag = "8")] pub restart_policy: i32, - /// The params that were used for the very first run of the script + /// The params that were used on for the very first Starlark run in an APIC #[prost(string, optional, tag = "9")] pub initial_serialized_params: ::core::option::Option< ::prost::alloc::string::String, diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts index 4b1d68af33..c132a1b3d4 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts @@ -1,7 +1,7 @@ import * as grpcWeb from 'grpc-web'; -import * as api_container_service_pb from './api_container_service_pb'; -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; +import * as api_container_service_pb from './api_container_service_pb'; // proto import: "api_container_service.proto" +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" export class ApiContainerServiceClient { diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js index d21fe965e4..f0f15dd62f 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js @@ -6,7 +6,7 @@ // Code generated by protoc-gen-grpc-web. DO NOT EDIT. // versions: -// protoc-gen-grpc-web v1.4.2 +// protoc-gen-grpc-web v1.5.0 // protoc v3.19.1 // source: api_container_service.proto diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts index 1d23b22991..52fcb3fe06 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts @@ -1,6 +1,6 @@ import * as jspb from 'google-protobuf' -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" export class Port extends jspb.Message { diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.d.ts b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.d.ts index a441b46ae0..a81d361576 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.d.ts +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.d.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v1.3.1 with parameter "target=js+dts" +// @generated by protoc-gen-es v1.8.0 with parameter "target=js+dts" // @generated from file api_container_service.proto (package api_container_api, syntax proto3) /* eslint-disable */ // @ts-nocheck @@ -1816,7 +1816,7 @@ export declare class GetStarlarkRunResponse extends Message [ { no: 1, name: "number", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, @@ -84,7 +84,7 @@ export const Port = proto3.makeMessageType( /** * @generated from enum api_container_api.Port.TransportProtocol */ -export const Port_TransportProtocol = proto3.makeEnum( +export const Port_TransportProtocol = /*@__PURE__*/ proto3.makeEnum( "api_container_api.Port.TransportProtocol", [ {no: 0, name: "TCP"}, @@ -96,7 +96,7 @@ export const Port_TransportProtocol = proto3.makeEnum( /** * @generated from message api_container_api.Container */ -export const Container = proto3.makeMessageType( +export const Container = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.Container", () => [ { no: 1, name: "status", kind: "enum", T: proto3.getEnumType(Container_Status) }, @@ -110,7 +110,7 @@ export const Container = proto3.makeMessageType( /** * @generated from enum api_container_api.Container.Status */ -export const Container_Status = proto3.makeEnum( +export const Container_Status = /*@__PURE__*/ proto3.makeEnum( "api_container_api.Container.Status", [ {no: 0, name: "STOPPED"}, @@ -122,7 +122,7 @@ export const Container_Status = proto3.makeEnum( /** * @generated from message api_container_api.ServiceInfo */ -export const ServiceInfo = proto3.makeMessageType( +export const ServiceInfo = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.ServiceInfo", () => [ { no: 1, name: "service_uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -140,7 +140,7 @@ export const ServiceInfo = proto3.makeMessageType( /** * @generated from message api_container_api.RunStarlarkScriptArgs */ -export const RunStarlarkScriptArgs = proto3.makeMessageType( +export const RunStarlarkScriptArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.RunStarlarkScriptArgs", () => [ { no: 1, name: "serialized_script", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -159,7 +159,7 @@ export const RunStarlarkScriptArgs = proto3.makeMessageType( /** * @generated from message api_container_api.RunStarlarkPackageArgs */ -export const RunStarlarkPackageArgs = proto3.makeMessageType( +export const RunStarlarkPackageArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.RunStarlarkPackageArgs", () => [ { no: 1, name: "package_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -187,7 +187,7 @@ export const RunStarlarkPackageArgs = proto3.makeMessageType( * * @generated from message api_container_api.StarlarkRunResponseLine */ -export const StarlarkRunResponseLine = proto3.makeMessageType( +export const StarlarkRunResponseLine = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkRunResponseLine", () => [ { no: 1, name: "instruction", kind: "message", T: StarlarkInstruction, oneof: "run_response_line" }, @@ -203,7 +203,7 @@ export const StarlarkRunResponseLine = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInfo */ -export const StarlarkInfo = proto3.makeMessageType( +export const StarlarkInfo = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkInfo", () => [ { no: 1, name: "info_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -213,7 +213,7 @@ export const StarlarkInfo = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkWarning */ -export const StarlarkWarning = proto3.makeMessageType( +export const StarlarkWarning = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkWarning", () => [ { no: 1, name: "warning_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -223,7 +223,7 @@ export const StarlarkWarning = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInstruction */ -export const StarlarkInstruction = proto3.makeMessageType( +export const StarlarkInstruction = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkInstruction", () => [ { no: 1, name: "position", kind: "message", T: StarlarkInstructionPosition }, @@ -238,7 +238,7 @@ export const StarlarkInstruction = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInstructionResult */ -export const StarlarkInstructionResult = proto3.makeMessageType( +export const StarlarkInstructionResult = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkInstructionResult", () => [ { no: 1, name: "serialized_instruction_result", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -248,7 +248,7 @@ export const StarlarkInstructionResult = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInstructionArg */ -export const StarlarkInstructionArg = proto3.makeMessageType( +export const StarlarkInstructionArg = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkInstructionArg", () => [ { no: 1, name: "serialized_arg_value", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -260,7 +260,7 @@ export const StarlarkInstructionArg = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInstructionPosition */ -export const StarlarkInstructionPosition = proto3.makeMessageType( +export const StarlarkInstructionPosition = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkInstructionPosition", () => [ { no: 1, name: "filename", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -272,7 +272,7 @@ export const StarlarkInstructionPosition = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkError */ -export const StarlarkError = proto3.makeMessageType( +export const StarlarkError = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkError", () => [ { no: 1, name: "interpretation_error", kind: "message", T: StarlarkInterpretationError, oneof: "error" }, @@ -284,7 +284,7 @@ export const StarlarkError = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInterpretationError */ -export const StarlarkInterpretationError = proto3.makeMessageType( +export const StarlarkInterpretationError = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkInterpretationError", () => [ { no: 1, name: "error_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -294,7 +294,7 @@ export const StarlarkInterpretationError = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkValidationError */ -export const StarlarkValidationError = proto3.makeMessageType( +export const StarlarkValidationError = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkValidationError", () => [ { no: 1, name: "error_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -304,7 +304,7 @@ export const StarlarkValidationError = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkExecutionError */ -export const StarlarkExecutionError = proto3.makeMessageType( +export const StarlarkExecutionError = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkExecutionError", () => [ { no: 1, name: "error_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -314,7 +314,7 @@ export const StarlarkExecutionError = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkRunProgress */ -export const StarlarkRunProgress = proto3.makeMessageType( +export const StarlarkRunProgress = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkRunProgress", () => [ { no: 1, name: "current_step_info", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, @@ -326,7 +326,7 @@ export const StarlarkRunProgress = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkRunFinishedEvent */ -export const StarlarkRunFinishedEvent = proto3.makeMessageType( +export const StarlarkRunFinishedEvent = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkRunFinishedEvent", () => [ { no: 1, name: "is_run_successful", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, @@ -341,7 +341,7 @@ export const StarlarkRunFinishedEvent = proto3.makeMessageType( * * @generated from message api_container_api.GetServicesArgs */ -export const GetServicesArgs = proto3.makeMessageType( +export const GetServicesArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.GetServicesArgs", () => [ { no: 1, name: "service_identifiers", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 8 /* ScalarType.BOOL */} }, @@ -351,7 +351,7 @@ export const GetServicesArgs = proto3.makeMessageType( /** * @generated from message api_container_api.GetServicesResponse */ -export const GetServicesResponse = proto3.makeMessageType( +export const GetServicesResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.GetServicesResponse", () => [ { no: 1, name: "service_info", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: ServiceInfo} }, @@ -363,7 +363,7 @@ export const GetServicesResponse = proto3.makeMessageType( * * @generated from message api_container_api.ServiceIdentifiers */ -export const ServiceIdentifiers = proto3.makeMessageType( +export const ServiceIdentifiers = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.ServiceIdentifiers", () => [ { no: 1, name: "service_uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -375,7 +375,7 @@ export const ServiceIdentifiers = proto3.makeMessageType( /** * @generated from message api_container_api.GetExistingAndHistoricalServiceIdentifiersResponse */ -export const GetExistingAndHistoricalServiceIdentifiersResponse = proto3.makeMessageType( +export const GetExistingAndHistoricalServiceIdentifiersResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.GetExistingAndHistoricalServiceIdentifiersResponse", () => [ { no: 1, name: "allIdentifiers", kind: "message", T: ServiceIdentifiers, repeated: true }, @@ -389,7 +389,7 @@ export const GetExistingAndHistoricalServiceIdentifiersResponse = proto3.makeMes * * @generated from message api_container_api.ExecCommandArgs */ -export const ExecCommandArgs = proto3.makeMessageType( +export const ExecCommandArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.ExecCommandArgs", () => [ { no: 1, name: "service_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -400,7 +400,7 @@ export const ExecCommandArgs = proto3.makeMessageType( /** * @generated from message api_container_api.ExecCommandResponse */ -export const ExecCommandResponse = proto3.makeMessageType( +export const ExecCommandResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.ExecCommandResponse", () => [ { no: 1, name: "exit_code", kind: "scalar", T: 5 /* ScalarType.INT32 */ }, @@ -415,7 +415,7 @@ export const ExecCommandResponse = proto3.makeMessageType( * * @generated from message api_container_api.WaitForHttpGetEndpointAvailabilityArgs */ -export const WaitForHttpGetEndpointAvailabilityArgs = proto3.makeMessageType( +export const WaitForHttpGetEndpointAvailabilityArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.WaitForHttpGetEndpointAvailabilityArgs", () => [ { no: 1, name: "service_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -435,7 +435,7 @@ export const WaitForHttpGetEndpointAvailabilityArgs = proto3.makeMessageType( * * @generated from message api_container_api.WaitForHttpPostEndpointAvailabilityArgs */ -export const WaitForHttpPostEndpointAvailabilityArgs = proto3.makeMessageType( +export const WaitForHttpPostEndpointAvailabilityArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.WaitForHttpPostEndpointAvailabilityArgs", () => [ { no: 1, name: "service_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -456,7 +456,7 @@ export const WaitForHttpPostEndpointAvailabilityArgs = proto3.makeMessageType( * * @generated from message api_container_api.StreamedDataChunk */ -export const StreamedDataChunk = proto3.makeMessageType( +export const StreamedDataChunk = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StreamedDataChunk", () => [ { no: 1, name: "data", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, @@ -468,7 +468,7 @@ export const StreamedDataChunk = proto3.makeMessageType( /** * @generated from message api_container_api.DataChunkMetadata */ -export const DataChunkMetadata = proto3.makeMessageType( +export const DataChunkMetadata = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.DataChunkMetadata", () => [ { no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -482,7 +482,7 @@ export const DataChunkMetadata = proto3.makeMessageType( * * @generated from message api_container_api.UploadFilesArtifactResponse */ -export const UploadFilesArtifactResponse = proto3.makeMessageType( +export const UploadFilesArtifactResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.UploadFilesArtifactResponse", () => [ { no: 1, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -497,7 +497,7 @@ export const UploadFilesArtifactResponse = proto3.makeMessageType( * * @generated from message api_container_api.DownloadFilesArtifactArgs */ -export const DownloadFilesArtifactArgs = proto3.makeMessageType( +export const DownloadFilesArtifactArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.DownloadFilesArtifactArgs", () => [ { no: 1, name: "identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -511,7 +511,7 @@ export const DownloadFilesArtifactArgs = proto3.makeMessageType( * * @generated from message api_container_api.StoreWebFilesArtifactArgs */ -export const StoreWebFilesArtifactArgs = proto3.makeMessageType( +export const StoreWebFilesArtifactArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StoreWebFilesArtifactArgs", () => [ { no: 1, name: "url", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -522,7 +522,7 @@ export const StoreWebFilesArtifactArgs = proto3.makeMessageType( /** * @generated from message api_container_api.StoreWebFilesArtifactResponse */ -export const StoreWebFilesArtifactResponse = proto3.makeMessageType( +export const StoreWebFilesArtifactResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StoreWebFilesArtifactResponse", () => [ { no: 1, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -532,7 +532,7 @@ export const StoreWebFilesArtifactResponse = proto3.makeMessageType( /** * @generated from message api_container_api.StoreFilesArtifactFromServiceArgs */ -export const StoreFilesArtifactFromServiceArgs = proto3.makeMessageType( +export const StoreFilesArtifactFromServiceArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StoreFilesArtifactFromServiceArgs", () => [ { no: 1, name: "service_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -544,7 +544,7 @@ export const StoreFilesArtifactFromServiceArgs = proto3.makeMessageType( /** * @generated from message api_container_api.StoreFilesArtifactFromServiceResponse */ -export const StoreFilesArtifactFromServiceResponse = proto3.makeMessageType( +export const StoreFilesArtifactFromServiceResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StoreFilesArtifactFromServiceResponse", () => [ { no: 1, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -554,7 +554,7 @@ export const StoreFilesArtifactFromServiceResponse = proto3.makeMessageType( /** * @generated from message api_container_api.FilesArtifactNameAndUuid */ -export const FilesArtifactNameAndUuid = proto3.makeMessageType( +export const FilesArtifactNameAndUuid = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.FilesArtifactNameAndUuid", () => [ { no: 1, name: "fileName", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -565,7 +565,7 @@ export const FilesArtifactNameAndUuid = proto3.makeMessageType( /** * @generated from message api_container_api.ListFilesArtifactNamesAndUuidsResponse */ -export const ListFilesArtifactNamesAndUuidsResponse = proto3.makeMessageType( +export const ListFilesArtifactNamesAndUuidsResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.ListFilesArtifactNamesAndUuidsResponse", () => [ { no: 1, name: "file_names_and_uuids", kind: "message", T: FilesArtifactNameAndUuid, repeated: true }, @@ -575,7 +575,7 @@ export const ListFilesArtifactNamesAndUuidsResponse = proto3.makeMessageType( /** * @generated from message api_container_api.InspectFilesArtifactContentsRequest */ -export const InspectFilesArtifactContentsRequest = proto3.makeMessageType( +export const InspectFilesArtifactContentsRequest = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.InspectFilesArtifactContentsRequest", () => [ { no: 1, name: "file_names_and_uuid", kind: "message", T: FilesArtifactNameAndUuid }, @@ -585,7 +585,7 @@ export const InspectFilesArtifactContentsRequest = proto3.makeMessageType( /** * @generated from message api_container_api.InspectFilesArtifactContentsResponse */ -export const InspectFilesArtifactContentsResponse = proto3.makeMessageType( +export const InspectFilesArtifactContentsResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.InspectFilesArtifactContentsResponse", () => [ { no: 1, name: "file_descriptions", kind: "message", T: FileArtifactContentsFileDescription, repeated: true }, @@ -595,7 +595,7 @@ export const InspectFilesArtifactContentsResponse = proto3.makeMessageType( /** * @generated from message api_container_api.FileArtifactContentsFileDescription */ -export const FileArtifactContentsFileDescription = proto3.makeMessageType( +export const FileArtifactContentsFileDescription = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.FileArtifactContentsFileDescription", () => [ { no: 1, name: "path", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -607,7 +607,7 @@ export const FileArtifactContentsFileDescription = proto3.makeMessageType( /** * @generated from message api_container_api.ConnectServicesArgs */ -export const ConnectServicesArgs = proto3.makeMessageType( +export const ConnectServicesArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.ConnectServicesArgs", () => [ { no: 1, name: "connect", kind: "enum", T: proto3.getEnumType(Connect) }, @@ -617,7 +617,7 @@ export const ConnectServicesArgs = proto3.makeMessageType( /** * @generated from message api_container_api.ConnectServicesResponse */ -export const ConnectServicesResponse = proto3.makeMessageType( +export const ConnectServicesResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.ConnectServicesResponse", [], ); @@ -625,7 +625,7 @@ export const ConnectServicesResponse = proto3.makeMessageType( /** * @generated from message api_container_api.GetStarlarkRunResponse */ -export const GetStarlarkRunResponse = proto3.makeMessageType( +export const GetStarlarkRunResponse = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.GetStarlarkRunResponse", () => [ { no: 1, name: "package_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -643,7 +643,7 @@ export const GetStarlarkRunResponse = proto3.makeMessageType( /** * @generated from message api_container_api.PlanYaml */ -export const PlanYaml = proto3.makeMessageType( +export const PlanYaml = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.PlanYaml", () => [ { no: 1, name: "plan_yaml", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -653,7 +653,7 @@ export const PlanYaml = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkScriptPlanYamlArgs */ -export const StarlarkScriptPlanYamlArgs = proto3.makeMessageType( +export const StarlarkScriptPlanYamlArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkScriptPlanYamlArgs", () => [ { no: 1, name: "serialized_script", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -665,7 +665,7 @@ export const StarlarkScriptPlanYamlArgs = proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkPackagePlanYamlArgs */ -export const StarlarkPackagePlanYamlArgs = proto3.makeMessageType( +export const StarlarkPackagePlanYamlArgs = /*@__PURE__*/ proto3.makeMessageType( "api_container_api.StarlarkPackagePlanYamlArgs", () => [ { no: 1, name: "package_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.d.ts b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.d.ts index 7eb383b09a..0a4b3c2829 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.d.ts +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.d.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v1.3.1 with parameter "target=js+dts" +// @generated by protoc-gen-es v1.8.0 with parameter "target=js+dts" // @generated from file engine_service.proto (package engine_api, syntax proto3) /* eslint-disable */ // @ts-nocheck diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.js b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.js index c245f62078..24cd0f6600 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.js +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v1.3.1 with parameter "target=js+dts" +// @generated by protoc-gen-es v1.8.0 with parameter "target=js+dts" // @generated from file engine_service.proto (package engine_api, syntax proto3) /* eslint-disable */ // @ts-nocheck @@ -8,7 +8,7 @@ import { proto3, Timestamp } from "@bufbuild/protobuf"; /** * @generated from enum engine_api.EnclaveMode */ -export const EnclaveMode = proto3.makeEnum( +export const EnclaveMode = /*@__PURE__*/ proto3.makeEnum( "engine_api.EnclaveMode", [ {no: 0, name: "TEST"}, @@ -25,7 +25,7 @@ export const EnclaveMode = proto3.makeEnum( * * @generated from enum engine_api.EnclaveContainersStatus */ -export const EnclaveContainersStatus = proto3.makeEnum( +export const EnclaveContainersStatus = /*@__PURE__*/ proto3.makeEnum( "engine_api.EnclaveContainersStatus", [ {no: 0, name: "EnclaveContainersStatus_EMPTY"}, @@ -39,7 +39,7 @@ export const EnclaveContainersStatus = proto3.makeEnum( * * @generated from enum engine_api.EnclaveAPIContainerStatus */ -export const EnclaveAPIContainerStatus = proto3.makeEnum( +export const EnclaveAPIContainerStatus = /*@__PURE__*/ proto3.makeEnum( "engine_api.EnclaveAPIContainerStatus", [ {no: 0, name: "EnclaveAPIContainerStatus_NONEXISTENT"}, @@ -54,7 +54,7 @@ export const EnclaveAPIContainerStatus = proto3.makeEnum( * * @generated from enum engine_api.LogLineOperator */ -export const LogLineOperator = proto3.makeEnum( +export const LogLineOperator = /*@__PURE__*/ proto3.makeEnum( "engine_api.LogLineOperator", [ {no: 0, name: "LogLineOperator_DOES_CONTAIN_TEXT"}, @@ -71,7 +71,7 @@ export const LogLineOperator = proto3.makeEnum( * * @generated from message engine_api.GetEngineInfoResponse */ -export const GetEngineInfoResponse = proto3.makeMessageType( +export const GetEngineInfoResponse = /*@__PURE__*/ proto3.makeMessageType( "engine_api.GetEngineInfoResponse", () => [ { no: 1, name: "engine_version", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -85,7 +85,7 @@ export const GetEngineInfoResponse = proto3.makeMessageType( * * @generated from message engine_api.CreateEnclaveArgs */ -export const CreateEnclaveArgs = proto3.makeMessageType( +export const CreateEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( "engine_api.CreateEnclaveArgs", () => [ { no: 1, name: "enclave_name", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, @@ -99,7 +99,7 @@ export const CreateEnclaveArgs = proto3.makeMessageType( /** * @generated from message engine_api.CreateEnclaveResponse */ -export const CreateEnclaveResponse = proto3.makeMessageType( +export const CreateEnclaveResponse = /*@__PURE__*/ proto3.makeMessageType( "engine_api.CreateEnclaveResponse", () => [ { no: 1, name: "enclave_info", kind: "message", T: EnclaveInfo }, @@ -109,7 +109,7 @@ export const CreateEnclaveResponse = proto3.makeMessageType( /** * @generated from message engine_api.EnclaveAPIContainerInfo */ -export const EnclaveAPIContainerInfo = proto3.makeMessageType( +export const EnclaveAPIContainerInfo = /*@__PURE__*/ proto3.makeMessageType( "engine_api.EnclaveAPIContainerInfo", () => [ { no: 1, name: "container_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -124,7 +124,7 @@ export const EnclaveAPIContainerInfo = proto3.makeMessageType( * * @generated from message engine_api.EnclaveAPIContainerHostMachineInfo */ -export const EnclaveAPIContainerHostMachineInfo = proto3.makeMessageType( +export const EnclaveAPIContainerHostMachineInfo = /*@__PURE__*/ proto3.makeMessageType( "engine_api.EnclaveAPIContainerHostMachineInfo", () => [ { no: 4, name: "ip_on_host_machine", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -137,7 +137,7 @@ export const EnclaveAPIContainerHostMachineInfo = proto3.makeMessageType( * * @generated from message engine_api.EnclaveInfo */ -export const EnclaveInfo = proto3.makeMessageType( +export const EnclaveInfo = /*@__PURE__*/ proto3.makeMessageType( "engine_api.EnclaveInfo", () => [ { no: 1, name: "enclave_uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -155,7 +155,7 @@ export const EnclaveInfo = proto3.makeMessageType( /** * @generated from message engine_api.GetEnclavesResponse */ -export const GetEnclavesResponse = proto3.makeMessageType( +export const GetEnclavesResponse = /*@__PURE__*/ proto3.makeMessageType( "engine_api.GetEnclavesResponse", () => [ { no: 1, name: "enclave_info", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: EnclaveInfo} }, @@ -167,7 +167,7 @@ export const GetEnclavesResponse = proto3.makeMessageType( * * @generated from message engine_api.EnclaveIdentifiers */ -export const EnclaveIdentifiers = proto3.makeMessageType( +export const EnclaveIdentifiers = /*@__PURE__*/ proto3.makeMessageType( "engine_api.EnclaveIdentifiers", () => [ { no: 1, name: "enclave_uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -179,7 +179,7 @@ export const EnclaveIdentifiers = proto3.makeMessageType( /** * @generated from message engine_api.GetExistingAndHistoricalEnclaveIdentifiersResponse */ -export const GetExistingAndHistoricalEnclaveIdentifiersResponse = proto3.makeMessageType( +export const GetExistingAndHistoricalEnclaveIdentifiersResponse = /*@__PURE__*/ proto3.makeMessageType( "engine_api.GetExistingAndHistoricalEnclaveIdentifiersResponse", () => [ { no: 1, name: "allIdentifiers", kind: "message", T: EnclaveIdentifiers, repeated: true }, @@ -193,7 +193,7 @@ export const GetExistingAndHistoricalEnclaveIdentifiersResponse = proto3.makeMes * * @generated from message engine_api.StopEnclaveArgs */ -export const StopEnclaveArgs = proto3.makeMessageType( +export const StopEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( "engine_api.StopEnclaveArgs", () => [ { no: 1, name: "enclave_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -207,7 +207,7 @@ export const StopEnclaveArgs = proto3.makeMessageType( * * @generated from message engine_api.DestroyEnclaveArgs */ -export const DestroyEnclaveArgs = proto3.makeMessageType( +export const DestroyEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( "engine_api.DestroyEnclaveArgs", () => [ { no: 1, name: "enclave_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -221,7 +221,7 @@ export const DestroyEnclaveArgs = proto3.makeMessageType( * * @generated from message engine_api.CleanArgs */ -export const CleanArgs = proto3.makeMessageType( +export const CleanArgs = /*@__PURE__*/ proto3.makeMessageType( "engine_api.CleanArgs", () => [ { no: 1, name: "should_clean_all", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, @@ -231,7 +231,7 @@ export const CleanArgs = proto3.makeMessageType( /** * @generated from message engine_api.EnclaveNameAndUuid */ -export const EnclaveNameAndUuid = proto3.makeMessageType( +export const EnclaveNameAndUuid = /*@__PURE__*/ proto3.makeMessageType( "engine_api.EnclaveNameAndUuid", () => [ { no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -242,7 +242,7 @@ export const EnclaveNameAndUuid = proto3.makeMessageType( /** * @generated from message engine_api.CleanResponse */ -export const CleanResponse = proto3.makeMessageType( +export const CleanResponse = /*@__PURE__*/ proto3.makeMessageType( "engine_api.CleanResponse", () => [ { no: 1, name: "removed_enclave_name_and_uuids", kind: "message", T: EnclaveNameAndUuid, repeated: true }, @@ -256,7 +256,7 @@ export const CleanResponse = proto3.makeMessageType( * * @generated from message engine_api.GetServiceLogsArgs */ -export const GetServiceLogsArgs = proto3.makeMessageType( +export const GetServiceLogsArgs = /*@__PURE__*/ proto3.makeMessageType( "engine_api.GetServiceLogsArgs", () => [ { no: 1, name: "enclave_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -271,7 +271,7 @@ export const GetServiceLogsArgs = proto3.makeMessageType( /** * @generated from message engine_api.GetServiceLogsResponse */ -export const GetServiceLogsResponse = proto3.makeMessageType( +export const GetServiceLogsResponse = /*@__PURE__*/ proto3.makeMessageType( "engine_api.GetServiceLogsResponse", () => [ { no: 1, name: "service_logs_by_service_uuid", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: LogLine} }, @@ -282,7 +282,7 @@ export const GetServiceLogsResponse = proto3.makeMessageType( /** * @generated from message engine_api.LogLine */ -export const LogLine = proto3.makeMessageType( +export const LogLine = /*@__PURE__*/ proto3.makeMessageType( "engine_api.LogLine", () => [ { no: 1, name: "line", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, @@ -293,7 +293,7 @@ export const LogLine = proto3.makeMessageType( /** * @generated from message engine_api.LogLineFilter */ -export const LogLineFilter = proto3.makeMessageType( +export const LogLineFilter = /*@__PURE__*/ proto3.makeMessageType( "engine_api.LogLineFilter", () => [ { no: 1, name: "operator", kind: "enum", T: proto3.getEnumType(LogLineOperator) }, diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts index 523a2a2d20..4a41f55da9 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts @@ -1,7 +1,7 @@ import * as grpcWeb from 'grpc-web'; -import * as engine_service_pb from './engine_service_pb'; -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; +import * as engine_service_pb from './engine_service_pb'; // proto import: "engine_service.proto" +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" export class EngineServiceClient { diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js index 6a18e31707..6a8a4bad27 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js @@ -6,7 +6,7 @@ // Code generated by protoc-gen-grpc-web. DO NOT EDIT. // versions: -// protoc-gen-grpc-web v1.4.2 +// protoc-gen-grpc-web v1.5.0 // protoc v3.19.1 // source: engine_service.proto diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts index 29cffdefcd..06fc96768c 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts @@ -1,7 +1,7 @@ import * as jspb from 'google-protobuf' -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; -import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb'; +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" +import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb'; // proto import: "google/protobuf/timestamp.proto" export class GetEngineInfoResponse extends jspb.Message { diff --git a/cli/cli/commands/engine/restart/restart.go b/cli/cli/commands/engine/restart/restart.go index 0dceb666d8..664f636867 100644 --- a/cli/cli/commands/engine/restart/restart.go +++ b/cli/cli/commands/engine/restart/restart.go @@ -20,11 +20,13 @@ import ( const ( engineVersionFlagKey = "version" + engineAuthorFlagKey = "author" logLevelFlagKey = "log-level" enclavePoolSizeFlagKey = "enclave-pool-size" githubAuthTokenOverrideFlagKey = "github-auth-token" defaultEngineVersion = "" + defaultEngineAuthor = "kurtosistech" restartEngineOnSameVersionIfAnyRunning = false defaultShouldRestartAPIContainers = "false" @@ -44,6 +46,13 @@ var RestartCmd = &lowlevel.LowlevelKurtosisCommand{ Type: flags.FlagType_String, Default: defaultEngineVersion, }, + { + Key: engineAuthorFlagKey, + Usage: "The author (Docker username) of the Kurtosis engine that should be started (blank will start the kurtosistech version)", + Shorthand: "", + Type: flags.FlagType_String, + Default: defaultEngineAuthor, + }, { Key: logLevelFlagKey, Usage: fmt.Sprintf( @@ -142,9 +151,14 @@ func run(_ context.Context, flags *flags.ParsedFlags, _ *args.ParsedArgs) error return stacktrace.Propagate(err, "Expected a value for the '%v' flag but failed to get it", restartAPIContainersFlagKey) } + engineAuthorFlag, err := flags.GetString(engineAuthorFlagKey) + if err != nil { + return stacktrace.Propagate(err, "Expected a value for the '%v' flag but failed to get it", engineAuthorFlagKey) + } + var engineClientCloseFunc func() error var restartEngineErr error - _, engineClientCloseFunc, restartEngineErr = engineManager.RestartEngineIdempotently(ctx, logLevel, engineVersion, restartEngineOnSameVersionIfAnyRunning, enclavePoolSize, shouldStartInDebugMode, githubAuthTokenOverride, shouldRestartAPIContainers) + _, engineClientCloseFunc, restartEngineErr = engineManager.RestartEngineIdempotently(ctx, logLevel, engineVersion, engineAuthor, restartEngineOnSameVersionIfAnyRunning, enclavePoolSize, shouldStartInDebugMode, githubAuthTokenOverride, shouldRestartAPIContainers) if restartEngineErr != nil { return stacktrace.Propagate(restartEngineErr, "An error occurred restarting the Kurtosis engine") } diff --git a/cli/cli/helpers/engine_manager/engine_manager.go b/cli/cli/helpers/engine_manager/engine_manager.go index 68cfcc8281..5a28737b53 100644 --- a/cli/cli/helpers/engine_manager/engine_manager.go +++ b/cli/cli/helpers/engine_manager/engine_manager.go @@ -219,6 +219,7 @@ func (manager *EngineManager) StartEngineIdempotentlyWithDefaultVersion( func (manager *EngineManager) StartEngineIdempotentlyWithCustomVersion( ctx context.Context, engineImageVersionTag string, + engineAuthorFlagKey string, logLevel logrus.Level, poolSize uint8, shouldStartInDebugMode bool, @@ -343,6 +344,7 @@ func (manager *EngineManager) RestartEngineIdempotently( ctx context.Context, logLevel logrus.Level, optionalVersionToUse string, + engineAuthorFlagKey string, restartEngineOnSameVersionIfAnyRunning bool, poolSize uint8, shouldStartInDebugMode bool, diff --git a/core/launcher/api_container_launcher/api_container_launcher.go b/core/launcher/api_container_launcher/api_container_launcher.go index 9f49cd3943..c30e491bad 100644 --- a/core/launcher/api_container_launcher/api_container_launcher.go +++ b/core/launcher/api_container_launcher/api_container_launcher.go @@ -21,7 +21,9 @@ const ( enclaveDataVolumeDirpath = "/kurtosis-data" // TODO This should come from the same logic that builds the server image!!!!! - containerImage = "kurtosistech/core" + defaultImageAuthor = "kurtosistech" + authorImageNameSeparator = "/" + containerImage = "core" ) type ApiContainerLauncher struct { @@ -90,6 +92,45 @@ func (launcher ApiContainerLauncher) LaunchWithCustomVersion( ) ( resultApiContainer *api_container.APIContainer, resultErr error, +) { + return launcher.LaunchWithCustomImageAuthor( + ctx, + imageVersionTag, + defaultImageAuthor, + logLevel, + enclaveUuid, + grpcPortNum, + backendConfigSupplier, + enclaveEnvVars, + isProductionEnclave, + metricsUserID, + didUserAcceptSendingMetrics, + isCI, + cloudUserID, + cloudInstanceID, + shouldStartInDebugMode, + ) +} + +func (launcher ApiContainerLauncher) LaunchWithCustomImageAuthor( + ctx context.Context, + imageVersionTag string, + imageAuthor string, + logLevel logrus.Level, + enclaveUuid enclave.EnclaveUUID, + grpcPortNum uint16, + backendConfigSupplier KurtosisBackendConfigSupplier, + enclaveEnvVars string, + isProductionEnclave bool, + metricsUserID string, + didUserAcceptSendingMetrics bool, + isCI bool, + cloudUserID metrics_client.CloudUserID, + cloudInstanceID metrics_client.CloudInstanceID, + shouldStartInDebugMode bool, +) ( + resultApiContainer *api_container.APIContainer, + resultErr error, ) { kurtosisBackendType, kurtosisBackendConfig := backendConfigSupplier.getKurtosisBackendConfig() argsObj, err := args.NewAPIContainerArgs( @@ -107,6 +148,7 @@ func (launcher ApiContainerLauncher) LaunchWithCustomVersion( isCI, cloudUserID, cloudInstanceID, + imageAuthor, ) if err != nil { return nil, stacktrace.Propagate(err, "An error occurred creating the API container args") @@ -119,7 +161,7 @@ func (launcher ApiContainerLauncher) LaunchWithCustomVersion( containerImageAndTag := fmt.Sprintf( "%v:%v", - containerImage, + imageAuthor+authorImageNameSeparator+containerImage, imageVersionTag, ) diff --git a/core/launcher/args/api_container_args.go b/core/launcher/args/api_container_args.go index 37d770642a..db95a7cf0d 100644 --- a/core/launcher/args/api_container_args.go +++ b/core/launcher/args/api_container_args.go @@ -54,6 +54,10 @@ type APIContainerArgs struct { // The Cloud Instance ID of the current user if available CloudInstanceID metrics_client.CloudInstanceID `json:"cloud_instance_id"` + + // The author of the image for the APIC, Engine and Files Artifact Expander + // In case someone is using a non Kurtosis published image + ImageAuthor string `json:"image_author"` } var skipValidation = map[string]bool{ @@ -110,6 +114,7 @@ func NewAPIContainerArgs( isCI bool, cloudUserID metrics_client.CloudUserID, cloudInstanceID metrics_client.CloudInstanceID, + imageAuthor string, ) (*APIContainerArgs, error) { result := &APIContainerArgs{ Version: version, @@ -126,6 +131,7 @@ func NewAPIContainerArgs( IsCI: isCI, CloudUserID: cloudUserID, CloudInstanceID: cloudInstanceID, + ImageAuthor: imageAuthor, } if err := result.validate(); err != nil { diff --git a/core/server/api_container/main.go b/core/server/api_container/main.go index 2d22cd0624..66d10ae6b3 100644 --- a/core/server/api_container/main.go +++ b/core/server/api_container/main.go @@ -278,6 +278,7 @@ func createServiceNetwork( ownIpAddress, args.GrpcListenPortNum, args.Version, + args.ImageAuthor, ) serviceNetwork, err := service_network.NewDefaultServiceNetwork( diff --git a/core/server/api_container/server/service_network/api_container_info.go b/core/server/api_container/server/service_network/api_container_info.go index 27c664ce85..76385647db 100644 --- a/core/server/api_container/server/service_network/api_container_info.go +++ b/core/server/api_container/server/service_network/api_container_info.go @@ -8,17 +8,21 @@ type ApiContainerInfo struct { grpcPortNum uint16 version string + + imageAuthor string } func NewApiContainerInfo( ipAddress net.IP, grpcPortNum uint16, version string, + imageAuthor string, ) *ApiContainerInfo { return &ApiContainerInfo{ ipAddress: ipAddress, grpcPortNum: grpcPortNum, version: version, + imageAuthor: imageAuthor, } } @@ -33,3 +37,7 @@ func (apic *ApiContainerInfo) GetGrpcPortNum() uint16 { func (apic *ApiContainerInfo) GetVersion() string { return apic.version } + +func (apic *ApiContainerInfo) GetImageAuthor() string { + return apic.imageAuthor +} diff --git a/core/server/api_container/server/service_network/default_service_network_test.go b/core/server/api_container/server/service_network/default_service_network_test.go index dc6bd30101..957ca21e07 100644 --- a/core/server/api_container/server/service_network/default_service_network_test.go +++ b/core/server/api_container/server/service_network/default_service_network_test.go @@ -52,6 +52,7 @@ var ( testIpFromInt(0), uint16(1234), "0.0.0", + "kurtosistech", ) unusedEnclaveDataDir *enclave_data_directory.EnclaveDataDirectory diff --git a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_backward_compatible_test.go b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_backward_compatible_test.go index 5fd85163e2..a1ffcbf1f7 100644 --- a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_backward_compatible_test.go +++ b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_backward_compatible_test.go @@ -22,7 +22,7 @@ type serviceConfigFullTestCaseBackwardCompatible struct { func (suite *KurtosisTypeConstructorTestSuite) TestServiceConfigFullBackwardCompatible() { suite.serviceNetwork.EXPECT().GetApiContainerInfo().Times(1).Return( - service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0"), + service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", "kurtosistech"), ) suite.run(&serviceConfigFullTestCaseBackwardCompatible{ diff --git a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_test.go b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_test.go index 535fcdfda8..65edf49ee8 100644 --- a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_test.go +++ b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_test.go @@ -25,7 +25,7 @@ type serviceConfigFullTestCase struct { func (suite *KurtosisTypeConstructorTestSuite) TestServiceConfigFull() { suite.serviceNetwork.EXPECT().GetApiContainerInfo().Times(1).Return( - service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0"), + service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", "kurtosistech"), ) suite.run(&serviceConfigFullTestCase{ diff --git a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_multiple_files_in_same_folder_test.go b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_multiple_files_in_same_folder_test.go index bdc28f9f4f..cbadb8cf4c 100644 --- a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_multiple_files_in_same_folder_test.go +++ b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_multiple_files_in_same_folder_test.go @@ -22,7 +22,7 @@ type serviceConfigMultipleFilesInSameFolderTestCase struct { func (suite *KurtosisTypeConstructorTestSuite) TestServiceConfigMultipleFilesInSameFolder() { suite.serviceNetwork.EXPECT().GetApiContainerInfo().Times(1).Return( - service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0"), + service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", "kurtosistech"), ) suite.run(&serviceConfigMultipleFilesInSameFolderTestCase{ diff --git a/core/server/api_container/server/startosis_engine/kurtosis_types/service_config/service_config.go b/core/server/api_container/server/startosis_engine/kurtosis_types/service_config/service_config.go index a083d80d4c..37ffb02faf 100644 --- a/core/server/api_container/server/startosis_engine/kurtosis_types/service_config/service_config.go +++ b/core/server/api_container/server/startosis_engine/kurtosis_types/service_config/service_config.go @@ -57,7 +57,7 @@ const ( filesArtifactExpansionDirsParentDirpath string = "/files-artifacts" // TODO This should be populated from the build flow that builds the files-artifacts-expander Docker image - filesArtifactsExpanderImage string = "kurtosistech/files-artifacts-expander" + filesArtifactsExpanderImage string = "files-artifacts-expander" minimumMemoryAllocationMegabytes = 6 ) @@ -623,7 +623,8 @@ func ConvertFilesArtifactsMounts(filesArtifactsMountDirpathsMap map[string][]str } expanderImageAndTag := fmt.Sprintf( - "%v:%v", + "%v/%v:%v", + apiContainerInfo.GetImageAuthor(), filesArtifactsExpanderImage, apiContainerInfo.GetVersion(), ) diff --git a/core/server/api_container/server/startosis_engine/startosis_interpreter_idempotent_test.go b/core/server/api_container/server/startosis_engine/startosis_interpreter_idempotent_test.go index 01602da4a7..eeda410764 100644 --- a/core/server/api_container/server/startosis_engine/startosis_interpreter_idempotent_test.go +++ b/core/server/api_container/server/startosis_engine/startosis_interpreter_idempotent_test.go @@ -69,7 +69,7 @@ func (suite *StartosisInterpreterIdempotentTestSuite) SetupTest() { serviceNetwork := service_network.NewMockServiceNetwork(suite.T()) serviceNetwork.EXPECT().GetApiContainerInfo().Maybe().Return( - service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), uint16(1234), "0.0.0"), + service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), uint16(1234), "0.0.0", "kurtosistech"), ) serviceNetwork.EXPECT().GetEnclaveUuid().Maybe().Return(enclaveUuid) suite.interpreter = NewStartosisInterpreter(serviceNetwork, suite.packageContentProvider, runtimeValueStore, starlarkValueSerde, "", interpretationTimeValueStore) diff --git a/core/server/api_container/server/startosis_engine/startosis_interpreter_plan_yaml_test.go b/core/server/api_container/server/startosis_engine/startosis_interpreter_plan_yaml_test.go index 0efb441b75..d6c73d043c 100644 --- a/core/server/api_container/server/startosis_engine/startosis_interpreter_plan_yaml_test.go +++ b/core/server/api_container/server/startosis_engine/startosis_interpreter_plan_yaml_test.go @@ -66,7 +66,8 @@ func (suite *StartosisIntepreterPlanYamlTestSuite) SetupTest() { apiContainerInfo := service_network.NewApiContainerInfo( net.IP{}, mockApicPortNum, - mockApicVersion) + mockApicVersion, + "kurtosistech") suite.serviceNetwork.EXPECT().GetApiContainerInfo().Return(apiContainerInfo) suite.interpreter = NewStartosisInterpreter(suite.serviceNetwork, suite.packageContentProvider, suite.runtimeValueStore, nil, "", suite.interpretationTimeValueStore) diff --git a/engine/launcher/args/args.go b/engine/launcher/args/args.go index 4dcbd34510..ddc52c0d0a 100644 --- a/engine/launcher/args/args.go +++ b/engine/launcher/args/args.go @@ -65,7 +65,7 @@ type EngineServerArgs struct { // To restart the current API containers after the engine has been restarted RestartAPIContainers bool `json:"restart_api_containers"` - ImageRepository string `json:"image_repository"` + ImageAuthor string `json:"image_author"` } var skipValidation = map[string]bool{ @@ -143,7 +143,7 @@ func NewEngineServerArgs( CloudInstanceID: cloudInstanceID, AllowedCORSOrigins: allowedCORSOrigins, RestartAPIContainers: restartAPIContainers, - ImageRepository: imageRepository, + ImageAuthor: imageRepository, } if err := result.validate(); err != nil { return nil, stacktrace.Propagate(err, "An error occurred validating engine server args") diff --git a/engine/launcher/engine_server_launcher/engine_server_launcher.go b/engine/launcher/engine_server_launcher/engine_server_launcher.go index ab1a0c9c77..5c5481ed0f 100644 --- a/engine/launcher/engine_server_launcher/engine_server_launcher.go +++ b/engine/launcher/engine_server_launcher/engine_server_launcher.go @@ -101,7 +101,7 @@ func (launcher *EngineServerLauncher) LaunchWithCustomVersion( resultPublicGrpcPortSpec *port_spec.PortSpec, resultErr error, ) { - return launcher.LaunchWithCustomImageRepository( + return launcher.LaunchWithCustomImageAuthor( ctx, imageVersionTag, defaultImageAuthor, @@ -123,7 +123,7 @@ func (launcher *EngineServerLauncher) LaunchWithCustomVersion( ) } -func (launcher *EngineServerLauncher) LaunchWithCustomImageRepository( +func (launcher *EngineServerLauncher) LaunchWithCustomImageAuthor( ctx context.Context, imageVersionTag string, imageAuthor string, diff --git a/engine/server/engine/enclave_manager/enclave_creator.go b/engine/server/engine/enclave_manager/enclave_creator.go index a736ea7883..c0192d7818 100644 --- a/engine/server/engine/enclave_manager/enclave_creator.go +++ b/engine/server/engine/enclave_manager/enclave_creator.go @@ -37,6 +37,7 @@ func newEnclaveCreator( func (creator *EnclaveCreator) CreateEnclave( setupCtx context.Context, + imageAuthor string, // If blank, will use the default apiContainerImageVersionTag string, apiContainerLogLevel logrus.Level, @@ -101,6 +102,7 @@ func (creator *EnclaveCreator) CreateEnclave( } apiContainer, err := creator.LaunchApiContainer(setupCtx, + imageAuthor, apiContainerImageVersionTag, apiContainerLogLevel, enclaveUuid, @@ -187,6 +189,7 @@ func (creator *EnclaveCreator) CreateEnclave( func (creator *EnclaveCreator) LaunchApiContainer( ctx context.Context, + imageAuthor string, apiContainerImageVersionTag string, logLevel logrus.Level, enclaveUuid enclave.EnclaveUUID, diff --git a/engine/server/engine/enclave_manager/enclave_manager.go b/engine/server/engine/enclave_manager/enclave_manager.go index fbb64957bd..af90c3d2af 100644 --- a/engine/server/engine/enclave_manager/enclave_manager.go +++ b/engine/server/engine/enclave_manager/enclave_manager.go @@ -132,6 +132,7 @@ func (manager *EnclaveManager) CreateEnclave( setupCtx context.Context, // If blank, will use the default engineVersion string, + imageAuthor string, apiContainerImageVersionTag string, apiContainerLogLevel logrus.Level, //If blank, will use a random one @@ -184,6 +185,7 @@ func (manager *EnclaveManager) CreateEnclave( if enclaveInfo == nil { enclaveInfo, err = manager.enclaveCreator.CreateEnclave( setupCtx, + imageAuthor, apiContainerImageVersionTag, apiContainerLogLevel, enclaveName, @@ -414,6 +416,7 @@ func (manager *EnclaveManager) RestartAllEnclaveAPIContainers(ctx context.Contex // this way we are going to use always the same engine's version useDefaultApiContainerVersionTag := "" + useDefaultImageAuthor := "kurtosistech" //TODO check if we can get this one from any place, just using the default for now restartAPIContainerDefaultLogLevel := logrus.DebugLevel @@ -424,6 +427,7 @@ func (manager *EnclaveManager) RestartAllEnclaveAPIContainers(ctx context.Contex _, err := manager.enclaveCreator.LaunchApiContainer( ctx, + useDefaultImageAuthor, useDefaultApiContainerVersionTag, restartAPIContainerDefaultLogLevel, enclaveUuid, diff --git a/engine/server/engine/enclave_manager/enclave_pool.go b/engine/server/engine/enclave_manager/enclave_pool.go index 5acd2d3f4f..9d4f65005e 100644 --- a/engine/server/engine/enclave_manager/enclave_pool.go +++ b/engine/server/engine/enclave_manager/enclave_pool.go @@ -283,6 +283,7 @@ func (pool *EnclavePool) createNewIdleEnclave(ctx context.Context) (*types.Encla newEnclaveInfo, err := pool.enclaveCreator.CreateEnclave( ctx, + "kurtosistech", apiContainerVersion, defaultApiContainerLogLevel, enclaveName, diff --git a/engine/server/engine/main.go b/engine/server/engine/main.go index 262d38768f..f08af011ee 100644 --- a/engine/server/engine/main.go +++ b/engine/server/engine/main.go @@ -285,6 +285,7 @@ func runMain() error { engineConnectServer := server.NewEngineConnectServerService( serverArgs.ImageVersionTag, + serverArgs.ImageAuthor, enclaveManager, serverArgs.MetricsUserID, serverArgs.DidUserAcceptSendingMetrics, @@ -449,6 +450,7 @@ func restApiServer( EnclaveManager: enclave_manager, LogFileManager: logFileManager, MetricsClient: metricsClient, + ImageAuthor: serverArgs.ImageAuthor, } engineApi.RegisterHandlers(echoApiRouter, engineApi.NewStrictHandler(engineRuntime, nil)) diff --git a/engine/server/engine/server/engine_connect_server_service.go b/engine/server/engine/server/engine_connect_server_service.go index 3fc908e916..3b4bcee25c 100644 --- a/engine/server/engine/server/engine_connect_server_service.go +++ b/engine/server/engine/server/engine_connect_server_service.go @@ -30,6 +30,9 @@ type EngineConnectServerService struct { // The version tag of the engine server image, so it can report its own version imageVersionTag string + // The author of the image of the engine + imageAuthor string + enclaveManager *enclave_manager.EnclaveManager // The protected user ID for metrics analytics purpose @@ -48,6 +51,7 @@ type EngineConnectServerService struct { func NewEngineConnectServerService( imageVersionTag string, + imageAuthor string, enclaveManager *enclave_manager.EnclaveManager, metricsUserId string, didUserAcceptSendingMetrics bool, @@ -57,6 +61,7 @@ func NewEngineConnectServerService( ) *EngineConnectServerService { service := &EngineConnectServerService{ imageVersionTag: imageVersionTag, + imageAuthor: imageAuthor, enclaveManager: enclaveManager, metricsUserID: metricsUserId, didUserAcceptSendingMetrics: didUserAcceptSendingMetrics, @@ -183,6 +188,7 @@ func (service *EngineConnectServerService) CreateEnclave(ctx context.Context, co enclaveInfo, err := service.enclaveManager.CreateEnclave( ctx, service.imageVersionTag, + service.imageAuthor, args.GetApiContainerVersionTag(), apiContainerLogLevel, args.GetEnclaveName(), diff --git a/engine/server/engine/server/engine_rest_api_handler.go b/engine/server/engine/server/engine_rest_api_handler.go index e7f9665024..c1be66dbcc 100644 --- a/engine/server/engine/server/engine_rest_api_handler.go +++ b/engine/server/engine/server/engine_rest_api_handler.go @@ -21,6 +21,9 @@ type EngineRuntime struct { // The version tag of the engine server image, so it can report its own version ImageVersionTag string + // The Author of the image + ImageAuthor string + EnclaveManager *enclave_manager.EnclaveManager LogFileManager *log_file_manager.LogFileManager @@ -103,6 +106,7 @@ func (engine EngineRuntime) PostEnclaves(ctx context.Context, request api.PostEn enclaveInfo, err := engine.EnclaveManager.CreateEnclave( ctx, engine.ImageVersionTag, + engine.ImageAuthor, apicVersionTag, apiContainerLogLevel, enclaveName, From 423e581a37005f1a49c7ea9dd451053d62b06a08 Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Thu, 16 May 2024 15:08:46 +0100 Subject: [PATCH 03/10] undid some changes --- .../api_container_service.pb.go | 4 +- .../api_container_service_grpc.pb.go | 2 +- .../engine_service.pb.go | 4 +- .../engine_service_grpc.pb.go | 2 +- .../kurtosis_version/kurtosis_version.go | 2 +- api/rust/Cargo.toml | 2 +- api/typescript/package.json | 2 +- .../api_container_service_grpc_web_pb.d.ts | 4 +- .../api_container_service_grpc_web_pb.js | 2 +- .../api_container_service_pb.d.ts | 2 +- .../connect/api_container_service_pb.d.ts | 2 +- .../connect/api_container_service_pb.js | 106 +++++++++--------- .../connect/engine_service_pb.d.ts | 2 +- .../connect/engine_service_pb.js | 46 ++++---- .../engine_service_grpc_web_pb.d.ts | 4 +- .../engine_service_grpc_web_pb.js | 2 +- .../engine_service_pb.d.ts | 4 +- .../src/kurtosis_version/kurtosis_version.ts | 2 +- 18 files changed, 97 insertions(+), 97 deletions(-) diff --git a/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service.pb.go b/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service.pb.go index 43b2e8edf5..ebb3f041d2 100644 --- a/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service.pb.go +++ b/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.4 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: api_container_service.proto package kurtosis_core_rpc_api_bindings diff --git a/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc.pb.go b/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc.pb.go index b86b3ee8cc..b0740c5e5f 100644 --- a/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc.pb.go +++ b/api/golang/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.24.4 +// - protoc v4.25.2 // source: api_container_service.proto package kurtosis_core_rpc_api_bindings diff --git a/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service.pb.go b/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service.pb.go index e15990f41e..7420f88c38 100644 --- a/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service.pb.go +++ b/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.4 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: engine_service.proto package kurtosis_engine_rpc_api_bindings diff --git a/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc.pb.go b/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc.pb.go index 030fc811cf..d3a95bd5b6 100644 --- a/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc.pb.go +++ b/api/golang/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.24.4 +// - protoc v4.25.2 // source: engine_service.proto package kurtosis_engine_rpc_api_bindings diff --git a/api/golang/kurtosis_version/kurtosis_version.go b/api/golang/kurtosis_version/kurtosis_version.go index d381957034..37db4072a0 100644 --- a/api/golang/kurtosis_version/kurtosis_version.go +++ b/api/golang/kurtosis_version/kurtosis_version.go @@ -9,6 +9,6 @@ const ( // !!!!!!!!!!! DO NOT UPDATE! WILL BE MANUALLY UPDATED DURING THE RELEASE PROCESS !!!!!!!!!!!!!!!!!!!!!! // This is necessary so that Kurt Core consumers will know if they're compatible with the currently-running // API container - KurtosisVersion = "0.89.9" + KurtosisVersion = "0.89.10" // !!!!!!!!!!! DO NOT UPDATE! WILL BE MANUALLY UPDATED DURING THE RELEASE PROCESS !!!!!!!!!!!!!!!!!!!!!! ) diff --git a/api/rust/Cargo.toml b/api/rust/Cargo.toml index bf3330755a..6b47ef2458 100644 --- a/api/rust/Cargo.toml +++ b/api/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "kurtosis-sdk" -version = "0.89.9" +version = "0.89.10" license = "BUSL-1.1" description = "Rust SDK for Kurtosis" edition = "2021" diff --git a/api/typescript/package.json b/api/typescript/package.json index 58c27f8f20..710a096ea6 100644 --- a/api/typescript/package.json +++ b/api/typescript/package.json @@ -1,7 +1,7 @@ { "name": "kurtosis-sdk", "//": "NOTE: DO NOT UPDATE THIS VERSION MANUALLY - IT WILL BE UPDATED DURING THE RELEASE PROCESS!", - "version": "0.89.9", + "version": "0.89.10", "main": "./build/index", "description": "This repo contains a Typescript client for communicating with the Kurtosis Engine server, which is responsible for creating, managing and destroying Kurtosis Enclaves.", "types": "./build/index", diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts index c132a1b3d4..4b1d68af33 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts @@ -1,7 +1,7 @@ import * as grpcWeb from 'grpc-web'; -import * as api_container_service_pb from './api_container_service_pb'; // proto import: "api_container_service.proto" -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" +import * as api_container_service_pb from './api_container_service_pb'; +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; export class ApiContainerServiceClient { diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js index f0f15dd62f..d21fe965e4 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js @@ -6,7 +6,7 @@ // Code generated by protoc-gen-grpc-web. DO NOT EDIT. // versions: -// protoc-gen-grpc-web v1.5.0 +// protoc-gen-grpc-web v1.4.2 // protoc v3.19.1 // source: api_container_service.proto diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts index 52fcb3fe06..1d23b22991 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts @@ -1,6 +1,6 @@ import * as jspb from 'google-protobuf' -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; export class Port extends jspb.Message { diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.d.ts b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.d.ts index a81d361576..de9778ca61 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.d.ts +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.d.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v1.8.0 with parameter "target=js+dts" +// @generated by protoc-gen-es v1.3.1 with parameter "target=js+dts" // @generated from file api_container_service.proto (package api_container_api, syntax proto3) /* eslint-disable */ // @ts-nocheck diff --git a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.js b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.js index 08cfe6db75..164d68d7d5 100644 --- a/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.js +++ b/api/typescript/src/core/kurtosis_core_rpc_api_bindings/connect/api_container_service_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v1.8.0 with parameter "target=js+dts" +// @generated by protoc-gen-es v1.3.1 with parameter "target=js+dts" // @generated from file api_container_service.proto (package api_container_api, syntax proto3) /* eslint-disable */ // @ts-nocheck @@ -8,7 +8,7 @@ import { proto3 } from "@bufbuild/protobuf"; /** * @generated from enum api_container_api.ServiceStatus */ -export const ServiceStatus = /*@__PURE__*/ proto3.makeEnum( +export const ServiceStatus = proto3.makeEnum( "api_container_api.ServiceStatus", [ {no: 0, name: "STOPPED"}, @@ -20,7 +20,7 @@ export const ServiceStatus = /*@__PURE__*/ proto3.makeEnum( /** * @generated from enum api_container_api.ImageDownloadMode */ -export const ImageDownloadMode = /*@__PURE__*/ proto3.makeEnum( +export const ImageDownloadMode = proto3.makeEnum( "api_container_api.ImageDownloadMode", [ {no: 0, name: "always"}, @@ -33,7 +33,7 @@ export const ImageDownloadMode = /*@__PURE__*/ proto3.makeEnum( * * @generated from enum api_container_api.Connect */ -export const Connect = /*@__PURE__*/ proto3.makeEnum( +export const Connect = proto3.makeEnum( "api_container_api.Connect", [ {no: 0, name: "CONNECT"}, @@ -44,7 +44,7 @@ export const Connect = /*@__PURE__*/ proto3.makeEnum( /** * @generated from enum api_container_api.KurtosisFeatureFlag */ -export const KurtosisFeatureFlag = /*@__PURE__*/ proto3.makeEnum( +export const KurtosisFeatureFlag = proto3.makeEnum( "api_container_api.KurtosisFeatureFlag", [ {no: 0, name: "NO_INSTRUCTIONS_CACHING"}, @@ -54,7 +54,7 @@ export const KurtosisFeatureFlag = /*@__PURE__*/ proto3.makeEnum( /** * @generated from enum api_container_api.RestartPolicy */ -export const RestartPolicy = /*@__PURE__*/ proto3.makeEnum( +export const RestartPolicy = proto3.makeEnum( "api_container_api.RestartPolicy", [ {no: 0, name: "NEVER"}, @@ -69,7 +69,7 @@ export const RestartPolicy = /*@__PURE__*/ proto3.makeEnum( * * @generated from message api_container_api.Port */ -export const Port = /*@__PURE__*/ proto3.makeMessageType( +export const Port = proto3.makeMessageType( "api_container_api.Port", () => [ { no: 1, name: "number", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, @@ -84,7 +84,7 @@ export const Port = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from enum api_container_api.Port.TransportProtocol */ -export const Port_TransportProtocol = /*@__PURE__*/ proto3.makeEnum( +export const Port_TransportProtocol = proto3.makeEnum( "api_container_api.Port.TransportProtocol", [ {no: 0, name: "TCP"}, @@ -96,7 +96,7 @@ export const Port_TransportProtocol = /*@__PURE__*/ proto3.makeEnum( /** * @generated from message api_container_api.Container */ -export const Container = /*@__PURE__*/ proto3.makeMessageType( +export const Container = proto3.makeMessageType( "api_container_api.Container", () => [ { no: 1, name: "status", kind: "enum", T: proto3.getEnumType(Container_Status) }, @@ -110,7 +110,7 @@ export const Container = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from enum api_container_api.Container.Status */ -export const Container_Status = /*@__PURE__*/ proto3.makeEnum( +export const Container_Status = proto3.makeEnum( "api_container_api.Container.Status", [ {no: 0, name: "STOPPED"}, @@ -122,7 +122,7 @@ export const Container_Status = /*@__PURE__*/ proto3.makeEnum( /** * @generated from message api_container_api.ServiceInfo */ -export const ServiceInfo = /*@__PURE__*/ proto3.makeMessageType( +export const ServiceInfo = proto3.makeMessageType( "api_container_api.ServiceInfo", () => [ { no: 1, name: "service_uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -140,7 +140,7 @@ export const ServiceInfo = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.RunStarlarkScriptArgs */ -export const RunStarlarkScriptArgs = /*@__PURE__*/ proto3.makeMessageType( +export const RunStarlarkScriptArgs = proto3.makeMessageType( "api_container_api.RunStarlarkScriptArgs", () => [ { no: 1, name: "serialized_script", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -159,7 +159,7 @@ export const RunStarlarkScriptArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.RunStarlarkPackageArgs */ -export const RunStarlarkPackageArgs = /*@__PURE__*/ proto3.makeMessageType( +export const RunStarlarkPackageArgs = proto3.makeMessageType( "api_container_api.RunStarlarkPackageArgs", () => [ { no: 1, name: "package_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -187,7 +187,7 @@ export const RunStarlarkPackageArgs = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message api_container_api.StarlarkRunResponseLine */ -export const StarlarkRunResponseLine = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkRunResponseLine = proto3.makeMessageType( "api_container_api.StarlarkRunResponseLine", () => [ { no: 1, name: "instruction", kind: "message", T: StarlarkInstruction, oneof: "run_response_line" }, @@ -203,7 +203,7 @@ export const StarlarkRunResponseLine = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInfo */ -export const StarlarkInfo = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkInfo = proto3.makeMessageType( "api_container_api.StarlarkInfo", () => [ { no: 1, name: "info_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -213,7 +213,7 @@ export const StarlarkInfo = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkWarning */ -export const StarlarkWarning = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkWarning = proto3.makeMessageType( "api_container_api.StarlarkWarning", () => [ { no: 1, name: "warning_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -223,7 +223,7 @@ export const StarlarkWarning = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInstruction */ -export const StarlarkInstruction = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkInstruction = proto3.makeMessageType( "api_container_api.StarlarkInstruction", () => [ { no: 1, name: "position", kind: "message", T: StarlarkInstructionPosition }, @@ -238,7 +238,7 @@ export const StarlarkInstruction = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInstructionResult */ -export const StarlarkInstructionResult = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkInstructionResult = proto3.makeMessageType( "api_container_api.StarlarkInstructionResult", () => [ { no: 1, name: "serialized_instruction_result", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -248,7 +248,7 @@ export const StarlarkInstructionResult = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInstructionArg */ -export const StarlarkInstructionArg = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkInstructionArg = proto3.makeMessageType( "api_container_api.StarlarkInstructionArg", () => [ { no: 1, name: "serialized_arg_value", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -260,7 +260,7 @@ export const StarlarkInstructionArg = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInstructionPosition */ -export const StarlarkInstructionPosition = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkInstructionPosition = proto3.makeMessageType( "api_container_api.StarlarkInstructionPosition", () => [ { no: 1, name: "filename", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -272,7 +272,7 @@ export const StarlarkInstructionPosition = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkError */ -export const StarlarkError = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkError = proto3.makeMessageType( "api_container_api.StarlarkError", () => [ { no: 1, name: "interpretation_error", kind: "message", T: StarlarkInterpretationError, oneof: "error" }, @@ -284,7 +284,7 @@ export const StarlarkError = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkInterpretationError */ -export const StarlarkInterpretationError = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkInterpretationError = proto3.makeMessageType( "api_container_api.StarlarkInterpretationError", () => [ { no: 1, name: "error_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -294,7 +294,7 @@ export const StarlarkInterpretationError = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkValidationError */ -export const StarlarkValidationError = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkValidationError = proto3.makeMessageType( "api_container_api.StarlarkValidationError", () => [ { no: 1, name: "error_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -304,7 +304,7 @@ export const StarlarkValidationError = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkExecutionError */ -export const StarlarkExecutionError = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkExecutionError = proto3.makeMessageType( "api_container_api.StarlarkExecutionError", () => [ { no: 1, name: "error_message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -314,7 +314,7 @@ export const StarlarkExecutionError = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkRunProgress */ -export const StarlarkRunProgress = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkRunProgress = proto3.makeMessageType( "api_container_api.StarlarkRunProgress", () => [ { no: 1, name: "current_step_info", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, @@ -326,7 +326,7 @@ export const StarlarkRunProgress = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkRunFinishedEvent */ -export const StarlarkRunFinishedEvent = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkRunFinishedEvent = proto3.makeMessageType( "api_container_api.StarlarkRunFinishedEvent", () => [ { no: 1, name: "is_run_successful", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, @@ -341,7 +341,7 @@ export const StarlarkRunFinishedEvent = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message api_container_api.GetServicesArgs */ -export const GetServicesArgs = /*@__PURE__*/ proto3.makeMessageType( +export const GetServicesArgs = proto3.makeMessageType( "api_container_api.GetServicesArgs", () => [ { no: 1, name: "service_identifiers", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 8 /* ScalarType.BOOL */} }, @@ -351,7 +351,7 @@ export const GetServicesArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.GetServicesResponse */ -export const GetServicesResponse = /*@__PURE__*/ proto3.makeMessageType( +export const GetServicesResponse = proto3.makeMessageType( "api_container_api.GetServicesResponse", () => [ { no: 1, name: "service_info", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: ServiceInfo} }, @@ -363,7 +363,7 @@ export const GetServicesResponse = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message api_container_api.ServiceIdentifiers */ -export const ServiceIdentifiers = /*@__PURE__*/ proto3.makeMessageType( +export const ServiceIdentifiers = proto3.makeMessageType( "api_container_api.ServiceIdentifiers", () => [ { no: 1, name: "service_uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -375,7 +375,7 @@ export const ServiceIdentifiers = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.GetExistingAndHistoricalServiceIdentifiersResponse */ -export const GetExistingAndHistoricalServiceIdentifiersResponse = /*@__PURE__*/ proto3.makeMessageType( +export const GetExistingAndHistoricalServiceIdentifiersResponse = proto3.makeMessageType( "api_container_api.GetExistingAndHistoricalServiceIdentifiersResponse", () => [ { no: 1, name: "allIdentifiers", kind: "message", T: ServiceIdentifiers, repeated: true }, @@ -389,7 +389,7 @@ export const GetExistingAndHistoricalServiceIdentifiersResponse = /*@__PURE__*/ * * @generated from message api_container_api.ExecCommandArgs */ -export const ExecCommandArgs = /*@__PURE__*/ proto3.makeMessageType( +export const ExecCommandArgs = proto3.makeMessageType( "api_container_api.ExecCommandArgs", () => [ { no: 1, name: "service_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -400,7 +400,7 @@ export const ExecCommandArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.ExecCommandResponse */ -export const ExecCommandResponse = /*@__PURE__*/ proto3.makeMessageType( +export const ExecCommandResponse = proto3.makeMessageType( "api_container_api.ExecCommandResponse", () => [ { no: 1, name: "exit_code", kind: "scalar", T: 5 /* ScalarType.INT32 */ }, @@ -415,7 +415,7 @@ export const ExecCommandResponse = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message api_container_api.WaitForHttpGetEndpointAvailabilityArgs */ -export const WaitForHttpGetEndpointAvailabilityArgs = /*@__PURE__*/ proto3.makeMessageType( +export const WaitForHttpGetEndpointAvailabilityArgs = proto3.makeMessageType( "api_container_api.WaitForHttpGetEndpointAvailabilityArgs", () => [ { no: 1, name: "service_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -435,7 +435,7 @@ export const WaitForHttpGetEndpointAvailabilityArgs = /*@__PURE__*/ proto3.makeM * * @generated from message api_container_api.WaitForHttpPostEndpointAvailabilityArgs */ -export const WaitForHttpPostEndpointAvailabilityArgs = /*@__PURE__*/ proto3.makeMessageType( +export const WaitForHttpPostEndpointAvailabilityArgs = proto3.makeMessageType( "api_container_api.WaitForHttpPostEndpointAvailabilityArgs", () => [ { no: 1, name: "service_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -456,7 +456,7 @@ export const WaitForHttpPostEndpointAvailabilityArgs = /*@__PURE__*/ proto3.make * * @generated from message api_container_api.StreamedDataChunk */ -export const StreamedDataChunk = /*@__PURE__*/ proto3.makeMessageType( +export const StreamedDataChunk = proto3.makeMessageType( "api_container_api.StreamedDataChunk", () => [ { no: 1, name: "data", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, @@ -468,7 +468,7 @@ export const StreamedDataChunk = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.DataChunkMetadata */ -export const DataChunkMetadata = /*@__PURE__*/ proto3.makeMessageType( +export const DataChunkMetadata = proto3.makeMessageType( "api_container_api.DataChunkMetadata", () => [ { no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -482,7 +482,7 @@ export const DataChunkMetadata = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message api_container_api.UploadFilesArtifactResponse */ -export const UploadFilesArtifactResponse = /*@__PURE__*/ proto3.makeMessageType( +export const UploadFilesArtifactResponse = proto3.makeMessageType( "api_container_api.UploadFilesArtifactResponse", () => [ { no: 1, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -497,7 +497,7 @@ export const UploadFilesArtifactResponse = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message api_container_api.DownloadFilesArtifactArgs */ -export const DownloadFilesArtifactArgs = /*@__PURE__*/ proto3.makeMessageType( +export const DownloadFilesArtifactArgs = proto3.makeMessageType( "api_container_api.DownloadFilesArtifactArgs", () => [ { no: 1, name: "identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -511,7 +511,7 @@ export const DownloadFilesArtifactArgs = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message api_container_api.StoreWebFilesArtifactArgs */ -export const StoreWebFilesArtifactArgs = /*@__PURE__*/ proto3.makeMessageType( +export const StoreWebFilesArtifactArgs = proto3.makeMessageType( "api_container_api.StoreWebFilesArtifactArgs", () => [ { no: 1, name: "url", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -522,7 +522,7 @@ export const StoreWebFilesArtifactArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StoreWebFilesArtifactResponse */ -export const StoreWebFilesArtifactResponse = /*@__PURE__*/ proto3.makeMessageType( +export const StoreWebFilesArtifactResponse = proto3.makeMessageType( "api_container_api.StoreWebFilesArtifactResponse", () => [ { no: 1, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -532,7 +532,7 @@ export const StoreWebFilesArtifactResponse = /*@__PURE__*/ proto3.makeMessageTyp /** * @generated from message api_container_api.StoreFilesArtifactFromServiceArgs */ -export const StoreFilesArtifactFromServiceArgs = /*@__PURE__*/ proto3.makeMessageType( +export const StoreFilesArtifactFromServiceArgs = proto3.makeMessageType( "api_container_api.StoreFilesArtifactFromServiceArgs", () => [ { no: 1, name: "service_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -544,7 +544,7 @@ export const StoreFilesArtifactFromServiceArgs = /*@__PURE__*/ proto3.makeMessag /** * @generated from message api_container_api.StoreFilesArtifactFromServiceResponse */ -export const StoreFilesArtifactFromServiceResponse = /*@__PURE__*/ proto3.makeMessageType( +export const StoreFilesArtifactFromServiceResponse = proto3.makeMessageType( "api_container_api.StoreFilesArtifactFromServiceResponse", () => [ { no: 1, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -554,7 +554,7 @@ export const StoreFilesArtifactFromServiceResponse = /*@__PURE__*/ proto3.makeMe /** * @generated from message api_container_api.FilesArtifactNameAndUuid */ -export const FilesArtifactNameAndUuid = /*@__PURE__*/ proto3.makeMessageType( +export const FilesArtifactNameAndUuid = proto3.makeMessageType( "api_container_api.FilesArtifactNameAndUuid", () => [ { no: 1, name: "fileName", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -565,7 +565,7 @@ export const FilesArtifactNameAndUuid = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.ListFilesArtifactNamesAndUuidsResponse */ -export const ListFilesArtifactNamesAndUuidsResponse = /*@__PURE__*/ proto3.makeMessageType( +export const ListFilesArtifactNamesAndUuidsResponse = proto3.makeMessageType( "api_container_api.ListFilesArtifactNamesAndUuidsResponse", () => [ { no: 1, name: "file_names_and_uuids", kind: "message", T: FilesArtifactNameAndUuid, repeated: true }, @@ -575,7 +575,7 @@ export const ListFilesArtifactNamesAndUuidsResponse = /*@__PURE__*/ proto3.makeM /** * @generated from message api_container_api.InspectFilesArtifactContentsRequest */ -export const InspectFilesArtifactContentsRequest = /*@__PURE__*/ proto3.makeMessageType( +export const InspectFilesArtifactContentsRequest = proto3.makeMessageType( "api_container_api.InspectFilesArtifactContentsRequest", () => [ { no: 1, name: "file_names_and_uuid", kind: "message", T: FilesArtifactNameAndUuid }, @@ -585,7 +585,7 @@ export const InspectFilesArtifactContentsRequest = /*@__PURE__*/ proto3.makeMess /** * @generated from message api_container_api.InspectFilesArtifactContentsResponse */ -export const InspectFilesArtifactContentsResponse = /*@__PURE__*/ proto3.makeMessageType( +export const InspectFilesArtifactContentsResponse = proto3.makeMessageType( "api_container_api.InspectFilesArtifactContentsResponse", () => [ { no: 1, name: "file_descriptions", kind: "message", T: FileArtifactContentsFileDescription, repeated: true }, @@ -595,7 +595,7 @@ export const InspectFilesArtifactContentsResponse = /*@__PURE__*/ proto3.makeMes /** * @generated from message api_container_api.FileArtifactContentsFileDescription */ -export const FileArtifactContentsFileDescription = /*@__PURE__*/ proto3.makeMessageType( +export const FileArtifactContentsFileDescription = proto3.makeMessageType( "api_container_api.FileArtifactContentsFileDescription", () => [ { no: 1, name: "path", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -607,7 +607,7 @@ export const FileArtifactContentsFileDescription = /*@__PURE__*/ proto3.makeMess /** * @generated from message api_container_api.ConnectServicesArgs */ -export const ConnectServicesArgs = /*@__PURE__*/ proto3.makeMessageType( +export const ConnectServicesArgs = proto3.makeMessageType( "api_container_api.ConnectServicesArgs", () => [ { no: 1, name: "connect", kind: "enum", T: proto3.getEnumType(Connect) }, @@ -617,7 +617,7 @@ export const ConnectServicesArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.ConnectServicesResponse */ -export const ConnectServicesResponse = /*@__PURE__*/ proto3.makeMessageType( +export const ConnectServicesResponse = proto3.makeMessageType( "api_container_api.ConnectServicesResponse", [], ); @@ -625,7 +625,7 @@ export const ConnectServicesResponse = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.GetStarlarkRunResponse */ -export const GetStarlarkRunResponse = /*@__PURE__*/ proto3.makeMessageType( +export const GetStarlarkRunResponse = proto3.makeMessageType( "api_container_api.GetStarlarkRunResponse", () => [ { no: 1, name: "package_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -643,7 +643,7 @@ export const GetStarlarkRunResponse = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.PlanYaml */ -export const PlanYaml = /*@__PURE__*/ proto3.makeMessageType( +export const PlanYaml = proto3.makeMessageType( "api_container_api.PlanYaml", () => [ { no: 1, name: "plan_yaml", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -653,7 +653,7 @@ export const PlanYaml = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkScriptPlanYamlArgs */ -export const StarlarkScriptPlanYamlArgs = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkScriptPlanYamlArgs = proto3.makeMessageType( "api_container_api.StarlarkScriptPlanYamlArgs", () => [ { no: 1, name: "serialized_script", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -665,7 +665,7 @@ export const StarlarkScriptPlanYamlArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message api_container_api.StarlarkPackagePlanYamlArgs */ -export const StarlarkPackagePlanYamlArgs = /*@__PURE__*/ proto3.makeMessageType( +export const StarlarkPackagePlanYamlArgs = proto3.makeMessageType( "api_container_api.StarlarkPackagePlanYamlArgs", () => [ { no: 1, name: "package_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.d.ts b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.d.ts index 0a4b3c2829..7eb383b09a 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.d.ts +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.d.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v1.8.0 with parameter "target=js+dts" +// @generated by protoc-gen-es v1.3.1 with parameter "target=js+dts" // @generated from file engine_service.proto (package engine_api, syntax proto3) /* eslint-disable */ // @ts-nocheck diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.js b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.js index 24cd0f6600..c245f62078 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.js +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/connect/engine_service_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v1.8.0 with parameter "target=js+dts" +// @generated by protoc-gen-es v1.3.1 with parameter "target=js+dts" // @generated from file engine_service.proto (package engine_api, syntax proto3) /* eslint-disable */ // @ts-nocheck @@ -8,7 +8,7 @@ import { proto3, Timestamp } from "@bufbuild/protobuf"; /** * @generated from enum engine_api.EnclaveMode */ -export const EnclaveMode = /*@__PURE__*/ proto3.makeEnum( +export const EnclaveMode = proto3.makeEnum( "engine_api.EnclaveMode", [ {no: 0, name: "TEST"}, @@ -25,7 +25,7 @@ export const EnclaveMode = /*@__PURE__*/ proto3.makeEnum( * * @generated from enum engine_api.EnclaveContainersStatus */ -export const EnclaveContainersStatus = /*@__PURE__*/ proto3.makeEnum( +export const EnclaveContainersStatus = proto3.makeEnum( "engine_api.EnclaveContainersStatus", [ {no: 0, name: "EnclaveContainersStatus_EMPTY"}, @@ -39,7 +39,7 @@ export const EnclaveContainersStatus = /*@__PURE__*/ proto3.makeEnum( * * @generated from enum engine_api.EnclaveAPIContainerStatus */ -export const EnclaveAPIContainerStatus = /*@__PURE__*/ proto3.makeEnum( +export const EnclaveAPIContainerStatus = proto3.makeEnum( "engine_api.EnclaveAPIContainerStatus", [ {no: 0, name: "EnclaveAPIContainerStatus_NONEXISTENT"}, @@ -54,7 +54,7 @@ export const EnclaveAPIContainerStatus = /*@__PURE__*/ proto3.makeEnum( * * @generated from enum engine_api.LogLineOperator */ -export const LogLineOperator = /*@__PURE__*/ proto3.makeEnum( +export const LogLineOperator = proto3.makeEnum( "engine_api.LogLineOperator", [ {no: 0, name: "LogLineOperator_DOES_CONTAIN_TEXT"}, @@ -71,7 +71,7 @@ export const LogLineOperator = /*@__PURE__*/ proto3.makeEnum( * * @generated from message engine_api.GetEngineInfoResponse */ -export const GetEngineInfoResponse = /*@__PURE__*/ proto3.makeMessageType( +export const GetEngineInfoResponse = proto3.makeMessageType( "engine_api.GetEngineInfoResponse", () => [ { no: 1, name: "engine_version", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -85,7 +85,7 @@ export const GetEngineInfoResponse = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message engine_api.CreateEnclaveArgs */ -export const CreateEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( +export const CreateEnclaveArgs = proto3.makeMessageType( "engine_api.CreateEnclaveArgs", () => [ { no: 1, name: "enclave_name", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, @@ -99,7 +99,7 @@ export const CreateEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.CreateEnclaveResponse */ -export const CreateEnclaveResponse = /*@__PURE__*/ proto3.makeMessageType( +export const CreateEnclaveResponse = proto3.makeMessageType( "engine_api.CreateEnclaveResponse", () => [ { no: 1, name: "enclave_info", kind: "message", T: EnclaveInfo }, @@ -109,7 +109,7 @@ export const CreateEnclaveResponse = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.EnclaveAPIContainerInfo */ -export const EnclaveAPIContainerInfo = /*@__PURE__*/ proto3.makeMessageType( +export const EnclaveAPIContainerInfo = proto3.makeMessageType( "engine_api.EnclaveAPIContainerInfo", () => [ { no: 1, name: "container_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -124,7 +124,7 @@ export const EnclaveAPIContainerInfo = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message engine_api.EnclaveAPIContainerHostMachineInfo */ -export const EnclaveAPIContainerHostMachineInfo = /*@__PURE__*/ proto3.makeMessageType( +export const EnclaveAPIContainerHostMachineInfo = proto3.makeMessageType( "engine_api.EnclaveAPIContainerHostMachineInfo", () => [ { no: 4, name: "ip_on_host_machine", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -137,7 +137,7 @@ export const EnclaveAPIContainerHostMachineInfo = /*@__PURE__*/ proto3.makeMessa * * @generated from message engine_api.EnclaveInfo */ -export const EnclaveInfo = /*@__PURE__*/ proto3.makeMessageType( +export const EnclaveInfo = proto3.makeMessageType( "engine_api.EnclaveInfo", () => [ { no: 1, name: "enclave_uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -155,7 +155,7 @@ export const EnclaveInfo = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.GetEnclavesResponse */ -export const GetEnclavesResponse = /*@__PURE__*/ proto3.makeMessageType( +export const GetEnclavesResponse = proto3.makeMessageType( "engine_api.GetEnclavesResponse", () => [ { no: 1, name: "enclave_info", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: EnclaveInfo} }, @@ -167,7 +167,7 @@ export const GetEnclavesResponse = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message engine_api.EnclaveIdentifiers */ -export const EnclaveIdentifiers = /*@__PURE__*/ proto3.makeMessageType( +export const EnclaveIdentifiers = proto3.makeMessageType( "engine_api.EnclaveIdentifiers", () => [ { no: 1, name: "enclave_uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -179,7 +179,7 @@ export const EnclaveIdentifiers = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.GetExistingAndHistoricalEnclaveIdentifiersResponse */ -export const GetExistingAndHistoricalEnclaveIdentifiersResponse = /*@__PURE__*/ proto3.makeMessageType( +export const GetExistingAndHistoricalEnclaveIdentifiersResponse = proto3.makeMessageType( "engine_api.GetExistingAndHistoricalEnclaveIdentifiersResponse", () => [ { no: 1, name: "allIdentifiers", kind: "message", T: EnclaveIdentifiers, repeated: true }, @@ -193,7 +193,7 @@ export const GetExistingAndHistoricalEnclaveIdentifiersResponse = /*@__PURE__*/ * * @generated from message engine_api.StopEnclaveArgs */ -export const StopEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( +export const StopEnclaveArgs = proto3.makeMessageType( "engine_api.StopEnclaveArgs", () => [ { no: 1, name: "enclave_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -207,7 +207,7 @@ export const StopEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message engine_api.DestroyEnclaveArgs */ -export const DestroyEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( +export const DestroyEnclaveArgs = proto3.makeMessageType( "engine_api.DestroyEnclaveArgs", () => [ { no: 1, name: "enclave_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -221,7 +221,7 @@ export const DestroyEnclaveArgs = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message engine_api.CleanArgs */ -export const CleanArgs = /*@__PURE__*/ proto3.makeMessageType( +export const CleanArgs = proto3.makeMessageType( "engine_api.CleanArgs", () => [ { no: 1, name: "should_clean_all", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, @@ -231,7 +231,7 @@ export const CleanArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.EnclaveNameAndUuid */ -export const EnclaveNameAndUuid = /*@__PURE__*/ proto3.makeMessageType( +export const EnclaveNameAndUuid = proto3.makeMessageType( "engine_api.EnclaveNameAndUuid", () => [ { no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -242,7 +242,7 @@ export const EnclaveNameAndUuid = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.CleanResponse */ -export const CleanResponse = /*@__PURE__*/ proto3.makeMessageType( +export const CleanResponse = proto3.makeMessageType( "engine_api.CleanResponse", () => [ { no: 1, name: "removed_enclave_name_and_uuids", kind: "message", T: EnclaveNameAndUuid, repeated: true }, @@ -256,7 +256,7 @@ export const CleanResponse = /*@__PURE__*/ proto3.makeMessageType( * * @generated from message engine_api.GetServiceLogsArgs */ -export const GetServiceLogsArgs = /*@__PURE__*/ proto3.makeMessageType( +export const GetServiceLogsArgs = proto3.makeMessageType( "engine_api.GetServiceLogsArgs", () => [ { no: 1, name: "enclave_identifier", kind: "scalar", T: 9 /* ScalarType.STRING */ }, @@ -271,7 +271,7 @@ export const GetServiceLogsArgs = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.GetServiceLogsResponse */ -export const GetServiceLogsResponse = /*@__PURE__*/ proto3.makeMessageType( +export const GetServiceLogsResponse = proto3.makeMessageType( "engine_api.GetServiceLogsResponse", () => [ { no: 1, name: "service_logs_by_service_uuid", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: LogLine} }, @@ -282,7 +282,7 @@ export const GetServiceLogsResponse = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.LogLine */ -export const LogLine = /*@__PURE__*/ proto3.makeMessageType( +export const LogLine = proto3.makeMessageType( "engine_api.LogLine", () => [ { no: 1, name: "line", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, @@ -293,7 +293,7 @@ export const LogLine = /*@__PURE__*/ proto3.makeMessageType( /** * @generated from message engine_api.LogLineFilter */ -export const LogLineFilter = /*@__PURE__*/ proto3.makeMessageType( +export const LogLineFilter = proto3.makeMessageType( "engine_api.LogLineFilter", () => [ { no: 1, name: "operator", kind: "enum", T: proto3.getEnumType(LogLineOperator) }, diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts index 4a41f55da9..523a2a2d20 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts @@ -1,7 +1,7 @@ import * as grpcWeb from 'grpc-web'; -import * as engine_service_pb from './engine_service_pb'; // proto import: "engine_service.proto" -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" +import * as engine_service_pb from './engine_service_pb'; +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; export class EngineServiceClient { diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js index 6a8a4bad27..6a18e31707 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js @@ -6,7 +6,7 @@ // Code generated by protoc-gen-grpc-web. DO NOT EDIT. // versions: -// protoc-gen-grpc-web v1.5.0 +// protoc-gen-grpc-web v1.4.2 // protoc v3.19.1 // source: engine_service.proto diff --git a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts index 06fc96768c..29cffdefcd 100644 --- a/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts +++ b/api/typescript/src/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts @@ -1,7 +1,7 @@ import * as jspb from 'google-protobuf' -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" -import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb'; // proto import: "google/protobuf/timestamp.proto" +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; +import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb'; export class GetEngineInfoResponse extends jspb.Message { diff --git a/api/typescript/src/kurtosis_version/kurtosis_version.ts b/api/typescript/src/kurtosis_version/kurtosis_version.ts index ebb2ed16fa..9171510ee2 100644 --- a/api/typescript/src/kurtosis_version/kurtosis_version.ts +++ b/api/typescript/src/kurtosis_version/kurtosis_version.ts @@ -1,5 +1,5 @@ // !!!!!!!!!!! DO NOT UPDATE! WILL BE MANUALLY UPDATED DURING THE RELEASE PROCESS !!!!!!!!!!!!!!!!!!!!!! // This is necessary so that Kurt Core consumers (e.g. modules) will know if they're compatible with the currently-running // API container -export const KURTOSIS_VERSION: string = "0.89.9" +export const KURTOSIS_VERSION: string = "0.89.10" // !!!!!!!!!!! DO NOT UPDATE! WILL BE MANUALLY UPDATED DURING THE RELEASE PROCESS !!!!!!!!!!!!!!!!!!!!!! From d2406b2dae90dcab90e8cc23d8ae43eaa086bcba Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Thu, 16 May 2024 15:32:29 +0100 Subject: [PATCH 04/10] have to figure out how pooling works with this --- cli/cli/commands/engine/restart/restart.go | 2 +- cli/cli/commands/engine/start/start.go | 33 ++++++++++++++++--- .../engine_existence_guarantor.go | 10 +++++- .../helpers/engine_manager/engine_manager.go | 7 ++-- .../engine/enclave_manager/enclave_creator.go | 3 +- 5 files changed, 44 insertions(+), 11 deletions(-) diff --git a/cli/cli/commands/engine/restart/restart.go b/cli/cli/commands/engine/restart/restart.go index 664f636867..e8cce63d0c 100644 --- a/cli/cli/commands/engine/restart/restart.go +++ b/cli/cli/commands/engine/restart/restart.go @@ -151,7 +151,7 @@ func run(_ context.Context, flags *flags.ParsedFlags, _ *args.ParsedArgs) error return stacktrace.Propagate(err, "Expected a value for the '%v' flag but failed to get it", restartAPIContainersFlagKey) } - engineAuthorFlag, err := flags.GetString(engineAuthorFlagKey) + engineAuthor, err := flags.GetString(engineAuthorFlagKey) if err != nil { return stacktrace.Propagate(err, "Expected a value for the '%v' flag but failed to get it", engineAuthorFlagKey) } diff --git a/cli/cli/commands/engine/start/start.go b/cli/cli/commands/engine/start/start.go index 29bcbdf278..bbf989f25d 100644 --- a/cli/cli/commands/engine/start/start.go +++ b/cli/cli/commands/engine/start/start.go @@ -20,11 +20,13 @@ import ( const ( engineVersionFlagKey = "version" + engineAuthorFlagKey = "author" logLevelFlagKey = "log-level" enclavePoolSizeFlagKey = "enclave-pool-size" githubAuthTokenOverrideFlagKey = "github-auth-token" defaultEngineVersion = "" + defaultEngineAuthor = "kurtosistech" kurtosisTechEngineImagePrefix = "kurtosistech/engine" imageVersionDelimiter = ":" @@ -45,6 +47,13 @@ var StartCmd = &lowlevel.LowlevelKurtosisCommand{ Type: flags.FlagType_String, Default: defaultEngineVersion, }, + { + Key: engineAuthorFlagKey, + Usage: "The author (Docker username) of the Kurtosis engine that should be started (blank will start the kurtosistech version)", + Shorthand: "", + Type: flags.FlagType_String, + Default: defaultEngineAuthor, + }, { Key: logLevelFlagKey, Usage: fmt.Sprintf( @@ -138,16 +147,30 @@ func run(_ context.Context, flags *flags.ParsedFlags, _ *args.ParsedArgs) error return stacktrace.Propagate(err, "Expected a value for the '%v' flag but failed to get it", restartAPIContainersFlagKey) } + engineAuthor, err := flags.GetString(engineAuthorFlagKey) + if err != nil { + return stacktrace.Propagate(err, "Expected a value for the '%v' flag but failed to get it", engineAuthorFlagKey) + } + + if engineAuthor != defaultEngineAuthor && engineVersion == defaultEngineVersion { + return stacktrace.NewError("Expected '%v' to be set as '%v' was set. Need to enter a custom engine veresion if a custom engine author is set", engineVersionFlagKey, engineAuthorFlagKey) + } + + imageForLogging := kurtosisTechEngineImagePrefix + if engineAuthor != defaultEngineAuthor { + imageForLogging = strings.Replace(imageForLogging, defaultEngineAuthor, engineAuthor, 1) + } + if engineVersion == defaultEngineVersion && isDebugMode { engineDebugVersion := fmt.Sprintf("%s-%s", kurtosis_version.KurtosisVersion, defaults.DefaultKurtosisContainerDebugImageNameSuffix) - logrus.Infof("Starting Kurtosis engine in debug mode from image '%v%v%v'...", kurtosisTechEngineImagePrefix, imageVersionDelimiter, engineDebugVersion) - _, engineClientCloseFunc, startEngineErr = engineManager.StartEngineIdempotentlyWithCustomVersion(ctx, engineDebugVersion, logLevel, enclavePoolSize, true, githubAuthTokenOverride, shouldRestartAPIContainers) + logrus.Infof("Starting Kurtosis engine in debug mode from image '%v%v%v'...", imageForLogging, imageVersionDelimiter, engineDebugVersion) + _, engineClientCloseFunc, startEngineErr = engineManager.StartEngineIdempotentlyWithCustomVersion(ctx, engineDebugVersion, engineAuthor, logLevel, enclavePoolSize, true, githubAuthTokenOverride, shouldRestartAPIContainers) } else if engineVersion == defaultEngineVersion { - logrus.Infof("Starting Kurtosis engine from image '%v%v%v'...", kurtosisTechEngineImagePrefix, imageVersionDelimiter, kurtosis_version.KurtosisVersion) + logrus.Infof("Starting Kurtosis engine from image '%v%v%v'...", imageForLogging, imageVersionDelimiter, kurtosis_version.KurtosisVersion) _, engineClientCloseFunc, startEngineErr = engineManager.StartEngineIdempotentlyWithDefaultVersion(ctx, logLevel, enclavePoolSize, githubAuthTokenOverride, shouldRestartAPIContainers) } else { - logrus.Infof("Starting Kurtosis engine from image '%v%v%v'...", kurtosisTechEngineImagePrefix, imageVersionDelimiter, engineVersion) - _, engineClientCloseFunc, startEngineErr = engineManager.StartEngineIdempotentlyWithCustomVersion(ctx, engineVersion, logLevel, enclavePoolSize, defaults.DefaultEnableDebugMode, githubAuthTokenOverride, shouldRestartAPIContainers) + logrus.Infof("Starting Kurtosis engine from image '%v%v%v'...", imageForLogging, imageVersionDelimiter, engineVersion) + _, engineClientCloseFunc, startEngineErr = engineManager.StartEngineIdempotentlyWithCustomVersion(ctx, engineVersion, engineAuthor, logLevel, enclavePoolSize, defaults.DefaultEnableDebugMode, githubAuthTokenOverride, shouldRestartAPIContainers) } if startEngineErr != nil { return stacktrace.Propagate(startEngineErr, "An error occurred starting the Kurtosis engine") diff --git a/cli/cli/helpers/engine_manager/engine_existence_guarantor.go b/cli/cli/helpers/engine_manager/engine_existence_guarantor.go index 04c6286ee4..1fb3700494 100644 --- a/cli/cli/helpers/engine_manager/engine_existence_guarantor.go +++ b/cli/cli/helpers/engine_manager/engine_existence_guarantor.go @@ -23,6 +23,7 @@ import ( const ( // If set to empty, then we'll use whichever default version the launcher provides defaultEngineImageVersionTag = "" + defaultEngineAuthor = "kurtosistech" shouldForceLogsComponentsContainersRestartWhenEngineContainerIsStopped = true shouldForceLogsComponentsContainersRestartWhenEngineContainerIsRunning = false ) @@ -84,6 +85,9 @@ type engineExistenceGuarantor struct { // To restart the current API containers after the engine has been restarted restartAPIContainers bool + + // The author of the repository where the engine is + engineAuthor string } func newEngineExistenceGuarantorWithDefaultVersion( @@ -110,6 +114,7 @@ func newEngineExistenceGuarantorWithDefaultVersion( shouldSendMetrics, engineServerKurtosisBackendConfigSupplier, defaultEngineImageVersionTag, + defaultEngineAuthor, logLevel, maybeCurrentlyRunningEngineVersionTag, kurtosisClusterType, @@ -130,6 +135,7 @@ func newEngineExistenceGuarantorWithCustomVersion( shouldSendMetrics bool, engineServerKurtosisBackendConfigSupplier engine_server_launcher.KurtosisBackendConfigSupplier, imageVersionTag string, + engineAuthor string, logLevel logrus.Level, maybeCurrentlyRunningEngineVersionTag string, kurtosisClusterType resolved_config.KurtosisClusterType, @@ -160,6 +166,7 @@ func newEngineExistenceGuarantorWithCustomVersion( shouldRunInDebugMode: shouldRunInDebugMode, githubAuthTokenOverride: githubAuthTokenOverride, restartAPIContainers: restartAPIContainers, + engineAuthor: engineAuthor, } } @@ -221,9 +228,10 @@ func (guarantor *engineExistenceGuarantor) VisitStopped() error { guarantor.restartAPIContainers, ) } else { - _, _, engineLaunchErr = guarantor.engineServerLauncher.LaunchWithCustomVersion( + _, _, engineLaunchErr = guarantor.engineServerLauncher.LaunchWithCustomImageAuthor( guarantor.ctx, guarantor.imageVersionTag, + guarantor.engineAuthor, guarantor.logLevel, kurtosis_context.DefaultGrpcEngineServerPortNum, metricsUserId, diff --git a/cli/cli/helpers/engine_manager/engine_manager.go b/cli/cli/helpers/engine_manager/engine_manager.go index 5a28737b53..8ca8ff4610 100644 --- a/cli/cli/helpers/engine_manager/engine_manager.go +++ b/cli/cli/helpers/engine_manager/engine_manager.go @@ -219,7 +219,7 @@ func (manager *EngineManager) StartEngineIdempotentlyWithDefaultVersion( func (manager *EngineManager) StartEngineIdempotentlyWithCustomVersion( ctx context.Context, engineImageVersionTag string, - engineAuthorFlagKey string, + engineAuthor string, logLevel logrus.Level, poolSize uint8, shouldStartInDebugMode bool, @@ -239,6 +239,7 @@ func (manager *EngineManager) StartEngineIdempotentlyWithCustomVersion( manager.shouldSendMetrics, manager.engineServerKurtosisBackendConfigSupplier, engineImageVersionTag, + engineAuthor, logLevel, engineVersion, clusterType, @@ -344,7 +345,7 @@ func (manager *EngineManager) RestartEngineIdempotently( ctx context.Context, logLevel logrus.Level, optionalVersionToUse string, - engineAuthorFlagKey string, + engineAuthor string, restartEngineOnSameVersionIfAnyRunning bool, poolSize uint8, shouldStartInDebugMode bool, @@ -375,7 +376,7 @@ func (manager *EngineManager) RestartEngineIdempotently( var engineClientCloseFunc func() error var restartEngineErr error if versionOfNewEngine != defaultEngineVersion { - _, engineClientCloseFunc, restartEngineErr = manager.StartEngineIdempotentlyWithCustomVersion(ctx, versionOfNewEngine, logLevel, poolSize, shouldStartInDebugMode, githubAuthTokenOverride, shouldRestartAPIContainers) + _, engineClientCloseFunc, restartEngineErr = manager.StartEngineIdempotentlyWithCustomVersion(ctx, versionOfNewEngine, engineAuthor, logLevel, poolSize, shouldStartInDebugMode, githubAuthTokenOverride, shouldRestartAPIContainers) } else { _, engineClientCloseFunc, restartEngineErr = manager.StartEngineIdempotentlyWithDefaultVersion(ctx, logLevel, poolSize, githubAuthTokenOverride, shouldRestartAPIContainers) } diff --git a/engine/server/engine/enclave_manager/enclave_creator.go b/engine/server/engine/enclave_manager/enclave_creator.go index c0192d7818..8a51a2c5c0 100644 --- a/engine/server/engine/enclave_manager/enclave_creator.go +++ b/engine/server/engine/enclave_manager/enclave_creator.go @@ -210,9 +210,10 @@ func (creator *EnclaveCreator) LaunchApiContainer( creator.kurtosisBackend, ) if apiContainerImageVersionTag != "" { - apiContainer, err := apiContainerLauncher.LaunchWithCustomVersion( + apiContainer, err := apiContainerLauncher.LaunchWithCustomImageAuthor( ctx, apiContainerImageVersionTag, + imageAuthor, logLevel, enclaveUuid, grpcListenPort, From 72461af6e9ee0fe66d5aac0d886c44655beae46f Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Thu, 16 May 2024 15:46:14 +0100 Subject: [PATCH 05/10] it builds --- cli/cli/commands/github/login/login.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cli/cli/commands/github/login/login.go b/cli/cli/commands/github/login/login.go index d0e5ffb86a..fbfb1034d3 100644 --- a/cli/cli/commands/github/login/login.go +++ b/cli/cli/commands/github/login/login.go @@ -18,6 +18,7 @@ import ( const ( defaultEngineVersion = "" + defaultEngineAuthor = "kurtosistech" restartEngineOnSameVersionIfAnyRunning = true ) @@ -71,7 +72,7 @@ func RestartEngineAfterGitHubAuth(ctx context.Context) error { var engineClientCloseFunc func() error var restartEngineErr error dontRestartAPIContainers := false - _, engineClientCloseFunc, restartEngineErr = engineManager.RestartEngineIdempotently(ctx, defaults.DefaultEngineLogLevel, defaultEngineVersion, restartEngineOnSameVersionIfAnyRunning, defaults.DefaultEngineEnclavePoolSize, defaults.DefaultEnableDebugMode, defaults.DefaultGitHubAuthTokenOverride, dontRestartAPIContainers) + _, engineClientCloseFunc, restartEngineErr = engineManager.RestartEngineIdempotently(ctx, defaults.DefaultEngineLogLevel, defaultEngineVersion, defaultEngineAuthor, restartEngineOnSameVersionIfAnyRunning, defaults.DefaultEngineEnclavePoolSize, defaults.DefaultEnableDebugMode, defaults.DefaultGitHubAuthTokenOverride, dontRestartAPIContainers) if restartEngineErr != nil { return stacktrace.Propagate(restartEngineErr, "An error occurred restarting the Kurtosis engine") } From ac19d7ccfee968adbcc1752321b40a2bfd92fe57 Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Thu, 16 May 2024 15:50:25 +0100 Subject: [PATCH 06/10] this should work --- .../launcher/engine_server_launcher/engine_server_launcher.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/launcher/engine_server_launcher/engine_server_launcher.go b/engine/launcher/engine_server_launcher/engine_server_launcher.go index 5c5481ed0f..5bb35a8d87 100644 --- a/engine/launcher/engine_server_launcher/engine_server_launcher.go +++ b/engine/launcher/engine_server_launcher/engine_server_launcher.go @@ -153,7 +153,7 @@ func (launcher *EngineServerLauncher) LaunchWithCustomImageAuthor( grpcListenPortNum, logLevel.String(), imageVersionTag, - defaultImageAuthor, + imageAuthor, metricsUserID, didUserAcceptSendingMetrics, kurtosisBackendType, From b2ed0375d2c88c65baaa30cd28c47604d7220d38 Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Thu, 16 May 2024 16:36:43 +0100 Subject: [PATCH 07/10] disable pooling for non default author --- engine/server/engine/enclave_manager/enclave_manager.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engine/server/engine/enclave_manager/enclave_manager.go b/engine/server/engine/enclave_manager/enclave_manager.go index af90c3d2af..2b9c84e905 100644 --- a/engine/server/engine/enclave_manager/enclave_manager.go +++ b/engine/server/engine/enclave_manager/enclave_manager.go @@ -35,6 +35,8 @@ const ( errorDelimiter = ", " enclaveNameNotFound = "Name Not Found" + + defaultImageAuthor = "kurtosistech" ) // TODO Move this to the KurtosisBackend to calculate!! @@ -168,7 +170,7 @@ func (manager *EnclaveManager) CreateEnclave( } // TODO(victor.colombo): Extend enclave pool to have warm production enclaves - if !isProduction && manager.enclavePool != nil { + if (imageAuthor == defaultImageAuthor) && !isProduction && manager.enclavePool != nil { enclaveInfo, err = manager.enclavePool.GetEnclave( setupCtx, enclaveName, From ccd1d1052e4ddf4cb2544191faa51be2264a2cb3 Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Fri, 17 May 2024 14:31:59 +0100 Subject: [PATCH 08/10] this works --- engine/server/engine/enclave_manager/enclave_manager.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engine/server/engine/enclave_manager/enclave_manager.go b/engine/server/engine/enclave_manager/enclave_manager.go index 2b9c84e905..e672e55993 100644 --- a/engine/server/engine/enclave_manager/enclave_manager.go +++ b/engine/server/engine/enclave_manager/enclave_manager.go @@ -184,6 +184,12 @@ func (manager *EnclaveManager) CreateEnclave( } } + // if the api container version isn't set and the engine author isn't kurtosistech we set it to the + // engine version passed + if imageAuthor != defaultImageAuthor && apiContainerImageVersionTag == "" { + apiContainerImageVersionTag = engineVersion + } + if enclaveInfo == nil { enclaveInfo, err = manager.enclaveCreator.CreateEnclave( setupCtx, From 51747f5d4bab9a6d8c37b26aab1f37f0647492fe Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Fri, 17 May 2024 14:55:44 +0100 Subject: [PATCH 09/10] reduce magic constants --- cli/cli/commands/engine/restart/restart.go | 4 ++++ .../service_config_full_framework_backward_compatible_test.go | 2 +- .../test_engine/service_config_full_framework_test.go | 2 +- .../service_config_multiple_files_in_same_folder_test.go | 2 +- .../test_engine/static_constants.go | 2 ++ .../startosis_engine/startosis_interpreter_idempotent_test.go | 4 +++- .../startosis_engine/startosis_interpreter_plan_yaml_test.go | 2 +- engine/server/engine/enclave_manager/enclave_manager.go | 4 +++- engine/server/engine/enclave_manager/enclave_pool.go | 2 +- 9 files changed, 17 insertions(+), 7 deletions(-) diff --git a/cli/cli/commands/engine/restart/restart.go b/cli/cli/commands/engine/restart/restart.go index e8cce63d0c..78d4e15042 100644 --- a/cli/cli/commands/engine/restart/restart.go +++ b/cli/cli/commands/engine/restart/restart.go @@ -156,6 +156,10 @@ func run(_ context.Context, flags *flags.ParsedFlags, _ *args.ParsedArgs) error return stacktrace.Propagate(err, "Expected a value for the '%v' flag but failed to get it", engineAuthorFlagKey) } + if engineAuthor != defaultEngineAuthor && engineVersion == defaultEngineVersion { + return stacktrace.NewError("Expected '%v' to be set as '%v' was set. Need to enter a custom engine veresion if a custom engine author is set", engineVersionFlagKey, engineAuthorFlagKey) + } + var engineClientCloseFunc func() error var restartEngineErr error _, engineClientCloseFunc, restartEngineErr = engineManager.RestartEngineIdempotently(ctx, logLevel, engineVersion, engineAuthor, restartEngineOnSameVersionIfAnyRunning, enclavePoolSize, shouldStartInDebugMode, githubAuthTokenOverride, shouldRestartAPIContainers) diff --git a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_backward_compatible_test.go b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_backward_compatible_test.go index a1ffcbf1f7..a7c0835ed5 100644 --- a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_backward_compatible_test.go +++ b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_backward_compatible_test.go @@ -22,7 +22,7 @@ type serviceConfigFullTestCaseBackwardCompatible struct { func (suite *KurtosisTypeConstructorTestSuite) TestServiceConfigFullBackwardCompatible() { suite.serviceNetwork.EXPECT().GetApiContainerInfo().Times(1).Return( - service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", "kurtosistech"), + service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", testImageAuthor), ) suite.run(&serviceConfigFullTestCaseBackwardCompatible{ diff --git a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_test.go b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_test.go index 65edf49ee8..b1eaba1e1e 100644 --- a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_test.go +++ b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_full_framework_test.go @@ -25,7 +25,7 @@ type serviceConfigFullTestCase struct { func (suite *KurtosisTypeConstructorTestSuite) TestServiceConfigFull() { suite.serviceNetwork.EXPECT().GetApiContainerInfo().Times(1).Return( - service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", "kurtosistech"), + service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", testImageAuthor), ) suite.run(&serviceConfigFullTestCase{ diff --git a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_multiple_files_in_same_folder_test.go b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_multiple_files_in_same_folder_test.go index cbadb8cf4c..5995fc847a 100644 --- a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_multiple_files_in_same_folder_test.go +++ b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/service_config_multiple_files_in_same_folder_test.go @@ -22,7 +22,7 @@ type serviceConfigMultipleFilesInSameFolderTestCase struct { func (suite *KurtosisTypeConstructorTestSuite) TestServiceConfigMultipleFilesInSameFolder() { suite.serviceNetwork.EXPECT().GetApiContainerInfo().Times(1).Return( - service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", "kurtosistech"), + service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), 0, "0.0.0", testImageAuthor), ) suite.run(&serviceConfigMultipleFilesInSameFolderTestCase{ diff --git a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/static_constants.go b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/static_constants.go index 45f580e662..77b376efff 100644 --- a/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/static_constants.go +++ b/core/server/api_container/server/startosis_engine/kurtosis_starlark_framework/test_engine/static_constants.go @@ -151,4 +151,6 @@ var ( testTolerationSeconds = int64(64) testFilesToBeMoved = "test.txt" + + testImageAuthor = "kurtosistech" ) diff --git a/core/server/api_container/server/startosis_engine/startosis_interpreter_idempotent_test.go b/core/server/api_container/server/startosis_engine/startosis_interpreter_idempotent_test.go index eeda410764..b652056026 100644 --- a/core/server/api_container/server/startosis_engine/startosis_interpreter_idempotent_test.go +++ b/core/server/api_container/server/startosis_engine/startosis_interpreter_idempotent_test.go @@ -32,6 +32,8 @@ const ( noInputParams = "{}" defaultNonBlockingMode = false + + testImageAuthor = "kurtosistech" ) var noPackageReplaceOptions = map[string]string{} @@ -69,7 +71,7 @@ func (suite *StartosisInterpreterIdempotentTestSuite) SetupTest() { serviceNetwork := service_network.NewMockServiceNetwork(suite.T()) serviceNetwork.EXPECT().GetApiContainerInfo().Maybe().Return( - service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), uint16(1234), "0.0.0", "kurtosistech"), + service_network.NewApiContainerInfo(net.IPv4(0, 0, 0, 0), uint16(1234), "0.0.0", testImageAuthor), ) serviceNetwork.EXPECT().GetEnclaveUuid().Maybe().Return(enclaveUuid) suite.interpreter = NewStartosisInterpreter(serviceNetwork, suite.packageContentProvider, runtimeValueStore, starlarkValueSerde, "", interpretationTimeValueStore) diff --git a/core/server/api_container/server/startosis_engine/startosis_interpreter_plan_yaml_test.go b/core/server/api_container/server/startosis_engine/startosis_interpreter_plan_yaml_test.go index d6c73d043c..9a4e8087ef 100644 --- a/core/server/api_container/server/startosis_engine/startosis_interpreter_plan_yaml_test.go +++ b/core/server/api_container/server/startosis_engine/startosis_interpreter_plan_yaml_test.go @@ -67,7 +67,7 @@ func (suite *StartosisIntepreterPlanYamlTestSuite) SetupTest() { net.IP{}, mockApicPortNum, mockApicVersion, - "kurtosistech") + testImageAuthor) suite.serviceNetwork.EXPECT().GetApiContainerInfo().Return(apiContainerInfo) suite.interpreter = NewStartosisInterpreter(suite.serviceNetwork, suite.packageContentProvider, suite.runtimeValueStore, nil, "", suite.interpretationTimeValueStore) diff --git a/engine/server/engine/enclave_manager/enclave_manager.go b/engine/server/engine/enclave_manager/enclave_manager.go index e672e55993..5fc36a6b46 100644 --- a/engine/server/engine/enclave_manager/enclave_manager.go +++ b/engine/server/engine/enclave_manager/enclave_manager.go @@ -170,6 +170,8 @@ func (manager *EnclaveManager) CreateEnclave( } // TODO(victor.colombo): Extend enclave pool to have warm production enclaves + // if the image author is default only then we use the pooling + // TODO(gm) fix t his if (imageAuthor == defaultImageAuthor) && !isProduction && manager.enclavePool != nil { enclaveInfo, err = manager.enclavePool.GetEnclave( setupCtx, @@ -185,7 +187,7 @@ func (manager *EnclaveManager) CreateEnclave( } // if the api container version isn't set and the engine author isn't kurtosistech we set it to the - // engine version passed + // engine version passed; otherwise try user passed version with custom author if imageAuthor != defaultImageAuthor && apiContainerImageVersionTag == "" { apiContainerImageVersionTag = engineVersion } diff --git a/engine/server/engine/enclave_manager/enclave_pool.go b/engine/server/engine/enclave_manager/enclave_pool.go index 9d4f65005e..f97b660e96 100644 --- a/engine/server/engine/enclave_manager/enclave_pool.go +++ b/engine/server/engine/enclave_manager/enclave_pool.go @@ -283,7 +283,7 @@ func (pool *EnclavePool) createNewIdleEnclave(ctx context.Context) (*types.Encla newEnclaveInfo, err := pool.enclaveCreator.CreateEnclave( ctx, - "kurtosistech", + defaultImageAuthor, apiContainerVersion, defaultApiContainerLogLevel, enclaveName, From 67c61a65d98760a255a592e401d647c59fde64b3 Mon Sep 17 00:00:00 2001 From: Gyanendra Mishra Date: Fri, 17 May 2024 14:57:40 +0100 Subject: [PATCH 10/10] added docs --- docs/docs/cli-reference/engine-restart.md | 3 ++- docs/docs/cli-reference/engine-start.md | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/docs/cli-reference/engine-restart.md b/docs/docs/cli-reference/engine-restart.md index 7ed0750d0f..3469e7aa88 100644 --- a/docs/docs/cli-reference/engine-restart.md +++ b/docs/docs/cli-reference/engine-restart.md @@ -13,6 +13,7 @@ kurtosis engine restart You may optionally pass in the following flags with this command: * `--log-level`: The level that the started engine should log at. Options include: `panic`, `fatal`, `error`, `warning`, `info`, `debug`, or `trace`. The engine logs at the `info` level by default. * `--version`: The version (Docker tag) of the Kurtosis engine that should be started. If not set, the engine will start up with the default version. +* `--author`: "The author (Docker username) of the Kurtosis engine that should be started (blank will start the kurtosistech version). The same author and version are used for the API Container & Files Artifact Expander. * `--enclave-pool-size`: The size of the Kurtosis engine enclave pool. The enclave pool is a component of the Kurtosis engine that allows us to create and maintain 'n' number of idle enclaves for future use. This functionality allows to improve the performance for each new creation enclave request. -CAUTION: The `--enclave-pool-size` flag is only available for Kubernetes. \ No newline at end of file +CAUTION: The `--enclave-pool-size` flag is only available for Kubernetes. The enclave pool is disabled for custom engine author for now. \ No newline at end of file diff --git a/docs/docs/cli-reference/engine-start.md b/docs/docs/cli-reference/engine-start.md index 39955dc329..6f431e54a0 100644 --- a/docs/docs/cli-reference/engine-start.md +++ b/docs/docs/cli-reference/engine-start.md @@ -14,7 +14,8 @@ This command will do nothing if the Kurtosis engine is already running. You may optionally pass in the following flags with this command: * `--log-level`: The level that the started engine should log at. Options include: `panic`, `fatal`, `error`, `warning`, `info`, `debug`, or `trace`. The engine logs at the `info` level by default. * `--version`: The version (Docker tag) of the Kurtosis engine that should be started. If not set, the engine will start up with the default version. +* `--author`: "The author (Docker username) of the Kurtosis engine that should be started (blank will start the kurtosistech version). The same author and version are used for the API Container & Files Artifact Expander. * `--enclave-pool-size`: The size of the Kurtosis engine enclave pool. The enclave pool is a component of the Kurtosis engine that allows us to create and maintain 'n' number of idle enclaves for future use. This functionality allows to improve the performance for each new creation enclave request. * `--github-auth-token`: The auth token to use for authorizing GitHub operations. If set, this will override the currently logged in GitHub user from `kurtosis github login`, if one exists. Note, this token does not persist when restarting the engine. -CAUTION: The `--enclave-pool-size` flag is only available for Kubernetes. \ No newline at end of file +CAUTION: The `--enclave-pool-size` flag is only available for Kubernetes. The enclave pool is disabled for custom engine author for now. \ No newline at end of file