Proto commits in kubeshop/testkube

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:a382d48
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

feat(triggers): schema-aware match conditions (#7566) * feat(agent): add GET /v1/cluster-resources for UI autodiscovery * feat(proto): AgentInventoryService with PutClusterResources * feat(triggers): schema-aware match conditions WIP * fix(triggers): propagate listenerAgentIds through mappers/scraper, release informers by old GVK on unpin, gzip inventory push, validate change-operators on empty event * feat(triggers): pin listeners via a Target selector (listener.match.id) instead of listenerAgentIds * refactor(triggers): extract ValidateMatchConditions with typed reason codes so cp-api can reuse match validation

Commit:0ed76c5
Author:Dejan Zele Pejchev
Committer:GitHub

feat(triggers): schema-aware match conditions (#7566) * feat(agent): add GET /v1/cluster-resources for UI autodiscovery * feat(proto): AgentInventoryService with PutClusterResources * feat(triggers): schema-aware match conditions WIP * fix(triggers): propagate listenerAgentIds through mappers/scraper, release informers by old GVK on unpin, gzip inventory push, validate change-operators on empty event * feat(triggers): pin listeners via a Target selector (listener.match.id) instead of listenerAgentIds * refactor(triggers): extract ValidateMatchConditions with typed reason codes so cp-api can reuse match validation

Commit:d18cda3
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

feat(proto): AgentInventoryService with PutClusterResources

Commit:c95189e
Author:Caio Medeiros Pinto
Committer:GitHub

fix(grpc): propagate execution tags in execution start updates (#7833) * fix(testworkflows): pass execution tags into expression machine * fix(grpc): propagate execution tags in start updates * chore(lint): apply goimports formatting

Commit:0687d48
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

feat(proto): AgentInventoryService with PutClusterResources

Commit:afa2611
Author:Caio Medeiros Pinto
Committer:Caio Medeiros Pinto

feat(agentserver): send registration metadata on reconnect (TKC-5876) (#7786) * feat(agentserver): send registration metadata on reconnect Carry labels, runner_group and is_global through the existing UpdateAgentCapabilitiesOnStartup RPC so runner-controlled fields stay fresh after the initial Register. Gated by a new opt-in flag so old servers stay untouched. - proto/service.proto: extend UpdateAgentCapabilitiesOnStartupRequest with labels, runner_group, is_global, update_registration_metadata. - cmd/api-server/main.go: extract collectRunnerRegistrationLabels and use it in both the Register and reconnect call sites. Refs: TKC-5876 * fix(agentserver): skip metadata refresh on failed deployment label read Address Greptile P1+P2: - collectRunnerRegistrationLabels and getDeploymentLabels now return an error so a Kubernetes Deployment lookup failure is observable. - In the reconnect path, when the lookup fails we skip the metadata update (UpdateRegistrationMetadata=false) so a transient K8s API or RBAC failure cannot replace the control plane's existing labels with a near-empty self-registration-only set. - Reconnect-path label fetch now uses updateCtx so a stalled K8s GET cannot block startup past the 5s control-plane RPC budget. - Initial Register path falls back to {registration:self} on lookup failure (preserves prior behavior; first registration has no prior labels to clobber). Refs: TKC-5876 * fix(agentserver): decouple labels from runner_policy in startup metadata refresh Split UpdateRegistrationMetadata into independent UpdateLabels and UpdateRunnerPolicy flags so a failed Deployment label lookup no longer suppresses runner_group / is_global propagation. Those values come from runner config and do not depend on the Kubernetes API. Addresses Greptile P1 review on PR #7786.

Commit:a203c04
Author:Caio Medeiros Pinto
Committer:GitHub

feat(agentserver): send registration metadata on reconnect (TKC-5876) (#7786) * feat(agentserver): send registration metadata on reconnect Carry labels, runner_group and is_global through the existing UpdateAgentCapabilitiesOnStartup RPC so runner-controlled fields stay fresh after the initial Register. Gated by a new opt-in flag so old servers stay untouched. - proto/service.proto: extend UpdateAgentCapabilitiesOnStartupRequest with labels, runner_group, is_global, update_registration_metadata. - cmd/api-server/main.go: extract collectRunnerRegistrationLabels and use it in both the Register and reconnect call sites. Refs: TKC-5876 * fix(agentserver): skip metadata refresh on failed deployment label read Address Greptile P1+P2: - collectRunnerRegistrationLabels and getDeploymentLabels now return an error so a Kubernetes Deployment lookup failure is observable. - In the reconnect path, when the lookup fails we skip the metadata update (UpdateRegistrationMetadata=false) so a transient K8s API or RBAC failure cannot replace the control plane's existing labels with a near-empty self-registration-only set. - Reconnect-path label fetch now uses updateCtx so a stalled K8s GET cannot block startup past the 5s control-plane RPC budget. - Initial Register path falls back to {registration:self} on lookup failure (preserves prior behavior; first registration has no prior labels to clobber). Refs: TKC-5876 * fix(agentserver): decouple labels from runner_policy in startup metadata refresh Split UpdateRegistrationMetadata into independent UpdateLabels and UpdateRunnerPolicy flags so a failed Deployment label lookup no longer suppresses runner_group / is_global propagation. Those values come from runner config and do not depend on the Kubernetes API. Addresses Greptile P1 review on PR #7786.

Commit:b45ddfc
Author:Mark Gascoyne
Committer:GitHub

feat: [TKC-5638] add RunspaceBridgeService proto definition (#7647) Defines the bidirectional gRPC stream between the runspace bridge (Go, in cloud-api) and the AI service (Node.js), including session negotiation, workspace sync events, and file I/O RPC types.

Commit:8fff975
Author:Mark Gascoyne

feat: [TKC-5719] add FileChanged and Checkpoint to runspace bridge proto Adds FileChanged message (path, change_type enum, content bytes, seq) and Checkpoint marker to BridgeMessage oneof. Regenerated pb.go via make generate-protobuf.

Commit:a5a9190
Author:Mark Gascoyne

feat: [TKC-5638] add RunspaceBridgeService proto definition Defines the bidirectional gRPC stream between the runspace bridge (Go, in cloud-api) and the AI service (Node.js), including session negotiation, workspace sync events, and file I/O RPC types.

Commit:4ff5c98
Author:Dejan Zele Pejchev
Committer:GitHub

feat: [TKC-5460] WorkflowTrigger CLI, OSS API, agent client (k8s + cloud), and cloud-watch (#7535) Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:f71bfe2
Author:Dejan Zele Pejchev
Committer:GitHub

feat: [TKC-5460] WorkflowTrigger CRD types, field matching engine, internal trigger type (#7523) * feat: [TKC-5460] WorkflowTrigger v2 types, field matcher, and executor integration Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com> * feat: [TKC-5405] add dynamic informers + resourceRef for custom resource support (#7528) Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com> --------- Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:9381b39
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

feat: [TKC-5460] cloud-watch + proto + controlplaneclient for WorkflowTrigger Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:d76ee5a
Author:Dejan Zele Pejchev

feat: [TKC-5460] WorkflowTrigger v2 types, field matcher, and executor integration Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:cfc81ab
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

feat: [TKC-5460] add WorkflowTrigger CRD types, field matching engine, and internal trigger type Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:1f3705a
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

feat: [TKC-5460] add WorkflowTrigger CRD types, field matching engine, and internal trigger type Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:9b7bef2
Author:Povilas Versockas
Committer:GitHub

fix: [TKC-5412] fix workflow log streaming (#7488) * feat: [TKC-5412] add workflow stream resume protocol * chore: [TKC-5412] regenerate workflow stream protocol types * feat: [TKC-5412] make agent log streams resilient * feat: [TKC-5412] resume workflow logs in the CLI * fix: [TKC-5412] remove unused workflow stream test assignment * fix: [TKC-5412] harden notification stream manager * fix up * fix: [TKC-5412] preserve workflow log replay stream identity

Commit:52efe1c
Author:Mark Gascoyne
Committer:GitHub

feat: [TKC-5159] add targetSelector to ListWebhooksV2 for webhook target filtering (#7462) * feat: [TKC-5159] add targetSelector field to ListWebhooksV2Request proto Add map<string, string> targetSelector (field 7) to ListWebhooksV2Request, allowing callers to opt-in to server-side webhook target filtering by passing their own labels. * feat: [TKC-5159] pass agent labels as targetSelector in ListWebhooksV2 Wire agent labels (including synthetic id/name) through CloudWebhookClient as a TargetSelector so the control plane can filter webhooks by target. Filtering is opt-in: agents that do not send a TargetSelector receive all webhooks (backwards compatible). * fix: [TKC-5159] guard against empty agent ID/name in target selector Only include synthetic "id" and "name" keys when non-empty, so a misconfigured agent omits them from the selector (less restrictive) rather than sending empty strings that match nothing.

Commit:3f76026
Author:Povilas Versockas
Committer:Povilas Versockas

feat: [TKC-5104] sync startup capabilities with control plane (#7175)

Commit:920a45e
Author:Povilas Versockas
Committer:GitHub

feat: [TKC-5104] sync startup capabilities with control plane (#7175)

Commit:ea4a649
Author:Copilot
Committer:Vladislav Sukhin

feat: Add runnerId field to TestWorkflowServiceNotificationsRequest and TestWorkflowParallelStepNotificationsRequest proto messages (#7088) * Initial plan * feat: Add runnerId field to TestWorkflowServiceNotificationsRequest and TestWorkflowParallelStepNotificationsRequest proto messages Co-authored-by: vsukhin <5984962+vsukhin@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vsukhin <5984962+vsukhin@users.noreply.github.com>

Commit:1147694
Author:Copilot
Committer:GitHub

feat: Add runnerId field to TestWorkflowServiceNotificationsRequest and TestWorkflowParallelStepNotificationsRequest proto messages (#7088) * Initial plan * feat: Add runnerId field to TestWorkflowServiceNotificationsRequest and TestWorkflowParallelStepNotificationsRequest proto messages Co-authored-by: vsukhin <5984962+vsukhin@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vsukhin <5984962+vsukhin@users.noreply.github.com>

Commit:33ec7b3
Author:Povilas Versockas
Committer:GitHub

feat: [TKC-4630] add support for webhook capability (#6906)

Commit:367d756
Author:Alisdair MacLeod
Committer:GitHub

feat: add super agent rollback (#6908) Allow the ability for agents to rollback to become super agents. This is going to cause any data that was added to the Control Plane to become inaccessible, at least until the agent migrates back, but this is a disaster recovery rollback mode anyway.

Commit:93f77ad
Author:Alisdair MacLeod
Committer:GitHub

feat: super agent migration (#6895) * feat: add super agent migration endpoint and return current super-agent-ness with procontext * feat: handle procontext super agent status response field * feat: create an override option for super agent migration * feat: implement super agent migration on client side * feat: write to kubernetes termination log if unable to migrate * chore: move super agent migration to a separate file

Commit:c63fafb
Author:Wito
Committer:GitHub

chore: prepare source of truth migration (#6883) * chore: add source of truth capability * chore: deprecate agent.type * chore: generate protobuf

Commit:ff22081
Author:Caio Medeiros Pinto
Committer:Caio Medeiros Pinto

feat: auto registering agent mode labels (#6841) * feat: add runner mode and labels when auto-registering through grpc method * fix: cloud interface new properties get methods * fix: linting alerts * chore: force global mode for super agent * fix: proto of agent request new fields * chore: add agent labels to agent pod as well * fix: debug agent labels to be configured * chore: remove forced debug mode for runner * fix: remove unneeded imports

Commit:bdd456b
Author:ed382
Committer:GitHub

feat(TKC-4532): return runner name after registration (#6856) For legacy super agents the runner name is overriden to the environment ID.

Commit:9fe76b1
Author:Caio Medeiros Pinto
Committer:GitHub

feat: auto registering agent mode labels (#6841) * feat: add runner mode and labels when auto-registering through grpc method * fix: cloud interface new properties get methods * fix: linting alerts * chore: force global mode for super agent * fix: proto of agent request new fields * chore: add agent labels to agent pod as well * fix: debug agent labels to be configured * chore: remove forced debug mode for runner * fix: remove unneeded imports

Commit:ab28bd5
Author:Alisdair MacLeod
Committer:GitHub

chore: deprecate unused RPCs and remove related code (#6833)

Commit:83ffc1d
Author:ed382
Committer:GitHub

feat: webhooks to control plane (#6757) * notes * notes * refactor: webhook loader with opts * refactor: webhook listener with opts * fix: check during become queries * notes * fix: handle not set metrics * fix: handle secret client not set * notes * fix: make webhooks repository optional * feat: make webhook template client optional * refactor: mark deprecated * refactor: rename repository for consistency * refactor: reduce the webhook client interface * refactor: unnecessary predicate * notes * notes * notes * chore: remove unused * notes * refactor: emitter reduce exported fields/methods * notes * notes * refactor: matching of events logic moved to listeners * refactor: single subscription per emitter * notes * refactor: make procontext optional * notes * refactor: make event emitter subject root configurable * notes * notes * feat: webhooks capabalities * feat: disable agent-based webhooks when cloud-based enabled * feat: registration updates and super agent registration * fix: pass procontext to deprecated system for auth * fix: resource and resource id in payloads * feat: event emitter leases * fix: switch to go tool * fix: unit tests * chore: fix lint * docs: clean up todos * chore: integration tests * fix: make lease name unique per release * chore: clean up * chore: clean up * chore: clean up * refactor: simplify mutex usage for listeners slice/map * fix: access to listeners and simplify notify call * fix: lease backend test

Commit:2ccb7f0
Author:Alisdair MacLeod
Committer:GitHub

feat: workflow retrieval rpc (#6828) This replaces passing workflows directly in the execution start message and provides a new rpc to retrieve a "resolved" workflow directly.

Commit:0c7c402
Author:Alisdair MacLeod
Committer:GitHub

feat: resolved workflow rpc (#6823) * feat: pass full workflow when starting execution * feat: use shared execution in sync rpc This is a breaking change but this is ok because the sync feature is unreleased currently. * chore: gen proto * fix: sync client use new proto definition * feat: runner client make use of full workflow

Commit:fb8c7e2
Author:Alisdair MacLeod
Committer:GitHub

feat: execution start error reporting (#6816) * feat: add rpc for reporting executions startup errors * feat: implement startup error rpc

Commit:f25855a
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

feat: add rpc for reporting executions startup errors

Commit:48a930f
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

fix: issues around credential expressions (#6799) Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:7fed18c
Author:Dejan Zele Pejchev
Committer:GitHub

fix: issues around credential expressions (#6799) Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:09a2578
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

fix: issues around credential expressions Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:0fe1644
Author:Kubeshop

Merge remote-tracking branch 'origin' into tkc-4250-execute-webhooks-within-control-plane

Commit:095258b
Author:Dejan Zele Pejchev

fix: issues around credential expressions Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:5417927
Author:Kubeshop
Committer:Kubeshop

feat: registration updates and super agent registration

Commit:6198d64
Author:Alisdair MacLeod
Committer:GitHub

feat: Add RPC definitions for sync functionality (#6756) Whilst I hate that these RPCs use `bytes` to carry structured data, my attempts to generate or manually copy these data structures into proto definitions were fruitless so until we have some sort of CRD generation that can create protobuf definitions for us this is the best we can hope for. I did try `go-to-protobuf` which is what the Kubernetes project uses, and whilst it was mostly fine it would have required some wider changes to the repository to make it work nicely with the other protobuf changes that we have here, so maybe in the future for a v2 of these RPCs we can implement them, but for now this is the best we can hope for.

Commit:e2615c4
Author:Kubeshop

feat: webhooks capabalities

Commit:d4c6235
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

feat: Add RPC definitions for sync functionality Whilst I hate that these RPCs use `bytes` to carry structured data, my attempts to generate or manually copy these data structures into proto definitions were fruitless so until we have some sort of CRD generation that can create protobuf definitions for us this is the best we can hope for. I did try `go-to-protobuf` which is what the Kubernetes project uses, and whilst it was mostly fine it would have required some wider changes to the repository to make it work nicely with the other protobuf changes that we have here, so maybe in the future for a v2 of these RPCs we can implement them, but for now this is the best we can hope for.

Commit:9a90aef
Author:Dejan Zele Pejchev
Committer:GitHub

add support for silent executions (#6722) Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:2402c6e
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

add support for silent executions Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:684a5cd
Author:ed382
Committer:GitHub

feat: webhook syncing, also switched to maintained mockgen version (#6731) * fix: selector missing from testtriggers client * feat: webhook clients, crd changes, switch to maintained mockgen * feat: webhooks crd storage * feat: webhook crd sync * fix: convert to dots, don't add nil error field * fix: docs * fix: update gomock imports * fix: use updated operator pkg with mockgen * fix: linting * fix: linting * gofmt all

Commit:831e29e
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

add support for silent executions Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:f1f03b0
Author:Kubeshop

Merge remote-tracking branch 'origin/main' into tkc-4251-store-webhooks-within-control-plane-gitops-agent

Commit:a378893
Author:Alisdair MacLeod
Committer:GitHub

feat: new scheduling RPC (#6727) * Create new RPC to update an execution to indicate scheduling status This is a new RPC but mostly copies the InitExecution RPC, albeit with better type safety because I'm not lazy. This is being added to facilitate a simpler implementation of the GetExecutionUpdates client, and to begin the migration of RPCs to the new style. * Deprecate older InitExecution RPC * Skip failing integration test.

Commit:fb0353b
Author:Alisdair MacLeod
Committer:GitHub

Allow the runtime for executions...for now (#6723)

Commit:306ea2d
Author:Kubeshop

feat: webhook clients, crd changes, switch to maintained mockgen

Commit:2af468a
Author:Alisdair MacLeod
Committer:GitHub

chore: deprecate GetRunnerRequests (#6721) * Deprecate old runner request proto Hopefully this will stop people slapping new functionality into a broken old RPC whilst we migrate to the new one. * Add variable override support to new proto

Commit:e2fa872
Author:Dejan Zele Pejchev
Committer:GitHub

feat: --variables support in testworkflows (#6700) * cleanup and refactor test worfklows run command in testkube cli Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com> cleanup and refactor test worfklows run command in testkube cli Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com> * add support for --variable flag in test workflows Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com> --------- Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:ff01026
Author:Alisdair MacLeod
Committer:Dejan Zele Pejchev

feat: execution polling (#6617) * Add new protos for polling executions Updates the proto generation configuration to use up to date tool versions allowing use of the latest proto editions features. Generation for older proto definitions is preserved using a separate configuration file and exclusion directives. These can be removed once we have migrated all proto definitions to the new structure and generation. * Add buf github action This could not be added before because we could not use the buf tool to validate the existing protos as they were so out of spec and so at least one valid proto was required for the tool to be used.

Commit:904dfee
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

add support for --variable flag in test workflows Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:9b2add7
Author:Alisdair MacLeod
Committer:GitHub

feat: execution polling (#6617) * Add new protos for polling executions Updates the proto generation configuration to use up to date tool versions allowing use of the latest proto editions features. Generation for older proto definitions is preserved using a separate configuration file and exclusion directives. These can be removed once we have migrated all proto definitions to the new structure and generation. * Add buf github action This could not be added before because we could not use the buf tool to validate the existing protos as they were so out of spec and so at least one valid proto was required for the tool to be used.

Commit:e4cf39e
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

add support for --variable flag in test workflows Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:c214713
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Add new protos for polling executions Updates the proto generation configuration to use up to date tool versions allowing use of the latest proto editions features. Generation for older proto definitions is preserved using a separate configuration file and exclusion directives. These can be removed once we have migrated all proto definitions to the new structure and generation.

Commit:44c59e4
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Add new protos for polling executions Updates the proto generation configuration to use up to date tool versions allowing use of the latest proto editions features. Generation for older proto definitions is preserved using a separate configuration file and exclusion directives. These can be removed once we have migrated all proto definitions to the new structure and generation.

Commit:e277a54
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Add a schedule execution proto

Commit:1555246
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Add new proto for polling executions Fixes the proto generation to better suit a modern approach to proto definitions.

Commit:4d53edc
Author:Povilas Versockas
Committer:GitHub

feat: [TKC-4119] add capabilities to self registration (#6642)

The documentation is generated from this commit.

Commit:7cfa318
Author:Alisdair MacLeod
Committer:GitHub

chore: add buf for proto generation (#6640) * Install buf as tool for building protos Using a separate go.mod file for buf to avoid polluting the main module and ensuring buf will correctly build. * Consolidate protobuf definitions Now all our proto definitions are in one place and built with a common command and toolchain. * Add protobuf documentation

Commit:569dc79
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Add new proto for polling executions Fixes the proto generation to better suit a modern approach to proto definitions.

Commit:2cfade1
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Consolidate protobuf definitions Now all our proto definitions are in one place and built with a common command and toolchain.

Commit:9640b43
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Consolidate protobuf definitions Now all our proto definitions are in one place and built with a common command Set up an initial buf config to ignore the older protobufs.

Commit:b4cd5e1
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Add new proto for polling executions

Commit:2678bf3
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

feat: add new proto for polling executions

Commit:3813f64
Author:Alisdair MacLeod

chore: consolidate protobufs Now all our proto definitions are in one place and built with a common command

Commit:c953b90
Author:Alisdair MacLeod
Committer:GitHub

fix: grpc keepalive (#6581) * Create shareable keepalive values to be used with server implementations * Correctly configure grpc client connection See https://github.com/grpc/grpc-go/blob/master/Documentation/anti-patterns.md for more information on the badness. * Deprecate use of the PING command This pinging is no longer required with fixed gRPC keep alive behaviour.

Commit:d56f36a
Author:Povilas Versockas
Committer:GitHub

feat: [TKC-4019] add control-plane api and trigger client (#6565)

Commit:c13cb2e
Author:Povilas Versockas
Committer:Povilas Versockas

feat: [TKC-4019] add control-plane api and trigger client

Commit:3817751
Author:Povilas Versockas
Committer:Povilas Versockas

feat: [TKC-4019] add control-plane api and trigger client

Commit:ae18581
Author:Dejan Zele Pejchev
Committer:GitHub

feat: TKC-3683: add support for canceled workflow executions (#6431) * TKC-3683: add support for canceled workflow executions Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com> * fix: missing execution status * fix: missing status variables * fix: add missing helper * fix: old architecture detect cancellation * fix: support legacy executions --------- Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com> Co-authored-by: Kubeshop <174873053+ed382@users.noreply.github.com>

Commit:f04ee69
Author:Kubeshop

Merge remote-tracking branch 'origin/main' into feat/cancel-executions

Commit:62cb223
Author:Alisdair MacLeod
Committer:GitHub

feat: enable runner self-registration (#6410) * Enable runner self registration in certain circumstances This functionality allows for runners to be created and registered with the control plane in a single step by external tools such as via Helm installs. Some quite serious assumptions are made here and I still need to work out where to persist the generated runner key otherwise the agent will attempt to re-register itself on every startup, which may not be ideal. * Attempt to use a Kubernetes secret to persist agent keys This will require permissions to create the secret and an optional envFrom secret to be added to the helm chart. * Add a configuration flag to switch between fixed and floating runners By default we assume that the runner is a Fixed type runner as that is what most customers are using. * Use gRPC to register runners This allows for runner registration without having to use a separate communication mechanism to normal runner activities. * Remove unnecessary environment ID from self registration * Improve self registration validation and error checking * Use a config value for the runner name This allows it to be set to a unique value at deployment time. We do not want to generate a unique value at run time because that would invalidate any uniqueness validation server-side that attempts to defend against runaway registration loops.

Commit:7fb440e
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

TKC-3683: add support for canceled workflow executions Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:5a434d1
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Use gRPC to register runners This allows for runner registration without having to use a separate communication mechanism to normal runner activities.

Commit:fb51bf1
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Remove unnecessary environment ID from self registration

Commit:dce0ff0
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

TKC-3683: add support for canceled workflow executions Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:383bf3c
Author:Dejan Zele Pejchev
Committer:Dejan Zele Pejchev

TKC-3683: add support for canceled workflow executions Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Commit:071f5c8
Author:Alisdair MacLeod

Remove unnecessary environment ID from self registration

Commit:9d74893
Author:Alisdair MacLeod
Committer:Alisdair MacLeod

Use gRPC to register runners This allows for runner registration without having to use a separate communication mechanism to normal runner activities.

Commit:a05acf3
Author:Alisdair MacLeod

Use gRPC to register runners This allows for runner registration without having to use a separate communication mechanism to normal runner activities.

Commit:613703b
Author:Vladislav Sukhin

feat: get execution reports method Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io>

Commit:d4df370
Author:Vladislav Sukhin
Committer:GitHub

fix: [TKC-3408] use old resolved workflow (#6261) * fix: use resolved workflow Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: error message Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: check error Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> --------- Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io>

Commit:f223ad4
Author:Vladislav Sukhin

fix: use resolved workflow Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io>

Commit:d848b46
Author:Dawid Rusnak
Committer:GitHub

fix(TKC-3387): support Control Plane URL back (#6234) * fix: support dashboard.url variable * fix: support backwards compatible dashboard.url and internal.dashbard.url variables * fix: use slugs in the dashboard URLs if it's possible * feat: allow passing the public dashboard URL from the Control Plane

Commit:b5632f4
Author:Dawid Rusnak
Committer:GitHub

feat: execution improvements (#6203) * fix: properly replicate over filtered label * feat: add assignedAt timestamp to the Test Workflow Execution * fix: expose runnerId in the TestWorkflowExecutionSummary * feat: add better filtering options for test workflow results * fixup GetExecutions initialized query * fix: running context conversion

Commit:fa4cede
Author:Vladislav Sukhin
Committer:GitHub

fix: storing execution parameters for re-run (#6164) * fix: storing execution parameters Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: don't store sensitive values Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: unit test Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: unit test Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: add flags Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * feat: rerun test workflows Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: check for nil config Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: outdated check Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: pass running context Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: rename var Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: check config hashes Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: get config hassh method Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: add route Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * feat: rerun api spec Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * feat: rerun client method Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * feat: rerun cli command Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: change codeql version Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: change log Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: error message Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: remove unused param Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: check for required parameters Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: golint Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * feat: execution reference Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: dep update Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: k8s object Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: execution reference to proto Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> * fix: format Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io> --------- Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io>

Commit:aceb2c4
Author:Wito
Committer:GitHub

feat: add github app auth (#6186) * feat: add github app auth * chore: fix codeql job

Commit:c14c8bd
Author:Vladislav Sukhin

fix: execution reference to proto Signed-off-by: Vladislav Sukhin <vladislav@kubeshop.io>

Commit:639f88b
Author:Dawid Rusnak
Committer:GitHub

feat: add agent info in ProContext (#6142) * feat: add agent details in the ProContext * feat: read the Agent ID from the appropriate ProContext field

Commit:84658dc
Author:Dawid Rusnak
Committer:GitHub

feat: support Runner Agents (#6119) * support new architecture - events propagated through Control Plane * support new scheduling - executions scheduled via Control Plane * support Runner Agent - agent that runs Test Workflows * support GitOps Agent - agent that synchronises resources between Kubernetes and Control Plane * support Cloud Storage - storing the resources in Control Plane instead of Kubernetes * support inlined Global Templates - to avoid storing Global Template in Kubernetes

Commit:bb1b729
Author:Dawid Rusnak

chore: restructure scheduling API a bit

Commit:817e1ca
Author:Dawid Rusnak

fixup add todos

Commit:2e8cd45
Author:Dawid Rusnak

feat: add Control Plane functions for TestWorkflow CRD management

Commit:69d91d5
Author:Dawid Rusnak

fix: pass down information about untrusted user signature too

Commit:7cce850
Author:Dawid Rusnak

feat: add layer to send runner request and to lock execution to runner