catalogers
Catalogers
- <cataloger-object> - <cataloger-object> - ...
catalogers:
- name: GitHub repos
runBash: |-
gh repo list <my-org> --json | ... | \
lunar catalog --json '.components' -
hook:
type: cron
schedule: "0 2 * * *"
- name: Backstage sync
runBash: |-
curl <curl-options> https://<backstage endpoint>/api/catalog/entities/by-query ... | ... | \
lunar catalog --json '.components' -
hook:
type: cron
schedule: "0 2 * * *"
- name: DB sync
runBash: |-
psql ... -c 'COPY (select * FROM services WHERE ...) TO STDOUT WITH CSV HEADER' | \
csvjson --no-header-row | ... | \
lunar catalog --json '.components' -
hook:
type: cron
schedule: "0 2 * * *"
- name: Pick up catalog files from some central repo
runBash: |-
cat verticals.toml | ... | lunar catalog --json '.domains' -
cat services.toml | ... | lunar catalog --json '.components' -
hook:
type: repo
repo: github.com/foo/software-catalog
- name: Label any repo that has a certain CI pipeline as "production"
runBash: |-
if grep -r --include="*.yaml" --include="*.yml" '^name: Deploy$' ./.github/workflows ; then
lunar catalog component --tag production
fi
hook:
type: component-rep
- name: Complex operation
mainBash: ./my-script.sh
hook:
type: cron
schedule: "0 2 * * *"
- name: Use an external cataloger
uses: github://third-party/some-cataloger@v1Cataloger
name
nameuses
useswith
withinclude
includeexclude
excluderun<language>
run<language>main<language>
main<language>hook
hookimage
imageLast updated
