From 1ce75963f129309861ed65349bb6df2850526dd6 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Fri, 29 Dec 2023 14:21:09 -0600 Subject: [PATCH 01/32] update gorm and pgx dependencies, add idle connection timeout --- go.mod | 43 ------------- go.sum | 199 --------------------------------------------------------- 2 files changed, 242 deletions(-) delete mode 100644 go.mod delete mode 100644 go.sum diff --git a/go.mod b/go.mod deleted file mode 100644 index 5c663c5b..00000000 --- a/go.mod +++ /dev/null @@ -1,43 +0,0 @@ -module github.com/CMSgov/bcda-ssas-app - -go 1.19 - -require ( - github.com/go-chi/chi/v5 v5.0.7 - github.com/go-chi/render v1.0.2 - github.com/golang-jwt/jwt/v4 v4.4.2 - github.com/lib/pq v1.10.6 - github.com/newrelic/go-agent/v3 v3.18.1 - github.com/patrickmn/go-cache v2.1.1-0.20180815053127-5633e0862627+incompatible - github.com/pborman/uuid v1.2.1 - github.com/sirupsen/logrus v1.9.0 - github.com/stretchr/testify v1.8.1 - golang.org/x/crypto v0.17.0 - gopkg.in/macaroon.v2 v2.1.0 - gorm.io/driver/postgres v1.5.4 - gorm.io/gorm v1.25.5 -) - -require ( - github.com/ajg/form v1.5.1 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 // indirect - github.com/jackc/pgx/v5 v5.5.1 // indirect - github.com/jackc/puddle/v2 v2.2.1 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jinzhu/now v1.1.5 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/rogpeppe/go-internal v1.10.0 // indirect - github.com/stretchr/objx v0.5.0 // indirect - golang.org/x/net v0.19.0 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/grpc v1.56.3 // indirect - google.golang.org/protobuf v1.30.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) diff --git a/go.sum b/go.sum deleted file mode 100644 index 365a6cb5..00000000 --- a/go.sum +++ /dev/null @@ -1,199 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= -github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/frankban/quicktest v1.0.0 h1:QgmxFbprE29UG4oL88tGiiL/7VuiBl5xCcz+wJcJhc0= -github.com/frankban/quicktest v1.0.0/go.mod h1:R98jIehRai+d1/3Hv2//jOVCTJhW1VBavT6B6CuGq2k= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= -github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= -github.com/go-chi/render v1.0.2 h1:4ER/udB0+fMWB2Jlf15RV3F4A2FDuYi/9f+lFttR/Lg= -github.com/go-chi/render v1.0.2/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIofjao0= -github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= -github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 h1:L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA= -github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.3.1 h1:Fcr8QJ1ZeLi5zsPZqQeUZhNhxfkkKBOgJuYkJHoBOtU= -github.com/jackc/pgx/v5 v5.3.1/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8= -github.com/jackc/pgx/v5 v5.5.1 h1:5I9etrGkLrN+2XPCsi6XLlV5DITbSL/xBZdmAxFcXPI= -github.com/jackc/pgx/v5 v5.5.1/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA= -github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= -github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= -github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= -github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/newrelic/go-agent/v3 v3.18.1 h1:O01DD6U9ycveM3XMFtzXVSAsGuNVF/fI0EDUvUevq9U= -github.com/newrelic/go-agent/v3 v3.18.1/go.mod h1:BFJOlbZWRlPTXKYIC1TTTtQKTnYntEJaU0VU507hDc0= -github.com/patrickmn/go-cache v2.1.1-0.20180815053127-5633e0862627+incompatible h1:MUIwjEiAMYk8zkXXUQeb5itrXF+HpS2pfxNsA2a7AiY= -github.com/patrickmn/go-cache v2.1.1-0.20180815053127-5633e0862627+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= -github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw= -github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20180723164146-c126467f60eb/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/macaroon.v2 v2.1.0 h1:HZcsjBCzq9t0eBPMKqTN/uSN6JOm78ZJ2INbqcBQOUI= -gopkg.in/macaroon.v2 v2.1.0/go.mod h1:OUb+TQP/OP0WOerC2Jp/3CwhIKyIa9kQjuc7H24e6/o= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/postgres v1.5.2 h1:ytTDxxEv+MplXOfFe3Lzm7SjG09fcdb3Z/c056DTBx0= -gorm.io/driver/postgres v1.5.2/go.mod h1:fmpX0m2I1PKuR7mKZiEluwrP3hbs+ps7JIGMUBpCgl8= -gorm.io/driver/postgres v1.5.4 h1:Iyrp9Meh3GmbSuyIAGyjkN+n9K+GHX9b9MqsTL4EJCo= -gorm.io/driver/postgres v1.5.4/go.mod h1:Bgo89+h0CRcdA33Y6frlaHHVuTdOf87pmyzwW9C/BH0= -gorm.io/gorm v1.25.0 h1:+KtYtb2roDz14EQe4bla8CbQlmb9dN3VejSai3lprfU= -gorm.io/gorm v1.25.0/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= -gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= -gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From d47bc3d83169d2c35198f078c639eaa6446202c7 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Mon, 8 Jan 2024 09:55:12 -0600 Subject: [PATCH 02/32] update config loading --- docker-compose.migrate.yml | 1 + docker-compose.test.yml | 4 +- docker-compose.yml | 3 +- go.mod | 44 ++++++++ go.sum | 201 +++++++++++++++++++++++++++++++++++++ ssas/service/main/main.go | 20 +++- 6 files changed, 265 insertions(+), 8 deletions(-) create mode 100644 go.mod create mode 100644 go.sum diff --git a/docker-compose.migrate.yml b/docker-compose.migrate.yml index 24765a25..51f67a9f 100644 --- a/docker-compose.migrate.yml +++ b/docker-compose.migrate.yml @@ -5,3 +5,4 @@ services: image: migrate/migrate volumes: - .:/go/src/github.com/CMSgov/bcda-ssas-app + - ./ssas/cfg/configs:/usr/local/configs diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 4d9042eb..8ab343f8 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -7,12 +7,11 @@ services: dockerfile: Dockerfiles/Dockerfile.tests args: VERSION: latest - env_file: - - ./ssas/cfg/configs/local.env environment: - DB=postgresql://postgres:toor@db:5432 - DATABASE_URL=postgresql://postgres:toor@db:5432/bcda?sslmode=disable - BCDA_SSAS_CLIENT_ID=fake-client-id + - DEPLOYMENT_TARGET=test - BCDA_SSAS_SECRET=fake-secret - SSAS_ADMIN_SIGNING_KEY_PATH=../../../shared_files/ssas/admin_test_signing_key.pem - SSAS_PUBLIC_SIGNING_KEY_PATH=../../../shared_files/ssas/public_test_signing_key.pem @@ -30,6 +29,7 @@ services: - SSAS_CLIENT_ASSERTION_AUD=http://local.testing.cms.gov/api/v2/Token/auth volumes: - .:/go/src/github.com/CMSgov/bcda-ssas-app + - ./ssas/cfg/configs:/usr/local/configs postman_test: build: context: . diff --git a/docker-compose.yml b/docker-compose.yml index ca228585..cafb54c1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,8 +24,6 @@ services: args: VERSION: latest image: bcda-ssas:latest - env_file: - - ./ssas/cfg/configs/local.env environment: - DATABASE_URL=postgresql://postgres:toor@db:5432/bcda?sslmode=disable - ATO_PUBLIC_KEY_FILE=../shared_files/ATO_public.pem @@ -50,6 +48,7 @@ services: - SSAS_CLIENT_ASSERTION_AUD=http://local.testing.cms.gov/api/v2/Token/auth volumes: - ./shared_files:/usr/local/shared_files + - ./ssas/cfg/configs:/usr/local/configs ports: - "3103:3003" - "3104:3004" diff --git a/go.mod b/go.mod new file mode 100644 index 00000000..2b0e68aa --- /dev/null +++ b/go.mod @@ -0,0 +1,44 @@ +module github.com/CMSgov/bcda-ssas-app + +go 1.19 + +require ( + github.com/go-chi/chi/v5 v5.0.7 + github.com/go-chi/render v1.0.2 + github.com/golang-jwt/jwt/v4 v4.4.2 + github.com/lib/pq v1.10.6 + github.com/newrelic/go-agent/v3 v3.18.1 + github.com/patrickmn/go-cache v2.1.1-0.20180815053127-5633e0862627+incompatible + github.com/pborman/uuid v1.2.1 + github.com/sirupsen/logrus v1.9.0 + github.com/stretchr/testify v1.8.1 + golang.org/x/crypto v0.17.0 + gopkg.in/macaroon.v2 v2.1.0 + gorm.io/driver/postgres v1.5.4 + gorm.io/gorm v1.25.5 +) + +require ( + github.com/ajg/form v1.5.1 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/jackc/pgpassfile v1.0.0 // indirect + github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 // indirect + github.com/jackc/pgx/v5 v5.5.1 // indirect + github.com/jackc/puddle/v2 v2.2.1 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/joho/godotenv v1.5.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/rogpeppe/go-internal v1.10.0 // indirect + github.com/stretchr/objx v0.5.0 // indirect + golang.org/x/net v0.19.0 // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.15.0 // indirect + golang.org/x/text v0.14.0 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/grpc v1.56.3 // indirect + google.golang.org/protobuf v1.30.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 00000000..97f2d404 --- /dev/null +++ b/go.sum @@ -0,0 +1,201 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= +github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/frankban/quicktest v1.0.0 h1:QgmxFbprE29UG4oL88tGiiL/7VuiBl5xCcz+wJcJhc0= +github.com/frankban/quicktest v1.0.0/go.mod h1:R98jIehRai+d1/3Hv2//jOVCTJhW1VBavT6B6CuGq2k= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= +github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-chi/render v1.0.2 h1:4ER/udB0+fMWB2Jlf15RV3F4A2FDuYi/9f+lFttR/Lg= +github.com/go-chi/render v1.0.2/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIofjao0= +github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 h1:L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA= +github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.3.1 h1:Fcr8QJ1ZeLi5zsPZqQeUZhNhxfkkKBOgJuYkJHoBOtU= +github.com/jackc/pgx/v5 v5.3.1/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8= +github.com/jackc/pgx/v5 v5.5.1 h1:5I9etrGkLrN+2XPCsi6XLlV5DITbSL/xBZdmAxFcXPI= +github.com/jackc/pgx/v5 v5.5.1/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA= +github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= +github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= +github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/newrelic/go-agent/v3 v3.18.1 h1:O01DD6U9ycveM3XMFtzXVSAsGuNVF/fI0EDUvUevq9U= +github.com/newrelic/go-agent/v3 v3.18.1/go.mod h1:BFJOlbZWRlPTXKYIC1TTTtQKTnYntEJaU0VU507hDc0= +github.com/patrickmn/go-cache v2.1.1-0.20180815053127-5633e0862627+incompatible h1:MUIwjEiAMYk8zkXXUQeb5itrXF+HpS2pfxNsA2a7AiY= +github.com/patrickmn/go-cache v2.1.1-0.20180815053127-5633e0862627+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= +github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw= +github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +golang.org/x/crypto v0.0.0-20180723164146-c126467f60eb/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= +google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/macaroon.v2 v2.1.0 h1:HZcsjBCzq9t0eBPMKqTN/uSN6JOm78ZJ2INbqcBQOUI= +gopkg.in/macaroon.v2 v2.1.0/go.mod h1:OUb+TQP/OP0WOerC2Jp/3CwhIKyIa9kQjuc7H24e6/o= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/postgres v1.5.2 h1:ytTDxxEv+MplXOfFe3Lzm7SjG09fcdb3Z/c056DTBx0= +gorm.io/driver/postgres v1.5.2/go.mod h1:fmpX0m2I1PKuR7mKZiEluwrP3hbs+ps7JIGMUBpCgl8= +gorm.io/driver/postgres v1.5.4 h1:Iyrp9Meh3GmbSuyIAGyjkN+n9K+GHX9b9MqsTL4EJCo= +gorm.io/driver/postgres v1.5.4/go.mod h1:Bgo89+h0CRcdA33Y6frlaHHVuTdOf87pmyzwW9C/BH0= +gorm.io/gorm v1.25.0 h1:+KtYtb2roDz14EQe4bla8CbQlmb9dN3VejSai3lprfU= +gorm.io/gorm v1.25.0/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= +gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/ssas/service/main/main.go b/ssas/service/main/main.go index 4208ec1c..83e4e1c7 100644 --- a/ssas/service/main/main.go +++ b/ssas/service/main/main.go @@ -1,12 +1,12 @@ /* Package main System-to-System Authentication Service - + The System-to-System Authentication Service (SSAS) enables one software system to authenticate and authorize another software system. In this model, the Systems act automatically, independent of a human user identity. Human users are involved only to administer the Service, including establishing the identities and privileges of participating systems. - + For more details see our repository readme and Postman tests: - https://github.com/CMSgov/bcda-ssas-app - https://github.com/CMSgov/bcda-ssas-app/tree/master/test/postman_test - + If you have a Client ID and Secret you can use this page to explore the API. To do this, click the green "Authorize" button below and enter your Client ID and secret in the Basic Authentication username and password boxes. Until you click logout your token will be presented with every request made. To make requests click on the "Try it out" button for the desired endpoint. @@ -20,9 +20,11 @@ Until you click logout your token will be presented with every request made. To SecurityDefinitions: basic_auth: type: basic - + swagger:meta */ +//nolint: lll // Ignore long line linting + package main import ( @@ -47,6 +49,7 @@ import ( "github.com/CMSgov/bcda-ssas-app/ssas/service/public" "github.com/go-chi/chi/v5" gcmw "github.com/go-chi/chi/v5/middleware" + "github.com/joho/godotenv" "github.com/newrelic/go-agent/v3/newrelic" "gorm.io/gorm" ) @@ -78,6 +81,15 @@ func init() { if nil != err { ssas.Logger.Warnf("New Relic integration is disabled: %s", err) } + env := os.Getenv("DEPLOYMENT_TARGET") + envPath := fmt.Sprintf("/usr/local/configs/%s.env", env) + err = godotenv.Load(envPath) + + if err != nil { + ssas.Logger.Error("Unable to load environment file, exiting.") + os.Exit(-1) + } + } // We provide some simple commands for bootstrapping the system into place. Commands cannot be combined. From 36aade24c93ae942567b0c15992430595edf35fd Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Mon, 8 Jan 2024 10:23:18 -0600 Subject: [PATCH 03/32] move imports to systems.go --- docker-compose.migrate.yml | 1 - docker-compose.yml | 1 - ssas/cfg/configs/dev.env | 1 + ssas/cfg/configs/local.env | 1 + ssas/cfg/configs/opensbx.env | 1 + ssas/cfg/configs/prod.env | 1 + ssas/cfg/configs/test.env | 1 + ssas/service/main/main.go | 9 --------- ssas/systems.go | 9 +++++++++ 9 files changed, 14 insertions(+), 11 deletions(-) diff --git a/docker-compose.migrate.yml b/docker-compose.migrate.yml index 51f67a9f..24765a25 100644 --- a/docker-compose.migrate.yml +++ b/docker-compose.migrate.yml @@ -5,4 +5,3 @@ services: image: migrate/migrate volumes: - .:/go/src/github.com/CMSgov/bcda-ssas-app - - ./ssas/cfg/configs:/usr/local/configs diff --git a/docker-compose.yml b/docker-compose.yml index cafb54c1..3570fb25 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,7 +32,6 @@ services: - BCDA_AUTH_PROVIDER=${BCDA_AUTH_PROVIDER} - BCDA_SSAS_CLIENT_ID=${BCDA_SSAS_CLIENT_ID} - BCDA_SSAS_SECRET=${BCDA_SSAS_SECRET} - - DEBUG=true - DEPLOYMENT_TARGET=local - SSAS_ADMIN_SIGNING_KEY_PATH=../shared_files/ssas/admin_test_signing_key.pem - SSAS_PUBLIC_SIGNING_KEY_PATH=../shared_files/ssas/public_test_signing_key.pem diff --git a/ssas/cfg/configs/dev.env b/ssas/cfg/configs/dev.env index 37d85bd7..8577dc8d 100644 --- a/ssas/cfg/configs/dev.env +++ b/ssas/cfg/configs/dev.env @@ -1,3 +1,4 @@ +DEBUG=TRUE DEPLOYMENT_TARGET=dev SSAS_DEFAULT_SYSTEM_SCOPE=bcda-api SSAS_IDLE_TIMEOUT=120 diff --git a/ssas/cfg/configs/local.env b/ssas/cfg/configs/local.env index 6b200057..d4158ace 100644 --- a/ssas/cfg/configs/local.env +++ b/ssas/cfg/configs/local.env @@ -1,3 +1,4 @@ +DEBUG=TRUE DEPLOYMENT_TARGET=local SSAS_DEFAULT_SYSTEM_SCOPE=bcda-api SSAS_IDLE_TIMEOUT=120 diff --git a/ssas/cfg/configs/opensbx.env b/ssas/cfg/configs/opensbx.env index a95aaa58..e0608b2e 100644 --- a/ssas/cfg/configs/opensbx.env +++ b/ssas/cfg/configs/opensbx.env @@ -1,3 +1,4 @@ +DEBUG=FALSE DEPLOYMENT_TARGET=opensbx SSAS_DEFAULT_SYSTEM_SCOPE=bcda-api SSAS_IDLE_TIMEOUT=120 diff --git a/ssas/cfg/configs/prod.env b/ssas/cfg/configs/prod.env index 10d77ca3..eee51ad4 100644 --- a/ssas/cfg/configs/prod.env +++ b/ssas/cfg/configs/prod.env @@ -1,3 +1,4 @@ +DEBUG=FALSE DEPLOYMENT_TARGET=prod SSAS_DEFAULT_SYSTEM_SCOPE=bcda-api SSAS_IDLE_TIMEOUT=120 diff --git a/ssas/cfg/configs/test.env b/ssas/cfg/configs/test.env index db31fdaa..c5d1107d 100644 --- a/ssas/cfg/configs/test.env +++ b/ssas/cfg/configs/test.env @@ -1,3 +1,4 @@ +DEBUG=FALSE DEPLOYMENT_TARGET=test SSAS_DEFAULT_SYSTEM_SCOPE=bcda-api SSAS_IDLE_TIMEOUT=120 diff --git a/ssas/service/main/main.go b/ssas/service/main/main.go index 83e4e1c7..0cb280f1 100644 --- a/ssas/service/main/main.go +++ b/ssas/service/main/main.go @@ -49,7 +49,6 @@ import ( "github.com/CMSgov/bcda-ssas-app/ssas/service/public" "github.com/go-chi/chi/v5" gcmw "github.com/go-chi/chi/v5/middleware" - "github.com/joho/godotenv" "github.com/newrelic/go-agent/v3/newrelic" "gorm.io/gorm" ) @@ -81,14 +80,6 @@ func init() { if nil != err { ssas.Logger.Warnf("New Relic integration is disabled: %s", err) } - env := os.Getenv("DEPLOYMENT_TARGET") - envPath := fmt.Sprintf("/usr/local/configs/%s.env", env) - err = godotenv.Load(envPath) - - if err != nil { - ssas.Logger.Error("Unable to load environment file, exiting.") - os.Exit(-1) - } } diff --git a/ssas/systems.go b/ssas/systems.go index 67884f36..416c5f92 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -17,6 +17,7 @@ import ( "time" "github.com/CMSgov/bcda-ssas-app/ssas/cfg" + "github.com/joho/godotenv" "github.com/pborman/uuid" "gorm.io/gorm" ) @@ -31,6 +32,14 @@ func init() { } func getEnvVars() { + env := os.Getenv("DEPLOYMENT_TARGET") + envPath := fmt.Sprintf("/usr/local/configs/%s.env", env) + err := godotenv.Load(envPath) + + if err != nil { + //ssas.Logger.Error("Unable to load environment file, exiting.") + os.Exit(-1) + } DefaultScope = os.Getenv("SSAS_DEFAULT_SYSTEM_SCOPE") if DefaultScope == "" { From dce280849945fa3278d38f35c21cdd82241dac29 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Mon, 8 Jan 2024 11:25:08 -0600 Subject: [PATCH 04/32] remove forced deployment_target of test in docker-compose.test.yml --- docker-compose.test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 8ab343f8..a9b68679 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -11,7 +11,6 @@ services: - DB=postgresql://postgres:toor@db:5432 - DATABASE_URL=postgresql://postgres:toor@db:5432/bcda?sslmode=disable - BCDA_SSAS_CLIENT_ID=fake-client-id - - DEPLOYMENT_TARGET=test - BCDA_SSAS_SECRET=fake-secret - SSAS_ADMIN_SIGNING_KEY_PATH=../../../shared_files/ssas/admin_test_signing_key.pem - SSAS_PUBLIC_SIGNING_KEY_PATH=../../../shared_files/ssas/public_test_signing_key.pem From 58ebf79a146473d97ac90404b331ba62b226f820 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Mon, 8 Jan 2024 12:25:24 -0600 Subject: [PATCH 05/32] re-add deployment_target in docker-compose.test.yml --- docker-compose.test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.test.yml b/docker-compose.test.yml index a9b68679..f7312501 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -12,6 +12,7 @@ services: - DATABASE_URL=postgresql://postgres:toor@db:5432/bcda?sslmode=disable - BCDA_SSAS_CLIENT_ID=fake-client-id - BCDA_SSAS_SECRET=fake-secret + - DEPLOYMENT_TARGET=test - SSAS_ADMIN_SIGNING_KEY_PATH=../../../shared_files/ssas/admin_test_signing_key.pem - SSAS_PUBLIC_SIGNING_KEY_PATH=../../../shared_files/ssas/public_test_signing_key.pem - SSAS_PUBLIC_PORT=:3003 From 5cf670bee8eef366de24eacb333f93fa8645f5d7 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Mon, 8 Jan 2024 12:50:17 -0600 Subject: [PATCH 06/32] re-add deployment_target in docker-compose.test.yml --- docker-compose.test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.test.yml b/docker-compose.test.yml index f7312501..8c0b2712 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -12,7 +12,7 @@ services: - DATABASE_URL=postgresql://postgres:toor@db:5432/bcda?sslmode=disable - BCDA_SSAS_CLIENT_ID=fake-client-id - BCDA_SSAS_SECRET=fake-secret - - DEPLOYMENT_TARGET=test + - DEPLOYMENT_TARGET=local - SSAS_ADMIN_SIGNING_KEY_PATH=../../../shared_files/ssas/admin_test_signing_key.pem - SSAS_PUBLIC_SIGNING_KEY_PATH=../../../shared_files/ssas/public_test_signing_key.pem - SSAS_PUBLIC_PORT=:3003 From 6bb7d01a3a4ccb69b5929b4ea884ce6d0fff02bd Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 09:50:57 -0600 Subject: [PATCH 07/32] add exit message --- ssas/systems.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssas/systems.go b/ssas/systems.go index 416c5f92..8ce7e9c7 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -37,7 +37,7 @@ func getEnvVars() { err := godotenv.Load(envPath) if err != nil { - //ssas.Logger.Error("Unable to load environment file, exiting.") + ServiceHalted(Event{Help: "Unable to load environment variables."}) os.Exit(-1) } DefaultScope = os.Getenv("SSAS_DEFAULT_SYSTEM_SCOPE") From ae2d948a58683b8abe799e1472b9caa769efe2cd Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 10:01:37 -0600 Subject: [PATCH 08/32] remove duplicate panic --- ssas/systems.go | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/ssas/systems.go b/ssas/systems.go index 8ce7e9c7..f9de9da4 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -38,19 +38,11 @@ func getEnvVars() { if err != nil { ServiceHalted(Event{Help: "Unable to load environment variables."}) + panic("Unable to start application without loading environment variables.") os.Exit(-1) } DefaultScope = os.Getenv("SSAS_DEFAULT_SYSTEM_SCOPE") - if DefaultScope == "" { - if os.Getenv("DEBUG") == "true" { - DefaultScope = "bcda-api" - return - } - ServiceHalted(Event{Help: "SSAS_DEFAULT_SYSTEM_SCOPE environment value must be set"}) - panic("SSAS_DEFAULT_SYSTEM_SCOPE environment value must be set") - } - expirationDays := cfg.GetEnvInt("SSAS_CRED_EXPIRATION_DAYS", 90) CredentialExpiration = time.Duration(expirationDays*24) * time.Hour MaxIPs = cfg.GetEnvInt("SSAS_MAX_SYSTEM_IPS", 8) From a5482d1af226ef5642d5df2c6a8116798613ef66 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 10:01:48 -0600 Subject: [PATCH 09/32] remove unreachable line --- ssas/systems.go | 1 - 1 file changed, 1 deletion(-) diff --git a/ssas/systems.go b/ssas/systems.go index f9de9da4..a703c6bd 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -39,7 +39,6 @@ func getEnvVars() { if err != nil { ServiceHalted(Event{Help: "Unable to load environment variables."}) panic("Unable to start application without loading environment variables.") - os.Exit(-1) } DefaultScope = os.Getenv("SSAS_DEFAULT_SYSTEM_SCOPE") From aa3d37e0737a52f4512f4513615bb762fe6fc7cf Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 10:32:20 -0600 Subject: [PATCH 10/32] pass unit test on required var --- ssas/systems.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ssas/systems.go b/ssas/systems.go index a703c6bd..0e3f7568 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -41,6 +41,9 @@ func getEnvVars() { panic("Unable to start application without loading environment variables.") } DefaultScope = os.Getenv("SSAS_DEFAULT_SYSTEM_SCOPE") + if DefaultScope == "" { + panic("Unable to source default system scope; check env files") + } expirationDays := cfg.GetEnvInt("SSAS_CRED_EXPIRATION_DAYS", 90) CredentialExpiration = time.Duration(expirationDays*24) * time.Hour From 6a92bedaea28bae549860883ca8e071a70126852 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 10:49:23 -0600 Subject: [PATCH 11/32] update description for failure to load --- ssas/systems.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssas/systems.go b/ssas/systems.go index 0e3f7568..3dd8d338 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -37,7 +37,7 @@ func getEnvVars() { err := godotenv.Load(envPath) if err != nil { - ServiceHalted(Event{Help: "Unable to load environment variables."}) + ServiceHalted(Event{Help: fmt.Sprintf("Unable to load environment variables, message: %s", err.Error())}) panic("Unable to start application without loading environment variables.") } DefaultScope = os.Getenv("SSAS_DEFAULT_SYSTEM_SCOPE") From c6311b9446b698aec410129a34a0f7e043df23fe Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 10:50:00 -0600 Subject: [PATCH 12/32] update description for failure to load --- ssas/systems.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssas/systems.go b/ssas/systems.go index 3dd8d338..73f07966 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -37,7 +37,7 @@ func getEnvVars() { err := godotenv.Load(envPath) if err != nil { - ServiceHalted(Event{Help: fmt.Sprintf("Unable to load environment variables, message: %s", err.Error())}) + ServiceHalted(Event{Help: fmt.Sprintf("Unable to load environment variables in env %s, message: %s", env, err.Error())}) panic("Unable to start application without loading environment variables.") } DefaultScope = os.Getenv("SSAS_DEFAULT_SYSTEM_SCOPE") From 34549f753637d32e41ae8ab2a36fb94746b87d1e Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 11:35:50 -0600 Subject: [PATCH 13/32] update volumes --- docker-compose.test.yml | 1 - docker-compose.yml | 2 +- ssas/systems.go | 8 +++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 8c0b2712..8591696a 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -29,7 +29,6 @@ services: - SSAS_CLIENT_ASSERTION_AUD=http://local.testing.cms.gov/api/v2/Token/auth volumes: - .:/go/src/github.com/CMSgov/bcda-ssas-app - - ./ssas/cfg/configs:/usr/local/configs postman_test: build: context: . diff --git a/docker-compose.yml b/docker-compose.yml index 3570fb25..e13c50b6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,7 +47,7 @@ services: - SSAS_CLIENT_ASSERTION_AUD=http://local.testing.cms.gov/api/v2/Token/auth volumes: - ./shared_files:/usr/local/shared_files - - ./ssas/cfg/configs:/usr/local/configs + - .:/go/src/github.com/CMSgov/bcda-ssas-app ports: - "3103:3003" - "3104:3004" diff --git a/ssas/systems.go b/ssas/systems.go index 73f07966..ccbc01d2 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -9,6 +9,7 @@ import ( "encoding/base64" "errors" "fmt" + "go/build" "io" "net" "os" @@ -33,7 +34,12 @@ func init() { func getEnvVars() { env := os.Getenv("DEPLOYMENT_TARGET") - envPath := fmt.Sprintf("/usr/local/configs/%s.env", env) + gopath := os.Getenv("GOPATH") + + if gopath == "" { + gopath = build.Default.GOPATH + } + envPath := fmt.Sprintf(gopath+"/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs/%s.env", env) err := godotenv.Load(envPath) if err != nil { From 05ddf2d64e025ab91c7308ef428e3bcbb64c3756 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 12:04:34 -0600 Subject: [PATCH 14/32] update description for failure to load --- ssas/systems.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssas/systems.go b/ssas/systems.go index ccbc01d2..6d974676 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -43,7 +43,7 @@ func getEnvVars() { err := godotenv.Load(envPath) if err != nil { - ServiceHalted(Event{Help: fmt.Sprintf("Unable to load environment variables in env %s, message: %s", env, err.Error())}) + ServiceHalted(Event{Help: fmt.Sprintf("Unable to load environment variables in env %s; message: %s", env, err.Error())}) panic("Unable to start application without loading environment variables.") } DefaultScope = os.Getenv("SSAS_DEFAULT_SYSTEM_SCOPE") From 784c1a4d152a778ad8cbf321f233865be9324a31 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 13:33:04 -0600 Subject: [PATCH 15/32] set default gopath --- ssas/systems.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ssas/systems.go b/ssas/systems.go index 6d974676..8c1be717 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -38,6 +38,10 @@ func getEnvVars() { if gopath == "" { gopath = build.Default.GOPATH + //when GOROOT==gopath, it'll still be empty. Thus, we specify what's in our Dockerfile. + if gopath == "" { + gopath = "/go" + } } envPath := fmt.Sprintf(gopath+"/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs/%s.env", env) err := godotenv.Load(envPath) From 9e51588bea4d654ed2a9e2a44d0f5aaf6439402c Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 14:16:09 -0600 Subject: [PATCH 16/32] add additional debug messages --- Dockerfiles/Dockerfile.ssas | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfiles/Dockerfile.ssas b/Dockerfiles/Dockerfile.ssas index 9f951bcb..1b1bafb5 100644 --- a/Dockerfiles/Dockerfile.ssas +++ b/Dockerfiles/Dockerfile.ssas @@ -28,6 +28,9 @@ RUN apk --no-cache add ca-certificates aws-cli curl WORKDIR /usr/local/bin COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/ssas . COPY --from=documentation /go/src/github.com/CMSgov/bcda-ssas-app/ssas/swaggerui ./swaggerui +RUN echo "Alabama" +RUN pwd +RUN ls EXPOSE 3003 EXPOSE 3004 EXPOSE 3005 From c9d95570d73f25c8210a7af11197590c9f049e10 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 15:15:52 -0600 Subject: [PATCH 17/32] copy config file --- Dockerfiles/Dockerfile.ssas | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Dockerfiles/Dockerfile.ssas b/Dockerfiles/Dockerfile.ssas index 1b1bafb5..e51f9835 100644 --- a/Dockerfiles/Dockerfile.ssas +++ b/Dockerfiles/Dockerfile.ssas @@ -27,10 +27,8 @@ RUN apk update upgrade RUN apk --no-cache add ca-certificates aws-cli curl WORKDIR /usr/local/bin COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/ssas . +COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs /go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs COPY --from=documentation /go/src/github.com/CMSgov/bcda-ssas-app/ssas/swaggerui ./swaggerui -RUN echo "Alabama" -RUN pwd -RUN ls EXPOSE 3003 EXPOSE 3004 EXPOSE 3005 From d8aa91a62d1d395c10b625168079db9a7d52ee89 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Tue, 9 Jan 2024 16:01:14 -0600 Subject: [PATCH 18/32] update directory --- Dockerfiles/Dockerfile.ssas | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfiles/Dockerfile.ssas b/Dockerfiles/Dockerfile.ssas index e51f9835..e2143ab9 100644 --- a/Dockerfiles/Dockerfile.ssas +++ b/Dockerfiles/Dockerfile.ssas @@ -25,9 +25,10 @@ RUN go build -ldflags "-X github.com/CMSgov/bcda-ssas-app/ssas/constants.Version FROM golang:1.19-alpine3.15 RUN apk update upgrade RUN apk --no-cache add ca-certificates aws-cli curl +WORKDIR /go/src/github.com/CMSgov/bcda-ssas-app +COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs ./ssas/cfg/configs WORKDIR /usr/local/bin COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/ssas . -COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs /go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs COPY --from=documentation /go/src/github.com/CMSgov/bcda-ssas-app/ssas/swaggerui ./swaggerui EXPOSE 3003 EXPOSE 3004 From 8b5816d18d0414bbc33c0dd3c9f3172fda652b15 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 08:50:38 -0600 Subject: [PATCH 19/32] re-configure relative path for file --- Dockerfiles/Dockerfile.ssas | 2 +- ssas/systems.go | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfiles/Dockerfile.ssas b/Dockerfiles/Dockerfile.ssas index e2143ab9..06b10738 100644 --- a/Dockerfiles/Dockerfile.ssas +++ b/Dockerfiles/Dockerfile.ssas @@ -26,7 +26,7 @@ FROM golang:1.19-alpine3.15 RUN apk update upgrade RUN apk --no-cache add ca-certificates aws-cli curl WORKDIR /go/src/github.com/CMSgov/bcda-ssas-app -COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs ./ssas/cfg/configs +COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs ssas/cfg/configs WORKDIR /usr/local/bin COPY --from=builder /go/src/github.com/CMSgov/bcda-ssas-app/ssas/ssas . COPY --from=documentation /go/src/github.com/CMSgov/bcda-ssas-app/ssas/swaggerui ./swaggerui diff --git a/ssas/systems.go b/ssas/systems.go index 8c1be717..da391104 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -39,9 +39,10 @@ func getEnvVars() { if gopath == "" { gopath = build.Default.GOPATH //when GOROOT==gopath, it'll still be empty. Thus, we specify what's in our Dockerfile. - if gopath == "" { + /*if gopath == "" { gopath = "/go" } + */ } envPath := fmt.Sprintf(gopath+"/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs/%s.env", env) err := godotenv.Load(envPath) From 3ba7761ee4991a64a80561d89dda824a5dbb84aa Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 09:36:33 -0600 Subject: [PATCH 20/32] add additional test --- ssas/systems_test.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ssas/systems_test.go b/ssas/systems_test.go index 3beaa438..b0beee67 100644 --- a/ssas/systems_test.go +++ b/ssas/systems_test.go @@ -668,6 +668,15 @@ func (s *SystemsTestSuite) TestScopeEnvSuccess() { assert.Nil(s.T(), err) } +func (s *SystemsTestSuite) TestEmptyGoPath() { + err := os.Setenv("GOPATH", "") + if err != nil { + s.FailNow(err.Error()) + } + getEnvVars() + assert.Equal(s.T(), "bcda-api", DefaultScope) +} + func (s *SystemsTestSuite) TestScopeEnvDebug() { getEnvVars() assert.Equal(s.T(), "bcda-api", DefaultScope) From 8f969eb685fea46d9ace56ff5b99747e90e84d6f Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 10:02:18 -0600 Subject: [PATCH 21/32] add gopath/goroot addition --- ssas/systems.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssas/systems.go b/ssas/systems.go index da391104..f0aecc64 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -39,10 +39,10 @@ func getEnvVars() { if gopath == "" { gopath = build.Default.GOPATH //when GOROOT==gopath, it'll still be empty. Thus, we specify what's in our Dockerfile. - /*if gopath == "" { + if gopath == "" { gopath = "/go" } - */ + } envPath := fmt.Sprintf(gopath+"/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs/%s.env", env) err := godotenv.Load(envPath) From 7a0de7a55229f41b839a2f7f3f8f492093d55f99 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 10:42:51 -0600 Subject: [PATCH 22/32] add logging for directories --- ssas/logger.go | 5 +++++ ssas/systems.go | 27 ++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/ssas/logger.go b/ssas/logger.go index 36530e62..2521e47c 100644 --- a/ssas/logger.go +++ b/ssas/logger.go @@ -163,3 +163,8 @@ func ServiceHalted(data Event) { func ServiceStarted(data Event) { mergeNonEmpty(data).WithField("Event", "ServiceStarted").Print(data.Help) } + +// ServiceStarted should be called to log the starting of the service +func HelpfulLog(data Event) { + mergeNonEmpty(data).WithField("Event", "HelpfulLog").Print(data.Help) +} diff --git a/ssas/systems.go b/ssas/systems.go index f0aecc64..31caac35 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -13,6 +13,7 @@ import ( "io" "net" "os" + "path/filepath" "strconv" "strings" "time" @@ -31,6 +32,22 @@ var MacaroonExpiration time.Duration func init() { getEnvVars() } +func visitFile(fp string, fi os.FileInfo, err error) error { + if err != nil { + fmt.Println(err) // can't walk here, + return nil // but continue walking elsewhere + } + + if fi.IsDir() { + return nil // not a file, ignore + } + + if strings.HasSuffix(fi.Name(), ".env") { + HelpfulLog(Event{Help: fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))}) + } + + return nil +} func getEnvVars() { env := os.Getenv("DEPLOYMENT_TARGET") @@ -44,8 +61,16 @@ func getEnvVars() { } } + + root := "/" + + err := filepath.Walk(root, visitFile) + if err != nil { + fmt.Printf("Error walking the path: %v\n", err) + } + envPath := fmt.Sprintf(gopath+"/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs/%s.env", env) - err := godotenv.Load(envPath) + err = godotenv.Load(envPath) if err != nil { ServiceHalted(Event{Help: fmt.Sprintf("Unable to load environment variables in env %s; message: %s", env, err.Error())}) From afe7ca735a9f05200d1b65a184fa3907d88fd6dd Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 11:33:59 -0600 Subject: [PATCH 23/32] add printouts for walking --- ssas/logger.go | 5 ----- ssas/systems.go | 5 +++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/ssas/logger.go b/ssas/logger.go index 2521e47c..36530e62 100644 --- a/ssas/logger.go +++ b/ssas/logger.go @@ -163,8 +163,3 @@ func ServiceHalted(data Event) { func ServiceStarted(data Event) { mergeNonEmpty(data).WithField("Event", "ServiceStarted").Print(data.Help) } - -// ServiceStarted should be called to log the starting of the service -func HelpfulLog(data Event) { - mergeNonEmpty(data).WithField("Event", "HelpfulLog").Print(data.Help) -} diff --git a/ssas/systems.go b/ssas/systems.go index 31caac35..3dcd9554 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -43,7 +43,8 @@ func visitFile(fp string, fi os.FileInfo, err error) error { } if strings.HasSuffix(fi.Name(), ".env") { - HelpfulLog(Event{Help: fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))}) + fmt.Printf("Found a file! File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp)) + //HelpfulLog(Event{Help: fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))}) } return nil @@ -63,7 +64,7 @@ func getEnvVars() { } root := "/" - + fmt.Println("Beginning file checks") err := filepath.Walk(root, visitFile) if err != nil { fmt.Printf("Error walking the path: %v\n", err) From 8201ad97d55026f406bc3e4c6af3f64f7f06d240 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 12:00:40 -0600 Subject: [PATCH 24/32] update log messages to ensure they go to splunk --- ssas/systems.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ssas/systems.go b/ssas/systems.go index 3dcd9554..24fe1c43 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -43,7 +43,8 @@ func visitFile(fp string, fi os.FileInfo, err error) error { } if strings.HasSuffix(fi.Name(), ".env") { - fmt.Printf("Found a file! File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp)) + // fmt.Printf("Found a file! File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp)) + ServiceHalted(Event{Help: fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))}) //HelpfulLog(Event{Help: fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))}) } From 01b40d393ad042f164ce2bcd30c282b638105dd9 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 12:01:58 -0600 Subject: [PATCH 25/32] update logger --- ssas/systems.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ssas/systems.go b/ssas/systems.go index 24fe1c43..37af0ca6 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -44,8 +44,7 @@ func visitFile(fp string, fi os.FileInfo, err error) error { if strings.HasSuffix(fi.Name(), ".env") { // fmt.Printf("Found a file! File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp)) - ServiceHalted(Event{Help: fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))}) - //HelpfulLog(Event{Help: fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))}) + Logger.Info(fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))) } return nil @@ -65,7 +64,8 @@ func getEnvVars() { } root := "/" - fmt.Println("Beginning file checks") + // fmt.Println("Beginning file checks") + Logger.Info("Starting file checks") err := filepath.Walk(root, visitFile) if err != nil { fmt.Printf("Error walking the path: %v\n", err) From d7d5d26210ab0153765a1e1928fa478cd30030c8 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 12:45:28 -0600 Subject: [PATCH 26/32] post all files checked --- ssas/systems.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ssas/systems.go b/ssas/systems.go index 37af0ca6..6620dbfc 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -35,7 +35,8 @@ func init() { func visitFile(fp string, fi os.FileInfo, err error) error { if err != nil { fmt.Println(err) // can't walk here, - return nil // but continue walking elsewhere + Logger.Info("Can't walk here", err) + return nil // but continue walking elsewhere } if fi.IsDir() { From fc01dc4e4e4a9a9c4c2622f6f2164d626ba9d9b3 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 14:10:23 -0600 Subject: [PATCH 27/32] update build and package --- ops/build_and_package.sh | 5 ++++- ssas/systems.go | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ops/build_and_package.sh b/ops/build_and_package.sh index 2880c99b..b7b9b2a7 100755 --- a/ops/build_and_package.sh +++ b/ops/build_and_package.sh @@ -29,12 +29,15 @@ then exit 1 fi +cp -r ../ssas/cfg/configs/* . + + cd ../ssas go clean echo "Building ssas..." go build -ldflags "-X github.com/CMSgov/bcda-ssas-app/ssas/constants.Version=$VERSION" -o ssas ./service/main echo "Packaging ssas binary into RPM..." -fpm -v $VERSION -s dir -t rpm -n ssas ssas=/usr/local/bin/ssas swaggerui=/etc/sv/ssas +fpm -v $VERSION -s dir -t rpm -n ssas ssas=/usr/local/bin/ssas swaggerui=/etc/sv/ssas configs=/go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs #Sign RPMs diff --git a/ssas/systems.go b/ssas/systems.go index 6620dbfc..37af0ca6 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -35,8 +35,7 @@ func init() { func visitFile(fp string, fi os.FileInfo, err error) error { if err != nil { fmt.Println(err) // can't walk here, - Logger.Info("Can't walk here", err) - return nil // but continue walking elsewhere + return nil // but continue walking elsewhere } if fi.IsDir() { From ab31982f07e334920320447ea23fe6412417426d Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 14:20:41 -0600 Subject: [PATCH 28/32] update build and package --- ops/build_and_package.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/ops/build_and_package.sh b/ops/build_and_package.sh index b7b9b2a7..e59bbe18 100755 --- a/ops/build_and_package.sh +++ b/ops/build_and_package.sh @@ -31,7 +31,6 @@ fi cp -r ../ssas/cfg/configs/* . - cd ../ssas go clean echo "Building ssas..." From 0354e920341586fe523e173ebe44b64c8a3f0878 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 14:46:41 -0600 Subject: [PATCH 29/32] update packaging --- ops/build_and_package.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ops/build_and_package.sh b/ops/build_and_package.sh index e59bbe18..ddb04c0d 100755 --- a/ops/build_and_package.sh +++ b/ops/build_and_package.sh @@ -29,14 +29,12 @@ then exit 1 fi -cp -r ../ssas/cfg/configs/* . - cd ../ssas go clean echo "Building ssas..." go build -ldflags "-X github.com/CMSgov/bcda-ssas-app/ssas/constants.Version=$VERSION" -o ssas ./service/main echo "Packaging ssas binary into RPM..." -fpm -v $VERSION -s dir -t rpm -n ssas ssas=/usr/local/bin/ssas swaggerui=/etc/sv/ssas configs=/go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs +fpm -v $VERSION -s dir -t rpm -n ssas ssas=/usr/local/bin/ssas swaggerui=/etc/sv/ssas cfg/configs=/go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs #Sign RPMs From 72f32441b6fce13ebdfccf4e6c1c6dffa8ff9e79 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 15:12:16 -0600 Subject: [PATCH 30/32] update relative path --- ops/build_and_package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ops/build_and_package.sh b/ops/build_and_package.sh index ddb04c0d..725b98ca 100755 --- a/ops/build_and_package.sh +++ b/ops/build_and_package.sh @@ -34,7 +34,7 @@ go clean echo "Building ssas..." go build -ldflags "-X github.com/CMSgov/bcda-ssas-app/ssas/constants.Version=$VERSION" -o ssas ./service/main echo "Packaging ssas binary into RPM..." -fpm -v $VERSION -s dir -t rpm -n ssas ssas=/usr/local/bin/ssas swaggerui=/etc/sv/ssas cfg/configs=/go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs +fpm -v $VERSION -s dir -t rpm -n ssas ssas=/usr/local/bin/ssas swaggerui=/etc/sv/ssas cfg=/go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs #Sign RPMs From 60408929d1c8e7a52d9eee0c93118d68728eef2c Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Wed, 10 Jan 2024 15:38:41 -0600 Subject: [PATCH 31/32] update reference path --- ops/build_and_package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ops/build_and_package.sh b/ops/build_and_package.sh index 725b98ca..d2eb64da 100755 --- a/ops/build_and_package.sh +++ b/ops/build_and_package.sh @@ -34,7 +34,7 @@ go clean echo "Building ssas..." go build -ldflags "-X github.com/CMSgov/bcda-ssas-app/ssas/constants.Version=$VERSION" -o ssas ./service/main echo "Packaging ssas binary into RPM..." -fpm -v $VERSION -s dir -t rpm -n ssas ssas=/usr/local/bin/ssas swaggerui=/etc/sv/ssas cfg=/go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs +fpm -v $VERSION -s dir -t rpm -n ssas ssas=/usr/local/bin/ssas swaggerui=/etc/sv/ssas cfg/configs/=/go/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs/ #Sign RPMs From 8ee876fd3fb4c139c4cf5b43a0bd2ac172082ad7 Mon Sep 17 00:00:00 2001 From: Alex Dzeda Date: Thu, 11 Jan 2024 10:52:03 -0600 Subject: [PATCH 32/32] clean up branch --- ssas/systems.go | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/ssas/systems.go b/ssas/systems.go index 37af0ca6..9471cffe 100644 --- a/ssas/systems.go +++ b/ssas/systems.go @@ -13,7 +13,6 @@ import ( "io" "net" "os" - "path/filepath" "strconv" "strings" "time" @@ -32,23 +31,6 @@ var MacaroonExpiration time.Duration func init() { getEnvVars() } -func visitFile(fp string, fi os.FileInfo, err error) error { - if err != nil { - fmt.Println(err) // can't walk here, - return nil // but continue walking elsewhere - } - - if fi.IsDir() { - return nil // not a file, ignore - } - - if strings.HasSuffix(fi.Name(), ".env") { - // fmt.Printf("Found a file! File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp)) - Logger.Info(fmt.Sprintf("File: %s\nDirectory: %s\n\n", fi.Name(), filepath.Dir(fp))) - } - - return nil -} func getEnvVars() { env := os.Getenv("DEPLOYMENT_TARGET") @@ -63,16 +45,8 @@ func getEnvVars() { } - root := "/" - // fmt.Println("Beginning file checks") - Logger.Info("Starting file checks") - err := filepath.Walk(root, visitFile) - if err != nil { - fmt.Printf("Error walking the path: %v\n", err) - } - envPath := fmt.Sprintf(gopath+"/src/github.com/CMSgov/bcda-ssas-app/ssas/cfg/configs/%s.env", env) - err = godotenv.Load(envPath) + err := godotenv.Load(envPath) if err != nil { ServiceHalted(Event{Help: fmt.Sprintf("Unable to load environment variables in env %s; message: %s", env, err.Error())})