From 3a39c77a201b96d73ef762e0d5bb10c059798d26 Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Wed, 10 Apr 2024 14:47:18 -0400 Subject: [PATCH 01/13] namespaces --- go.work.sum | 158 ++++++++++++++++++++++++- service/integration/namespaces_test.go | 6 + service/policy/db/namespaces.go | 11 +- 3 files changed, 172 insertions(+), 3 deletions(-) diff --git a/go.work.sum b/go.work.sum index c559b419a0..db64680cfe 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,6 +1,162 @@ +cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= +cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= +cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= +cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= +cloud.google.com/go/storage v1.35.1/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= +github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU= +github.com/Microsoft/cosesign1go v1.1.0/go.mod h1:o+sw7nhlGE6twhfjXQDWmBJO8zmfQXEmCcXEi3zha8I= +github.com/Microsoft/didx509go v0.0.2/go.mod h1:F+msvNlKCEm3RgUE3kRpi7E+6hdR6r5PtOLWQKYfGbs= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= +github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= +github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= +github.com/containerd/go-cni v1.1.9/go.mod h1:XYrZJ1d5W6E2VOvjffL3IZq0Dz6bsVlERHbekNK90PM= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.1.7/go.mod h1:FD8gqIcX5aTotCtOmjeCsi3A1dHmTZpnMISGKSczt4k= +github.com/containerd/nri v0.6.0/go.mod h1:F7OZfO4QTPqw5r87aq+syZJwiVvRYLIlHZiZDBV1W3A= +github.com/containerd/protobuild v0.3.0/go.mod h1:5mNMFKKAwCIAkFBPiOdtRx2KiQlyEJeMXnL5R1DsWu8= +github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= +github.com/containerd/ttrpc v1.2.3/go.mod h1:ieWsXucbb8Mj9PH0rXCw1i8IunRbbAiDkpXkbfflWBM= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= +github.com/containerd/zfs v1.1.0/go.mod h1:oZF9wBnrnQjpWLaPKEinrx3TQ9a+W/RJO7Zb41d8YLE= +github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= +github.com/containernetworking/plugins v1.2.0/go.mod h1:/VjX4uHecW5vVimFa1wkG4s+r/s9qIfPdqlLF4TW8c4= +github.com/containers/ocicrypt v1.1.6/go.mod h1:WgjxPWdTJMqYMjf3M6cuIFFA1/MpyyhIM99YInA+Rvc= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/emicklei/go-restful/v3 v3.10.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= +github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg= +github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= +github.com/google/go-containerregistry v0.17.0/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/hashicorp/consul/api v1.25.1/go.mod h1:iiLVwR/htV7mas/sy0O+XSuEnrdBUUydemjxcUrAt4g= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= +github.com/intel/goresctrl v0.3.0/go.mod h1:fdz3mD85cmP9sHD8JUlrNWAxvwM86CrbmVXltEKd7zk= +github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= github.com/lestrrat-go/jwx v1.2.28 h1:uadI6o0WpOVrBSf498tRXZIwPpEtLnR9CvqPFXeI5sA= -github.com/opentdf/platform/sdk v0.0.0-20240409133529-9d7b951a26c6/go.mod h1:+nDnByiCcyonXP7XzIhdU80zf/NUvPRXFySTkWjb6/k= +github.com/lestrrat-go/jwx v1.2.28/go.mod h1:nF+91HEMh/MYFVwKPl5HHsBGMPscqbQb+8IDQdIazP8= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/microsoft/go-mssqldb v1.6.0/go.mod h1:00mDtPbeQCRGC1HwOOR5K/gr30P1NcEG0vx6Kbv2aJU= +github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= +github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nats-io/nats.go v1.31.0/go.mod h1:di3Bm5MLsoB4Bx61CBTsxuarI36WbhAwOm8QrW39+i8= +github.com/nats-io/nkeys v0.4.6/go.mod h1:4DxZNzenSVd1cYQoAa8948QY3QDjrHfcfVADymtkpts= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI= +github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= +github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/peterh/liner v1.2.2/go.mod h1:xFwJyiKIXJZUKItq5dGHZSTBRAuG/CpeNpWLyiNRNwI= +github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= +github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= +github.com/sagikazarmark/crypt v0.17.0/go.mod h1:SMtHTvdmsZMuY/bpZoqokSoChIrcJ/epOxZN58PbZDg= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/urfave/cli v1.22.14/go.mod h1:X0eDS6pD6Exaclxm99NJ3FiCDRED7vIHpx2mDOHLvkA= +github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY= +github.com/vektah/gqlparser/v2 v2.4.5/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= +github.com/veraison/go-cose v1.2.0/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= +github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= +github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= +github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= +go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE= +go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= +go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= +go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= +go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +google.golang.org/api v0.153.0/go.mod h1:3qNJX5eOmhiWYc67jRA/3GsDw97UFb5ivv7Y2PrriAY= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +k8s.io/api v0.26.2/go.mod h1:1kjMQsFE+QHPfskEcVNgL3+Hp88B80uj0QtSOlj8itU= +k8s.io/apimachinery v0.26.2/go.mod h1:ats7nN1LExKHvJ9TmwootT00Yz05MuYqPXEXaVeOy5I= +k8s.io/apiserver v0.26.2/go.mod h1:GHcozwXgXsPuOJ28EnQ/jXEM9QeG6HT22YxSNmpYNh8= +k8s.io/client-go v0.26.2/go.mod h1:u5EjOuSyBa09yqqyY7m3abZeovO/7D/WehVVlZ2qcqU= +k8s.io/component-base v0.26.2/go.mod h1:DxbuIe9M3IZPRxPIzhch2m1eT7uFrSBJUBuVCQEBivs= +k8s.io/cri-api v0.27.1/go.mod h1:+Ts/AVYbIo04S86XbTD73UPp/DkTiYxtsFeOFEu32L0= +k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= +tags.cncf.io/container-device-interface v0.6.2/go.mod h1:Shusyhjs1A5Na/kqPVLL0KqnHQHuunol9LFeUNkuGVE= +tags.cncf.io/container-device-interface/specs-go v0.6.0/go.mod h1:hMAwAbMZyBLdmYqWgYcKH0F/yctNpV3P35f+/088A80= diff --git a/service/integration/namespaces_test.go b/service/integration/namespaces_test.go index 964f41aa01..b5fa43c2ea 100644 --- a/service/integration/namespaces_test.go +++ b/service/integration/namespaces_test.go @@ -6,6 +6,7 @@ import ( "log/slog" "strings" "testing" + "time" "github.com/opentdf/platform/protocol/go/common" "github.com/opentdf/platform/protocol/go/policy" @@ -158,14 +159,19 @@ func (s *NamespacesSuite) Test_UpdateNamespace() { "update": updatedLabel, "new": newLabel, } + start := time.Now() created, err := s.db.PolicyClient.CreateNamespace(s.ctx, &namespaces.CreateNamespaceRequest{ Name: "updating-namespace.com", Metadata: &common.MetadataMutable{ Labels: labels, }, }) + end := time.Now() metadata := created.GetMetadata() + createdAt := metadata.GetCreatedAt() updatedAt := metadata.GetUpdatedAt() + s.True(createdAt.AsTime().After(start)) + s.True(createdAt.AsTime().Before(end)) s.NoError(err) s.NotNil(created) diff --git a/service/policy/db/namespaces.go b/service/policy/db/namespaces.go index 75dd5e843a..7c6794c6ae 100644 --- a/service/policy/db/namespaces.go +++ b/service/policy/db/namespaces.go @@ -180,7 +180,7 @@ func createNamespaceSql(name string, metadata []byte) (string, []interface{}, er Insert(t.Name()). Columns("name", "metadata"). Values(name, metadata). - Suffix("RETURNING \"id\""). + Suffix("RETURNING \"id\", " + getMetadataField("", false)). ToSql() } @@ -199,10 +199,17 @@ func (c PolicyDBClient) CreateNamespace(ctx context.Context, r *namespaces.Creat var id string if r, e := c.QueryRow(ctx, sql, args); e != nil { return nil, e - } else if e := r.Scan(&id); e != nil { + } else if e := r.Scan(&id, &metadataJSON); e != nil { return nil, db.WrapIfKnownInvalidQueryErr(e) } + if metadataJSON != nil { + if err := protojson.Unmarshal(metadataJSON, m); err != nil { + slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) + return nil, err + } + } + // Update FQN c.upsertAttrFqn(ctx, attrFqnUpsertOptions{namespaceId: id}) From 1534f51200779075a55fbea3dd7d162813b554fd Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Wed, 10 Apr 2024 14:52:19 -0400 Subject: [PATCH 02/13] attributes --- service/integration/attributes_test.go | 6 ++++++ service/policy/db/attributes.go | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/service/integration/attributes_test.go b/service/integration/attributes_test.go index 04ce1cf6d9..ae9a001627 100644 --- a/service/integration/attributes_test.go +++ b/service/integration/attributes_test.go @@ -6,6 +6,7 @@ import ( "log/slog" "strings" "testing" + "time" "github.com/opentdf/platform/protocol/go/common" "github.com/opentdf/platform/protocol/go/policy" @@ -404,9 +405,14 @@ func (s *AttributesSuite) Test_UpdateAttribute() { Labels: labels, }, } + start := time.Now() created, err := s.db.PolicyClient.CreateAttribute(s.ctx, attr) + end := time.Now() metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() + createdAt := metadata.GetCreatedAt() + s.True(createdAt.AsTime().After(start)) + s.True(createdAt.AsTime().Before(end)) s.NoError(err) s.NotNil(created) diff --git a/service/policy/db/attributes.go b/service/policy/db/attributes.go index fe88a862cb..68a173fd24 100644 --- a/service/policy/db/attributes.go +++ b/service/policy/db/attributes.go @@ -468,7 +468,7 @@ func createAttributeSql(namespaceId string, name string, rule string, metadata [ Insert(t.Name()). Columns("namespace_id", "name", "rule", "metadata"). Values(namespaceId, name, rule, metadata). - Suffix("RETURNING \"id\""). + Suffix("RETURNING \"id\", " + getMetadataField("", false)). ToSql() } @@ -488,10 +488,17 @@ func (c PolicyDBClient) CreateAttribute(ctx context.Context, r *attributes.Creat var id string if r, err := c.QueryRow(ctx, sql, args); err != nil { return nil, err - } else if err := r.Scan(&id); err != nil { + } else if err := r.Scan(&id, &metadataJSON); err != nil { return nil, db.WrapIfKnownInvalidQueryErr(err) } + if metadataJSON != nil { + if err := protojson.Unmarshal(metadataJSON, metadata); err != nil { + slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) + return nil, err + } + } + // Update the FQN c.upsertAttrFqn(ctx, attrFqnUpsertOptions{attributeId: id}) From 07fe8e3a562f16ef0acdcf39138726947469fa0d Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Wed, 10 Apr 2024 14:55:23 -0400 Subject: [PATCH 03/13] attribute values --- service/integration/attribute_values_test.go | 6 ++++++ service/policy/db/attribute_values.go | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/service/integration/attribute_values_test.go b/service/integration/attribute_values_test.go index 3183fe3688..99c76736f9 100644 --- a/service/integration/attribute_values_test.go +++ b/service/integration/attribute_values_test.go @@ -6,6 +6,7 @@ import ( "sort" "strings" "testing" + "time" "github.com/opentdf/platform/protocol/go/common" "github.com/opentdf/platform/protocol/go/policy" @@ -285,14 +286,19 @@ func (s *AttributeValuesSuite) Test_UpdateAttributeValue() { // create a value attrDef := s.f.GetAttributeKey("example.net/attr/attr1") + start := time.Now() created, err := s.db.PolicyClient.CreateAttributeValue(s.ctx, attrDef.Id, &attributes.CreateAttributeValueRequest{ Value: "created value testing update", Metadata: &common.MetadataMutable{ Labels: labels, }, }) + end := time.Now() metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() + createdAt := metadata.GetCreatedAt() + s.True(createdAt.AsTime().After(start)) + s.True(createdAt.AsTime().Before(end)) s.NoError(err) s.NotNil(created) diff --git a/service/policy/db/attribute_values.go b/service/policy/db/attribute_values.go index 0765847891..4cddb8eb7f 100644 --- a/service/policy/db/attribute_values.go +++ b/service/policy/db/attribute_values.go @@ -145,7 +145,7 @@ func createAttributeValueSql( value, metadata, ). - Suffix("RETURNING id"). + Suffix("RETURNING id, " + getMetadataField("", false)). ToSql() } @@ -169,7 +169,7 @@ func (c PolicyDBClient) CreateAttributeValue(ctx context.Context, attributeID st var id string if r, err := c.QueryRow(ctx, sql, args); err != nil { return nil, err - } else if err := r.Scan(&id); err != nil { + } else if err := r.Scan(&id, &metadataJSON); err != nil { return nil, db.WrapIfKnownInvalidQueryErr(err) } @@ -194,6 +194,13 @@ func (c PolicyDBClient) CreateAttributeValue(ctx context.Context, attributeID st members = append(members, attr) } + if metadataJSON != nil { + if err := protojson.Unmarshal(metadataJSON, metadata); err != nil { + slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) + return nil, err + } + } + // Update FQN c.upsertAttrFqn(ctx, attrFqnUpsertOptions{valueId: id}) From e881074e307d87fea3d285359b2e153ad8c1530d Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Wed, 10 Apr 2024 14:58:24 -0400 Subject: [PATCH 04/13] resource mappings --- service/integration/resource_mappings_test.go | 6 ++++++ service/policy/db/resource_mapping.go | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/service/integration/resource_mappings_test.go b/service/integration/resource_mappings_test.go index d0aee91b65..2aa44cb57d 100644 --- a/service/integration/resource_mappings_test.go +++ b/service/integration/resource_mappings_test.go @@ -5,6 +5,7 @@ import ( "fmt" "log/slog" "testing" + "time" "github.com/opentdf/platform/protocol/go/common" "github.com/opentdf/platform/protocol/go/policy/resourcemapping" @@ -192,6 +193,7 @@ func (s *ResourceMappingsSuite) Test_UpdateResourceMapping() { updateTerms := []string{"updated term1", "updated term 2"} attrValue := s.f.GetAttributeValueKey("example.com/attr/attr2/value/value2") + start := time.Now() createdMapping, err := s.db.PolicyClient.CreateResourceMapping(s.ctx, &resourcemapping.CreateResourceMappingRequest{ AttributeValueId: attrValue.Id, Metadata: &common.MetadataMutable{ @@ -199,8 +201,12 @@ func (s *ResourceMappingsSuite) Test_UpdateResourceMapping() { }, Terms: terms, }) + end := time.Now() metadata := createdMapping.GetMetadata() updatedAt := metadata.GetUpdatedAt() + createdAt := metadata.GetCreatedAt() + s.True(createdAt.AsTime().After(start)) + s.True(createdAt.AsTime().Before(end)) s.NoError(err) s.NotNil(createdMapping) diff --git a/service/policy/db/resource_mapping.go b/service/policy/db/resource_mapping.go index 02659fd3fc..438fa4a174 100644 --- a/service/policy/db/resource_mapping.go +++ b/service/policy/db/resource_mapping.go @@ -111,7 +111,7 @@ func createResourceMappingSQL(attributeValueID string, metadata []byte, terms [] metadata, terms, ). - Suffix("RETURNING \"id\""). + Suffix("RETURNING \"id\", " + getMetadataField("", false)). ToSql() } @@ -132,7 +132,7 @@ func (c PolicyDBClient) CreateResourceMapping(ctx context.Context, r *resourcema } var id string - if err := row.Scan(&id); err != nil { + if err := row.Scan(&id, &metadataJSON); err != nil { return nil, db.WrapIfKnownInvalidQueryErr(err) } @@ -142,6 +142,13 @@ func (c PolicyDBClient) CreateResourceMapping(ctx context.Context, r *resourcema return nil, db.WrapIfKnownInvalidQueryErr(err) } + if metadataJSON != nil { + if err := protojson.Unmarshal(metadataJSON, metadata); err != nil { + slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) + return nil, err + } + } + return &policy.ResourceMapping{ Id: id, Metadata: metadata, From c98725feed1d8e36d9cbcb4f8fedf56427ec2f03 Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Wed, 10 Apr 2024 15:02:54 -0400 Subject: [PATCH 05/13] subject mappings and condition sets --- service/integration/subject_mappings_test.go | 13 +++++++++-- service/policy/db/subject_mappings.go | 23 ++++++++++++++++---- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/service/integration/subject_mappings_test.go b/service/integration/subject_mappings_test.go index c4b6e2f565..d723279012 100644 --- a/service/integration/subject_mappings_test.go +++ b/service/integration/subject_mappings_test.go @@ -4,6 +4,7 @@ import ( "context" "log/slog" "testing" + "time" "github.com/opentdf/platform/protocol/go/common" "github.com/opentdf/platform/protocol/go/policy" @@ -203,10 +204,14 @@ func (s *SubjectMappingsSuite) TestUpdateSubjectMapping_Actions() { Actions: []*policy.Action{aTransmit, aCustomUpload}, ExistingSubjectConditionSetId: fixtureScs.Id, } - + start := time.Now() created, err := s.db.PolicyClient.CreateSubjectMapping(context.Background(), newSubjectMapping) + end := time.Now() metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() + createdAt := metadata.GetCreatedAt() + s.True(createdAt.AsTime().After(start)) + s.True(createdAt.AsTime().Before(end)) s.Require().NoError(err) s.NotNil(created) @@ -630,10 +635,14 @@ func (s *SubjectMappingsSuite) TestUpdateSubjectConditionSet_NewSubjectSets() { {}, }, } - + start := time.Now() created, err := s.db.PolicyClient.CreateSubjectConditionSet(context.Background(), newConditionSet) + end := time.Now() metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() + createdAt := metadata.GetCreatedAt() + s.True(createdAt.AsTime().After(start)) + s.True(createdAt.AsTime().Before(end)) s.Require().NoError(err) s.NotNil(created) diff --git a/service/policy/db/subject_mappings.go b/service/policy/db/subject_mappings.go index 54adca8b79..b1a0e77159 100644 --- a/service/policy/db/subject_mappings.go +++ b/service/policy/db/subject_mappings.go @@ -303,7 +303,7 @@ func createSubjectConditionSetSql(subjectSets []*policy.SubjectSet, metadataJSON Insert(t.Name()). Columns(columns...). Values(values...). - Suffix("RETURNING \"id\""). + Suffix("RETURNING \"id\", " + getMetadataField("", false)). ToSql() } @@ -324,9 +324,17 @@ func (c PolicyDBClient) CreateSubjectConditionSet(ctx context.Context, s *subjec if err != nil { return nil, err } - if err = r.Scan(&id); err != nil { + if err = r.Scan(&id, &metadataJSON); err != nil { return nil, db.WrapIfKnownInvalidQueryErr(err) } + + if metadataJSON != nil { + if err := protojson.Unmarshal(metadataJSON, m); err != nil { + slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) + return nil, err + } + } + return &policy.SubjectConditionSet{ Id: id, SubjectSets: s.GetSubjectSets(), @@ -486,7 +494,7 @@ func createSubjectMappingSql(attribute_value_id string, actions []byte, metadata Insert(t.Name()). Columns(columns...). Values(values...). - Suffix("RETURNING \"id\""). + Suffix("RETURNING \"id\", " + getMetadataField("", false)). ToSql() } @@ -540,10 +548,17 @@ func (c PolicyDBClient) CreateSubjectMapping(ctx context.Context, s *subjectmapp var id string if r, err := c.QueryRow(ctx, sql, args); err != nil { return nil, err - } else if err := r.Scan(&id); err != nil { + } else if err := r.Scan(&id, &metadataJSON); err != nil { return nil, db.WrapIfKnownInvalidQueryErr(err) } + if metadataJSON != nil { + if err := protojson.Unmarshal(metadataJSON, m); err != nil { + slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) + return nil, err + } + } + return &policy.SubjectMapping{ Id: id, AttributeValue: &policy.Value{ From bf765f7d3b38e117f39266bc40d2dbb630a654a3 Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Wed, 10 Apr 2024 15:21:25 -0400 Subject: [PATCH 06/13] redeclaration linting --- service/policy/db/attribute_values.go | 2 +- service/policy/db/attributes.go | 2 +- service/policy/db/namespaces.go | 4 ++-- service/policy/db/resource_mapping.go | 2 +- service/policy/db/subject_mappings.go | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/service/policy/db/attribute_values.go b/service/policy/db/attribute_values.go index 4cddb8eb7f..216b7fa13b 100644 --- a/service/policy/db/attribute_values.go +++ b/service/policy/db/attribute_values.go @@ -195,7 +195,7 @@ func (c PolicyDBClient) CreateAttributeValue(ctx context.Context, attributeID st } if metadataJSON != nil { - if err := protojson.Unmarshal(metadataJSON, metadata); err != nil { + if err = protojson.Unmarshal(metadataJSON, metadata); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) return nil, err } diff --git a/service/policy/db/attributes.go b/service/policy/db/attributes.go index 68a173fd24..35e6df96ef 100644 --- a/service/policy/db/attributes.go +++ b/service/policy/db/attributes.go @@ -493,7 +493,7 @@ func (c PolicyDBClient) CreateAttribute(ctx context.Context, r *attributes.Creat } if metadataJSON != nil { - if err := protojson.Unmarshal(metadataJSON, metadata); err != nil { + if err = protojson.Unmarshal(metadataJSON, metadata); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) return nil, err } diff --git a/service/policy/db/namespaces.go b/service/policy/db/namespaces.go index 7c6794c6ae..eeb42a9433 100644 --- a/service/policy/db/namespaces.go +++ b/service/policy/db/namespaces.go @@ -199,12 +199,12 @@ func (c PolicyDBClient) CreateNamespace(ctx context.Context, r *namespaces.Creat var id string if r, e := c.QueryRow(ctx, sql, args); e != nil { return nil, e - } else if e := r.Scan(&id, &metadataJSON); e != nil { + } else if e = r.Scan(&id, &metadataJSON); e != nil { return nil, db.WrapIfKnownInvalidQueryErr(e) } if metadataJSON != nil { - if err := protojson.Unmarshal(metadataJSON, m); err != nil { + if err = protojson.Unmarshal(metadataJSON, m); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) return nil, err } diff --git a/service/policy/db/resource_mapping.go b/service/policy/db/resource_mapping.go index 438fa4a174..1104d46b94 100644 --- a/service/policy/db/resource_mapping.go +++ b/service/policy/db/resource_mapping.go @@ -143,7 +143,7 @@ func (c PolicyDBClient) CreateResourceMapping(ctx context.Context, r *resourcema } if metadataJSON != nil { - if err := protojson.Unmarshal(metadataJSON, metadata); err != nil { + if err = protojson.Unmarshal(metadataJSON, metadata); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) return nil, err } diff --git a/service/policy/db/subject_mappings.go b/service/policy/db/subject_mappings.go index b1a0e77159..3afa8e6943 100644 --- a/service/policy/db/subject_mappings.go +++ b/service/policy/db/subject_mappings.go @@ -329,7 +329,7 @@ func (c PolicyDBClient) CreateSubjectConditionSet(ctx context.Context, s *subjec } if metadataJSON != nil { - if err := protojson.Unmarshal(metadataJSON, m); err != nil { + if err = protojson.Unmarshal(metadataJSON, m); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) return nil, err } @@ -553,7 +553,7 @@ func (c PolicyDBClient) CreateSubjectMapping(ctx context.Context, s *subjectmapp } if metadataJSON != nil { - if err := protojson.Unmarshal(metadataJSON, m); err != nil { + if err = protojson.Unmarshal(metadataJSON, m); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) return nil, err } From 1f0b7e6f4c4f90667162b68930ae45f77ddb062d Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Wed, 10 Apr 2024 15:30:38 -0400 Subject: [PATCH 07/13] constants lint --- service/policy/db/attribute_values.go | 15 ++++++++------- service/policy/db/attributes.go | 8 ++++---- service/policy/db/namespaces.go | 6 +++--- service/policy/db/resource_mapping.go | 4 ++-- service/policy/db/subject_mappings.go | 10 +++++----- service/policy/db/utils.go | 4 +++- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/service/policy/db/attribute_values.go b/service/policy/db/attribute_values.go index 216b7fa13b..c333a55c53 100644 --- a/service/policy/db/attribute_values.go +++ b/service/policy/db/attribute_values.go @@ -145,7 +145,7 @@ func createAttributeValueSql( value, metadata, ). - Suffix("RETURNING id, " + getMetadataField("", false)). + Suffix(createSuffix). ToSql() } @@ -162,6 +162,7 @@ func (c PolicyDBClient) CreateAttributeValue(ctx context.Context, attributeID st value, metadataJSON, ) + if err != nil { return nil, err } @@ -223,7 +224,7 @@ func getAttributeValueSql(id string, opts attributeValueSelectOptions) (string, "'value', vmv.value, " + "'active', vmv.active, " + "'members', vmv.members || ARRAY[]::UUID[], " + - getMetadataField("vmv", true) + + constructMetadata("vmv", true) + "'attribute', JSON_BUILD_OBJECT(" + "'id', vmv.attribute_definition_id )" if opts.withFqn { @@ -235,7 +236,7 @@ func getAttributeValueSql(id string, opts attributeValueSelectOptions) (string, "av.value", "av.active", members, - getMetadataField("av", false), + constructMetadata("av", false), "av.attribute_definition_id", } if opts.withFqn { @@ -288,7 +289,7 @@ func listAttributeValuesSql(attribute_id string, opts attributeValueSelectOption "'value', vmv.value, " + "'active', vmv.active, " + "'members', vmv.members || ARRAY[]::UUID[], " + - getMetadataField("vmv", true) + + constructMetadata("vmv", true) + "'attribute', JSON_BUILD_OBJECT(" + "'id', vmv.attribute_definition_id )" if opts.withFqn { @@ -300,7 +301,7 @@ func listAttributeValuesSql(attribute_id string, opts attributeValueSelectOption "av.value", "av.active", members, - getMetadataField("av", false), + constructMetadata("av", false), "av.attribute_definition_id", } if opts.withFqn { @@ -359,7 +360,7 @@ func listAllAttributeValuesSql(opts attributeValueSelectOptions) (string, []inte "'value', vmv.value, " + "'active', vmv.active, " + "'members', vmv.members || ARRAY[]::UUID[], " + - getMetadataField("vmv", true) + + constructMetadata("vmv", true) + "'attribute', JSON_BUILD_OBJECT(" + "'id', vmv.attribute_definition_id )" if opts.withFqn { @@ -371,7 +372,7 @@ func listAllAttributeValuesSql(opts attributeValueSelectOptions) (string, []inte "av.value", "av.active", members, - getMetadataField("av", false), + constructMetadata("av", false), "av.attribute_definition_id", } if opts.withFqn { diff --git a/service/policy/db/attributes.go b/service/policy/db/attributes.go index 35e6df96ef..07dd5fc4db 100644 --- a/service/policy/db/attributes.go +++ b/service/policy/db/attributes.go @@ -80,7 +80,7 @@ func attributesSelect(opts attributesSelectOptions) sq.SelectBuilder { t.Field("id"), t.Field("name"), t.Field("rule"), - getMetadataField(t.Name(), false), + constructMetadata(t.Name(), false), t.Field("namespace_id"), t.Field("active"), nt.Field("name"), @@ -152,10 +152,10 @@ func attributesSelect(opts attributesSelectOptions) sq.SelectBuilder { "JSON_AGG(JSON_BUILD_OBJECT(" + "'id', " + smT.Field("id") + "," + "'actions', " + smT.Field("actions") + "," + - getMetadataField(smT.Name(), true) + + constructMetadata(smT.Name(), true) + "'subject_condition_set', JSON_BUILD_OBJECT(" + "'id', " + scsT.Field("id") + "," + - getMetadataField(scsT.Name(), true) + + constructMetadata(scsT.Name(), true) + "'subject_sets', " + scsT.Field("condition") + ")" + ")) AS sub_maps_arr " + @@ -468,7 +468,7 @@ func createAttributeSql(namespaceId string, name string, rule string, metadata [ Insert(t.Name()). Columns("namespace_id", "name", "rule", "metadata"). Values(namespaceId, name, rule, metadata). - Suffix("RETURNING \"id\", " + getMetadataField("", false)). + Suffix(createSuffix). ToSql() } diff --git a/service/policy/db/namespaces.go b/service/policy/db/namespaces.go index eeb42a9433..fbdb97be86 100644 --- a/service/policy/db/namespaces.go +++ b/service/policy/db/namespaces.go @@ -77,7 +77,7 @@ func getNamespaceSql(id string, opts namespaceSelectOptions) (string, []interfac t.Field("id"), t.Field("name"), t.Field("active"), - getMetadataField("", false), + constructMetadata("", false), } if opts.withFqn { @@ -126,7 +126,7 @@ func listNamespacesSql(opts namespaceSelectOptions) (string, []interface{}, erro t.Field("id"), t.Field("name"), t.Field("active"), - getMetadataField("", false), + constructMetadata("", false), } if opts.withFqn { @@ -180,7 +180,7 @@ func createNamespaceSql(name string, metadata []byte) (string, []interface{}, er Insert(t.Name()). Columns("name", "metadata"). Values(name, metadata). - Suffix("RETURNING \"id\", " + getMetadataField("", false)). + Suffix(createSuffix). ToSql() } diff --git a/service/policy/db/resource_mapping.go b/service/policy/db/resource_mapping.go index 1104d46b94..4150a5a166 100644 --- a/service/policy/db/resource_mapping.go +++ b/service/policy/db/resource_mapping.go @@ -79,7 +79,7 @@ func resourceMappingSelect() sq.SelectBuilder { ")) FILTER (WHERE vmv.id IS NOT NULL ), '[]')" return db.NewStatementBuilder().Select( t.Field("id"), - getMetadataField(t.Name(), false), + constructMetadata(t.Name(), false), t.Field("terms"), "JSON_BUILD_OBJECT("+ "'id', av.id,"+ @@ -111,7 +111,7 @@ func createResourceMappingSQL(attributeValueID string, metadata []byte, terms [] metadata, terms, ). - Suffix("RETURNING \"id\", " + getMetadataField("", false)). + Suffix(createSuffix). ToSql() } diff --git a/service/policy/db/subject_mappings.go b/service/policy/db/subject_mappings.go index 3afa8e6943..d92b51e85d 100644 --- a/service/policy/db/subject_mappings.go +++ b/service/policy/db/subject_mappings.go @@ -105,7 +105,7 @@ func subjectConditionSetSelect() sq.SelectBuilder { t := Tables.SubjectConditionSet return db.NewStatementBuilder().Select( t.Field("id"), - getMetadataField("", false), + constructMetadata("", false), t.Field("condition"), ) } @@ -171,10 +171,10 @@ func subjectMappingSelect() sq.SelectBuilder { return db.NewStatementBuilder().Select( t.Field("id"), t.Field("actions"), - getMetadataField(t.Name(), false), + constructMetadata(t.Name(), false), "JSON_BUILD_OBJECT("+ "'id', "+scsT.Field("id")+", "+ - getMetadataField(scsT.Name(), true)+ + constructMetadata(scsT.Name(), true)+ "'subject_sets', "+scsT.Field("condition")+ ") AS subject_condition_set", "JSON_BUILD_OBJECT("+ @@ -303,7 +303,7 @@ func createSubjectConditionSetSql(subjectSets []*policy.SubjectSet, metadataJSON Insert(t.Name()). Columns(columns...). Values(values...). - Suffix("RETURNING \"id\", " + getMetadataField("", false)). + Suffix(createSuffix). ToSql() } @@ -494,7 +494,7 @@ func createSubjectMappingSql(attribute_value_id string, actions []byte, metadata Insert(t.Name()). Columns(columns...). Values(values...). - Suffix("RETURNING \"id\", " + getMetadataField("", false)). + Suffix(createSuffix). ToSql() } diff --git a/service/policy/db/utils.go b/service/policy/db/utils.go index 8da7f8544e..4370bcf8af 100644 --- a/service/policy/db/utils.go +++ b/service/policy/db/utils.go @@ -1,6 +1,6 @@ package db -func getMetadataField(table string, isJSON bool) string { +func constructMetadata(table string, isJSON bool) string { if table != "" { table += "." } @@ -13,3 +13,5 @@ func getMetadataField(table string, isJSON bool) string { } return metadata } + +var createSuffix = "RETURNING id, " + constructMetadata("", false) From a1172a96e6b96ecc806755eebb9b7e78792047f0 Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Thu, 11 Apr 2024 14:39:09 -0400 Subject: [PATCH 08/13] restore go.work.sum --- go.work.sum | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/go.work.sum b/go.work.sum index db64680cfe..f28175911c 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,162 +1,316 @@ +cloud.google.com/go v0.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= +cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/firestore v1.14.0 h1:8aLcKnMPoldYU3YHgu4t2exrKhLQkqaXAGqT0ljrFVw= cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= +cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= +cloud.google.com/go/longrunning v0.5.4 h1:w8xEcbZodnA2BbW6sVirkkoC+1gP8wS57EUUgGS0GVg= cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= +cloud.google.com/go/storage v1.35.1 h1:B59ahL//eDfx2IIKFBeT5Atm9wnNmj3+8xG/W4WB//w= cloud.google.com/go/storage v1.35.1/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= +github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 h1:59MxjQVfjXsBpLy+dbd2/ELV5ofnUkUZBvWSC85sheA= github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU= +github.com/Microsoft/cosesign1go v1.1.0 h1:JnHY2wQkIK4HmstaK5rMdM4S83nIC7fJmD1phOLj9qo= github.com/Microsoft/cosesign1go v1.1.0/go.mod h1:o+sw7nhlGE6twhfjXQDWmBJO8zmfQXEmCcXEi3zha8I= +github.com/Microsoft/didx509go v0.0.2 h1:x1b3Hp1svlSgj4e4191cDtjYCgQIwQXZgudftw7VKtE= github.com/Microsoft/didx509go v0.0.2/go.mod h1:F+msvNlKCEm3RgUE3kRpi7E+6hdR6r5PtOLWQKYfGbs= +github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= +github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY= github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cilium/ebpf v0.9.1 h1:64sn2K3UKw8NbP/blsixRpF3nXuyhz/VjRlRzvlBRu4= github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= +github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs/v2 v2.0.0 h1:FN4wsx7KQrYoLXN7uLP0vBV4oVWHOIKDRQ1G2Z0oL5M= github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= +github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY= github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= +github.com/containerd/go-cni v1.1.9 h1:ORi7P1dYzCwVM6XPN4n3CbkuOx/NZ2DOqy+SHRdo9rU= github.com/containerd/go-cni v1.1.9/go.mod h1:XYrZJ1d5W6E2VOvjffL3IZq0Dz6bsVlERHbekNK90PM= +github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.1.7 h1:WSf9o9EQ0KGHiUx2ESFZ+PKf4nxK9BcvV/nJDX8RkB4= github.com/containerd/imgcrypt v1.1.7/go.mod h1:FD8gqIcX5aTotCtOmjeCsi3A1dHmTZpnMISGKSczt4k= +github.com/containerd/nri v0.6.0 h1:hdztxwL0gCS1CrCa9bvD1SoJiFN4jBuRQhplCvCPMj8= github.com/containerd/nri v0.6.0/go.mod h1:F7OZfO4QTPqw5r87aq+syZJwiVvRYLIlHZiZDBV1W3A= +github.com/containerd/protobuild v0.3.0 h1:RIyEIu+D+iIha6E1PREBPAXspSMFaDVam81JlolZWpg= github.com/containerd/protobuild v0.3.0/go.mod h1:5mNMFKKAwCIAkFBPiOdtRx2KiQlyEJeMXnL5R1DsWu8= +github.com/containerd/stargz-snapshotter/estargz v0.14.3 h1:OqlDCK3ZVUO6C3B/5FSkDwbkEETK84kQgEeFwDC+62k= github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= +github.com/containerd/ttrpc v1.2.3 h1:4jlhbXIGvijRtNC8F/5CpuJZ7yKOBFGFOOXg1bkISz0= github.com/containerd/ttrpc v1.2.3/go.mod h1:ieWsXucbb8Mj9PH0rXCw1i8IunRbbAiDkpXkbfflWBM= +github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4= github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= +github.com/containerd/zfs v1.1.0 h1:n7OZ7jZumLIqNJqXrEc/paBM840mORnmGdJDmAmJZHM= github.com/containerd/zfs v1.1.0/go.mod h1:oZF9wBnrnQjpWLaPKEinrx3TQ9a+W/RJO7Zb41d8YLE= +github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= +github.com/containernetworking/plugins v1.2.0 h1:SWgg3dQG1yzUo4d9iD8cwSVh1VqI+bP7mkPDoSfP9VU= github.com/containernetworking/plugins v1.2.0/go.mod h1:/VjX4uHecW5vVimFa1wkG4s+r/s9qIfPdqlLF4TW8c4= +github.com/containers/ocicrypt v1.1.6 h1:uoG52u2e91RE4UqmBICZY8dNshgfvkdl3BW6jnxiFaI= github.com/containers/ocicrypt v1.1.6/go.mod h1:WgjxPWdTJMqYMjf3M6cuIFFA1/MpyyhIM99YInA+Rvc= +github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/emicklei/go-restful/v3 v3.10.1 h1:rc42Y5YTp7Am7CS630D7JmhRjq4UlEUuEKfrDac4bSQ= github.com/emicklei/go-restful/v3 v3.10.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= +github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w= github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg= +github.com/fxamacker/cbor/v2 v2.4.0 h1:ri0ArlOR+5XunOP8CRUowT0pSJOwhW098ZCUyskZD88= github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA= github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= +github.com/google/go-containerregistry v0.17.0 h1:5p+zYs/R4VGHkhyvgWurWrpJ2hW4Vv9fQI+GzdcwXLk= github.com/google/go-containerregistry v0.17.0/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720 h1:zC34cGQu69FG7qzJ3WiKW244WfhDC3xxYMeNOX2gtUQ= github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/hashicorp/consul/api v1.25.1 h1:CqrdhYzc8XZuPnhIYZWH45toM0LB9ZeYr/gvpLVI3PE= github.com/hashicorp/consul/api v1.25.1/go.mod h1:iiLVwR/htV7mas/sy0O+XSuEnrdBUUydemjxcUrAt4g= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= +github.com/intel/goresctrl v0.3.0 h1:K2D3GOzihV7xSBedGxONSlaw/un1LZgWsc9IfqipN4c= github.com/intel/goresctrl v0.3.0/go.mod h1:fdz3mD85cmP9sHD8JUlrNWAxvwM86CrbmVXltEKd7zk= +github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8= github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= +github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= +github.com/klauspost/cpuid/v2 v2.0.4 h1:g0I61F2K2DjRHz1cnxlkNSBIaePVoJIjjnHui8QHbiw= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A= github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= github.com/lestrrat-go/jwx v1.2.28 h1:uadI6o0WpOVrBSf498tRXZIwPpEtLnR9CvqPFXeI5sA= github.com/lestrrat-go/jwx v1.2.28/go.mod h1:nF+91HEMh/MYFVwKPl5HHsBGMPscqbQb+8IDQdIazP8= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/microsoft/go-mssqldb v1.6.0 h1:mM3gYdVwEPFrlg/Dvr2DNVEgYFG7L42l+dGc67NNNpc= github.com/microsoft/go-mssqldb v1.6.0/go.mod h1:00mDtPbeQCRGC1HwOOR5K/gr30P1NcEG0vx6Kbv2aJU= +github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= +github.com/mistifyio/go-zfs/v3 v3.0.1 h1:YaoXgBePoMA12+S1u/ddkv+QqxcfiZK4prI6HPnkFiU= github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nats-io/nats.go v1.31.0 h1:/WFBHEc/dOKBF6qf1TZhrdEfTmOZ5JzdJ+Y3m6Y/p7E= github.com/nats-io/nats.go v1.31.0/go.mod h1:di3Bm5MLsoB4Bx61CBTsxuarI36WbhAwOm8QrW39+i8= +github.com/nats-io/nkeys v0.4.6 h1:IzVe95ru2CT6ta874rt9saQRkWfe2nFj1NtvYSLqMzY= github.com/nats-io/nkeys v0.4.6/go.mod h1:4DxZNzenSVd1cYQoAa8948QY3QDjrHfcfVADymtkpts= +github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg= github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0= github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI= +github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/peterh/liner v1.2.2 h1:aJ4AOodmL+JxOZZEL2u9iJf8omNRpqHc/EbrK+3mAXw= github.com/peterh/liner v1.2.2/go.mod h1:xFwJyiKIXJZUKItq5dGHZSTBRAuG/CpeNpWLyiNRNwI= +github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo= github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= +github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= +github.com/sagikazarmark/crypt v0.17.0 h1:ZA/7pXyjkHoK4bW4mIdnCLvL8hd+Nrbiw7Dqk7D4qUk= github.com/sagikazarmark/crypt v0.17.0/go.mod h1:SMtHTvdmsZMuY/bpZoqokSoChIrcJ/epOxZN58PbZDg= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/urfave/cli v1.22.14 h1:ebbhrRiGK2i4naQJr+1Xj92HXZCrK7MsyTS/ob3HnAk= github.com/urfave/cli v1.22.14/go.mod h1:X0eDS6pD6Exaclxm99NJ3FiCDRED7vIHpx2mDOHLvkA= +github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +github.com/vbatts/tar-split v0.11.3 h1:hLFqsOLQ1SsppQNTMpkpPXClLDfC2A3Zgy9OUU+RVck= github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY= +github.com/vektah/gqlparser/v2 v2.4.5 h1:C02NsyEsL4TXJB7ndonqTfuQOL4XPIu0aAWugdmTgmc= github.com/vektah/gqlparser/v2 v2.4.5/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= +github.com/veraison/go-cose v1.2.0 h1:Ok0Hr3GMAf8K/1NB4sV65QGgCiukG1w1QD+H5tmt0Ow= github.com/veraison/go-cose v1.2.0/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= +github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= +github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= +github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= +github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= +go.etcd.io/bbolt v1.3.9 h1:8x7aARPEXiXbHmtUwAIv7eV2fQFHrLLavdiJ3uzJXoI= go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE= +go.etcd.io/etcd/api/v3 v3.5.10 h1:szRajuUUbLyppkhs9K6BRtjY37l66XQQmw7oZRANE4k= go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= +go.etcd.io/etcd/client/pkg/v3 v3.5.10 h1:kfYIdQftBnbAq8pUWFXfpuuxFSKzlmM5cSn76JByiT0= go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= +go.etcd.io/etcd/client/v2 v2.305.10 h1:MrmRktzv/XF8CvtQt+P6wLUlURaNpSDJHFZhe//2QE4= go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= +go.etcd.io/etcd/client/v3 v3.5.10 h1:W9TXNZ+oB3MCd/8UjxHTWK5J9Nquw9fQBLJd5ne5/Ao= go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 h1:RsQi0qJ2imFfCvZabqzM9cNXBG8k6gXMv1A0cXRmH6A= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= +go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808 h1:+Kc94D8UVEVxJnLXp/+FMfqQARZtWHfVrcRtcG8aT3g= golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +google.golang.org/api v0.153.0 h1:N1AwGhielyKFaUqH07/ZSIQR3uNPcV7NVw0vj+j4iR4= google.golang.org/api v0.153.0/go.mod h1:3qNJX5eOmhiWYc67jRA/3GsDw97UFb5ivv7Y2PrriAY= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +k8s.io/api v0.26.2 h1:dM3cinp3PGB6asOySalOZxEG4CZ0IAdJsrYZXE/ovGQ= k8s.io/api v0.26.2/go.mod h1:1kjMQsFE+QHPfskEcVNgL3+Hp88B80uj0QtSOlj8itU= +k8s.io/apimachinery v0.26.2 h1:da1u3D5wfR5u2RpLhE/ZtZS2P7QvDgLZTi9wrNZl/tQ= k8s.io/apimachinery v0.26.2/go.mod h1:ats7nN1LExKHvJ9TmwootT00Yz05MuYqPXEXaVeOy5I= +k8s.io/apiserver v0.26.2 h1:Pk8lmX4G14hYqJd1poHGC08G03nIHVqdJMR0SD3IH3o= k8s.io/apiserver v0.26.2/go.mod h1:GHcozwXgXsPuOJ28EnQ/jXEM9QeG6HT22YxSNmpYNh8= +k8s.io/client-go v0.26.2 h1:s1WkVujHX3kTp4Zn4yGNFK+dlDXy1bAAkIl+cFAiuYI= k8s.io/client-go v0.26.2/go.mod h1:u5EjOuSyBa09yqqyY7m3abZeovO/7D/WehVVlZ2qcqU= +k8s.io/component-base v0.26.2 h1:IfWgCGUDzrD6wLLgXEstJKYZKAFS2kO+rBRi0p3LqcI= k8s.io/component-base v0.26.2/go.mod h1:DxbuIe9M3IZPRxPIzhch2m1eT7uFrSBJUBuVCQEBivs= +k8s.io/cri-api v0.27.1 h1:KWO+U8MfI9drXB/P4oU9VchaWYOlwDglJZVHWMpTT3Q= k8s.io/cri-api v0.27.1/go.mod h1:+Ts/AVYbIo04S86XbTD73UPp/DkTiYxtsFeOFEu32L0= +k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 h1:kmDqav+P+/5e1i9tFfHq1qcF3sOrDp+YEkVDAHu7Jwk= k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= +tags.cncf.io/container-device-interface v0.6.2 h1:dThE6dtp/93ZDGhqaED2Pu374SOeUkBfuvkLuiTdwzg= tags.cncf.io/container-device-interface v0.6.2/go.mod h1:Shusyhjs1A5Na/kqPVLL0KqnHQHuunol9LFeUNkuGVE= +tags.cncf.io/container-device-interface/specs-go v0.6.0 h1:V+tJJN6dqu8Vym6p+Ru+K5mJ49WL6Aoc5SJFSY0RLsQ= tags.cncf.io/container-device-interface/specs-go v0.6.0/go.mod h1:hMAwAbMZyBLdmYqWgYcKH0F/yctNpV3P35f+/088A80= From c52ffe429e92292044d81a829c42422f4896cabf Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Thu, 11 Apr 2024 14:48:43 -0400 Subject: [PATCH 09/13] draft --- service/policy/db/namespaces.go | 7 ++----- service/policy/db/utils.go | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/service/policy/db/namespaces.go b/service/policy/db/namespaces.go index fbdb97be86..cff826c9b4 100644 --- a/service/policy/db/namespaces.go +++ b/service/policy/db/namespaces.go @@ -203,11 +203,8 @@ func (c PolicyDBClient) CreateNamespace(ctx context.Context, r *namespaces.Creat return nil, db.WrapIfKnownInvalidQueryErr(e) } - if metadataJSON != nil { - if err = protojson.Unmarshal(metadataJSON, m); err != nil { - slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) - return nil, err - } + if m, err = unmarshalMetadata(metadataJSON, m); err != nil { + return nil, err } // Update FQN diff --git a/service/policy/db/utils.go b/service/policy/db/utils.go index 4370bcf8af..eab3b756ff 100644 --- a/service/policy/db/utils.go +++ b/service/policy/db/utils.go @@ -1,5 +1,12 @@ package db +import ( + "log/slog" + + "github.com/opentdf/platform/protocol/go/common" + "google.golang.org/protobuf/encoding/protojson" +) + func constructMetadata(table string, isJSON bool) string { if table != "" { table += "." @@ -15,3 +22,18 @@ func constructMetadata(table string, isJSON bool) string { } var createSuffix = "RETURNING id, " + constructMetadata("", false) + +func unmarshalMetadata(metadataJSON []byte, m *common.Metadata) ( + metadata *common.Metadata, + err error, +) { + if metadataJSON != nil { + if err = protojson.Unmarshal(metadataJSON, m); err != nil { + slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) + return nil, err + // return err + } + } + return m, nil + // return nil +} From 7cf14e308da3d62524fd48ba53b974d2e710f652 Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Thu, 11 Apr 2024 15:09:01 -0400 Subject: [PATCH 10/13] tests --- service/integration/attribute_values_test.go | 3 ++- service/integration/attributes_test.go | 3 ++- service/integration/namespaces_test.go | 2 +- service/integration/resource_mappings_test.go | 2 +- service/integration/subject_mappings_test.go | 5 +++-- service/policy/db/attribute_values.go | 7 ++----- service/policy/db/attributes.go | 7 ++----- service/policy/db/namespaces.go | 2 +- service/policy/db/resource_mapping.go | 7 ++----- service/policy/db/subject_mappings.go | 14 ++++---------- service/policy/db/utils.go | 9 ++++----- 11 files changed, 24 insertions(+), 37 deletions(-) diff --git a/service/integration/attribute_values_test.go b/service/integration/attribute_values_test.go index 99c76736f9..94e616e104 100644 --- a/service/integration/attribute_values_test.go +++ b/service/integration/attribute_values_test.go @@ -293,10 +293,11 @@ func (s *AttributeValuesSuite) Test_UpdateAttributeValue() { Labels: labels, }, }) - end := time.Now() + end := time.Now().Add(time.Second) metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() createdAt := metadata.GetCreatedAt() + println("createdAt: ", createdAt.AsTime().UnixNano(), "end", end.UnixNano()) s.True(createdAt.AsTime().After(start)) s.True(createdAt.AsTime().Before(end)) s.NoError(err) diff --git a/service/integration/attributes_test.go b/service/integration/attributes_test.go index ae9a001627..5bb2e6559d 100644 --- a/service/integration/attributes_test.go +++ b/service/integration/attributes_test.go @@ -407,11 +407,12 @@ func (s *AttributesSuite) Test_UpdateAttribute() { } start := time.Now() created, err := s.db.PolicyClient.CreateAttribute(s.ctx, attr) - end := time.Now() + end := time.Now().Add(time.Second) metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() createdAt := metadata.GetCreatedAt() s.True(createdAt.AsTime().After(start)) + println("createdAt: ", createdAt.AsTime().UnixNano(), "end", end.UnixNano()) s.True(createdAt.AsTime().Before(end)) s.NoError(err) s.NotNil(created) diff --git a/service/integration/namespaces_test.go b/service/integration/namespaces_test.go index b5fa43c2ea..ab31356f2c 100644 --- a/service/integration/namespaces_test.go +++ b/service/integration/namespaces_test.go @@ -166,7 +166,7 @@ func (s *NamespacesSuite) Test_UpdateNamespace() { Labels: labels, }, }) - end := time.Now() + end := time.Now().Add(time.Second) metadata := created.GetMetadata() createdAt := metadata.GetCreatedAt() updatedAt := metadata.GetUpdatedAt() diff --git a/service/integration/resource_mappings_test.go b/service/integration/resource_mappings_test.go index 2aa44cb57d..1080755712 100644 --- a/service/integration/resource_mappings_test.go +++ b/service/integration/resource_mappings_test.go @@ -201,7 +201,7 @@ func (s *ResourceMappingsSuite) Test_UpdateResourceMapping() { }, Terms: terms, }) - end := time.Now() + end := time.Now().Add(time.Second) metadata := createdMapping.GetMetadata() updatedAt := metadata.GetUpdatedAt() createdAt := metadata.GetCreatedAt() diff --git a/service/integration/subject_mappings_test.go b/service/integration/subject_mappings_test.go index d723279012..412eb0ce44 100644 --- a/service/integration/subject_mappings_test.go +++ b/service/integration/subject_mappings_test.go @@ -206,7 +206,7 @@ func (s *SubjectMappingsSuite) TestUpdateSubjectMapping_Actions() { } start := time.Now() created, err := s.db.PolicyClient.CreateSubjectMapping(context.Background(), newSubjectMapping) - end := time.Now() + end := time.Now().Add(time.Second) metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() createdAt := metadata.GetCreatedAt() @@ -637,10 +637,11 @@ func (s *SubjectMappingsSuite) TestUpdateSubjectConditionSet_NewSubjectSets() { } start := time.Now() created, err := s.db.PolicyClient.CreateSubjectConditionSet(context.Background(), newConditionSet) - end := time.Now() + end := time.Now().Add(time.Second) metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() createdAt := metadata.GetCreatedAt() + println("createdAt: ", createdAt.AsTime().UnixNano(), "endin", end.UnixNano()) s.True(createdAt.AsTime().After(start)) s.True(createdAt.AsTime().Before(end)) s.Require().NoError(err) diff --git a/service/policy/db/attribute_values.go b/service/policy/db/attribute_values.go index c333a55c53..95dd3e72dd 100644 --- a/service/policy/db/attribute_values.go +++ b/service/policy/db/attribute_values.go @@ -195,11 +195,8 @@ func (c PolicyDBClient) CreateAttributeValue(ctx context.Context, attributeID st members = append(members, attr) } - if metadataJSON != nil { - if err = protojson.Unmarshal(metadataJSON, metadata); err != nil { - slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) - return nil, err - } + if err = unmarshalMetadata(metadataJSON, metadata); err != nil { + return nil, err } // Update FQN diff --git a/service/policy/db/attributes.go b/service/policy/db/attributes.go index 07dd5fc4db..81f973c910 100644 --- a/service/policy/db/attributes.go +++ b/service/policy/db/attributes.go @@ -492,11 +492,8 @@ func (c PolicyDBClient) CreateAttribute(ctx context.Context, r *attributes.Creat return nil, db.WrapIfKnownInvalidQueryErr(err) } - if metadataJSON != nil { - if err = protojson.Unmarshal(metadataJSON, metadata); err != nil { - slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) - return nil, err - } + if err = unmarshalMetadata(metadataJSON, metadata); err != nil { + return nil, err } // Update the FQN diff --git a/service/policy/db/namespaces.go b/service/policy/db/namespaces.go index cff826c9b4..3562df40b7 100644 --- a/service/policy/db/namespaces.go +++ b/service/policy/db/namespaces.go @@ -203,7 +203,7 @@ func (c PolicyDBClient) CreateNamespace(ctx context.Context, r *namespaces.Creat return nil, db.WrapIfKnownInvalidQueryErr(e) } - if m, err = unmarshalMetadata(metadataJSON, m); err != nil { + if err = unmarshalMetadata(metadataJSON, m); err != nil { return nil, err } diff --git a/service/policy/db/resource_mapping.go b/service/policy/db/resource_mapping.go index 4150a5a166..756f7db77d 100644 --- a/service/policy/db/resource_mapping.go +++ b/service/policy/db/resource_mapping.go @@ -142,11 +142,8 @@ func (c PolicyDBClient) CreateResourceMapping(ctx context.Context, r *resourcema return nil, db.WrapIfKnownInvalidQueryErr(err) } - if metadataJSON != nil { - if err = protojson.Unmarshal(metadataJSON, metadata); err != nil { - slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) - return nil, err - } + if err = unmarshalMetadata(metadataJSON, metadata); err != nil { + return nil, err } return &policy.ResourceMapping{ diff --git a/service/policy/db/subject_mappings.go b/service/policy/db/subject_mappings.go index d92b51e85d..b3583fc32c 100644 --- a/service/policy/db/subject_mappings.go +++ b/service/policy/db/subject_mappings.go @@ -328,11 +328,8 @@ func (c PolicyDBClient) CreateSubjectConditionSet(ctx context.Context, s *subjec return nil, db.WrapIfKnownInvalidQueryErr(err) } - if metadataJSON != nil { - if err = protojson.Unmarshal(metadataJSON, m); err != nil { - slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) - return nil, err - } + if err = unmarshalMetadata(metadataJSON, m); err != nil { + return nil, err } return &policy.SubjectConditionSet{ @@ -552,11 +549,8 @@ func (c PolicyDBClient) CreateSubjectMapping(ctx context.Context, s *subjectmapp return nil, db.WrapIfKnownInvalidQueryErr(err) } - if metadataJSON != nil { - if err = protojson.Unmarshal(metadataJSON, m); err != nil { - slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) - return nil, err - } + if err = unmarshalMetadata(metadataJSON, m); err != nil { + return nil, err } return &policy.SubjectMapping{ diff --git a/service/policy/db/utils.go b/service/policy/db/utils.go index eab3b756ff..3cb457d19b 100644 --- a/service/policy/db/utils.go +++ b/service/policy/db/utils.go @@ -24,16 +24,15 @@ func constructMetadata(table string, isJSON bool) string { var createSuffix = "RETURNING id, " + constructMetadata("", false) func unmarshalMetadata(metadataJSON []byte, m *common.Metadata) ( - metadata *common.Metadata, err error, ) { if metadataJSON != nil { if err = protojson.Unmarshal(metadataJSON, m); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) - return nil, err - // return err + // return nil, err + return err } } - return m, nil - // return nil + // return m, nil + return nil } From 62d10d8a6f6e2e1f9bf9a4d0253210ce30e7df12 Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Thu, 11 Apr 2024 15:13:38 -0400 Subject: [PATCH 11/13] tests --- service/integration/attribute_values_test.go | 3 +-- service/integration/attributes_test.go | 3 +-- service/integration/namespaces_test.go | 2 +- service/integration/resource_mappings_test.go | 2 +- service/integration/subject_mappings_test.go | 5 ++--- 5 files changed, 6 insertions(+), 9 deletions(-) diff --git a/service/integration/attribute_values_test.go b/service/integration/attribute_values_test.go index 94e616e104..4cebaf02d1 100644 --- a/service/integration/attribute_values_test.go +++ b/service/integration/attribute_values_test.go @@ -286,7 +286,7 @@ func (s *AttributeValuesSuite) Test_UpdateAttributeValue() { // create a value attrDef := s.f.GetAttributeKey("example.net/attr/attr1") - start := time.Now() + start := time.Now().Add(-time.Second) created, err := s.db.PolicyClient.CreateAttributeValue(s.ctx, attrDef.Id, &attributes.CreateAttributeValueRequest{ Value: "created value testing update", Metadata: &common.MetadataMutable{ @@ -297,7 +297,6 @@ func (s *AttributeValuesSuite) Test_UpdateAttributeValue() { metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() createdAt := metadata.GetCreatedAt() - println("createdAt: ", createdAt.AsTime().UnixNano(), "end", end.UnixNano()) s.True(createdAt.AsTime().After(start)) s.True(createdAt.AsTime().Before(end)) s.NoError(err) diff --git a/service/integration/attributes_test.go b/service/integration/attributes_test.go index 5bb2e6559d..844e4fd988 100644 --- a/service/integration/attributes_test.go +++ b/service/integration/attributes_test.go @@ -405,14 +405,13 @@ func (s *AttributesSuite) Test_UpdateAttribute() { Labels: labels, }, } - start := time.Now() + start := time.Now().Add(-time.Second) created, err := s.db.PolicyClient.CreateAttribute(s.ctx, attr) end := time.Now().Add(time.Second) metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() createdAt := metadata.GetCreatedAt() s.True(createdAt.AsTime().After(start)) - println("createdAt: ", createdAt.AsTime().UnixNano(), "end", end.UnixNano()) s.True(createdAt.AsTime().Before(end)) s.NoError(err) s.NotNil(created) diff --git a/service/integration/namespaces_test.go b/service/integration/namespaces_test.go index ab31356f2c..d905a34eef 100644 --- a/service/integration/namespaces_test.go +++ b/service/integration/namespaces_test.go @@ -159,7 +159,7 @@ func (s *NamespacesSuite) Test_UpdateNamespace() { "update": updatedLabel, "new": newLabel, } - start := time.Now() + start := time.Now().Add(-time.Second) created, err := s.db.PolicyClient.CreateNamespace(s.ctx, &namespaces.CreateNamespaceRequest{ Name: "updating-namespace.com", Metadata: &common.MetadataMutable{ diff --git a/service/integration/resource_mappings_test.go b/service/integration/resource_mappings_test.go index 1080755712..4ef4392a04 100644 --- a/service/integration/resource_mappings_test.go +++ b/service/integration/resource_mappings_test.go @@ -193,7 +193,7 @@ func (s *ResourceMappingsSuite) Test_UpdateResourceMapping() { updateTerms := []string{"updated term1", "updated term 2"} attrValue := s.f.GetAttributeValueKey("example.com/attr/attr2/value/value2") - start := time.Now() + start := time.Now().Add(-time.Second) createdMapping, err := s.db.PolicyClient.CreateResourceMapping(s.ctx, &resourcemapping.CreateResourceMappingRequest{ AttributeValueId: attrValue.Id, Metadata: &common.MetadataMutable{ diff --git a/service/integration/subject_mappings_test.go b/service/integration/subject_mappings_test.go index 412eb0ce44..6e6777dc05 100644 --- a/service/integration/subject_mappings_test.go +++ b/service/integration/subject_mappings_test.go @@ -204,7 +204,7 @@ func (s *SubjectMappingsSuite) TestUpdateSubjectMapping_Actions() { Actions: []*policy.Action{aTransmit, aCustomUpload}, ExistingSubjectConditionSetId: fixtureScs.Id, } - start := time.Now() + start := time.Now().Add(-time.Second) created, err := s.db.PolicyClient.CreateSubjectMapping(context.Background(), newSubjectMapping) end := time.Now().Add(time.Second) metadata := created.GetMetadata() @@ -635,13 +635,12 @@ func (s *SubjectMappingsSuite) TestUpdateSubjectConditionSet_NewSubjectSets() { {}, }, } - start := time.Now() + start := time.Now().Add(-time.Second) created, err := s.db.PolicyClient.CreateSubjectConditionSet(context.Background(), newConditionSet) end := time.Now().Add(time.Second) metadata := created.GetMetadata() updatedAt := metadata.GetUpdatedAt() createdAt := metadata.GetCreatedAt() - println("createdAt: ", createdAt.AsTime().UnixNano(), "endin", end.UnixNano()) s.True(createdAt.AsTime().After(start)) s.True(createdAt.AsTime().Before(end)) s.Require().NoError(err) From 634d54fc6e7389d0e39c572f8005ebd7fdf4fff3 Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Thu, 11 Apr 2024 15:14:11 -0400 Subject: [PATCH 12/13] clean up --- service/policy/db/utils.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/service/policy/db/utils.go b/service/policy/db/utils.go index 3cb457d19b..008c590468 100644 --- a/service/policy/db/utils.go +++ b/service/policy/db/utils.go @@ -23,16 +23,12 @@ func constructMetadata(table string, isJSON bool) string { var createSuffix = "RETURNING id, " + constructMetadata("", false) -func unmarshalMetadata(metadataJSON []byte, m *common.Metadata) ( - err error, -) { +func unmarshalMetadata(metadataJSON []byte, m *common.Metadata) (err error) { if metadataJSON != nil { if err = protojson.Unmarshal(metadataJSON, m); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) - // return nil, err return err } } - // return m, nil return nil } From 3eea6f53c64883db063e68c8a427e6377eee73b3 Mon Sep 17 00:00:00 2001 From: Krish Suchak Date: Thu, 11 Apr 2024 15:19:07 -0400 Subject: [PATCH 13/13] lint --- service/policy/db/utils.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/service/policy/db/utils.go b/service/policy/db/utils.go index 008c590468..4569aa70d0 100644 --- a/service/policy/db/utils.go +++ b/service/policy/db/utils.go @@ -23,9 +23,9 @@ func constructMetadata(table string, isJSON bool) string { var createSuffix = "RETURNING id, " + constructMetadata("", false) -func unmarshalMetadata(metadataJSON []byte, m *common.Metadata) (err error) { +func unmarshalMetadata(metadataJSON []byte, m *common.Metadata) error { if metadataJSON != nil { - if err = protojson.Unmarshal(metadataJSON, m); err != nil { + if err := protojson.Unmarshal(metadataJSON, m); err != nil { slog.Error("could not unmarshal metadata", slog.String("error", err.Error())) return err }