cncf/filterable-landscape

Name: filterable-landscape

Owner: Cloud Native Computing Foundation (CNCF)

Description: Interactive version of the Cloud Native Landscape

Created: 2018-01-06 18:20:10.0

Updated: 2018-04-03 01:55:20.0

Pushed: 2018-03-10 00:00:40.0

Homepage: https://landscape.cncf.io/

Size: 189275

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Cloud Native Filterable Landscape

CNCF Landscape Logo

This is a CNCF project to provide an interactive version of the static landscape from https://github.com/cncf/landscape#current-version.

Data

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.

Corrections

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.)

Todo items
Static Landscape

CNCF Landscape

License

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.

Logos

The following rules will produce the most readable and attractive logos:

  1. We strongly prefer SVG, as they are smaller, display correctly at any scale, and work on all modern browsers. If you only have the logo in another vector format (like AI, EPS, or PSD), please open as issue and we'll convert it to SVG for you.
  2. If it must be a PNG, the dimensions of the source logo should be at least 540x360, as that is what they are resized to. A transparent background is better; white will be converted to a transparent background.
  3. When multiple variants exist, use stacked (not horizontal) logos. For example, we use the second column (stacked), not the first (horizontal), of CNCF project logos.
  4. Don't use reversed logos (i.e., with a non-white, non-transparent background color). If you only have a reversed logo, create an issue with it attached and we'll produce a non-reversed version for you.
  5. Logos must include the company, product or project name in English. It's fine to also include words from another language. If you don't have a version of your logo with the name in it, please open an issue and we'll create one for you (and please specify the font).
  6. If the name of the product is not in the logo, then the company name should be included in the product name. So an Acme Rocket logo that shows “Rocket” should have product name “Rocket”, while if the logo shows “Acme Rocket”, the product name should be “Acme Rocket”. Otherwise, logos looks out of place when you sort alphabetically.
  7. Google images is often the best way to find a good version of the logo (but ensure it's the up-to-date version). Search for [project-name logo filetype:svg]. You can then change SVG files to PNG if you can't find a suitable SVG. When looking for PNGs click Tools, More Tools, and then Show Sizes or click this image search link and change the search query.
Installation
Install on Mac
  1. Install Homebrew
  2. brew install node yarn
  3. git clone git@github.com:cncf/filterable-landscape.git
Local development
  1. git pull
  2. yarn (installs dependencies)
  3. yarn open:src (starts a development server) or
  4. yarn build, then yarn open:dist (compiles and opens a production build)
Updating data

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.

Adding a custom image

If you can't find the right logo on the web, you can create a custom one and host it in this repo:

  1. Save the logo to src/hosted_logos/, for example, src/hosted_logos/apex.svg. Use lowercase spinal case (i.e., hypens) for the name.
  2. Update landscape.yml, for example, logo: ./src/hosted_logos/apex.svg. The location must start with./src/hosted_logos.
  3. If you've updated the local logo since a previous commit, you need to delete the cached version in src/logos/. E.g., delete src/logos/apex.svg.
  4. Update processed_landscape.yml with yarn fetch.
  5. Commit and push. Double-check your work in the Netlify preview after opening a pull request.

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.