diff --git a/ADOPTERS.md b/ADOPTERS.md index 26281c2ce5..75815f32d2 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -1,6 +1,7 @@ -| Organization | Contact | Description of Use | -| ------------ | ------- | ------------------ | -| [Spotify](https://www.spotify.com) |[@alund](https://github.com/alund)| Main interface towards all of Spotify's infrastructure and technical documentation.| -| [bol.com](https://www.bol.com) |[@RoyJacobs](https://github.com/RoyJacobs)| Initial work being done to unify platform tooling.| -| [DFDS](https://www.dfds.com) |[@carlsendk](https://github.com/carlsendk)| V2 self-service platform.| -| [Roku](https://www.roku.com) |[@timurista](https://github.com/timurista)| Initial work on Cloud engineering service platform.| +| Organization | Contact | Description of Use | +| ---------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------- | +| [Spotify](https://www.spotify.com) | [@alund](https://github.com/alund) | Main interface towards all of Spotify's infrastructure and technical documentation. | +| [bol.com](https://www.bol.com) | [@RoyJacobs](https://github.com/RoyJacobs) | Initial work being done to unify platform tooling. | +| [DFDS](https://www.dfds.com) | [@carlsendk](https://github.com/carlsendk) | V2 self-service platform. | +| [Roadie](https://roadie.io) | [@dtuite](https://github.com/dtuite) | Hosted, managed Backstage with easy set-up | +| [Roku](https://www.roku.com) | [@timurista](https://github.com/timurista) | Initial work on Cloud engineering service platform. | diff --git a/README.md b/README.md index 40f12f3b3e..07d523a6ae 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ Take a look at the [Getting Started](docs/getting-started/README.md) guide to le - [Getting Started](docs/getting-started/README.md) - [Create a Backstage App](docs/create-an-app.md) -- [Architecture](docs/architecture-terminology.md) ([Decisions](docs/architecture-decisions)) +- [Architecture](docs/overview/architecture-terminology.md) ([Decisions](docs/architecture-decisions)) - [API references](docs/reference/README.md) - [Designing for Backstage](docs/design.md) - [Storybook - UI components](http://storybook.backstage.io) diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000000..d32928b4e3 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,16 @@ +# Make sure that before you +# run the docker-compose that you have run +# $ yarn docker-build:all +version: '3' + +services: + frontend: + image: 'spotify/backstage:latest' + ports: + - '3000:80' + backend: + image: 'example-backend:latest' + ports: + - '7000:7000' + environment: + NODE_ENV: development diff --git a/docs/features/software-catalog/index.md b/docs/features/software-catalog/index.md index e69de29bb2..daade46b4d 100644 --- a/docs/features/software-catalog/index.md +++ b/docs/features/software-catalog/index.md @@ -0,0 +1,24 @@ +# Backstage Service Catalog (alpha) + +## What is a Service Catalog? + +The Backstage Service Catalog — actually, a software catalog, since it includes +more than just services — is a centralized system that keeps track of ownership +and metadata for all the software in your ecosystem (services, websites, +libraries, data pipelines, etc). The catalog is built around the concept of +[metadata yaml files](../../architecture-decisions/adr002-default-catalog-file-format.md#format) +stored together with the code, which are then harvested and visualized in +Backstage. + +![service-catalog](https://backstage.io/blog/assets/6/header.png) + +We have also found that the service catalog is a great way to organise the +infrastructure tools you use to manage the software as well. This is how +Backstage creates one developer portal for all your tools. Rather than asking +teams to jump between different infrastructure UI’s (and incurring additional +cognitive overhead each time they make a context switch), most of these tools +can be organised around the entities in the catalog. + +## Using the Service Catalog + +![](service-catalog-home.png) diff --git a/docs/features/software-catalog/service-catalog-home.png b/docs/features/software-catalog/service-catalog-home.png new file mode 100644 index 0000000000..742748632e Binary files /dev/null and b/docs/features/software-catalog/service-catalog-home.png differ diff --git a/docs/getting-started/deployment-other.md b/docs/getting-started/deployment-other.md index e69de29bb2..26c70acac4 100644 --- a/docs/getting-started/deployment-other.md +++ b/docs/getting-started/deployment-other.md @@ -0,0 +1,27 @@ +# Deployment (Other) + +## Deploying Locally + +### Try on Docker + +Run the following commands if you have Docker environment + +```bash +$ yarn docker-build +$ docker run --rm -it -p 80:80 spotify/backstage +``` + +Then open http://localhost/ on your browser. + +### Running with `docker-compose` + +Run the following commands if you have docker and docker-compose for a full +example, with the example backend also deployed. + +```bash +$ yarn docker-build:all +$ docker-compose up +``` + +Then open http://localhost:3000 on your browser to see the example app with an +example backend. diff --git a/docs/getting-started/development-environment.md b/docs/getting-started/development-environment.md index 7f650b27e6..efceef5892 100644 --- a/docs/getting-started/development-environment.md +++ b/docs/getting-started/development-environment.md @@ -80,19 +80,8 @@ yarn diff # Make sure all plugins are up to date with the latest plugin template yarn create-plugin # Create a new plugin ``` -### (Optional)Try on Docker - -Run the following commands if you have Docker environment - -```bash -$ yarn docker-build -$ docker run --rm -it -p 80:80 spotify/backstage -``` - -Then open http://localhost/ on your browser. - > See [package.json](/package.json) for other yarn commands/options. -[Next Step - Create a Backstage plugin](create-a-plugin.md) +[Next Step - Create a Backstage plugin](../plugins/create-a-plugin.md) -[Back to Docs](README.md) +[Back to Docs](../README.md) diff --git a/docs/overview/support.md b/docs/overview/support.md index d40cd72c96..7c7390fb69 100644 --- a/docs/overview/support.md +++ b/docs/overview/support.md @@ -6,8 +6,8 @@ here if you want to contribute - [RFCs](https://github.com/spotify/backstage/labels/rfc) - Help shape the technical direction -- [FAQ](docs/FAQ.md) - Frequently Asked Questions -- [Code of Conduct](CODE_OF_CONDUCT.md) - This is how we roll +- [FAQ](../FAQ.md) - Frequently Asked Questions +- [Code of Conduct](../../CODE_OF_CONDUCT.md) - This is how we roll - [Blog](https://backstage.io/blog/) - Announcements and updates - [Newsletter](https://mailchi.mp/spotify/backstage-community) - Give us a star ⭐️ - If you are using Backstage or think it is an interesting diff --git a/docs/plugins/create-a-plugin.md b/docs/plugins/create-a-plugin.md index 93c8a4c760..dfc86ef1f5 100644 --- a/docs/plugins/create-a-plugin.md +++ b/docs/plugins/create-a-plugin.md @@ -40,4 +40,4 @@ for it can be found inside the plugin's `dev/` directory. [Next Step - Structure of a plugin](structure-of-a-plugin.md) -[Back to Getting Started](README.md) +[Back to Getting Started](../README.md) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 3cccb58e93..0c4f77f299 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -8,7 +8,7 @@ development tool as a plugin in Backstage. By following strong [design guidelines](https://github.com/spotify/backstage/blob/master/docs/design.md) we ensure the the overall user experience stays consistent between plugins. -![plugin](../docs/getting-started/my-plugin_screenshot.png) +![plugin](my-plugin_screenshot.png) ## Creating a plugin diff --git a/docs/getting-started/my-plugin_screenshot.png b/docs/plugins/my-plugin_screenshot.png similarity index 100% rename from docs/getting-started/my-plugin_screenshot.png rename to docs/plugins/my-plugin_screenshot.png diff --git a/docs/getting-started/plugin-development.md b/docs/plugins/plugin-development.md similarity index 100% rename from docs/getting-started/plugin-development.md rename to docs/plugins/plugin-development.md diff --git a/docs/plugins/publishing.md b/docs/plugins/publishing.md index c66b359add..630624f304 100644 --- a/docs/plugins/publishing.md +++ b/docs/plugins/publishing.md @@ -3,9 +3,9 @@ ## NPM NPM packages are published through CI/CD in the -[.github/workflows/master.yml](../.github/workflows/master.yml) workflow. Every -commit that is merged to master will be checked for new versions of all public -packages, and any new versions will automatically be published to NPM. +[.github/workflows/master.yml](../../.github/workflows/master.yml) workflow. +Every commit that is merged to master will be checked for new versions of all +public packages, and any new versions will automatically be published to NPM. ### Creating a new release @@ -35,4 +35,4 @@ $ git push origin -u new-release And then create a PR. Once the PR is approved and merged into master, the master build will publish new versions of all bumped packages. -[Back to Docs](README.md) +[Back to Docs](../README.md) diff --git a/docs/plugins/structure-of-a-plugin.md b/docs/plugins/structure-of-a-plugin.md index a277628b6c..9d15517e03 100644 --- a/docs/plugins/structure-of-a-plugin.md +++ b/docs/plugins/structure-of-a-plugin.md @@ -104,4 +104,4 @@ either the one you already have (like nginx/haproxy/etc) or the proxy-backend plugin that we provide for the backstage backend. [Read more](../../plugins/proxy-backend/README.md) -[Back to Getting Started](README.md) +[Back to Getting Started](../README.md) diff --git a/docs/reference/createPlugin-router.md b/docs/reference/createPlugin-router.md index d296d1179d..831b27f388 100644 --- a/docs/reference/createPlugin-router.md +++ b/docs/reference/createPlugin-router.md @@ -35,4 +35,4 @@ const myPluginRouteRef = createRouteRef({ }); ``` -[Back to References](README.md) +[Back to References](../README.md) diff --git a/package.json b/package.json index cc45d541d4..9d702c4755 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "lint:all": "lerna run lint --", "lint:type-deps": "node scripts/check-type-dependencies.js", "docker-build": "yarn bundle && docker build . -t spotify/backstage", + "docker-build:all": "yarn tsc && yarn build && yarn docker-build && yarn workspace example-backend build-image", "create-plugin": "backstage-cli create-plugin", "remove-plugin": "backstage-cli remove-plugin", "release": "if [ \"$(git symbolic-ref --short HEAD)\" = master ]; then echo \"don't try to release master\"; exit 1; else lerna version --no-push; fi",