... | ... | @@ -994,6 +994,76 @@ resources with `troodi` in the name: |
|
|
Keep in mind that there are [automatic tags](https://puppet.com/docs/puppet/6.4/lang_tags.html) in exported resources
|
|
|
which can complicate things.
|
|
|
|
|
|
### Finding all instances of a deployed resource
|
|
|
|
|
|
Say you want to [deprecate cron](https://gitlab.torproject.org/tpo/tpa/team/-/issues/41303). You want to see where the `Cron`
|
|
|
resource is used to understand how hard of a problem this is.
|
|
|
|
|
|
This will show you the resource titles and how many instances of each
|
|
|
there are:
|
|
|
|
|
|
SELECT count(*),title FROM catalog_resources WHERE type = 'Cron' GROUP BY title ORDER by count(*) DESC;
|
|
|
|
|
|
Example output:
|
|
|
|
|
|
puppetdb=# SELECT count(*),title FROM catalog_resources WHERE type = 'Cron' GROUP BY title ORDER by count(*) DESC;
|
|
|
count | title
|
|
|
-------+---------------------------------
|
|
|
87 | puppet-cleanup-clientbucket
|
|
|
81 | prometheus-lvm-prom-collector-
|
|
|
9 | prometheus-postfix-queues
|
|
|
6 | docker-clear-old-images
|
|
|
5 | docker-clear-nightly-images
|
|
|
5 | docker-clear-cache
|
|
|
5 | docker-clear-dangling-images
|
|
|
2 | collector-service
|
|
|
2 | onionoo-bin
|
|
|
2 | onionoo-network
|
|
|
2 | onionoo-service
|
|
|
2 | onionoo-web
|
|
|
2 | podman-clear-cache
|
|
|
2 | podman-clear-dangling-images
|
|
|
2 | podman-clear-nightly-images
|
|
|
2 | podman-clear-old-images
|
|
|
1 | update rt-spam-blocklist hourly
|
|
|
1 | update torexits for apache
|
|
|
1 | metrics-web-service
|
|
|
1 | metrics-web-data
|
|
|
1 | metrics-web-start
|
|
|
1 | metrics-web-start-rserve
|
|
|
1 | metrics-network-data
|
|
|
1 | rt-externalize-attachments
|
|
|
1 | tordnsel-data
|
|
|
1 | tpo-gitlab-backup
|
|
|
1 | tpo-gitlab-registry-gc
|
|
|
1 | update KAM ruleset
|
|
|
(28 rows)
|
|
|
|
|
|
A more exhaustive list of each resource and where it's declared:
|
|
|
|
|
|
SELECT certname_id,type,title,file,line,tags FROM catalog_resources WHERE type = 'Cron';
|
|
|
|
|
|
Which host uses which resource:
|
|
|
|
|
|
SELECT certname,title FROM catalog_resources JOIN certnames ON certname_id=certnames.id WHERE type = 'Cron' ORDER BY certname;
|
|
|
|
|
|
Top 10 hosts using the resource:
|
|
|
|
|
|
puppetdb=# SELECT certname,count(title) FROM catalog_resources JOIN certnames ON certname_id=certnames.id WHERE type = 'Cron' GROUP BY certname ORDER BY count(title) DESC LIMIT 10;
|
|
|
certname | count
|
|
|
-----------------------------------+-------
|
|
|
meronense.torproject.org | 7
|
|
|
forum-01.torproject.org | 7
|
|
|
ci-runner-x86-02.torproject.org | 7
|
|
|
onionoo-backend-01.torproject.org | 6
|
|
|
onionoo-backend-02.torproject.org | 6
|
|
|
dangerzone-01.torproject.org | 6
|
|
|
btcpayserver-02.torproject.org | 6
|
|
|
chi-node-14.torproject.org | 6
|
|
|
rude.torproject.org | 6
|
|
|
minio-01.torproject.org | 6
|
|
|
(10 rows)
|
|
|
|
|
|
### Finding exported resources with PuppetDB
|
|
|
|
|
|
This query will look for exported resources with the `type`
|
... | ... | |