Hey there! I am trying to extract the network gra...
# pact-broker
m
Hey there! I am trying to extract the network graph from the broker, but the steps described in the documentation don’t seem to work. Does anyone know how to make this work? Thank you!
m
what is not working about it?
Ah, it’s using an application no longer in the broker
m
I tried with an application I have in my instance, but the script does not return anything as well. I tried both PactFlow and the local pact broker.
m
It might just be that the commands are linux or Mac specific. The APIs haven’t changed, so hopefully you can modify the script to produce a valid dot file etc.
m
I mean, should the
curl
command return something, right? Does it work for you with any instance you may have?
m
The
curl
command returns stuff for me
Copy code
curl -v -u 'dXfltyFMgNOFZAxr8io9wJ37iUpY42M:O5AIZWxelWbLvqMd8PkAVycBJh2Psyg1' <https://test.pactflow.io/pacts/latest>                                                                                                          
*   Trying 3.33.170.218:443...
* Connected to <http://test.pactflow.io|test.pactflow.io> (3.33.170.218) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=*.<http://pactflow.io|pactflow.io>
*  start date: Jul  9 00:00:00 2024 GMT
*  expire date: Aug  8 23:59:59 2025 GMT
*  subjectAltName: host "<http://test.pactflow.io|test.pactflow.io>" matched cert's "*.<http://pactflow.io|pactflow.io>"
*  issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M02
*  SSL certificate verify ok.
* using HTTP/2
* Server auth using Basic with user 'dXfltyFMgNOFZAxr8io9wJ37iUpY42M'
* [HTTP/2] [1] OPENED stream for <https://test.pactflow.io/pacts/latest>
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: <http://test.pactflow.io|test.pactflow.io>]
* [HTTP/2] [1] [:path: /pacts/latest]
* [HTTP/2] [1] [authorization: Basic ZFhmbHR5Rk1nTk9GWkF4cjhpbzl3SjM3aVVwWTQyTTpPNUFJWld4ZWxXYkx2cU1kOFBrQVZ5Y0JKaDJQc3lnMQ==]
* [HTTP/2] [1] [user-agent: curl/8.4.0]
* [HTTP/2] [1] [accept: */*]
> GET /pacts/latest HTTP/2
> Host: <http://test.pactflow.io|test.pactflow.io>
> Authorization: Basic ZFhmbHR5Rk1nTk9GWkF4cjhpbzl3SjM3aVVwWTQyTTpPNUFJWld4ZWxXYkx2cU1kOFBrQVZ5Y0JKaDJQc3lnMQ==
> User-Agent: curl/8.4.0
> Accept: */*
>
< HTTP/2 200
< date: Tue, 22 Oct 2024 23:06:22 GMT
< content-type: application/hal+json;charset=utf-8
< content-length: 451843
< vary: Accept,Origin,Accept-Encoding
< cache-control: no-cache
< server: Webmachine-Ruby/2.0.1 Rack/1.3
< x-content-type-options: nosniff
< strict-transport-security: max-age=63072000; includeSubDomains; preload
< x-pact-broker-git-sha: 87669c36
< x-pactflow-git-sha: b70992554
< x-pact-broker-version: 2.112.0
< x-request-id: ddd2c4462357324444262e5083bf697c
<
{"pacts":[{"createdAt":"2024-10-22T15:16:05+00:00","_embedded":{"consumer":{"name":"actions-consumer","_embedded":{"version":{"number":"2b4e9b508f6b0eb9db3350562c3adc1a75977161","_links":{"self":{"title":"Version","name":"2b4e9b508f6b0eb9db3350562c3adc1a75977161","href":"<https://test.pactflow.io/pacticipants/actions-consumer/versions/2b4e9b508f6b0eb9db3350562c3adc1a75977161>"}}}},"_links":{"self":{"href":"<https://test.pactflow.io/pacticipants/actions-consumer>"}}},"provider":{"name":"actions-provider","_links":{"self":{"href":"<https://test.pactflow.io/pacticipants/actions-provider>"}}}},"_links":{"self":[{"href":"<https://test.pactflow.io/pacts/provider/actions-provider/consumer/actions-consumer/latest>"},{"href":"<https://test.pactflow.io/pacts/provider/actions-provider/consumer/actions-consumer/version/2b4e9b508f6b0eb9db3350562c3adc1a75977161>"}]}},{"createdAt":"2024-09-04T07:28:48+00:00","_embedded":{"consumer":{"name":"ad-service","_embedded":{"version":{"number":"0.0.1-SNAPSHOT","_links":{"self":{"title":"Version","name":"0.0.1-SNAPSHOT","href":"<https://test.pactflow.io/pacticipants/ad-service/versions/0.0.1-SNAPSHOT>"}}}},"_links":{"self":{"href":"<https://test.pactflow.io/pacticipants/ad-service>"}}},"provider":{"name":"campaign-service","_links":{"self":{"href":"<https://test.pactflow.io/pacticipants/campaign-service>"}}}},"_links":{"self":[{"href":"<https://test.pactflow.io/pacts/provider/campaign-service/consumer/ad-service/latest>"},{"href":"<https://test.pactflow.io/pacts/provider/campaign-service/consumer/ad-service/version/0.0.1-SNAPSHOT>"}]}},{"createdAt":"2023-07-19T16:11:21+00:00","_embedded":{"consumer":{"name":"AdamConsumerTest","_embedded":{"version":{"number":"0.0.0","_links":{"self":{"title":"Version","name":"0.0.0","href":"<https://test.pactflow.io/pacticipants/AdamConsumerTest/versions/0.0.0>"}}}},"_links":{"self":{"href":"<https://test.pactflow.io/pacticipants/AdamConsumerTest>"}}},"provider":{"name":"AdamProviderTest","_links":{"self":{"href":"<https://test.pactflow.io/pacticipants/AdamProviderTest>"}}}},"_links":{"self":[{"href":"<https://test.pactflow.io/pacts/provider/AdamProviderTest/consumer/AdamConsumerTest/latest>"},{"href":"<https://test.pactflow.io/pacts/provider/AdamProviderTest/consumer/AdamConsumerTest/version/0>.
....
m
Yeah, the
curl
returns something; sorry for the misunderstanding. I meant that the
jq
commands don’t seem right (at least for my installation). For instance, it filters
select(.consumer.name | contains("AWSSummiteer"))
, but I don’t see any
AWSSummiteer
element being returned. Anyway, I could fix it by removing the
| contains("AWSSummiteer")
from the expression, and it worked for me 🤷 Thank you!
m
yeah, that application has been removed from the tenant 😬
basically, you can drop the contains or narrow it to the application ecosystem you want to see.