{"msg":"cockroach temporary directory: /var/tmp/omicron_tmp/.tmpJql8Zg","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:44.546909782Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"cockroach: copying from seed tarball (/var/tmp/omicron_tmp/crdb-base-build/6611190cc8364f7bf7d3ce23db6618362efcfd7038addeb4422d3f9b0adcd986.tar) to storage directory (/var/tmp/omicron_tmp/.tmpJql8Zg/data)","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:44.548997853Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"cockroach command line: cockroach start-single-node --insecure --http-addr=:0 --store=path=/var/tmp/omicron_tmp/.tmpJql8Zg/data,ballast-size=0 --listen-addr [::1]:0 --listening-url-file /var/tmp/omicron_tmp/.tmpJql8Zg/listen-url","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:44.574965995Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"cockroach environment: BUILDOMAT_JOB_ID=01KE7WQCCHKXKDNQDSYTADV2TW BUILDOMAT_TASK_ID=4 CARGO=/home/build/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/bin/cargo CARGO_HOME=/home/build/.cargo CARGO_INCREMENTAL=0 CARGO_MANIFEST_DIR=/work/oxidecomputer/omicron/nexus/db-queries CARGO_PKG_AUTHORS= CARGO_PKG_DESCRIPTION= CARGO_PKG_HOMEPAGE= CARGO_PKG_LICENSE=MPL-2.0 CARGO_PKG_LICENSE_FILE= CARGO_PKG_NAME=nexus-db-queries CARGO_PKG_REPOSITORY= CARGO_PKG_RUST_VERSION= CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE= CARGO_TERM_COLOR=always CI=true CRDB_SEED_TAR=/var/tmp/omicron_tmp/crdb-base-build/6611190cc8364f7bf7d3ce23db6618362efcfd7038addeb4422d3f9b0adcd986.tar GITHUB_BRANCH=zl/mcast-implicit-lifecycle GITHUB_REF=refs/heads/zl/mcast-implicit-lifecycle GITHUB_REPOSITORY=oxidecomputer/omicron GITHUB_SHA=af93ec219ac82dcc690a266db681416f10ff090b GOTRACEBACK=crash HOME=/home/build LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LD_LIBRARY_PATH=/work/oxidecomputer/omicron/target/debug/build/aws-lc-sys-91e01de4f8c673a6/out:/work/oxidecomputer/omicron/target/debug/build/blake3-8209ed8a7f0bf381/out:/work/oxidecomputer/omicron/target/debug/build/bzip2-sys-25e47c900662eb46/out/lib:/work/oxidecomputer/omicron/target/debug/build/libgit2-sys-cb78d7a540270d72/out/build:/work/oxidecomputer/omicron/target/debug/build/libz-sys-2027e4bc19e782f7/out/lib:/work/oxidecomputer/omicron/target/debug/build/ring-a34b593a4e85afde/out:/work/oxidecomputer/omicron/target/debug/build/tofino-13e9e2a5dace84b2/out:/work/oxidecomputer/omicron/target/debug/build/zstd-sys-6e719523ceeee4f8/out:/work/oxidecomputer/omicron/target/debug/deps:/work/oxidecomputer/omicron/target/debug:/home/build/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/build/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/lib LOGNAME=build NEXTEST=1 NEXTEST_EXECUTION_MODE=process-per-test NEXTEST_LD_LIBRARY_PATH=/work/oxidecomputer/omicron/target/debug/build/aws-lc-sys-91e01de4f8c673a6/out:/work/oxidecomputer/omicron/target/debug/build/blake3-8209ed8a7f0bf381/out:/work/oxidecomputer/omicron/target/debug/build/bzip2-sys-25e47c900662eb46/out/lib:/work/oxidecomputer/omicron/target/debug/build/libgit2-sys-cb78d7a540270d72/out/build:/work/oxidecomputer/omicron/target/debug/build/libz-sys-2027e4bc19e782f7/out/lib:/work/oxidecomputer/omicron/target/debug/build/ring-a34b593a4e85afde/out:/work/oxidecomputer/omicron/target/debug/build/tofino-13e9e2a5dace84b2/out:/work/oxidecomputer/omicron/target/debug/build/zstd-sys-6e719523ceeee4f8/out:/work/oxidecomputer/omicron/target/debug/deps:/work/oxidecomputer/omicron/target/debug:/home/build/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/build/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/lib NEXTEST_PROFILE=ci NEXTEST_RUN_ID=73fdf934-cc89-4c50-9dd9-b66a32ba38f3 NEXTEST_TEST_GLOBAL_SLOT=0 NEXTEST_TEST_GROUP=@global NEXTEST_TEST_GROUP_SLOT=none NEXTEST_TEST_PHASE=run OUT_DIR=/work/oxidecomputer/omicron/target/debug/build/nexus-db-queries-eaab8aed17052aee/out PATH=/work/oxidecomputer/omicron/out/mgd/root/opt/oxide/mgd/bin:/work/oxidecomputer/omicron/out/dendrite-stub/bin:/work/oxidecomputer/omicron/out/clickhouse:/work/oxidecomputer/omicron/out/cockroachdb/bin:/home/build/.cargo/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/ooce/bin:/opt/ooce/sbin PWD=/work/oxidecomputer/omicron RUSTC_BOOTSTRAP=1 RUSTDOCFLAGS=--document-private-items -D warnings RUSTFLAGS=--cfg tokio_unstable -D warnings RUSTUP_HOME=/home/build/.rustup RUSTUP_TOOLCHAIN=1.91.1-x86_64-unknown-linux-gnu RUST_BACKTRACE=1 RUST_RECURSION_COUNT=1 SHLVL=1 SSL_CERT_DIR=/usr/lib/ssl/certs SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt TMPDIR=/var/tmp/omicron_tmp TZ=UTC USER=build __NEXTEST_ATTEMPT=1","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:44.575171906Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"cockroach pid: 60797","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:45.797022437Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"cockroach listen URL: postgresql://root@[::1]:33303/omicron?sslmode=disable","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:45.797079521Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"registered USDT probes","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:45.802004737Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"Database schema version is up to date","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.421647875Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"desired_version":"218.0.0","found_version":"218.0.0","component":"datastore"} {"msg":"Datastore is ready for usage","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422033317Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422177586Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422214748Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422248279Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.42226352Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422301163Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422331364Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422364146Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422390058Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422413469Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.42243569Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422468792Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422511685Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422533326Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422554227Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.42260313Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422626641Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422648933Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422674244Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422698156Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422722827Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422749199Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.42277559Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422801042Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422825423Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422850294Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422874446Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422897277Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422918369Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.42294035Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422967371Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.422988823Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423009064Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423028865Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423048696Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423073387Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423095769Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423131291Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423153282Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423221776Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423253448Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.42327817Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423302471Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423327102Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423350084Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423373025Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423393976Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423413937Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423434279Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.42345967Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423481091Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423501152Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423521484Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423541345Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423607259Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423644021Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423673142Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423702414Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423733116Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423761798Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423791449Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423821391Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423837042Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423849583Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423862604Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423886005Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423911876Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423957649Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.423985131Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.424019142Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.424042014Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.424063405Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.424085937Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.424106648Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.44665843Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.446708273Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.44940869Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in users","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.449467403Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.45129885Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.451341733Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.451362804Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 5 built-in users","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.465009978Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.465063881Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.465093113Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.469912683Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in role assignments","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.470616884Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.470649096Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.470699589Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.470746652Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 4 built-in role assignments","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.656783628Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.656840871Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.656878483Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.663156878Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in silos","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.663218612Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.663238993Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.663264485Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.664024239Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 2 built-in silos","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.766089538Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.767088496Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.767177671Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.767207233Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.774944884Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.775014528Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.777611939Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in projects","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.777668262Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.777695443Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.777734936Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.778289708Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.800172411Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.800242936Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.800274368Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.800356232Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.801478347Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.878286277Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.879977006Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.880026218Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.88005128Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.882358294Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.886990754Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.887058387Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.887148793Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.887196725Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.887220357Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.888319261Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.893425378Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.893483652Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.893538805Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.89432531Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.898425469Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.903328334Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.903456922Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.903502815Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.904079558Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created built-in services project","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:46.918316266Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.918493097Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.91854191Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.921670592Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in VPCs","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.921751336Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.921782368Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.92181522Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.922447007Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.925161475Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.925214458Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.927192313Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.928041352Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.928106846Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.928160909Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.928188091Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.928797156Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.931177955Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.931224048Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.931254009Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.931883136Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.93349234Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.933565684Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.933598476Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.934284186Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.936097261Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.945269995Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Project\" using built-in user","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.945337849Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.94535905Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.945816626Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.946109034Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.946168417Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.946798254Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.949023313Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.949129549Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.949169741Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.949868562Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.951743472Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.951795405Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.951867919Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.95257844Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.954542574Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.963952152Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.9640855Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.964124002Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.964853745Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.977268417Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.977356252Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.977409195Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.977442717Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.977475589Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.988033023Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.988242046Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.988273827Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.989304257Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.993684652Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:46.995002619Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.995045331Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.995070873Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:46.996645404Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.0073996Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.007539748Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.00757982Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.008196176Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.014497463Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.01633622Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.016374872Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.022130997Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.023412592Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.023453154Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.025981702Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.026050606Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.026084348Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.026160062Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.027411325Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.030064429Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.030740828Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.030795222Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.03145689Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.033804987Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.034792084Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.034835897Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.034863608Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.037755437Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.051876628Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.05225132Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.052310794Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.05276013Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.122962385Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.124038208Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.12407393Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.124101251Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.124126023Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.126275908Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.126337671Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.126366433Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.126927356Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.128918442Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.128978775Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.129011617Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.129685026Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.131334672Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.140796063Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.14092014Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.140949512Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.141561868Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.244876269Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.245778992Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.245821194Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.245848676Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.245968843Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.248742345Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.248793877Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.248826119Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.249622326Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.257103931Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.257157384Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.257184235Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.257205346Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.257250949Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.265990358Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.266783354Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.266826377Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.266872279Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in VPC firewall rules","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.272882459Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.272935552Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.272990085Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.273788192Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.277013399Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.277065333Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.277868519Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.280223446Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.281038253Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.281106567Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.285024656Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.285332444Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.285372556Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.285401678Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.286152311Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.288334708Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.288736432Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.288776904Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.288927683Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.290934189Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.291001133Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.291029465Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.291649281Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.29678358Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.306909649Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.306986183Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.307055147Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.30710643Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.307150663Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.307176295Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.307801591Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.310311657Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.31036798Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.310396052Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.312294372Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.314724024Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.314784147Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.314818209Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.315456476Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.321074374Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.330627359Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.330831871Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.330865383Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.331450127Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.33923828Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.339315185Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.339348066Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.33941276Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.340736017Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.342907614Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.342950866Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.342976358Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.343840048Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.35247819Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.352543104Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.352582217Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.353687511Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.355343148Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.363841022Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.36398497Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.364070855Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.364762285Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created built-in VPC firewall rules","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:47.474259337Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"attempting to create built-in VPC Subnets","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.474325681Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.474352923Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.474405406Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.475285877Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.477583511Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.477650485Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.478402809Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.480421936Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.481619525Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.481655167Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.483665935Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.483728818Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.483798642Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.483855986Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.484500403Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.486478428Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.486542882Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.486575854Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.487789575Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.490735116Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.49079261Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.490857103Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.491536303Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.49458444Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.503847719Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.505550228Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.50558867Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.505621232Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.505646534Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.510314965Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.510368098Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.510386819Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.510427452Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.511225798Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.513474759Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.513521352Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.513573665Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.514555622Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.516598411Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.516648534Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.516682996Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.517378816Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.519352051Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.526815736Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.53205463Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.532129104Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.532236601Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.532273533Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.532876778Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.534920187Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.53496417Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.534990071Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.535688242Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.537346319Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.537415303Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.537447954Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.538011657Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.539929749Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.549182117Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.549332416Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.549368948Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.550053958Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.635928735Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.635990928Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.637275893Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.640418896Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.640478589Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.640509501Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.640536743Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.641431835Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.64392084Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.643988034Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.644019376Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.644900847Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.647603224Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.647990927Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.64803784Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.648605002Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.652637467Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.664144006Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.668813809Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.668893703Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.668926805Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.668988109Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.669825517Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.672050317Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.673031464Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.673103788Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.67313397Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.676994225Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.678376095Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.678417618Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.678433769Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.679807929Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.689147362Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.689249098Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.68927795Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.689770798Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.695260437Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.695323101Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.696033133Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.698316946Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.698374799Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.698407131Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.698433392Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.699012996Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.700881825Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.700922137Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.700942059Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.701812589Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.703606063Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.703664227Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.703700089Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.704316805Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.713014841Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.716152253Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.720349468Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.720422662Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.720484025Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.720537768Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.721364756Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.723088147Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.723161951Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.723219375Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.723677691Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.725281245Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.725347599Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.725435994Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.726048469Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.727829213Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.738328004Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.738499214Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.738551717Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.739217756Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.745128479Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.745232995Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.745952487Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created built-in services vpc subnets","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:47.74873368Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"created built-in services vpc","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:47.748772132Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.748798363Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.748830405Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.751847921Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create silo users","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.751898893Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.751998739Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.752033511Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.752791105Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 2 silo users","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:47.84343622Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"attempting to create silo user role assignments","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.844668512Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.844721155Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.844766278Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.844796659Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 2 silo user role assignments","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:47.847858828Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.84789573Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.847929632Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.848677415Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.853086721Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.853152615Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.853999555Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.881556578Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.881638603Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.881669385Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.881692957Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.883460449Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.885923912Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.888897445Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:47.89034891Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.890392292Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:47.890416024Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.096747431Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.096814175Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.096889539Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.096930901Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.097912448Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.100384632Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.102963262Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.103011005Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.103047717Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.103636981Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106455165Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106497588Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106524789Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106548371Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106572712Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106594853Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106635176Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106655547Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106674748Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106693919Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.10671395Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106732961Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106752853Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106792605Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106814226Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106835838Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106867069Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106892801Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106916602Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106941514Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106967225Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.106992707Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.10704193Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107068411Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107092953Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107132655Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107155466Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107175517Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107195728Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.10721516Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107234291Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107254542Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107274353Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107293934Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107314095Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107340697Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107365718Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.10738651Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107406201Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107428082Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107447093Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107595212Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107654295Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107686187Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107728079Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107754471Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107809734Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107864938Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107894369Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107923041Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.107987345Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108020336Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108050618Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108099691Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108133463Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108156564Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108179126Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108203087Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108224679Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108244349Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108288362Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108309683Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108330385Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108351686Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108371687Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108393068Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.10843208Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108455072Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108475733Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108496384Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108517576Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108539997Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_denormalized_columns_consistency","level":30,"time":"2026-01-05T20:36:48.108561578Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.137845502Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.137892205Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.137928157Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.138399294Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.139322588Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.146458613Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.151951023Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.152005136Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.152104901Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.152649703Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.155242864Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.155317389Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.155357941Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.155390883Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.156075063Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.159410017Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.164498773Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.164595518Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.164650891Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.16530228Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.167781794Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.167830637Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.167863809Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.167895801Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.168479245Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.171276507Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.176456749Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.176548644Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.176578576Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.177182381Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.263106221Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.263199917Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.263251849Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.263286431Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.264230417Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.267892059Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.273315615Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.274386088Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.274463072Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.274491464Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_denormalized_columns_consistency","level":10,"time":"2026-01-05T20:36:48.278006308Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.278087913Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_denormalized_columns_consistency","level":20,"time":"2026-01-05T20:36:48.279519066Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"Pool dropped without invoking `terminate`. qorb background tasks\n should be cancelled, but they may briefly still be initializing connections","v":0,"name":"test_denormalized_columns_consistency","level":50,"time":"2026-01-05T20:36:52.03343056Z","hostname":"w-01KE7WQMRWBE9J7YH24X61QV8B","pid":60781}