Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VC-37264] Update E2E test to check for certificate in the API #629

Merged
merged 1 commit into from
Nov 26, 2024

Conversation

wallrj
Copy link
Member

@wallrj wallrj commented Nov 22, 2024

I adapted the commands that @maelvls described in the PR #628.

The E2E test script will now create a TLS certificate in a Secret (not managed by cert-manager) with a unique common name,
and wait for a certificate with that unique common name to appear in the Venafi Cloud API.
Signifying that the venafi-kubernetes-agent has successfully uploaded the data and that the TLSPK backend has successfully processed the data.

$ make test-e2e-gke
...
{
  "ts": 1732293943910.6917,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1alpha1.VenafiConnection from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{"ts":1732293944460.7644,"caller":"agent/run.go:409","msg":"Data sent successfully","v":0,"logger":"Run.gatherAndOutputData.postData"}
.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+...+...+.....+......+..........+.....+.+..+......+...................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+......+.......+...+...+..+....+.....+.........+.......+.....+............+.+....................+.+........+...+.............+..+..........+.........+..................+...+........+....+..+...+.......+........+...+...+.......+.....+.........+.+............+...+..+.+...........+.............+...+.................+.+............+..+.+.....+.+...+........+....+...+...+.....+...+.........+................+..+............+..........+...+...+.....+......+...+...+...+....+.....+......+.+...+..+.+...+.....+.......+.....+.........+....+......+........+.............+..+.......+.....+...+.......+...+........+...+....+......+..+...+......+.+...+......+...+.....+..........+...+........+.+......+..+.+............+..+.......+......+.......................+......+.............+.....+......+............+...+....+..+.+..+.+...........+....+.....+....+..+.+........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.....................+....+...+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+....................+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+...+...+.....+..........+.....+.......+..+....+......+...+......+......+......+..+.+..+.......+...........+......+....+.....+......+.+.....+...+......+.+........+.........+...+.......+..+...+......+.......+.....+..................+.......+..+.+......+...........+...+..........+..+.............+..+....+...+..+...+.+.....+.+......+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-----
secret/venafi-kubernetes-agent-e2e.fc151446-d61a-4f44-88e7-fea34cbed76e created
{"count":0,"certificates":[]}
{"count":0,"certificates":[]}
{"count":0,"certificates":[]}
{"count":0,"certificates":[]}
{
  "count": 1,
  "certificates": [
    {
      "id": "8055dc30-a8f1-11ef-a949-796f7926985d",
      "companyId": "9a0cab61-2b00-11ee-ba09-0733b0fe5adc",
      "managedCertificateId": "81508fe0-a8f1-11ef-825d-05a7a681c5d0",
      "fingerprint": "C47F482C252FFDEFFE330A3B9F98EBFA6347A61D",
      "certificateName": "venafi-kubernetes-agent-e2e.fc151446-d61a-4f44-88e7-fea34cbed76e",
      "issuerCertificateIds": [],
      "certificateStatus": "ACTIVE",
      "modificationDate": "2024-11-22T16:47:48.178+00:00",
      "validityStart": "2024-11-22T16:45:53.000+00:00",
      "validityEnd": "2025-11-22T16:45:53.000+00:00",
      "selfSigned": true,
      "signatureAlgorithm": "SHA256_WITH_RSA_ENCRYPTION",
      "signatureHashAlgorithm": "SHA256",
      "encryptionType": "RSA",
      "keyStrength": 2048,
      "subjectKeyIdentifierHash": "AC927B150927F9BEF588364B5C7468F36CACD687",
      "authorityKeyIdentifierHash": "AC927B150927F9BEF588364B5C7468F36CACD687",
      "serialNumber": "44EB333BB52D2D110490B97563D58A79E9C491B6",
      "subjectDN": "cn=venafi-kubernetes-agent-e2e.fc151446-d61a-4f44-88e7-fea34cbed76e",
      "subjectCN": [
        "venafi-kubernetes-agent-e2e.fc151446-d61a-4f44-88e7-fea34cbed76e"
      ],
      "subjectAlternativeNamesByType": {
        "otherName": [],
        "rfc822Name": [],
        "dNSName": [],
        "x400Address": [],
        "directoryName": [],
        "ediPartyName": [],
        "uniformResourceIdentifier": [],
        "iPAddress": [],
        "registeredID": []
      },
      "issuerDN": "cn=venafi-kubernetes-agent-e2e.fc151446-d61a-4f44-88e7-fea34cbed76e",
      "issuerCN": [
        "venafi-kubernetes-agent-e2e.fc151446-d61a-4f44-88e7-fea34cbed76e"
      ],
      "ocspNoCheck": false,
      "versionType": "CURRENT",
      "totalInstanceCount": 1,
      "totalActiveInstanceCount": 0,
      "instances": [],
      "ownership": {}
    }
  ]
}

$ echo $?
0

@wallrj wallrj changed the base branch from master to VC-37264-disable-compression November 22, 2024 16:51
Base automatically changed from VC-37264-disable-compression to master November 22, 2024 17:31
@wallrj wallrj force-pushed the more-e2e-test branch 2 times, most recently from 18ed1ca to 7e0b8d0 Compare November 22, 2024 17:50
@wallrj wallrj changed the title WIP: Update E2E test to check for certificate in the API [VC-37264] Update E2E test to check for certificate in the API Nov 22, 2024
Comment on lines +197 to +203
set +o pipefail
kubectl logs deployments/venafi-kubernetes-agent \
--follow \
--namespace venafi \
| timeout 60 jq 'if .msg | test("Data sent successfully") then . | halt_error(0) end'
set -o pipefail
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd accidentally removed this pipefail trick in #596
and it resulted in the test always exiting with a 141 status.

I've restored it here so that the new shell lines can run after the "Data sent successfully" message.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this! I was seeing this 141 exit code without really paying attention to it since it said "Data sent successfully" 😅

}

