Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container prepare 2026/09/21 16:25:21 Entrypoint initialization Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container place-scripts 2026/09/21 16:25:22 Decoded script /tekton/scripts/script-0-qmpjt 2026/09/21 16:25:22 Decoded script /tekton/scripts/script-1-66rt9 2026/09/21 16:25:22 Decoded script /tekton/scripts/script-2-jnjph 2026/09/21 16:25:22 Decoded script /tekton/scripts/script-3-nhn5m 2026/09/21 16:25:22 Decoded script /tekton/scripts/script-4-kd2dm 2026/09/21 16:25:22 Decoded script /tekton/scripts/script-6-kffqn 2026/09/21 16:25:22 Decoded script /tekton/scripts/script-7-8f8ql 2026/09/21 16:25:23 Decoded script /tekton/scripts/script-8-tk9nv 2026/09/21 16:25:23 Decoded script /tekton/scripts/script-9-xbcx7 2026/09/21 16:25:23 Decoded script /tekton/scripts/script-10-wnz68 Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container working-dir-initializer Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-git-clone git cloning url: https://github.com/greencapitaltrade/heimdallr.git version main@7fcbb270509eb8982d27651355ff77ef11176f37 to dir: source Cloning into 'source'... HEAD is now at 7fcbb27 feat: map named API clients to Thor organizations checked out revision: main@7fcbb270509eb8982d27651355ff77ef11176f37 to dir: source Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-next-version Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-jx-variables WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set about to run: git clone --no-checkout --filter=blob:none --depth=1 https://github.com/greencapitaltrade/mcu.git /tmp/jx-git-1016900362 in dir /tmp Cloning into '/tmp/jx-git-1016900362'... about to run: git sparse-checkout set --no-cone jx-requirements.yml .jx/gitops/source-config.yaml in dir /tmp/jx-git-1016900362 about to run: git checkout in dir /tmp/jx-git-1016900362 Your branch is up to date with 'origin/main'. export APP_NAME='heimdallr' export BRANCH_NAME='main' export BUILD_NUMBER='42' export DOCKERFILE_PATH='Dockerfile' export DOCKER_REGISTRY='417755753340.dkr.ecr.ap-south-1.amazonaws.com' export DOCKER_REGISTRY_ORG='greencapitaltrade' export DOMAIN='gc-t.in' about to run: git rev-parse --abbrev-ref HEAD in dir . main export GIT_BRANCH='main' export JENKINS_X_URL='https://dashboard-jx.gc-t.in/greencapitaltrade/heimdallr/main/42' export JX_CHART_REPOSITORY='http://jenkins-x-chartmuseum.jx.svc.cluster.local:8080' export KANIKO_FLAGS='--skip-unused-stages --snapshotMode=redo' export MINK_AS='tekton-bot' export MINK_IMAGE='417755753340.dkr.ecr.ap-south-1.amazonaws.com/greencapitaltrade/heimdallr:1.9.0' export NAMESPACE_SUB_DOMAIN='-jx.' export PIPELINE_KIND='release' export PUSH_CONTAINER_REGISTRY='417755753340.dkr.ecr.ap-south-1.amazonaws.com' export REPO_NAME='heimdallr' export REPO_OWNER='greencapitaltrade' export VERSION='1.9.0' added variables to file: .jx/variables.sh about to run: git config --get user.name in dir . jenkins-x-bot about to run: git config --get user.email in dir . jenkins-x@googlegroups.com about to run: git add * in dir . about to run: git status -s in dir . A .jx/variables.sh A VERSION about to run: git commit -m chore: add variables in dir . [main 52198a6] chore: add variables 2 files changed, 22 insertions(+) create mode 100644 .jx/variables.sh create mode 100644 VERSION Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-build-make-build go: downloading gorm.io/driver/postgres v1.6.0 go: downloading gorm.io/gorm v1.31.1 go: downloading github.com/oschwald/geoip2-golang v1.11.0 go: downloading github.com/alicebob/miniredis/v2 v2.33.0 go: downloading github.com/redis/go-redis/v9 v9.7.0 go: downloading github.com/golang-jwt/jwt/v5 v5.2.0 go: downloading github.com/valyala/fasthttp v1.69.0 go: downloading github.com/jackc/pgx/v5 v5.6.0 go: downloading github.com/jinzhu/now v1.1.5 go: downloading github.com/oschwald/maxminddb-golang v1.13.1 go: downloading github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302 go: downloading github.com/yuin/gopher-lua v1.1.1 go: downloading github.com/cespare/xxhash/v2 v2.2.0 go: downloading github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f go: downloading github.com/andybalholm/brotli v1.2.0 go: downloading github.com/klauspost/compress v1.18.2 go: downloading github.com/valyala/bytebufferpool v1.0.0 go: downloading github.com/jackc/pgpassfile v1.0.0 go: downloading github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 go: downloading golang.org/x/crypto v0.46.0 go: downloading golang.org/x/text v0.32.0 go: downloading github.com/jinzhu/inflection v1.0.0 go: downloading golang.org/x/sys v0.39.0 go: downloading github.com/jackc/puddle/v2 v2.2.2 go: downloading golang.org/x/sync v0.19.0 CGO_ENABLED=0 GO15VENDOREXPERIMENT=1 go build -ldflags '' -o bin/heimdallr . Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-build-make-test go: downloading gorm.io/gorm v1.31.1 go: downloading github.com/alicebob/miniredis/v2 v2.33.0 go: downloading github.com/redis/go-redis/v9 v9.7.0 go: downloading github.com/oschwald/geoip2-golang v1.11.0 go: downloading gorm.io/driver/postgres v1.6.0 go: downloading github.com/stretchr/testify v1.11.1 go: downloading github.com/golang-jwt/jwt/v5 v5.2.0 go: downloading github.com/valyala/fasthttp v1.69.0 go: downloading github.com/oschwald/maxminddb-golang v1.13.1 go: downloading github.com/jinzhu/now v1.1.5 go: downloading github.com/jackc/pgx/v5 v5.6.0 go: downloading github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302 go: downloading github.com/yuin/gopher-lua v1.1.1 go: downloading github.com/cespare/xxhash/v2 v2.2.0 go: downloading github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f go: downloading github.com/davecgh/go-spew v1.1.1 go: downloading github.com/pmezard/go-difflib v1.0.0 go: downloading github.com/andybalholm/brotli v1.2.0 go: downloading github.com/klauspost/compress v1.18.2 go: downloading github.com/valyala/bytebufferpool v1.0.0 go: downloading github.com/jinzhu/inflection v1.0.0 go: downloading golang.org/x/text v0.32.0 go: downloading golang.org/x/sys v0.39.0 go: downloading github.com/jackc/pgpassfile v1.0.0 go: downloading github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 go: downloading golang.org/x/crypto v0.46.0 go: downloading gopkg.in/yaml.v3 v3.0.1 go: downloading github.com/jackc/puddle/v2 v2.2.2 go: downloading golang.org/x/sync v0.19.0 === RUN Test_requestHandler Starting POST /v1/generate {} DEBUG: /v1/generate handler started, device from body: DEBUG: Device is empty in request body, returning 400 Starting POST /v1/generate {} DEBUG: Received POST body, length: 46 DEBUG: Successfully parsed POST body, keys: 3 DEBUG: /v1/generate handler started, device from body: lg-g8x DEBUG: About to call generateNewToken DEBUG: generateNewToken returned, token length: 547 error: DEBUG: Token generated successfully DEBUG: About to marshal response body DEBUG: Redis Del successful, setting response body DEBUG: /v1/generate completed successfully POST 200 /v1/generate 3.419827ms Starting GET /fury/pe/jaa/raha/hun {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3OTAwOTUxNzEsImlhdCI6MTc5MDAwODc3MSwiaXNzIjoiaGVpbWRhbGxyIiwibmFtZSI6InZhbnNoIiwicnhwIjoxNzkwMTgxNTcxLCJzdWIiOiIxIiwidXNlcl9pZCI6MX0.FluCmSlXPcZ2mEujiPuaiZ-nNa2yU4fQh4LqXHVuxYHKljvIEdwQOgA0tB4w6-S3ydIEVtDLs_ZKOpB9S_sBeJQHvtSJ973PwVoDu_ubxF5Dk6bvfWoXonFuTGilAsBWnU3q_tCAP6_uY2EjVS9W_zhzo78p-MArIg1wUQZo2RzQqXQgDH5rrW0f71CnP80NtvVsudP-v8FaB9LQ96BTGG9eyv6jbVTSskqN7ZGDBMHSXIvPO8yIh0_z1Jgr5kA_K-uFIHo1l39A8fDn54nuvsI7kuWRksjdgcQXjz5HxxOyMlZ2B3awojKoU3ezuCCf2T9aTUbvvCqSLgc-HTCITA"} GET 200 /fury/pe/jaa/raha/hun 243.159µs Starting GET /fury/pe/jaa/raha/hun {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"} Invalid token reason token is unverifiable: error while executing keyfunc: unexpected method: HS256 GET 401 /fury/pe/jaa/raha/hun 32.181µs Starting GET /fury/pe/jaa/raha/hun {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3ODk4MzU5NzEsImlhdCI6MTc5MDAwODc3MSwibmFtZSI6ImhlbGxvIHdvcmxkIiwicnhwIjoxNzkwMTgxNTcxfQ.YCPHxrpCS2ywKgJwLoed508PvY5gPkNMabxeuHQJXZIkgDferAiOlKBE9OJI5Ppw1z5vdiUdzPjFwkE6veEjnq8I-dR2B6L9oIYrhWVT70-ksfVAVZDu9MkUvixXiZYwJd0FcJ8RcSKdpDSARX0ZYQvgq5zVkJMCkpTW1avLV107bt5d4CDmTGc8azm-BVp8PAvUbF81e2KWhzCTtYKf-ROblpu4x79el4CMsriL4o4QsYaQmUIqvS-NN9Nezt1zalmUSdymeG8N-W_8DH7dlGLt7Xe_5HOnOzxuoiR5QCfEmThQABDQwuF4fP406fz0NV4YLZv57_NZ7CClT3xF3g"} GET 200 /fury/pe/jaa/raha/hun 2.784464ms Starting GET /fury/pe/jaa/raha/hun {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3ODk4MzU5NzEsImlhdCI6MTc5MDAwODc3MSwibmFtZSI6ImhlbGxvIHdvcmxkIiwicnhwIjoxNzkwMTgxNTcxfQ.YCPHxrpCS2ywKgJwLoed508PvY5gPkNMabxeuHQJXZIkgDferAiOlKBE9OJI5Ppw1z5vdiUdzPjFwkE6veEjnq8I-dR2B6L9oIYrhWVT70-ksfVAVZDu9MkUvixXiZYwJd0FcJ8RcSKdpDSARX0ZYQvgq5zVkJMCkpTW1avLV107bt5d4CDmTGc8azm-BVp8PAvUbF81e2KWhzCTtYKf-ROblpu4x79el4CMsriL4o4QsYaQmUIqvS-NN9Nezt1zalmUSdymeG8N-W_8DH7dlGLt7Xe_5HOnOzxuoiR5QCfEmThQABDQwuF4fP406fz0NV4YLZv57_NZ7CClT3xF3g"} GET 200 /fury/pe/jaa/raha/hun 2.749953ms Starting POST /v1/generate {} DEBUG: Received POST body, length: 49 DEBUG: Successfully parsed POST body, keys: 3 DEBUG: /v1/generate handler started, device from body: lg-g8x DEBUG: About to call generateNewToken DEBUG: generateNewToken returned, token length: 555 error: DEBUG: Token generated successfully DEBUG: About to marshal response body DEBUG: Redis Del successful, setting response body DEBUG: /v1/generate completed successfully POST 200 /v1/generate 3.054184ms Starting PUT /v1/session {} PUT 200 /v1/session 257.88µs Starting GET /fury/pe/jaa/raha/hun {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3OTAwOTUxNzEsImlhdCI6MTc5MDAwODc3MSwiaXNzIjoiaGVpbWRhbGxyIiwibmFtZSI6InZhbnNoIiwicnhwIjoxNzkwMTgxNTcxLCJzdWIiOiIxNzIzIiwidXNlcl9pZCI6MTcyM30.MMCR-x9OIETSZ9BeFbBRpAxXVWvlIoBs4rhg6ETNUeFSlbg-dwWOz9CUCV9maZCvRGkNZyoV9Ur0J-93k7029ewD7iy_Toq1VvKw0d8LHXSTrKuDtsuwpjJR6Z5MSfULZMPPUG6IHyHicIabUOqW_dVRLqTlSaqo7KPgpD73AWZhiDdfqQERIzQoTABIxYs7o8j1zzW5QBHWMjvQX1buNM-nQTv8WmyKpNSLFkTSW2Gq5wPiHa0KLHb672r4AMAM-G-sEHeep4hh3j2jvP_IQyFWaC7qvzazIh8NwfevqVISx7VMpmLN1vWGr4QAYnG9-Hjzr-dR7HhEZDYtRKI-ew"} GET 200 /fury/pe/jaa/raha/hun 91.680296ms Starting GET /fury/pe/jaa/raha/hun {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHAiOiJnYWxheHljYXJkIiwiZGV2aWNlIjoibGctZzh4IiwiZW1haWwiOiJ1c2VyNzIwOTE2ODY4XzM4OTcxQGV4YW1wbGUuY29tIiwiZXhwIjoxNzkwMDk1MTcxLCJpYXQiOjE3OTAwMDg3NzEsImlzcyI6ImhlaW1kYWxsciIsIm9yZ19pZCI6OTg3NjU0MzIxLCJwaG9uZSI6OTAxNjU4MjI5NywicnhwIjoxNzkwMTgxNTcxLCJzdWIiOiIxNzIzIiwidXNlcl9pZCI6MTcyM30.JC2vbGL8aJsBIhrQS6YFq-MLvq179rbn639bjkxCqAgIBt03iTnoY86A-CXSQKQ1Jo4zpltVupiJyfZi7bSiOpxHXHCpFh5KRA7PiYOiMHP2SUrpxMqToKIpWFcw7RoqWrdKfHka-8ontgm9FxYivMD7RpwECBte720iUY6iHxPgBi0hp9EkVwaY_bFqSFE5dKaLA5DOD-jP4MtV8fKR2IdZDziekk4nnbDTTy7bqWEPwZ3x0F3hKZ1jo0i5UYPkuG3dgd0Thil9bITlGNvM2lvUZzzZpbofiJiBATlhdsOCzaX9KRQLJHaJ5I3hHh0Laltea44aeF2bH1zjRnmc3w"} GET 200 /fury/pe/jaa/raha/hun 3.466079ms Starting POST /v1/generate {} DEBUG: Received POST body, length: 54 DEBUG: Successfully parsed POST body, keys: 3 DEBUG: /v1/generate handler started, device from body: lg-g8x DEBUG: About to call generateNewToken DEBUG: generateNewToken returned, token length: 575 error: DEBUG: Token generated successfully DEBUG: About to marshal response body DEBUG: Redis Del successful, setting response body DEBUG: /v1/generate completed successfully POST 200 /v1/generate 3.387576ms Starting GET /fury/pe/jaa/raha/hun {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3OTAwOTUxNzEsImlhdCI6MTc5MDAwODc3MSwiaXNzIjoiaGVpbWRhbGxyIiwibmFtZSI6Imdob3N0IiwicnhwIjoxNzkwMTgxNTcxLCJzdWIiOiI5Ljk5OTk5OTk5ZSswOCIsInVzZXJfaWQiOjk5OTk5OTk5OX0.reN51F65hDoiNwuI8rfZfXg_wpm3YBcJ_ZDpG4R7tD_eRILvMk37Wau-O3zDTJxs8TCJZS_WGyCQvLj8IMG_Ge7mZ8S6i8L23QI5rUD2ry0DWePh5CbIeuYx7089AsytCrbGtw3lKY8vCqnJBTPS4MoFnw9kjqtsRvR2tUGXOpDrzrr1_RobEaJUuJK7N3ofTvM0gzNdrAKV1jnWobGDvJtsNeCrEP1ODFf4yoMCJF9ZZXEjKZZSS45p5-e1XP6CMHw9Fq7xnc9LjC27GSKo01oldVQA8pi94iUlHC3O6LJpuKJWO6bM5Oy6cLySUjBlOXpjR_9YKAApGfQdCvaVhg"} Expected status code 200 but got 404 GET 200 /fury/pe/jaa/raha/hun 981.797µs --- PASS: Test_requestHandler (0.19s) === RUN TestTokenValidation --- PASS: TestTokenValidation (0.00s) === RUN TestInvalidToken --- PASS: TestInvalidToken (0.00s) === RUN TestStripGctHeaders Stripped 4 spoofed x-gct-* headers: [X-Gct-User-Id X-Gct-Org-Id X-Gct-Admin X-Gct-Malicious] --- PASS: TestStripGctHeaders (0.00s) === RUN TestMaliciousHeadersNotForwarded Starting POST /v1/generate {} DEBUG: Received POST body, length: 59 DEBUG: Successfully parsed POST body, keys: 3 DEBUG: /v1/generate handler started, device from body: lg-g8x DEBUG: About to call generateNewToken DEBUG: generateNewToken returned, token length: 568 error: DEBUG: Token generated successfully DEBUG: About to marshal response body DEBUG: Redis Del successful, setting response body DEBUG: /v1/generate completed successfully POST 200 /v1/generate 86.945659ms Stripped 3 spoofed x-gct-* headers: [X-Gct-User-Id X-Gct-Admin X-Gct-Org-Id] Starting GET /any/protected/route {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3OTAwOTUxNzEsImlhdCI6MTc5MDAwODc3MSwiaXNzIjoiaGVpbWRhbGxyIiwibmFtZSI6ImxlZ2l0aW1hdGUtdXNlciIsInJ4cCI6MTc5MDE4MTU3MSwic3ViIjoiNzkyNiIsInVzZXJfaWQiOjc5MjZ9.OSSerms7FtUMqx9UUep06S5C_beJ_m9nJaKWeRbKIFwyz9tzoAbLeKVMBK_upVDDb88c2rh-EuJWh4PwShR0ot7wyUQvLxeamZzq9yJW4Aq-4O2_n_mEJ2AWOle5Wgefs-bGUCtL1pjM6PrBnzbDkBRH7rDF9yuJI-DDhkysFM7fS2EGC8o4a7IGIO4uAJDwN6A7jRO27lHYop38jVv-swKrYYaNF6edkCsHkudQGyidW6KSah4r9Zm425ys3BelHbpaJSanlkKGHbTtjvxUUb_7bzzayXJcJfgkBwYfn6E3GqAR2-ck6digNSDG86yf66b2QmPEM8b1Gh8ndckBNw"} GET 200 /any/protected/route 375.314µs --- PASS: TestMaliciousHeadersNotForwarded (0.09s) === RUN TestValidAuthorizationCookieWinsOverAPISecretWithoutPartnerLookup Starting GET /protected {"Api-Secret":"not-a-partner-secret","Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3OTAwMTIzNzEsIm5hbWUiOiJqd3QtdXNlciIsInVzZXJfaWQiOjk4NzY1NDMyMX0.ZuEQc4KI79mdJf7Rq07QnPJOJUBf1ltlqB8YzUdo5ekoHS05hlHncOdIdy74HExourAIToJI5E-X-vxNgORSPGl2gQIW1BTKW61O4DoxUcG33gfA5uhJp0jcA6arOMLmG_3yB61APvftJyhWOKm6CZFkNtJV8oJPuJPQlJAsIZ6uiSQZziOxNk2egl24m4zQwdRno3_RRkYouil-gHD7qcU6T4V_biXPbJPmOpnBmlFzGkhmXZx5ia9Bg_EOMI900MSfjsYuWFoe7ws0G0TzgGb4wqkFG2kRyiWquwLsFSNTizyBP__cK-C8e50sAIn08CqK8Lb_CuiXNbvHdMSSqw"} GET 200 /protected 1.403952ms --- PASS: TestValidAuthorizationCookieWinsOverAPISecretWithoutPartnerLookup (0.01s) === RUN TestHeaderFormatFunction --- PASS: TestHeaderFormatFunction (0.00s) === RUN TestSetNewTokenSetsUpstreamHeaders --- PASS: TestSetNewTokenSetsUpstreamHeaders (0.00s) === RUN TestTokenRefreshSetsUpstreamCookieNotSetCookie Starting GET /any/route {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3ODk5MjIzNzEsImlhdCI6MTc5MDAwODc3MSwicnhwIjoxNzkwMTgxNTcxLCJ1c2VyX2lkIjo5OTk5OX0.flat1Rmd2Xdp9-LYSxlu07E3lNJvy83NOG3k42Ul5McFCtnZGvIxW8NWucK1x66ld63mrFK28mLw4GwcFSrEARkkHEP8pm98bF5qZIclxbRyrapmP5oxzZ1KFTZhiTXMlCXEeYe1Rm0EZkMjyGGIl6S1Y4-O7liSwTuDt6QMkExHW-O_mkYWln3vKBR22S_9ph8IzzCyM5xjMhHBXht-pXyfkKQQSSGmQ_1dJyKnLk8vaZ0bCUHhmIy9WVQ3aQUZDA5girGl65pSVGzcxRfiGh-f_Y2JgFj7jjg1S-Uh7yvRrNJN585I6tm_bHFIis1zh7G-iiaJyS4VE1lvuCYtLg"} GET 200 /any/route 2.777504ms --- PASS: TestTokenRefreshSetsUpstreamCookieNotSetCookie (0.01s) === RUN TestClearAuthorizationCookie --- PASS: TestClearAuthorizationCookie (0.00s) === RUN TestUnauthorizedResponseClearsCookieWhenFromCookie Starting GET /some/protected/route {"Cookie":"device=lg-g8x; authorization=invalid.token.here"} Invalid token reason token is malformed: could not JSON decode header: invalid character '\u008a' looking for beginning of value GET 401 /some/protected/route 56.502µs --- PASS: TestUnauthorizedResponseClearsCookieWhenFromCookie (0.00s) === RUN TestRequestWithOnlyAuthHeaderPassesThrough Starting GET /some/protected/route {"Authorization":"Bearer invalid.token.here","Device":"lg-g8x"} No Authorization token - passing through to upstream GET 200 /some/protected/route 23.691µs --- PASS: TestRequestWithOnlyAuthHeaderPassesThrough (0.00s) === RUN TestDeviceMismatchClearsCookie Starting POST /v1/generate {} DEBUG: Received POST body, length: 53 DEBUG: Successfully parsed POST body, keys: 3 DEBUG: /v1/generate handler started, device from body: lg-g8x DEBUG: About to call generateNewToken DEBUG: generateNewToken returned, token length: 560 error: DEBUG: Token generated successfully DEBUG: About to marshal response body DEBUG: Redis Del successful, setting response body DEBUG: /v1/generate completed successfully POST 200 /v1/generate 86.656169ms Starting GET /some/protected/route {"Cookie":"device=different-device-xyz; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3OTAwOTUxNzEsImlhdCI6MTc5MDAwODc3MSwiaXNzIjoiaGVpbWRhbGxyIiwibmFtZSI6InRlc3QtdXNlciIsInJ4cCI6MTc5MDE4MTU3MSwic3ViIjoiNjUxNCIsInVzZXJfaWQiOjY1MTR9.TQzllCxC7Vtwq0964OZhFaJcisBgq6c-yE4JaF6z6MgXP6-b6FHSCRRuTUPCB32St_ObBcz0HLpx2mxUL5n55WstOnACtt2GymDnWbZQxL5exYS4jFmYXnXPnWm8YuCXlxneq2WDtZfv7sm0kOJIFP1vQRf5j-hlGXswXy05nAhcXQ64vKFcQE7S54At9u-xof92pbMFWkuNo_Fkptt7k85COSL_BXDqc4ubcBRZAvUNtPdN3TXOpl3_ZsEHIn3trOAGDcH2-wc2rr3ttJw1EKSdE1-08-umhEANhP624K4PM0irc8n-xEDt0iU2f-49APXKRBq8r7Qg-UiBbeF3Yg"} Device didn't match GET 401 /some/protected/route 188.477µs --- PASS: TestDeviceMismatchClearsCookie (0.09s) === RUN TestExpiredTokenPastRefreshWindowClearsCookie Starting GET /some/protected/route {"Cookie":"device=lg-g8x; authorization=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXZpY2UiOiJsZy1nOHgiLCJleHAiOjE3ODk1NzY3NzIsImlhdCI6MTc4OTE0NDc3MiwicnhwIjoxNzg5NzQ5NTcyLCJ1c2VyX2lkIjoxMjM0NX0.QQnaGgzIelW7cduFus9yRjU1Vx_hctqr51WeFaBvsnOhsxGbFd7BcacjYxDvLPsXl7L5RpzKMRJRr8p9H9_2WS9_tv9SfqLU9PrI6nHRDCr5C9u_xzAXGBY4G_Nf6LYIrvfa-hXsvbUsYoWJyNhP2kkXw06yd2iaSsK9fFMz-ZSjPg4InY774tdev-qsj7D468flFsXBK_hKfipHfoiOUsZ7lQdF6HiDQJ2vQYnpE9VOIcoGD81KavYR6Fd4_GbDI6jDN2dVq6aYc14wgOV4X5IqDapNUyiRyo715BUd40HjEJUr_R8jTNBoEcZkeNEc_QzgJmOUyDFb1S8B3frXfw"} Token is expired and past refresh window GET 401 /some/protected/route 278.831µs --- PASS: TestExpiredTokenPastRefreshWindowClearsCookie (0.00s) === RUN TestGeoIPHeadersNotSetWhenGPSPresent Starting GET /some/path {"Latitude":"28.6139","Longitude":"77.2090","X-Envoy-External-Address":"8.8.8.8"} No Authorization token - passing through to upstream GET 200 /some/path 17.791µs --- PASS: TestGeoIPHeadersNotSetWhenGPSPresent (0.00s) === RUN TestGeoIPHeadersAttemptedWhenNoGPS Starting GET /some/path {"X-Envoy-External-Address":"8.8.8.8"} No Authorization token - passing through to upstream GET 200 /some/path 20.741µs --- PASS: TestGeoIPHeadersAttemptedWhenNoGPS (0.00s) === RUN TestGeoIPNotTriggeredWithoutIP Starting GET /some/path {} No Authorization token - passing through to upstream GET 200 /some/path 22.971µs --- PASS: TestGeoIPNotTriggeredWithoutIP (0.00s) === RUN TestHMACAPISecret --- PASS: TestHMACAPISecret (0.00s) === RUN TestIPAllowed === RUN TestIPAllowed/exact_match === RUN TestIPAllowed/no_match === RUN TestIPAllowed/empty_allowlist_never_matches === RUN TestIPAllowed/cidr_match === RUN TestIPAllowed/cidr_miss === RUN TestIPAllowed/malformed_entry_ignored,_not_widened === RUN TestIPAllowed/malformed_entry_does_not_hide_a_valid_one === RUN TestIPAllowed/blank_entries_skipped === RUN TestIPAllowed/whitespace_around_entry_tolerated === RUN TestIPAllowed/unparseable_request_ip_denied === RUN TestIPAllowed/ipv6_exact_match === RUN TestIPAllowed/ipv6_cidr_match === RUN TestIPAllowed/v4_not_matched_by_v6_range --- PASS: TestIPAllowed (0.00s) --- PASS: TestIPAllowed/exact_match (0.00s) --- PASS: TestIPAllowed/no_match (0.00s) --- PASS: TestIPAllowed/empty_allowlist_never_matches (0.00s) --- PASS: TestIPAllowed/cidr_match (0.00s) --- PASS: TestIPAllowed/cidr_miss (0.00s) --- PASS: TestIPAllowed/malformed_entry_ignored,_not_widened (0.00s) --- PASS: TestIPAllowed/malformed_entry_does_not_hide_a_valid_one (0.00s) --- PASS: TestIPAllowed/blank_entries_skipped (0.00s) --- PASS: TestIPAllowed/whitespace_around_entry_tolerated (0.00s) --- PASS: TestIPAllowed/unparseable_request_ip_denied (0.00s) --- PASS: TestIPAllowed/ipv6_exact_match (0.00s) --- PASS: TestIPAllowed/ipv6_cidr_match (0.00s) --- PASS: TestIPAllowed/v4_not_matched_by_v6_range (0.00s) === RUN TestPartnerSourceIP === RUN TestPartnerSourceIP/reads_x-envoy-external-address === RUN TestPartnerSourceIP/ignores_caller-supplied_x-forwarded-for === RUN TestPartnerSourceIP/strips_port === RUN TestPartnerSourceIP/strips_ipv6_zone === RUN TestPartnerSourceIP/missing_header === RUN TestPartnerSourceIP/garbage_header --- PASS: TestPartnerSourceIP (0.00s) --- PASS: TestPartnerSourceIP/reads_x-envoy-external-address (0.00s) --- PASS: TestPartnerSourceIP/ignores_caller-supplied_x-forwarded-for (0.00s) --- PASS: TestPartnerSourceIP/strips_port (0.00s) --- PASS: TestPartnerSourceIP/strips_ipv6_zone (0.00s) --- PASS: TestPartnerSourceIP/missing_header (0.00s) --- PASS: TestPartnerSourceIP/garbage_header (0.00s) === RUN TestApiSecretUsesExplicitOrganizationMapping partner_auth_test.go:151: DB_HOST not set — run inside the devcontainer stack --- SKIP: TestApiSecretUsesExplicitOrganizationMapping (0.00s) === RUN TestPackageClientsCanShareAnOrganization partner_auth_test.go:166: DB_HOST not set — run inside the devcontainer stack --- SKIP: TestPackageClientsCanShareAnOrganization (0.00s) === RUN TestApiSecretAuthentication partner_auth_test.go:208: DB_HOST not set — run inside the devcontainer stack --- SKIP: TestApiSecretAuthentication (0.00s) === RUN TestAuthorizationCookieTakesPrecedenceOverAPISecret partner_auth_test.go:242: DB_HOST not set — run inside the devcontainer stack --- SKIP: TestAuthorizationCookieTakesPrecedenceOverAPISecret (0.00s) === RUN TestApiSecretIPAllowlistEnforcement partner_auth_test.go:285: DB_HOST not set — run inside the devcontainer stack --- SKIP: TestApiSecretIPAllowlistEnforcement (0.00s) === RUN TestPepperedSecretLookup partner_auth_test.go:354: DB_HOST not set — run inside the devcontainer stack --- SKIP: TestPepperedSecretLookup (0.00s) === RUN TestSecretHashingMigrationIsIdempotent partner_auth_test.go:391: DB_HOST not set — run inside the devcontainer stack --- SKIP: TestSecretHashingMigrationIsIdempotent (0.00s) PASS ok github.com/galaxycard/heimdallr 0.395s ? github.com/galaxycard/heimdallr/database [no test files] ? github.com/galaxycard/heimdallr/database/migrations [no test files] ? github.com/galaxycard/heimdallr/database/models [no test files] === RUN TestLookupWithoutInit --- PASS: TestLookupWithoutInit (0.00s) === RUN TestLookupInvalidIP --- PASS: TestLookupInvalidIP (0.00s) === RUN TestLookupEmptyIP --- PASS: TestLookupEmptyIP (0.00s) === RUN TestLookupPrivateIP --- PASS: TestLookupPrivateIP (0.00s) PASS ok github.com/galaxycard/heimdallr/geoip 0.005s ? github.com/galaxycard/heimdallr/redis [no test files] Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-check-registry sourcing .jx/variables.sh verifying the container registry is setup WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set about to run: git clone --no-checkout --filter=blob:none --depth=1 https://github.com/greencapitaltrade/mcu.git /tmp/jx-git-643155528 in dir /tmp Cloning into '/tmp/jx-git-643155528'... about to run: git sparse-checkout set --no-cone jx-requirements.yml .jx/gitops/source-config.yaml in dir /tmp/jx-git-643155528 about to run: git checkout in dir /tmp/jx-git-643155528 Your branch is up to date with 'origin/main'. verifying that container registry 417755753340.dkr.ecr.ap-south-1.amazonaws.com with organisation greencapitaltrade and app name heimdallr has an ECR associated with it loading config with AWS region: 'ap-south-1' Let's ensure that we have an ECR repository for the image greencapitaltrade/heimdallr Found repository: greencapitaltrade/heimdallr Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-build-container-build time="2026-09-21T16:39:37Z" level=warning msg="Flag --snapshotMode is deprecated. Use: --snapshot-mode" INFO[0000] Using dockerignore file: /workspace/source/.dockerignore INFO[0000] No base image, nothing to extract INFO[0000] Built cross stage deps: map[] INFO[0000] No base image, nothing to extract INFO[0000] Executing 0 build triggers INFO[0000] Building stage 'scratch' [idx: '0', base-idx: '-1'] INFO[0000] Unpacking rootfs as cmd COPY ./bin/ / requires it. INFO[0000] EXPOSE 8080 INFO[0000] Cmd: EXPOSE INFO[0000] Adding exposed port: 8080/tcp INFO[0000] ENTRYPOINT ["/heimdallr"] INFO[0000] COPY ./bin/ / INFO[0000] Taking snapshot of files... INFO[0002] Pushing image to 417755753340.dkr.ecr.ap-south-1.amazonaws.com/greencapitaltrade/heimdallr:1.9.0 INFO[0003] Pushed 417755753340.dkr.ecr.ap-south-1.amazonaws.com/greencapitaltrade/heimdallr@sha256:0d516662e9ff3509b1f71cf7c4e8e850ecb2fe2b609f6e6c72a32f774c70391c Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-promote-changelog The following paths are ignored by one of your .gitignore files: bin hint: Use -f if you really want to add them. hint: Turn this message off by running hint: "git config advice.addIgnoredFile false" [main 74a4172] chore: release 1.9.0 2 files changed, 8 insertions(+), 19 deletions(-) Updated tag 'v1.9.0' (was 1459cce) To https://github.com/greencapitaltrade/heimdallr.git + 1459cce...760eb84 v1.9.0 -> v1.9.0 (forced update) Using batch mode as inside a pipeline Generating change log from git ref 3e3293ec5314db5feaacbb28a8d387f8bf23b16f => 74a4172f91fdf3152efed126a463217edd467451 WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set Can't find any issue tracker setting; defaulting to git provider: github Finding issues in commit messages using git format updated the release information at https://github.com/greencapitaltrade/heimdallr/releases/tag/v1.9.0 Generated Changelog: ../changelog.md Updated PipelineActivity greencapitaltrade-heimdallr-main-42 which has status Running Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-promote-helm-release WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set releasing chart heimdallr released 1 charts from the charts dir: charts Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-promote-jx-promote defaulting to the version 1.9.0 from file VERSION WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set about to run: git clone --no-checkout --filter=blob:none --depth=1 https://github.com/greencapitaltrade/mcu.git /tmp/jx-git-4168258142 in dir /tmp Cloning into '/tmp/jx-git-4168258142'... about to run: git sparse-checkout set --no-cone jx-requirements.yml .jx/gitops/source-config.yaml in dir /tmp/jx-git-4168258142 about to run: git checkout in dir /tmp/jx-git-4168258142 Your branch is up to date with 'origin/main'. using version stream from dev environment found git user.name gct-bot from requirements found git user.email from requirements setup git user email jenkins-x@googlegroups.com WARNING: Note that the environment variable $XDG_CONFIG_HOME is not defined so we may not be able to push to git! generated Git credentials file: /tekton/home/git/credentials with username: gct-bot email: WARNING: the cluster.chartRepository in your jx-requirements.yml looks like its an internal service URL so trying to discover from kubernetes ingress resources Promoting app heimdallr version 1.9.0 to namespace jx-staging Created Pull Request: https://github.com/greencapitaltrade/mcu/pull/5895 Promoting app heimdallr version 1.9.0 to namespace jx-production Created Pull Request: https://github.com/greencapitaltrade/mcu/pull/5896 Showing logs for build greencapitaltrade/heimdallr/main #42 stage from-build-pack and container step-publish-org-kb Cloning into '/tmp/org-kb'... Cloning into '/tmp/tmp.koljmN'... [main 3eeed7d] kb: update heimdallr (index + repomix pack) 1 file changed, 1 insertion(+), 1 deletion(-) To https://github.com/greencapitaltrade/org-kb.git a71896a..3eeed7d HEAD -> main org-kb: published heimdallr (json + repomix; Jarvis will regenerate the .md)