chore: add differ infrastructure config - #44
Conversation
sync-improvement/init-callback-in-module
|
Review status: 0 of 10 files reviewed at latest revision, 10 unresolved discussions. .circleci/config.differ.yml, line 1 at r2 (raw file):
just named the file config.differ.yml. Just wanna make sure the config seems correct .circleci/config.differ.yml, line 10 at r2 (raw file):
token for a Google Cloud service account that has access to Google Cloud Registries to be able to push images .circleci/config.differ.yml, line 26 at r2 (raw file):
we need google cloud sdk installed. Could have used google/cloud-sdk as a base image instead, but I see that you use labsai/ci-build already .circleci/config.differ.yml, line 28 at r2 (raw file):
needed to install our package manager for kubernetes .circleci/config.differ.yml, line 55 at r2 (raw file):
Have to use the docker executable that comes with gcloud .circleci/config.differ.yml, line 61 at r2 (raw file):
This means that the service should be upgraded with the new image version using the configuration specified in charts/eddi. Uses the development-configuration by default. charts/eddi/requirements.yaml, line 3 at r2 (raw file):
this is not the mongodb version, but the version of our mongodb helm chart charts/eddi/values.production.yaml, line 8 at r2 (raw file):
Since we're using stateful-sets this is what the connection string looks like: . charts/eddi/values.production.yaml, line 21 at r2 (raw file):
requested resource in kubernetes for mongodb. Can be increased as we move on charts/eddi/values.yaml, line 13 at r2 (raw file):
Not sure what this is for java? from Google: "The maximum heap size is typically -Xmx3800m (1600m) for 2 GB limits), though the actual limitation is application dependent. For 64-bit process models, the maximum is essentially unlimited." the pod will be killed if it exceeds this limit. Might make it infinite but add an alert for memory levels instead. What you think @gregor? Comments from Reviewable |
…nfrastrcture-config
…s, scale poller, add pause retention Findings 5, 7, 17, 26, 32, 44: - #5 (security): RestScheduleStore refuses manual fire of HITL timeout schedules (409 for everyone, incl. admins), requires eddi-admin to mutate/disable/delete them (403), and redacts them from non-admins. PostgresScheduleStore gains a metadata JSONB column (parity with Mongo's full-doc persistence) so the HITL fast-path and the guard work on both backends. - #7: AgentDeploymentManagement idle sweep skips AWAITING_HUMAN instead of force-ENDing them via a raw non-CAS write; logs spared count. - #17: configurable poll batch size (both stores) + concurrent virtual-thread dispatch of claimed schedules with per-fire error isolation; CAS claim stays before dispatch. - #26/#44: RestConversationStore routes paused end/permanent-delete through the HITL-aware IConversationService.endConversation. - #32: optional pause-retention sweep (eddi.hitl.pending.max-age, default OFF) in HitlCrashRecoveryObserver via cancelConversation; reuses scheduling infra. - CodeQL: silence unused @observes StartupEvent param (required CDI trigger). Pure JUnit/Mockito tests added for each. Compile + test-compile green.
This change is