This is a CNCF project to provide an interactive version of the static landscape from https://github.com/cncf/landscape#current-version.
The canonical source for all data is landscape.yml. Once a day, we download data for projects and companies from the following sources:
The build server enhances the source data with the fetched data and saves the result in processed_landscape.yml and as a JSON file, which is what the app loads to display data.
Please open a pull request with edits to landscape.yml. The file processed_landscape.yml is generated and so should never be edited directly.
If the error is with data from Crunchbase you should open an account there and edit the data. If you don't like a project description, edit it in GitHub. If your project isn't showing the license correctly, you may need to paste the license into LICENSE file at the root of your project in GitHub, in order for GitHub to serve the information correctly. (It needs to be LICENSE and not LICENSE.txt or LICENSE.code, and the text needs to be the standard license text.)
This repository contains data received from Crunchbase. This data is not licensed pursuant to the Apache License, Version 2.0. It is subject to Crunchbase’s Data Access Terms, available at https://data.crunchbase.com/v3.1/docs/terms, and is only permitted to be used with this CNCF Cloud Native Landscape Project.
Everything else is under the Apache License, Version 2.0, except for project and product logos, which are generally copyrighted by the company that created them, and are simply cached here for reliability.
The following rules will produce the most readable and attractive logos:
brew install node yarn
git clone git@github.com:cncf/filterable-landscape.git
git pull
yarn
(installs dependencies)
yarn open:src
(starts a development server) oryarn build
, then yarn open:dist
(compiles and opens a production build)After making changes to landscape.yml
, run yarn fetch
to fetch any needed data and generate processed_landscape.yml and data.json.
yarn fetch
runs in 4 modes of increasingly aggressive downloading, with a default to easy. Reading data from the cache (meaning from processed_landscape.yml) means that no new data is fetched if the project/product already exists. The modes are:
Data cached | easy | medium | hard | complete |
---|---|---|---|---|
Crunchbase | true | false | false | false |
GitHub basic stats | true | false | false | false |
GitHub start dates | true | true | false | false |
Image data | true | true | true | false |
Easy mode (the default) is what you should use if you update landscape.yml
and want to see the results locally. The Netlify build server runs easy mode, which makes it possible to just commit a change to landscape.yml and have the results reflected in production. Run with yarn fetch
.
Medium mode is what is run by the update server, with commits back to the repo. It needs to be run regularly to update last commit date, stars, and Crunchbase info. Run with yarn update
.
Hard and complete modes should be unnecessary except in cases of possible data corruption. Even then, it's better to just delete any problematic entries from processed_landscape.yml
and easy mode will recreate them with up-to-date information.
If you can't find the right logo on the web, you can create a custom one and host it in this repo:
src/hosted_logos/
, for example, src/hosted_logos/apex.svg
. Use lowercase spinal case (i.e., hypens) for the name.logo: ./src/hosted_logos/apex.svg
. The location must start with./src/hosted_logos
.src/logos/
. E.g., delete src/logos/apex.svg
.processed_landscape.yml
with yarn fetch
.