Welcome! This repository contains the Kpt Backstage Plugins. The plugins can be installed into an existing Backstage Application following the READMEs for each plugin. For development and testing, the plugins can also be executed with the example Backstage Application in this repository.
Configuration as Data is the primary plugin which powers the WYSIWYG Configuration GUI over GitOps using kpt and its new Package Orchestrator, Porch.
New to kpt?
kpt is a package-centric toolchain that enables a WYSIWYG configuration authoring, automation, and delivery experience, which simplifies managing Kubernetes platforms and KRM-driven infrastructure at scale by manipulating declarative Configuration as Data, separated from the code that transforms it. Read kpt.dev to learn more.
New to Backstage?
Backstage is an open platform for building developer portals. Watch What is Backstage? (Explainer Video) on YouTube and read backstage.io to learn more.
To use the Backstage Application in this repository, you will need:
- Node.js Active LTS Release installed
- yarn installed
- git installed
- Porch (Package Orchestration Server) installed on a Kubernetes cluster
The first step is to check out the code to your local development environment. We recommend you create your own fork, but we will keep things simple here.
git clone https://github.com/GoogleContainerTools/kpt-backstage-plugins.git
cd kpt-backstage-plugins
You'll need to install dependencies before you can run the UI locally.
yarn install
To run the UI, you'll need to use this command will start Backstage frontend and backend instances. The frontend instance is hosted on port 3000 and, the backend instance is on port 7007. Once started, you'll be able to access the UI by browsing to the URL http://localhost:3000.
yarn dev
Run tests:
yarn test
Run the linter:
yarn lint
Run the code formatter:
yarn prettier:check # Checks for any code formatting errors
yarn prettier:write # Formats code
If you are interested in contributing, please start with the contribution guidelines.