Repository navigation
Commit c09d410
feat: parity + perf follow-ups, CI flake hardening, dependency bumps (#2518)
* feat(iot): custom authorizers on the MQTT broker and TestInvokeAuthorizer
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(persistence): refresh snapshot inventory for iot command executions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(iot): lint fixes for commands, timeouts, cert variables and custom authorizers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ui): Azure Functions, Cloud Build, Memorystore Redis and Cloud Monitoring dashboard pages
In-process proxies (fixed per-service backend, no outbound HTTP) plus pages:
function apps with masked-by-default app settings (server-side reveal),
functions and deployments; builds with steps/logs and triggers; Redis
instances with endpoints and AUTH reveal; metric descriptors, time series
over a window, alert policies, uptime checks and snoozes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(dashboard): satisfy lint for console page proxies
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(sns): stop subscription tests dialling example.com
Subscribing an http(s) endpoint sends a real SubscriptionConfirmation, so
tests that used example.com made live calls; in CI the HTTP/2 keep-alive
conn to it outlived the package and failed testleak. Use the reserved
.invalid TLD so nothing leaves the host. Also records iotjobsdataplane as
a direct dependency (go mod tidy).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(iot): publish lifecycle and registry $aws/events, route egress through httpclient
Lifecycle: presence connected/disconnected/connect_failed and subscriptions
subscribed/unsubscribed. Registry events for THING, THING_TYPE,
THING_TYPE_ASSOCIATION, THING_GROUP, THING_GROUP_HIERARCHY,
THING_GROUP_MEMBERSHIP, JOB and JOB_EXECUTION, gated by
UpdateEventConfigurations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(azurefunctions): validate function names and secrets paths before file ops
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(signin): rebuild loopback redirect from validated parts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(cloudformation): bound-check integer properties before narrowing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(iot): lint fixes for lifecycle and registry events
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(signin): satisfy lint on loopback redirect rebuild
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(ses): match bulk relay sessions by recipient, not arrival order
SendBulkTemplatedEmail relays destinations concurrently; CI saw b@ arrive
before a@ and the ordered assertions failed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service tables after the IoT parity merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(apigatewayv2): WebSocket data plane routing, authorizers, route responses, stage-prefixed @connections
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service tables after the IoT events merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(opensearch): FGAC master-user basic auth, OPENSEARCH_MULTI_CLUSTER and OPENSEARCH_CUSTOM_BACKEND
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(rds): postgis, pgvector and aws_s3/aws_lambda extensions on the docker engine
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(app): WebSocket metrics test uses a failing integration for ExecutionError
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(opensearch): lint, snapshot inventory for master-user fields
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(rds): lint and layout fixes for the postgres extension image
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(rds): bind the aws_s3/aws_lambda callout listener to the container bridge only
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service tables after the API Gateway v2 and OpenSearch merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(e2e): report why the Azure cross-SDK server never listened
CI timed out waiting 15s for the blob port with no clue why: the
subprocess output was interleaved and dropped. Keep a tail of it, fail
fast if the process exits, and include the tail on any startup failure;
allow 60s for a loaded runner.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(glue): crawl DynamoDB, Delta, Iceberg, Hudi and JDBC targets
Crawlers now produce catalog tables for every implemented target kind and
honour SchemaChangePolicy, RecrawlPolicy and AddOrUpdateBehavior. Failed
crawls end FAILED with an error message; crawl metrics come from history.
ListCrawls now emits CrawlerHistory StartTime/EndTime.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(app): wire Glue DynamoDB crawling from the streams wiring group
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service tables after the RDS extensions merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(glue): crawler lint fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(lambda): encrypt env vars under function KMSKeyArn and run EFS access points as PosixUser
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(glue): run crawl target I/O outside the backend lock
Snapshot crawler config, connections and the database's tables under the
lock, do S3/DynamoDB/JDBC I/O unlocked, then replay the recorded catalog
writes and metrics atomically, discarding results of a stopped run.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(glue): lint fixes for crawl lock test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(glue): crawlRun field alignment
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(lambda): lint fixes for KMS env encryption and EFS PosixUser
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service tables after the Glue crawlers merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate Lambda README after the KMS/EFS merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(lambda): bound SQS ESM concurrency/pollers and route capacity-provider invocations
SQS mappings honour ScalingConfig.MaximumConcurrency and ProvisionedPollerConfig with
concurrent synchronous batch workers; capacity-provider functions are admitted through
per-environment slots limited by per-environment concurrency, function scaling config
and the provider vCPU budget, with ResourceNotFound/ResourceNotReady for bad providers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(sagemaker): run endpoints and jobs in real containers
SAGEMAKER_ENGINE=docker starts model containers per endpoint variant (serve, /ping gate,
ModelDataUrl extraction), proxies InvokeEndpoint, InvokeEndpointWithResponseStream and
InvokeEndpointAsync to /invocations, and runs training, processing and transform jobs with the
/opt/ml layout fed from and uploaded to emulated S3, with logs in /aws/sagemaker/*.
SageMaker Runtime no longer fabricates response bodies or async locations; without the engine
it returns ServiceUnavailable.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(sagemaker): satisfy lint for the container engine
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(sagemaker): wrap long lines in the docker end-to-end test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(sagemaker): wrap remaining long literals and drop constant test params
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(sagemaker): wrap training resource config in the docker test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(lambda): use documented Managed Instances per-runtime concurrency defaults
Unset PerExecutionEnvironmentMaxConcurrency now defaults per vCPU to the documented
per-runtime values (nodejs 64, java/dotnet 32, python 16); runtimes without a documented
default are uncapped per environment. Min environments (3) and MaxVCpuCount (400) are
sourced to the docs. Restores the reserved-concurrency-0 throttle message.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(appsync): Lambda BatchInvoke batches list-item resolvers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(appsync): EvaluateCode codeErrors with line/column/span locations
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate Lambda README after the ESM/capacity merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(appsync): DynamoDB Sync, TransactGetItems, TransactWriteItems and JS sync helper
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(appsync): $util.transform.toElasticsearchQueryDSL / toOpenSearchQueryDSL
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs(appsync): PARITY leftovers update
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(rds): opt-in real SQL Server engine for sqlserver-* instances
RDS_SQLSERVER_ENGINE=docker runs sqlserver-ee/se/ex/web on the mssql
image (amd64 only), with a master login, native BACKUP/RESTORE snapshots
and restore points. Closes gopherstack-49qct.52.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(rds): satisfy lint on the SQL Server engine
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(appsync): lint fixes for resolver leftovers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(rds): fix SQL Server engine formatting and field order
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate AppSync README after the leftovers merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(cosmosdb): lock-free stored procedures, batch entity query, ORDER BY index checks, lazy mode rejection
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(cosmosdb): lint fixes for batch query and tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* build(deps): tidy desktop module for go-mssqldb; regenerate RDS docs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(rds): keep deferred ModifyDBInstance changes pending until reboot or apply
Without ApplyImmediately, AWS holds changes until the next maintenance
window or a reboot; the reconciler applied them after 250ms, which also
made the pending-maintenance pagination test flaky under load.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(security): clear CodeQL zipslip, path-injection, int-conversion and redirect alerts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ociobjectstorage): OCI Object Storage emulator with pkgs/ociauth request signing
Own listener (default 8150) serving Object Storage API 20160918: namespace,
buckets, objects, ranges, multipart, copy/rename/batch delete, archive restore,
versioning, pre-authenticated requests, lifecycle enforcement and retention rules.
pkgs/ociauth verifies draft-cavage signatures for registered API keys and is
accept-any otherwise. Tested through oci-go-sdk with real signing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(wfinterp): Google Cloud Workflows language interpreter
YAML/JSON workflow compiler with deploy-time validation and a runtime for assign, call
(subworkflows, standard library, connectors), switch, for, parallel, try/except/retry,
raise, return and next, with ${...} expressions, the standard library and an injectable
clock and host.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpworkflows): Cloud Workflows and Executions emulator with Eventarc workflow destinations
google.cloud.workflows.v1 and executions.v1 on a dedicated gRPC+REST listener (port 8139):
workflow CRUD with revisions and LROs, deploy-time syntax validation, executions run by the
wfinterp interpreter (state, result, error, status.current_steps, cancel), callbacks,
sys.log to Cloud Logging and Pub/Sub, Secret Manager, Firestore and Storage connectors.
Eventarc workflow destinations now start executions with the CloudEvent as the argument.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* refactor(ociobjectstorage): lint-clean handlers, split complex functions, keep CLI struct aligned
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate badges after the OCI merge; tidy desktop go.sum
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocivault): OCI Vault emulator (KMS vaults/keys/crypto, secrets, secret retrieval)
Own listener (default 8151) serving KMS vault/management/crypto 20180608, vault
secrets 20180608 and secret retrieval 20190301. Per-vault <prefix>-management /
<prefix>-crypto .localhost endpoints select the vault from the Host header.
Real AES-GCM, RSA-OAEP, RSA PSS/PKCS1 and ECDSA crypto, wrapped key import/export
(RSA-OAEP + AES-KWP), key versions with rotation, deletion schedules on an
injectable clock, and secrets stored only as KMS-encrypted ciphertext. Tested
through oci-go-sdk with real signing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(security): escape single quotes interpolated into quoted error messages
CodeQL go/unsafe-quoting (alerts 508-515): ELB, ECR Public and EC2 echo
request-supplied names inside '...' in AWS-style error text. Real names
never contain quotes, so escaping changes no realistic message.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azurefile): Azure Files data plane emulator
New services/azurefile on fixed port 10009 (--azure-file-port): service
properties (CORS, metrics, SMB/NFS settings), shares (quota, tier, protocols,
metadata, snapshots, ACL, stats, leases, soft delete and restore, SDDL
permission store), directories, files with sparse ranges (pkgs/sparse), range
writes and diffs, copy from emulator files and blobs, rename and file leases.
Account by path or <account>.file.<host>; Shared Key, SAS and bearer accepted,
optionally verified. Wired into cli.go, the storage vhost listener, ARM
primaryEndpoints, testcontainers and docs. Tests drive the azfile SDK.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azurefile): drive share soft delete from ARM fileServices/default
Drop the invented ShareDeleteRetentionPolicy element from data-plane Set File
Service Properties (unknown elements are now ignored). Microsoft.Storage
storageAccounts/{a}/fileServices[/default] GET/PUT/PATCH in services/azurearm
carries properties.shareDeleteRetentionPolicy {enabled, days} to the azurefile
backend per account. Tested with armstorage plus the azfile delete/restore flow.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(persistence): refresh azurefile snapshot inventory tag alignment
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocistreaming): OCI Streaming emulator (stream pools, streams, messages, cursors, consumer groups)
Own listener (default 8152) serving stream admin and messages API 20180418:
stream pools with kafkaSettings and Vault-validated customEncryptionKey, streams
and connect harnesses with injectable-clock CREATING/DELETING transitions and work
requests, murmur2 key partitioning, retention enforcement, per-partition ingest
limits, plain and group cursors with reservations, commit and heartbeat. Tested
through oci-go-sdk with real signing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(ocistreaming): lint-clean the streaming emulator
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* refactor(azurearm): reuse field constants in fileServices route
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate badges after the Azure Files merge; tidy modules
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate badges after the OCI Streaming merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpdns): Cloud DNS v1 emulator with an authoritative DNS data plane
managedZones (public/private/forwarding/peering, DNSSEC with generated DNSKEYs, zone operations),
resourceRecordSets, atomic changes with SOA serial bumps and per-type rdata validation, server
policies, response policies and rules, project quota. Public zones are served over real UDP and TCP
DNS through pkgs/dns. REST on port 8140, DNS on 8141. checkpins learns google.golang.org/api pins.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ociidentity): add OCI Identity (IAM 20160918) with a shared API-key registry
Tenancy, regions, ADs/FDs, compartments (async delete/move/recover, six-level
nesting), users, groups, memberships, dynamic groups, policies with a
statement grammar check, API keys, auth tokens, customer secret keys, SMTP
credentials, UI password, tag namespaces/tags/defaults and work requests.
API keys uploaded through Identity are linked into every OCI service's
signature registry via ociauth.Registry.Link.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ociidentity): lint and structure fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpdns): satisfy lint (named limits, split validators, field alignment)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate badges after the OCI Identity and Cloud DNS merges; tidy desktop
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ui): in-process proxies for OCI, Workflows, Cloud DNS and Azure Files console pages
Fixed-backend proxies (no user-controlled host or URL, no outbound HTTP) for
Object Storage, Vault (secret content only through an explicit reveal),
Streaming (server-side cursor reads), Identity (API key fingerprints only),
Workflows, Cloud DNS and Azure Files, with proxy tests covering browse,
actions, rejects and the 503 not-served path.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocifunctions): add OCI Functions (management API and FDK invoke) on its own listener
Applications, functions and work requests under /20181201 and /20260325, API-key
auth linked to the Identity registry, snapshot persistence, and InvokeFunction
that runs the function image over the Fn FDK http-stream contract with a pooled
container per function, timeouts, detached mode and engine opt-out.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocifunctions): lint fixes, pointer-free settings, disable-engine flag
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ui): Oracle Cloud switcher entry and pages, Workflows, Cloud DNS and Azure Files
Oracle Cloud joins the cloud switcher with Object Storage (buckets, prefix
browsing, details, download, PARs, lifecycle and retention, delete), Vault
(keys and versions, secrets with reveal-gated content), Streaming (pools,
streams, recent messages) and Identity (compartment tree, users, groups,
policies, API key fingerprints). GCP gains Workflows (source, revisions,
executions, run, cancel) and Cloud DNS (zones, record sets, change history);
Azure gains Files (shares, directory browser, downloads, snapshots). The CLI
now hands the seven handlers to the dashboard, covered by a wiring test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(azurefile): bound share quota against int32 before narrowing
CodeQL go/incorrect-integer-conversion (alert 516): the existing 1..102400
check went through a pointer deref the analysis does not track.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(azurefile): sort imports
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ui): satisfy lint for the console page proxies
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* perf(servicequotas): gzip-embed the docs quota catalog
Binary 280.38 MB -> 279.15 MB; decompressed lazily with the catalog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azuremonitor): Azure Monitor Logs ingestion and query APIs with a KQL engine
New services/azuremonitor on fixed HTTPS port 10013 (--azure-monitor-port):
Logs Ingestion API (gzip, 1 MB limit, stream schema validation, DCR transformKql)
and Logs Query API (workspace, resource and $batch queries) backed by
services/azuremonitor/kql, a KQL subset engine (let, union, where, project,
extend, summarize, sort, top, distinct, ~70 scalar functions); unsupported
operators answer 400 BadArgumentError/SemanticError. ARM Microsoft.OperationalInsights
(workspaces, tables, shared keys) and Microsoft.Insights (data collection
endpoints and rules) are served by services/azurearm over a MonitorLogs seam.
Wired into cli.go, persistence, ports, testcontainers and docs. Tests drive
azlogs ingestion/query, armoperationalinsights and armmonitor.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(azuremonitor): lint cleanup, decomposed KQL parser/executor, CLI field order
Splits the scalar function table, lexer, parser, summarize and sort paths into
small functions, replaces magic numbers and repeated literals with constants,
uses crypto/rand for workspace shared keys, and places the AzureMonitor
settings field where govet fieldalignment keeps CLI optimal.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azuremonitor): drop mismatched ingestion records by default, strict mode opt-in
Azure reports rows that fail processing only in DCRLogErrors and still accepts
the upload, so the emulator now does the same by default. --azure-monitor-strict-ingest
(AZURE_MONITOR_STRICT_INGEST) restores the synchronous 400 InvalidPayload.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(azuremonitor): order test struct fields for fieldalignment
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* perf(sdkwire): load schemas nothing else links from embedded models
17 SDK schemas packages (sagemaker, opensearch, sesv2, ...) were linked only
by sdkwire's registry, costing ~4 MB of code plus their init functions on
every startup. sfnschemagen now encodes their schema graphs to
sdkwire/models/*.json.gz (schemair) and verifies the decoded copy is
equivalent trait-for-trait; the registry rebuilds them lazily.
Binary 279.15 -> 275.23 MB, package init ~78 -> ~53 ms, init allocs 84 -> 74 MB.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* build(deps): tidy desktop go.sum for the Azure Monitor SDKs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(rds): close client conns accepted concurrently with listener shutdown
A conn accepted after close() swept the tracked set was never closed, so
serve (and wg.Wait) blocked on the client forever. Track conns in connSet
(store-then-check closed flag) for the forwarder, pg proxy and endpoint listener.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* build(deps): tidy desktop module after dropping SDK schemas packages
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ui): Azure Monitor Logs and OCI Functions console pages
Monitor Logs: workspaces (customer id, retention, sku), tables with column
schemas, data collection endpoints and rules (stream declarations, data flows,
transformKql) and a KQL query console with a time range picker, typed result
grid, BadArgumentError chain rendering, examples and per-viewer history.
OCI Functions: applications, functions (image, memory, timeout, invoke
endpoint, config with secret-looking keys masked), synchronous invoke showing
status, headers and body, and work requests with logs. Both are fixed-backend
in-process proxies with 503 when not served; the CLI now hands both handlers
to the dashboard, covered by the wiring test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azureblob): block upload, conditional headers, leases, List Containers paging
Put Block / Put Block From URL / Put Block List / Get Block List with 7-day
uncommitted-block expiry, If-Match/If-None-Match/If-Modified-Since/
If-Unmodified-Since/x-ms-if-tags on blob reads and writes, container and blob
leases (acquire/renew/change/release/break) with lease-id enforcement, and
List Containers prefix/marker/maxresults. All time-dependent state runs on an
injectable clock.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* build(scripts): trim the Go cache before it fills the disk
Raise the --if-low floor from 5 GB to 60 GB free, and when there is space
but the cache is over 150 GB, delete entries older than 12h. Two agents
building in parallel filled the 458 GB disk three times in a day.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ui): satisfy lint for the Monitor and Functions proxies
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(azureblob): lint and field-order cleanups for block/lease/conditional work
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(stepfunctions): enforce variable size limits, JSONPath variable refs in path fields, forbid Distributed Map outer-scope reads
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(stepfunctions): lint fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(stepfunctions): wrap long lines
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(stepfunctions): wrap long lines
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(rds): give each parallel pgext subtest its own DB deadline
The shared dbCtx was created before t.Parallel subtests, so its 4m budget
burned while they queued behind other docker tests in the package run.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azureblob): blob index tags (Set/Get Blob Tags, Find Blobs by Tags, x-ms-if-tags)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(azureblob): split tag parser, wrap long lines
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(cloudformation): SAM Api event RequestParameters/TimeoutInMillis/ApiKeyRequired and StateMachine Events
Api events emit swagger parameters, cacheKeyParameters, timeoutInMillis and
the api_key security scheme; AWS::Serverless::StateMachine Events
(Schedule, ScheduleV2, CloudWatchEvent, EventBridgeRule, Api) generate the
rule/schedule, invoke role and StartExecution integration as the SAM
translator fixtures do. AWS::Events::Rule/Archive now accept an
EventPattern JSON object.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(cloudformation): Rules RefAll/ValueOf/ValueOfAll and opt-in async stack status
Fn::RefAll, Fn::ValueOf and Fn::ValueOfAll resolve AWS::EC2::VPC/Subnet/
SecurityGroup parameter types against the EC2 backend. With
GOPHERSTACK_CFN_PROVISIONING_DELAY (or SetProvisioningDelay) top-level
CreateStack/UpdateStack return CREATE_IN_PROGRESS/UPDATE_IN_PROGRESS and
settle through UPDATE_COMPLETE_CLEANUP_IN_PROGRESS to the terminal status;
in-flight operations persist and resume on Restore. DescribeStack/ListAll
return copies.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcppubsub): IAMPolicy RPCs on topics, subscriptions, snapshots and schemas
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpsecretmanager): SECRET_ROTATE scheduling, managed rotation RPCs and regional secrets
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(cloudformation): satisfy lint for rules, async and SAM state machine events
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(cloudformation): extract repeated SAM literals
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpstorage): ACL endpoints, predefined ACLs, UBLA rejection, matchGlob and name-based page tokens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service READMEs for Pub/Sub IAM, Secret Manager rotation and Storage ACLs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(cognitoidp): map multi-valued SAML attributes as bracketed form-encoded list
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(s3): presign Object Lambda inputS3Url and add sessionContext to event identity
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(gcp): satisfy lint for ACL, rotation and IAM additions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ec2): CreateVolume passes through the creating state when a lifecycle delay is set
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(iot): reject unparseable CSR and certificate PEM; fixtures use real material
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(codebuild): parse NUnit, NUnit3, TestNG, Cucumber, TRX, JaCoCo, Clover and SimpleCov reports
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(glue): fold database, table and partition names to lowercase
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(persistence): refresh snapshot inventory for ec2 Volume.AvailableAt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service READMEs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(codebuild): honour cache key, fallback-keys and action; materialise S3 folder and secondary sources
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(amp): PromQL double exponential smoothing, absent_over_time, sort_by_label, limitk, limit_ratio, histogram_fraction and @ start()/end()
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(dlm): execute FastRestore, CrossRegionCopy, Share, Archive and Deprecate schedule rules
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style: satisfy lint for parity batch (formatting, constants, field alignment)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ses): SPF a/mx/ptr/exists mechanisms and public-suffix DMARC organizational domain
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(route53resolver): deliver query logs to S3 and Firehose destinations
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(athena): evaluate projection NOW in UTC via injectable clock
Date partition projection is generated in UTC per AWS docs; NOW used the host
local zone. Backend now has a clock (SetClock) and NOW is normalised to UTC.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test: stabilise DLM share test, refresh snapshot golden, use pkgs/arn for S3 ARN prefix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service READMEs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(athena): reorder backend fields for fieldalignment
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style: satisfy lint for codebuild, dlm, amp, ses and route53resolver changes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(stepfunctions): drop overflowable size sum in JSONata assign merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(logger): build merged attrs with slices.Concat
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(transfer): restrict API Gateway identity provider calls to emulator endpoints
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(azuremonitor): verify bearer token signatures against the Entra issuer
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(timestreaminfluxdb): run CUSTOM_SCHEDULE cron backups
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocistreaming): expire plain cursors after five minutes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azurekeyvault): armkeyvault SDK parity test for deleted vaults, purge and name check
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpscheduler): accept the App Engine cron schedule format
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(eks): eks-auth AssumeRoleForPodIdentity via STS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(transfer): lint fixes for loopback target helper
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate service READMEs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(eks): lint fixes for eks-auth pod identity
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azurekeyvault): format the armkeyvault SDK test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpscheduler): lint fixes for App Engine cron parsing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ec2): future-dated Capacity Reservations and date-change quotes
CreateCapacityReservation accepts StartDate/CommitmentDuration/DeliveryPreference
and walks assessing -> scheduled -> active -> expired on the backend clock, with
CommitmentInfo, quote-gated cancellation, per-state ModifyCapacityReservation
rules, and CreateCapacityReservationDateChangeQuote /
DescribeCapacityReservationDateChangeQuotes applied via ModifyCapacityReservation.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpcompute): Compute Engine v1 control plane (networks, subnets, firewalls, routes, addresses, routers, disks, images, instances, operations)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs(gcpcompute): PARITY.md audit and generated docs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(persistence): refresh snapshot inventory for the CR modification-quote table
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpcompute): lint cleanups
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(ec2): lint cleanups for future-dated Capacity Reservations
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(iot): skip other clients' presence events in the rule-feed test
The probe client's disconnect also matches '$aws/events/presence/+/+' and
can arrive first; CI saw probe-client/disconnected before rule-dev/connected.
Also records armkeyvault and eksauth as direct dependencies (go mod tidy).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(ec2): drop unused dupl nolints, fix assertion order
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azurecontainerinstance): Microsoft.ContainerInstance container groups with a real execution engine
containerGroups CRUD/list/patch, start/stop/restart and container logs in
azurearm, run in the container runtime with restart policies, live
instanceView, secure env, volumes (emptyDir, secret, azureFile via Azure Files
seam), published ports and registry credentials. Engine opt-out or a failed
pull yields provisioningState Failed with the reason. Adds pkgs/container
resource limits and credentialed pulls.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* build(deps): tidy desktop go.sum for the compute client
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocicore): OCI Core networking (VCN, subnets, gateways, routing, security, peering, public IPs)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocicore): lint fixes and deterministic subnet tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azurecontainerinstance): lint fixes for the container group engine
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(azurefile): exercise share export/apply through the data plane
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocicore): wrap gendocs category list and align wire test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocicore): keep gendocs category table short
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocicore): fix gendocs category table
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* build(deps): tidy modules for armcontainerinstance
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* docs: regenerate badges after the OCI Core merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpcompute): instance templates, managed/unmanaged instance groups, health checks, autoscalers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpcompute): lint fixes for the instance group work
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ui): Compute Engine and Container Instances console pages
Compute Engine gets a project/zone scoped page (instances with start/stop/reset/delete, disks, snapshots, networks with subnetworks, firewalls, routes, routers/NAT, addresses, operations) behind an in-process allow-listed proxy. Container Instances joins the Azure switcher with container groups by resource group, container state/events, a tail-N log viewer and start/stop/restart/delete; secure values and registry passwords never leave the backend. The CLI now hands the Compute handler to the dashboard, covered by the wiring test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(apigatewayv2): register WebSocket connections before completing the handshake
The connection was added to the @connections registry only after the 101
upgrade, so a client could connect and immediately get GoneException from
PostToConnection (CI: TestWebSocket_ManagementConnections). On AWS the
connection is addressable once $connect succeeds. Unregister if the
upgrade fails.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(app): publish IoT rule messages once after broker ready
Rule actions run synchronously inside Broker.Publish, so wrapping it in
require.Eventually bounded a slow dispatch with the retry deadline and
re-sent on error. Wait on Broker.Ready, publish once, and read the
Firehose delivery deterministically after FlushAll.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(dashboard): satisfy lint in the Compute and Container Instances proxies
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(apigatewayv2): wrap connection registration call
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcpcompute): load-balancing control plane
Backend services and buckets, URL maps (with validate), target HTTP/HTTPS/TCP/SSL
proxies, SSL certificates and policies, global and regional forwarding rules,
network endpoint groups with attach/detach/list, getHealth, and in-use
protection. State only: no traffic is forwarded and nothing is probed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azureappservice): Linux web apps on the function-app listener
Microsoft.Web sites of kind app,linux and app,linux,container run their
linuxFxVersion stack or DOCKER image in a container behind
<app>.<domain>, with Kudu zip deploy, appCommandLine, WEBSITES_PORT/PORT,
app settings as env, healthCheckPath readiness, start/stop/restart.
Linux kinds require a reserved plan; function-only ARM routes reject web
apps; engine-off and start failures surface as availabilityState Limited
and 503/502 with the reason.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(gcpcompute): satisfy lint for the load-balancing control plane
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(gcpcompute): avoid magic numbers in proxy port list
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(azureappservice): lint fixes for Linux web apps
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(gcpcompute): give the certificate-less HTTPS proxy case its own name
Two parallel subtests both inserted target HTTPS proxy "sp", so the
no-certificate case could see 409 alreadyExists instead of 400 required.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(gcpcompute): wrap proxy test literal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(gcpcompute): align proxy test literal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(ocicore): core compute and block storage control plane
Shapes, platform and custom images, instances (launch, power actions,
update, terminate), VNICs and attachments, private IPs, ephemeral and
reserved public IP assignment, boot and block volumes, iSCSI and
paravirtualized attachments, volume backups and backup policies with
assignments. Route targets and NSG membership now resolve real private
IPs and VNICs. State only; no VM runs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* feat(gcprun): job logs, IAM, multi-container revisions, autoscaling, soft delete
Job task output goes to Cloud Logging on a cloud_run_job resource. Services and
Jobs serve Get/Set/TestIamPermissions through the new pkgs/gcpiampolicy.
Revisions run as instances: sidecars share the first container's network
namespace, depends_on orders starts, startup and liveness probes gate and
replace instances, emptyDir and Secret Manager volumes and secret env are
materialized. Instances scale on max_instance_request_concurrency up to
max_instance_count, queue then 429, keep min instances and scale to zero after
idling, all on an injectable clock. Deleted services, jobs and executions are
listable with show_deleted until expire_time.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(gcprun): satisfy lint on the depth pass
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(gcprun): wrap the unknown-volume error
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(gcprun): wrap long line
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* refactor(gcp): serve IAM policies through pkgs/gcpiampolicy
pubsub, secretmanager, kms, cloudtasks, eventarc, spanner, bigtable,
artifactregistry, iam and storage drop their hand-rolled etag logic.
They gain version-3 condition validation, _withcond_ role renaming on v1
reads, the raw empty-policy etag, and service-scoped TestIamPermissions
filtering. A guard fails when a gcp service handles etags in SetIamPolicy
without importing the package.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* refactor(gcp): lint fixes for shared IAM policy migration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(gcp): format IAM policy files
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* style(gcpstorage): wrap IAM test table
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(iot): publish connected before CONNACK and detect takeover via stop cause
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(codeql): bound int conversions and anchor loopback URL path
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(codeql): goimports order
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* fix(rds): merge deferred modifications into pending values; drift test applies immediately
A ModifyDBInstance without ApplyImmediately now merges into existing
PendingModifiedValues and a value equal to the current one cancels that
pending field. The RDS drift fixture sets apply_immediately = true, as the
provider default (false) defers the correction to the maintenance window.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
* test(rds): align pending-merge test struct fields
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
---------
Co-authored-by: Witness Patrol <blackbird7181@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>1 parent a80ed12 commit c09d410
2,141 files changed
Lines changed: 278091 additions & 6490 deletions
File tree
- .badges
- .github/workflows
- cmd
- ccwiregen
- checkpins
- gendocs
- retypesgen
- sfnschemagen
- sqdocsgen
- dashboard
- static/icons
- demo
- desktop
- docs
- internal
- app
- awswire
- cloudwatchlogs
- cloudwatch
- eventbridge
- iam
- kinesis
- kms
- lambda
- secretsmanager
- sfn
- sns
- sqs
- ssm
- cliconfig
- linklocal
- replicator
- routegates
- pkgs
- container
- dns
- docker
- endpointstrategy
- executeapi
- gcpiampolicy
- iamtest
- gcprest
- gcpserve
- httputils
- jsruntime
- lockmetrics
- logger
- ociauth
- odatatable
- persistence
- testdata
- registryauth
- restroute
- sparse
- store
- tags
- telemetry
- wfinterp
- scripts
- services
- account
- amp
- promql
- apigatewaymanagementapi
- apigatewayv2
- apigateway
- appintegrations
- applicationautoscaling
- appsync
- athena
- awsconfig
- azurearm
- azureblob
- azurecontainerregistry
- azureeventgrid
- azurefile
- azurefunctions
- azurekeyvault
- azuremonitor
- kql
- azurestoragevhost
- batch
- bedrockagentcorecontrol
- bedrockagent
- cleanrooms
- cloudformation
- cloudhsmv2
- cloudwatch
- codebuild
- codecommit
- codegurureviewer
- cognitoidp
- connect
- cosmosdb
- directconnect
- dlm
- dynamodb
- expr
- ec2
- ecrpublic
- ecr
- ecs
- efs
- eks
- elb
- eventbridge
- gcpartifactregistry
- gcpbigtable
- gcpcloudbuild
- gcpcloudtasks
- gcpcompute
- gcpdns
- gcpeventarc
- gcpfunctions
- gcpiam
- gcpkms
- gcpmonitoring
- gcppubsub
- gcprun
- gcpscheduler
- gcpsecretmanager
- gcpspanner
- gcpstorage
- gcpworkflows
- glacier
- glue
- guardduty
- iot
- kafka
- kinesis
- lambda
- lightsail
- mgn
- mq
- oam
- ocicore
- ocifunctions
- ociidentity
- ociobjectstorage
- ocistreaming
- ocivault
- opensearch
- outposts
- pipes
- rds
- pgext
- resiliencehub
- resourceexplorer2
- resourcegroupstaggingapi
- route53resolver
- rum
- s3files
- s3
- sagemakerruntime
- sagemaker
- securityhub
- servicecatalog
- servicequotas
- sesv2
- ses
- signin
- sns
- sqs
- ssm
- stepfunctions
- asl
- sdkwire
- ir
- legacy
- models
- schemair
- sts
- support
- timestreaminfluxdb
- transcribe
- transfer
- testcontainers
- go
- node
- python/testcontainers_gopherstack
- testdata/routing
- test
- e2e
- guards
- testdata/gcpiampolicy
- bad
- good
- integration
- terraform
- fixtures
- rds
- iot
- ui/src
- lib
- components
- azure
- gcp
- oci
- routes
- azure/[service]
- gcp/[service]
- oci/[service]
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Loading
Loading
Loading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
609 | 609 | | |
610 | 610 | | |
611 | 611 | | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
612 | 622 | | |
613 | 623 | | |
614 | 624 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
| 88 | + | |
87 | 89 | | |
88 | 90 | | |
89 | 91 | | |
| |||
263 | 265 | | |
264 | 266 | | |
265 | 267 | | |
266 | | - | |
| 268 | + | |
267 | 269 | | |
268 | 270 | | |
269 | 271 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
0 commit comments