This project is very much in development and not ready for public contribution. It's just being developed in the open.
New Relic One Catalog repo of repos. PR's to this repo trigger the review process for either adding a New Relic One project via the NR1 CLI or upgrading an existing NR1 project.
This repository is meant to be a repository of submodules
that each represent a codebase designed to fit into the New Relic One Catalog. The repository contains three main components:
- A collection of
submodules
each containing an New Relic One application. - GitHub Action automation to handle the verification of PR's and promotion of
submodules
on a merge tomaster
. - Documentation on the standard(s) for
New Relic One Catalog
projects.
That functionality manifests in three distinct use cases.
Actors: Application Developer(s), New Relic Open Source Maintainers
To submit a new New Relic One project (application, etc.) for consideration and review:
- Make sure your project's repo is public
- Fork this repo
- Add your submodule using the
git submodule
command
cd nr1-catalog/apps
git submodule add [YOUR REPO URL]
# example: git submodule add https://github.com/newrelic/nr1-browser-analyzer.git
git commit -a -m "feat: Adding [YOUR REPO NAME] to nr1-catalog."
- Submit a PR to this project
From there, New Relic Open Source Maintainers
will validate (using a combination of tooling and manual review):
- Project structure (does it comply with the technical requirements)
- Compliance with architectural and design standards
- Compliance with security standards
- Validation of the documentation and support standards
- Assignment of a uuid under the
global catalog account
to this repo (this will need to be generated by someone with access to the account)
Once your PR has been approved and merged it will publish your app to Production.
The catalog maintainers will then update your nerdpack's subscription model to GLOBAL
*
*for maintainers: see the hero FAQ doc
To have your app available in the Staging and EU environments: Reach out to the platform services team with your app name, UUID (found in this repo's globals.json file), and desired version so they can tag it in Staging and EU.
Actors: Application Developer(s), New Relic Open Source Maintainers
This step verifies the same requirements as Use Case 1
, but the review process is focused on the difference between versions.
Actor: New Relic Open Source Maintainers
When a New Relic Open Source Maintainer
merges a PR to master
, the referenced submodule
is not only checked out, built, and associated to it's global uuid; but the following also occurs:
- the New Relic One project is
published
to theglobal catalog account
, - the New Relic One project is
deployed
to theSTABLE
channel of theglobal catalog account
, - and the catalog registry is updated with the latest meta data
Actor: Application Developer(s), New Relic Open Source Maintainers
Please refer to this WIKI for details on this process.