# Wait 5 minutes for the certificate to appear.
for ((i=0;;i++)); do if getCertificate; then exit 0; fi; sleep 30; done | timeout -v -- 5m cat
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't realise that you can pipe into the timeout command. This allows me to run the getCertificate repeatedly until it succeeds, or until the timeout expires.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat. I didn't know this trick.

@wallrj wallrj requested a review from maelvls November 22, 2024 18:03
@maelvls
Copy link
Member

maelvls commented Nov 25, 2024

I've been able to run the updated script.

To test this, I've used the tenant https://ven-tlspk.venafi.cloud/.

Note

To access the API key, use the user [email protected] and the password is visible in the page [Production Accounts (https://venafi.atlassian.net/wiki/spaces/CT/pages/2115404149) (private to Venafi). Then go to the settings and find the API key, and set it in the env var APIKEY. The tenant https://ven-tlspk.venafi.cloud/ doesn't have the right tier to pull images, so I use an API key from the tenant https://glow-in-the-dark.venafi.cloud/, that's why I set the env var APIKEY_GLOW_IN_THE_DARK. Ask Atanas to get access to the tenant https://glow-in-the-dark.venafi.cloud/.

export APIKEY=...
export APIKEY_GLOW_IN_THE_DARK=...

Then:

export \
 OCI_BASE=ttl.sh/maelvls \
 VEN_API_KEY=$APIKEY \
 VEN_API_KEY_PULL=$APIKEY_GLOW_IN_THE_DARK \
 VEN_API_HOST=api.venafi.cloud \
 VEN_VCP_REGION=us \
 VEN_ZONE='tlspk-bench\Default' \
 CLOUDSDK_CORE_PROJECT=jetstack-mael-valais \
 CLOUDSDK_COMPUTE_ZONE=europe-west1-b \
 CLUSTER_NAME=test-secretless

Running the script failed at the very end:

$ ./hack/e2e/test.sh
~/code/jetstack/jetstack-secure ~/code/jetstack/jetstack-secure/hack/e2e
rm -rf _bin/scratch/image/venafi-kubernetes-agent-1.3.0-12-g7e0b8d031a0ec4.tgz.tmp
mkdir -p _bin/scratch/image/
cp -a deploy/charts/venafi-kubernetes-agent _bin/scratch/image/venafi-kubernetes-agent-1.3.0-12-g7e0b8d031a0ec4.tgz.tmp
/Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '( .image.repository = "ttl.sh/maelvls/images/venafi-agent" ) | ( .image.tag = "v1.3.0-12-g7e0b8d031a0ec4" )' _bin/scratch/image/venafi-kubernetes-agent-1.3.0-12-g7e0b8d031a0ec4.tgz.tmp/values.yaml --inplace
/Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.annotations."artifacthub.io/prerelease" = "false"' \
		--inplace _bin/scratch/image/venafi-kubernetes-agent-1.3.0-12-g7e0b8d031a0ec4.tgz.tmp/Chart.yaml
mkdir -p _bin/scratch/image/
/Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/helm package _bin/scratch/image/venafi-kubernetes-agent-1.3.0-12-g7e0b8d031a0ec4.tgz.tmp \
		--app-version v1.3.0-12-g7e0b8d031a0ec4 \
		--version 1.3.0-12-g7e0b8d031a0ec4 \
		--destination _bin/scratch/image/
Successfully packaged chart and saved it to: _bin/scratch/image/venafi-kubernetes-agent-1.3.0-12-g7e0b8d031a0ec4.tgz
/Library/Developer/CommandLineTools/usr/bin/make oci-push-preflight
echo '{}' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.defaultBaseImage = "quay.io/jetstack/base-static@sha256:6dd468efaceafb7d2b5ba437bb81500636237bac747fd751b75b0cb375600fae"' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.builds[0].id = "preflight"' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.builds[0].dir = "."' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.builds[0].main = "."' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.builds[0].env[0] = "CGO_ENABLED=0"' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.builds[0].env[1] = "GOEXPERIMENT="' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.builds[0].ldflags[0] = "-s"' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.builds[0].ldflags[1] = "-w"' | /Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/yq '.builds[0].ldflags[2] = "{{.Env.LDFLAGS}}"' > /Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4.ko_config.yaml
rm -rf /Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4
GOWORK=off \
	KO_DOCKER_REPO=jetstack.local/venafi-agent \
	KOCACHE=/Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/ko_cache \
	KO_CONFIG_PATH=/Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4.ko_config.yaml \
	SOURCE_DATE_EPOCH=1732297841 \
	KO_GO_PATH=go \
	LDFLAGS="-X github.com/jetstack/preflight/pkg/version.PreflightVersion=v1.3.0-12-g7e0b8d031a0ec4 -X github.com/jetstack/preflight/pkg/version.Commit=7e0b8d031a0ec496035f6ae97c5fb61ba5559fdd -X github.com/jetstack/preflight/pkg/version.BuildDate=2024-11-25-09:05:51-CET -X github.com/jetstack/preflight/pkg/client.ClientID=k3TrDbfLhCgnpAbOiiT2kIE1AbovKzjo -X github.com/jetstack/preflight/pkg/client.ClientSecret=f39w_3KT9Vp0VhzcPzvh-uVbudzqCFmHER3Huj0dvHgJwVrjxsoOQPIw_1SDiCfa -X github.com/jetstack/preflight/pkg/client.AuthServerDomain=auth.jetstack.io" \
	/Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/ko build ./. \
		--platform=linux/amd64 \
		--oci-layout-path=_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4 \
		--sbom-dir=/Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4.sbom \
		--sbom=spdx \
		--push=false \
		--bare
2024/11/25 09:05:52 Using base quay.io/jetstack/base-static@sha256:6dd468efaceafb7d2b5ba437bb81500636237bac747fd751b75b0cb375600fae for github.com/jetstack/preflight
2024/11/25 09:05:52 Using build config preflight for github.com/jetstack/preflight
2024/11/25 09:05:52 git is in a dirty state
Please check in your pipeline what can be changing the following files:
?? foo

2024/11/25 09:05:52 Building github.com/jetstack/preflight for linux/amd64
2024/11/25 09:06:00 Writing SBOM to /Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4.sbom/preflight-linux-amd64.spdx.json
2024/11/25 09:06:00 Saving ko://github.com/jetstack/preflight
2024/11/25 09:06:04 Saved ko://github.com/jetstack/preflight
_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4@sha256:97da519407682d4b81c5bdfd1cf1f1b9c014a9cad2a47e31795a30b618625287
/Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/image_tool append-layers \
		/Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4 \

/Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/image_tool list-digests \
		/Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4 \
		> /Users/mvalais/code/jetstack/jetstack-secure/_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4.digests
/Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/crane  push "_bin/scratch/image/oci-layout-preflight.v1.3.0-12-g7e0b8d031a0ec4" "ttl.sh/maelvls/images/venafi-agent:v1.3.0-12-g7e0b8d031a0ec4"
2024/11/25 09:06:06 existing blob: sha256:45ae0427a1999cef20cfe91fa35710ce3e073eff9309abc40c0b5b38f87167e3
2024/11/25 09:06:06 existing blob: sha256:250c06f7c38e52dc77e5c7586c3e40280dc7ff9bb9007c396e06d96736cf8542
2024/11/25 09:06:09 pushed blob: sha256:eacd90dbed3ba1ea77b34335630905e1838ede91dc7084048d25538b4e8a4c83
2024/11/25 09:06:45 pushed blob: sha256:cc76f00ca1f224475137e4f802fd6f06bf53b7837910254617dae978be97dddd
2024/11/25 09:06:46 ttl.sh/maelvls/images/venafi-agent:v1.3.0-12-g7e0b8d031a0ec4: digest: sha256:97da519407682d4b81c5bdfd1cf1f1b9c014a9cad2a47e31795a30b618625287 size: 1045
ttl.sh/maelvls/images/venafi-agent@sha256:97da519407682d4b81c5bdfd1cf1f1b9c014a9cad2a47e31795a30b618625287
/Users/mvalais/code/jetstack/jetstack-secure/_bin/tools/helm push "_bin/scratch/image/venafi-kubernetes-agent-1.3.0-12-g7e0b8d031a0ec4.tgz" "oci://ttl.sh/maelvls/charts"
Pushed: ttl.sh/maelvls/charts/venafi-kubernetes-agent:1.3.0-12-g7e0b8d031a0ec4
Digest: sha256:62a7ea413d861a7018994966a165e792ae1d5be61077a3598b263363e0347e63
Release complete!
~/code/jetstack/jetstack-secure/hack/e2e
Fetching cluster endpoint and auth data.
kubeconfig entry generated for test-secretless.


Updates are available for some Google Cloud CLI components.  To install them,
please run:
  $ gcloud components update

Error from server (AlreadyExists): namespaces "venafi" already exists
NAME                       TYPE                             DATA   AGE
venafi-image-pull-secret   kubernetes.io/dockerconfigjson   1      2d18h
Applying releases count=5
No orphan releases to uninstall
serviceaccount/venafi-components unchanged
role.rbac.authorization.k8s.io/venafi-components-create-token unchanged
rolebinding.rbac.authorization.k8s.io/venafi-components-create-token unchanged
venaficonnection.jetstack.io/venafi-components unchanged
namespace/team-1 unchanged
certificaterequestpolicy.policy.cert-manager.io/team-1 unchanged
venafiissuer.jetstack.io/venafi-cloud unchanged
certificate.cert-manager.io/app-0 unchanged
role.rbac.authorization.k8s.io/cert-manager-policy:allow unchanged
rolebinding.rbac.authorization.k8s.io/cert-manager-policy:allow unchanged
certificate.cert-manager.io/app-0 condition met
{
  "ts": 1732522033965.1084,
  "caller": "agent/run.go:59",
  "msg": "Starting",
  "v": 0,
  "logger": "Run",
  "version": "v1.3.0-12-g7e0b8d031a0ec4",
  "commit": "7e0b8d031a0ec496035f6ae97c5fb61ba5559fdd"
}
{
  "ts": 1732522033966.9373,
  "caller": "agent/config.go:401",
  "msg": "Using the Venafi Cloud VenafiConnection auth mode since --venafi-connection was specified.",
  "v": 0,
  "logger": "Run"
}
{
  "ts": 1732522033966.9692,
  "caller": "agent/config.go:437",
  "msg": "ignoring the server field specified in the config file. In Venafi Cloud VenafiConnection mode, this field is not needed.",
  "v": 0,
  "logger": "Run"
}
{
  "ts": 1732522033966.985,
  "caller": "agent/config.go:467",
  "msg": "ignoring the venafi-cloud.upload_path field in the config file. In Venafi Cloud VenafiConnection mode, this field is not needed.",
  "v": 0,
  "logger": "Run"
}
{
  "ts": 1732522033966.999,
  "caller": "agent/config.go:485",
  "msg": "ignoring the venafi-cloud.uploader_id field in the config file. This field is not needed in Venafi Cloud VenafiConnection mode.",
  "v": 0,
  "logger": "Run"
}
{
  "ts": 1732522033967.0317,
  "caller": "agent/config.go:537",
  "msg": "Using period from config",
  "v": 0,
  "logger": "Run",
  "period": "1m0s"
}
{
  "ts": 1732522033978.0613,
  "caller": "metrics/metrics.go:97",
  "msg": "cache not synced yet, skipping metrics venaficonnection_*",
  "source": "controller-runtime",
  "v": 0
}
{
  "ts": 1732522034006.2983,
  "caller": "agent/run.go:108",
  "msg": "Metrics endpoints enabled",
  "v": 0,
  "logger": "Run.APIServer",
  "addr": ":8081",
  "path": "/metrics"
}
{
  "ts": 1732522034006.405,
  "caller": "agent/run.go:117",
  "msg": "Healthz endpoints enabled",
  "v": 0,
  "logger": "Run.APIServer",
  "addr": ":8081",
  "path": "/healthz"
}
{
  "ts": 1732522034006.4707,
  "caller": "agent/run.go:121",
  "msg": "Readyz endpoints enabled",
  "v": 0,
  "logger": "Run.APIServer",
  "addr": ":8081",
  "path": "/readyz"
}
{
  "ts": 1732522034006.6174,
  "caller": "agent/run.go:478",
  "msg": "Starting",
  "v": 1,
  "logger": "Run.APIServer.ListenAndServe",
  "addr": ":8081"
}
{
  "ts": 1732522034007.729,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s-discovery"
}
{
  "ts": 1732522034008.262,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/pods"
}
{
  "ts": 1732522034008.5415,
  "caller": "features/envvar.go:172",
  "msg": "Feature gate default state",
  "v": 1,
  "feature": "WatchListClient",
  "enabled": false
}
{
  "ts": 1732522034008.6226,
  "caller": "features/envvar.go:172",
  "msg": "Feature gate default state",
  "v": 1,
  "feature": "InformerResourceVersion",
  "enabled": false
}
{
  "ts": 1732522034008.9016,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/namespaces"
}
{
  "ts": 1732522034009.478,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/services"
}
{
  "ts": 1732522034010.141,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/deployments"
}
{
  "ts": 1732522034010.8032,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/replicasets"
}
{
  "ts": 1732522034011.4058,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/statefulsets"
}
{
  "ts": 1732522034012.0435,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/daemonsets"
}
{
  "ts": 1732522034012.6628,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/jobs"
}
{
  "ts": 1732522034013.16,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/cronjobs"
}
{
  "ts": 1732522034013.592,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/ingresses"
}
{
  "ts": 1732522034014.062,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/secrets"
}
{
  "ts": 1732522034014.4788,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/certificates"
}
{
  "ts": 1732522034014.9905,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/certificaterequests"
}
{
  "ts": 1732522034015.4548,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/issuers"
}
{
  "ts": 1732522034015.8982,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/clusterissuers"
}
{
  "ts": 1732522034016.36,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/googlecasissuers"
}
{
  "ts": 1732522034021.1013,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/googlecasclusterissuers"
}
{
  "ts": 1732522034021.5818,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/awspcaissuer"
}
{
  "ts": 1732522034022.051,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/awspcaclusterissuers"
}
{
  "ts": 1732522034022.8772,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/mutatingwebhookconfigurations"
}
{
  "ts": 1732522034023.9055,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/validatingwebhookconfigurations"
}
{
  "ts": 1732522034024.3691,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/gateways"
}
{
  "ts": 1732522034024.8044,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/virtualservices"
}
{
  "ts": 1732522034025.2976,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/routes"
}
{
  "ts": 1732522034025.8513,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/venaficlusterissuers"
}
{
  "ts": 1732522034026.2908,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/venafiissuers"
}
{
  "ts": 1732522034026.7856,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list cas-issuer.jetstack.io/v1beta1, Resource=googlecasissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034026.87,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "cas-issuer.jetstack.io/v1beta1, Resource=googlecasissuers"
}
{
  "ts": 1732522034026.8035,
  "caller": "agent/run.go:186",
  "msg": "Starting DataGatherer",
  "v": 1,
  "logger": "Run",
  "name": "k8s/fireflyissuers"
}
{
  "ts": 1732522034028.7817,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for networking.k8s.io/v1, Resource=ingresses from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034029.2085,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for cert-manager.io/v1, Resource=clusterissuers from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034031.256,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for /v1, Resource=secrets from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034042.3474,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for cert-manager.io/v1, Resource=certificates from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034051.8318,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for /v1, Resource=namespaces from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034069.066,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.StatefulSet from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034074.9375,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.Job from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034075.675,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for cert-manager.io/v1, Resource=certificaterequests from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034077.4502,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for batch/v1, Resource=cronjobs from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034079.1924,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.Service from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034079.614,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.Deployment from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034079.9043,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for cert-manager.io/v1, Resource=issuers from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034080.3936,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list networking.istio.io/v1alpha3, Resource=virtualservices: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034080.5168,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "networking.istio.io/v1alpha3, Resource=virtualservices"
}
{
  "ts": 1732522034080.7144,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list awspca.cert-manager.io/v1beta1, Resource=awspcaissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034080.8481,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "awspca.cert-manager.io/v1beta1, Resource=awspcaissuers"
}
{
  "ts": 1732522034081.1995,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list route.openshift.io/v1, Resource=routes: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034081.2903,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "route.openshift.io/v1, Resource=routes"
}
{
  "ts": 1732522034081.3953,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list firefly.venafi.com/v1, Resource=issuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034081.5815,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "firefly.venafi.com/v1, Resource=issuers"
}
{
  "ts": 1732522034082.509,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list awspca.cert-manager.io/v1beta1, Resource=awspcaclusterissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034082.7556,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "awspca.cert-manager.io/v1beta1, Resource=awspcaclusterissuers"
}
{
  "ts": 1732522034093.341,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list cas-issuer.jetstack.io/v1beta1, Resource=googlecasclusterissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034093.5295,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "cas-issuer.jetstack.io/v1beta1, Resource=googlecasclusterissuers"
}
{
  "ts": 1732522034094.6404,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.MutatingWebhookConfiguration from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034095.6306,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.ValidatingWebhookConfiguration from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034096.3096,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for jetstack.io/v1alpha1, Resource=venafiissuers from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034096.6826,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for jetstack.io/v1alpha1, Resource=venaficlusterissuers from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034102.2705,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.ReplicaSet from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034102.6682,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list networking.istio.io/v1alpha3, Resource=gateways: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034102.715,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "networking.istio.io/v1alpha3, Resource=gateways"
}
{
  "ts": 1732522034103.4446,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.DaemonSet from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034122.3276,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1.Pod from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{
  "ts": 1732522034987.1052,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list networking.istio.io/v1alpha3, Resource=virtualservices: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034987.1738,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "networking.istio.io/v1alpha3, Resource=virtualservices"
}
{
  "ts": 1732522034995.1934,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list firefly.venafi.com/v1, Resource=issuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522034995.274,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "firefly.venafi.com/v1, Resource=issuers"
}
{
  "ts": 1732522035091.6824,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list networking.istio.io/v1alpha3, Resource=gateways: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522035091.7625,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "networking.istio.io/v1alpha3, Resource=gateways"
}
{
  "ts": 1732522035173.0024,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list awspca.cert-manager.io/v1beta1, Resource=awspcaissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522035173.0618,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "awspca.cert-manager.io/v1beta1, Resource=awspcaissuers"
}
{
  "ts": 1732522035324.7756,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list awspca.cert-manager.io/v1beta1, Resource=awspcaclusterissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522035324.8364,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "awspca.cert-manager.io/v1beta1, Resource=awspcaclusterissuers"
}
{
  "ts": 1732522035499.6245,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list route.openshift.io/v1, Resource=routes: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522035499.6873,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "route.openshift.io/v1, Resource=routes"
}
{
  "ts": 1732522035590.99,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list cas-issuer.jetstack.io/v1beta1, Resource=googlecasissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522035591.117,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "cas-issuer.jetstack.io/v1beta1, Resource=googlecasissuers"
}
{
  "ts": 1732522035653.523,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list cas-issuer.jetstack.io/v1beta1, Resource=googlecasclusterissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522035653.5774,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "cas-issuer.jetstack.io/v1beta1, Resource=googlecasclusterissuers"
}
{
  "ts": 1732522036950.8752,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list networking.istio.io/v1alpha3, Resource=virtualservices: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522036950.9219,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "networking.istio.io/v1alpha3, Resource=virtualservices"
}
{
  "ts": 1732522036990.3955,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list networking.istio.io/v1alpha3, Resource=gateways: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522036990.433,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "networking.istio.io/v1alpha3, Resource=gateways"
}
{
  "ts": 1732522037446.784,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list route.openshift.io/v1, Resource=routes: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522037446.8394,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "route.openshift.io/v1, Resource=routes"
}
{
  "ts": 1732522037792.206,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list cas-issuer.jetstack.io/v1beta1, Resource=googlecasclusterissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522037792.2493,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "cas-issuer.jetstack.io/v1beta1, Resource=googlecasclusterissuers"
}
{
  "ts": 1732522037954.3618,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list awspca.cert-manager.io/v1beta1, Resource=awspcaissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522037954.4028,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "awspca.cert-manager.io/v1beta1, Resource=awspcaissuers"
}
{
  "ts": 1732522037980.682,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list awspca.cert-manager.io/v1beta1, Resource=awspcaclusterissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522037980.7205,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "awspca.cert-manager.io/v1beta1, Resource=awspcaclusterissuers"
}
{
  "ts": 1732522038085.518,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list firefly.venafi.com/v1, Resource=issuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522038085.5557,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "firefly.venafi.com/v1, Resource=issuers"
}
{
  "ts": 1732522038754.3047,
  "caller": "cache/reflector.go:561",
  "msg": "k8s.io/[email protected]/tools/cache/reflector.go:243: failed to list cas-issuer.jetstack.io/v1beta1, Resource=googlecasissuers: the server could not find the requested resource",
  "v": 0
}
{
  "ts": 1732522038754.3481,
  "caller": "k8s/dynamic.go:281",
  "msg": "Server missing resource for datagatherer",
  "v": 1,
  "groupVersionResource": "cas-issuer.jetstack.io/v1beta1, Resource=googlecasissuers"
}
{
  "ts": 1732522039027.387,
  "caller": "agent/run.go:224",
  "msg": "Failed to complete initial sync of DataGatherer",
  "logger": "Run",
  "kind": "k8s-dynamic",
  "name": "k8s/googlecasissuers",
  "err": "timed out waiting for Kubernetes caches to sync"
}
{
  "ts": 1732522039027.4456,
  "caller": "agent/run.go:224",
  "msg": "Failed to complete initial sync of DataGatherer",
  "logger": "Run",
  "kind": "k8s-dynamic",
  "name": "k8s/googlecasclusterissuers",
  "err": "timed out waiting for Kubernetes caches to sync"
}
{
  "ts": 1732522039027.4626,
  "caller": "agent/run.go:224",
  "msg": "Failed to complete initial sync of DataGatherer",
  "logger": "Run",
  "kind": "k8s-dynamic",
  "name": "k8s/awspcaissuer",
  "err": "timed out waiting for Kubernetes caches to sync"
}
{
  "ts": 1732522039027.4844,
  "caller": "agent/run.go:224",
  "msg": "Failed to complete initial sync of DataGatherer",
  "logger": "Run",
  "kind": "k8s-dynamic",
  "name": "k8s/awspcaclusterissuers",
  "err": "timed out waiting for Kubernetes caches to sync"
}
{
  "ts": 1732522039027.6218,
  "caller": "agent/run.go:224",
  "msg": "Failed to complete initial sync of DataGatherer",
  "logger": "Run",
  "kind": "k8s-dynamic",
  "name": "k8s/gateways",
  "err": "timed out waiting for Kubernetes caches to sync"
}
{
  "ts": 1732522039027.802,
  "caller": "agent/run.go:224",
  "msg": "Failed to complete initial sync of DataGatherer",
  "logger": "Run",
  "kind": "k8s-dynamic",
  "name": "k8s/virtualservices",
  "err": "timed out waiting for Kubernetes caches to sync"
}
{
  "ts": 1732522039027.9275,
  "caller": "agent/run.go:224",
  "msg": "Failed to complete initial sync of DataGatherer",
  "logger": "Run",
  "kind": "k8s-dynamic",
  "name": "k8s/routes",
  "err": "timed out waiting for Kubernetes caches to sync"
}
{
  "ts": 1732522039028.0635,
  "caller": "agent/run.go:224",
  "msg": "Failed to complete initial sync of DataGatherer",
  "logger": "Run",
  "kind": "k8s-dynamic",
  "name": "k8s/fireflyissuers",
  "err": "timed out waiting for Kubernetes caches to sync"
}
{
  "ts": 1732522039028.3284,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 10,
  "name": "k8s/namespaces"
}
{
  "ts": 1732522039028.484,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 1,
  "name": "k8s/certificaterequests"
}
{
  "ts": 1732522039028.7202,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 18,
  "name": "k8s/replicasets"
}
{
  "ts": 1732522039028.8916,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/jobs"
}
{
  "ts": 1732522039029.0205,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/googlecasissuers"
}
{
  "ts": 1732522039029.1755,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/ingresses"
}
{
  "ts": 1732522039029.306,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/googlecasclusterissuers"
}
{
  "ts": 1732522039029.492,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 5,
  "name": "k8s/mutatingwebhookconfigurations"
}
{
  "ts": 1732522039029.6545,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 7,
  "name": "k8s/validatingwebhookconfigurations"
}
{
  "ts": 1732522039029.8062,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/virtualservices"
}
{
  "ts": 1732522039029.9265,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/awspcaclusterissuers"
}
{
  "ts": 1732522039030.063,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/venaficlusterissuers"
}
{
  "ts": 1732522039030.2483,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 10,
  "name": "k8s/services"
}
{
  "ts": 1732522039030.4553,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 15,
  "name": "k8s/deployments"
}
{
  "ts": 1732522039030.5833,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/clusterissuers"
}
{
  "ts": 1732522039030.8257,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 26,
  "name": "k8s/daemonsets"
}
{
  "ts": 1732522039031.0952,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 14,
  "name": "k8s/secrets"
}
{
  "ts": 1732522039031.1287,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 1,
  "name": "k8s/certificates"
}
{
  "ts": 1732522039031.148,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/fireflyissuers"
}
{
  "ts": 1732522039034.9675,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 1,
  "name": "k8s-discovery"
}
{
  "ts": 1732522039035.2175,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 34,
  "name": "k8s/pods"
}
{
  "ts": 1732522039035.291,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/issuers"
}
{
  "ts": 1732522039035.3335,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/gateways"
}
{
  "ts": 1732522039035.478,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 1,
  "name": "k8s/venafiissuers"
}
{
  "ts": 1732522039035.5603,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 2,
  "name": "k8s/statefulsets"
}
{
  "ts": 1732522039035.6282,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/cronjobs"
}
{
  "ts": 1732522039035.6887,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/awspcaissuer"
}
{
  "ts": 1732522039035.815,
  "caller": "agent/run.go:362",
  "msg": "Successfully gathered",
  "v": 1,
  "logger": "Run.gatherAndOutputData.gatherData",
  "count": 0,
  "name": "k8s/routes"
}
{
  "ts": 1732522039035.9124,
  "caller": "agent/run.go:396",
  "msg": "Posting data",
  "v": 1,
  "logger": "Run.gatherAndOutputData.postData",
  "baseURL": ""
}
{
  "ts": 1732522039043.1958,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1alpha1.VenafiConnection from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{"ts":1732522040694.9985,"caller":"agent/run.go:409","msg":"Data sent successfully","v":0,"logger":"Run.gatherAndOutputData.postData"}

The Secret "venafi-kubernetes-agent-e2e.AC8F0299-430F-4ACC-ABBA-E1DEFFDC2408" is invalid: metadata.name: Invalid value: "venafi-kubernetes-agent-e2e.AC8F0299-430F-4ACC-ABBA-E1DEFFDC2408": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')

I'm guessing this is because macOS's uuidgen generates UUIDs in upper case, but Linux' uuidgen produces lower case UUIDs? Seems like an easy thing to fix

hack/e2e/test.sh Outdated Show resolved Hide resolved
@maelvls
Copy link
Member

maelvls commented Nov 25, 2024

After fixing the uuidgen command above, the scripts runs successfully; here are the last few logs lines:

{
  "ts": 1732526094201.291,
  "caller": "agent/run.go:396",
  "msg": "Posting data",
  "v": 1,
  "logger": "Run.gatherAndOutputData.postData",
  "baseURL": ""
}
{
  "ts": 1732526094206.9893,
  "caller": "cache/reflector.go:368",
  "msg": "Caches populated for *v1alpha1.VenafiConnection from k8s.io/[email protected]/tools/cache/reflector.go:243",
  "v": 2
}
{"ts":1732526095815.2039,"caller":"agent/run.go:409","msg":"Data sent successfully","v":0,"logger":"Run.gatherAndOutputData.postData"}

hack/e2e/test.sh Outdated
# inventory API. The case conversion is due to macOS' version of uuidgen which
# prints UUIDs in upper case, but DNS labels need lower case characters.
commonname="venafi-kubernetes-agent-e2e.$(uuidgen | tr '[:upper:]' '[:lower:]').example.com"
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/tls.key -out /tmp/tls.crt -subj "/CN=$commonname" 2>/dev/null
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@maelvls The additional suffix example.com caused an openssl error on my laptop, so I'm going to remove it.

$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/tls.key -out /tmp/tls.crt -subj /CN=venafi-kubernetes-agent-e2e.2294a4d1-275d-415d-a741-5ec4b514636e.example.com
...
40C7087C547F0000:error:06800097:asn1 encoding routines:ASN1_mbstring_ncopy:string too long:../crypto/asn1/a_mbstr.c:106:maxsize=64
req: Error adding subject name attribute "/CN=venafi-kubernetes-agent-e2e.2294a4d1-275d-415d-a741-5ec4b514636e.example.com"

Furthermore, the 2>/dev/null redirect was obscuring that error, so I've removed the redirection.

FYI I originally added the redirect, to hide the distracting output of openssl:

.....+......+.+..+...+...+.+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+........+...+.+......+.........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+...+..................+.............+.....+.+........+......+.........+.........................+......+..+.........+.+...+.........+......+.........+......+......+...+..+.+..+.......+........+.+..............+..........+.................+......+....+........+..........+.....+...+...+......+.........+......+....+..+..........+........+....+..+.+...............+.........+.........+..+....+......+...+.....+.+.....+...+.+............+..+...+...+......+.+..+.......+...+...............+..+.+...+......+...+........+....+......+............+..+...+.......+...........+...+.+....................+......+.......+..+......+.......+..+....+..+....+........+...+...+....+......+...........+.............+.....................+..+...+.........+.+...........+...+.+......+......+..+..........+......+......+.....+...+..........+...+.....+...+....+..+......+...+.......+............+.....+......+..........+......+.....+................+..+......+.+......+........+.......+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
..+..+.+.....+.........+...+.+...............+.....+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+...+...+...+....+......+......+.....+.+...+......+........+..................+...+.+...+..................+.................+...+.......+...+............+..+...+......+.+.....+.+...+.................+....+.........+.........+..+....+..............+...+...+....+...+.........+...+...+..+.......+.....+.+.....+....+..............+......+....+.........+...+.........+.....+...+.+.........+............+....................+..........+..............+.......+...+..+...+....+..+.+.....+.......+..+....+.....+.+...........+...+....+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-----

Co-authored-by: Maël Valais <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
@wallrj
Copy link
Member Author

wallrj commented Nov 26, 2024

@maelvls PTAL. I re-ran the test after making those latest changes. The API returned the certificate after about 3 minutes and it showed up in the UI:

$ make test-e2e-gke
...
{
  "count": 1,
  "certificates": [
    {
      "id": "9594eee0-ac0e-11ef-9638-d710ed351ded",
      "companyId": "9a0cab61-2b00-11ee-ba09-0733b0fe5adc",
      "managedCertificateId": "9648fca0-ac0e-11ef-bf18-59d044c801f4",
      "fingerprint": "7E382BC8CFD13A3566B21DCA64AFCB61F9A11EC4",
      "certificateName": "venafi-kubernetes-agent-e2e.6ea6ae0a-a9d1-46c0-b0e9-9e9fe4d5421d",
      "issuerCertificateIds": [],
      "certificateStatus": "ACTIVE",
      "modificationDate": "2024-11-26T15:53:32.256+00:00",
      "validityStart": "2024-11-26T15:51:19.000+00:00",
      "validityEnd": "2025-11-26T15:51:19.000+00:00",
      "selfSigned": true,
      "signatureAlgorithm": "SHA256_WITH_RSA_ENCRYPTION",
      "signatureHashAlgorithm": "SHA256",
      "encryptionType": "RSA",
      "keyStrength": 2048,
      "subjectKeyIdentifierHash": "6CBDCC2D53811E777F01F194DCF753E966607691",
      "authorityKeyIdentifierHash": "6CBDCC2D53811E777F01F194DCF753E966607691",
      "serialNumber": "731695956CB8CF39F97AE555BE03745A959CE8FC",
      "subjectDN": "cn=venafi-kubernetes-agent-e2e.6ea6ae0a-a9d1-46c0-b0e9-9e9fe4d5421d",
      "subjectCN": [
        "venafi-kubernetes-agent-e2e.6ea6ae0a-a9d1-46c0-b0e9-9e9fe4d5421d"
      ],
      "subjectAlternativeNamesByType": {
        "otherName": [],
        "rfc822Name": [],
        "dNSName": [],
        "x400Address": [],
        "directoryName": [],
        "ediPartyName": [],
        "uniformResourceIdentifier": [],
        "iPAddress": [],
        "registeredID": []
      },
      "issuerDN": "cn=venafi-kubernetes-agent-e2e.6ea6ae0a-a9d1-46c0-b0e9-9e9fe4d5421d",
      "issuerCN": [
        "venafi-kubernetes-agent-e2e.6ea6ae0a-a9d1-46c0-b0e9-9e9fe4d5421d"
      ],
      "ocspNoCheck": false,
      "versionType": "CURRENT",
      "totalInstanceCount": 1,
      "totalActiveInstanceCount": 0,
      "instances": [],
      "ownership": {}
    }
  ]
}
+ exit 0
image

@wallrj wallrj merged commit 24e02f3 into master Nov 26, 2024
2 checks passed
@wallrj wallrj deleted the more-e2e-test branch November 26, 2024 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants