Cloud Foundry


Error

You must log in or register to view this page

Cloud Foundry is an open-source, multi-cloud application platform as a service (PaaS). It’s designed to help developers build, deploy, run, and scale applications without worrying too much about the underlying infrastructure. It provides a runtime environment so you can just push your code, and it handles provisioning servers, networking, and scaling. It works on top of different infrastructures (AWS, Azure, Google Cloud, VMware vSphere, OpenStack, etc.). 

Architecture

The following paragraph describes Cloud Foundry nodes:

Organizations (AdminCollection) - An org is a development account that an individual or multiple collaborators can own and use. All collaborators access an org with user accounts. Collaborators in an org share a resource quota plan, applications, services availability, and custom domains.

Spaces (Namespace) - Every application and service is scoped to a space. Each org contains at least one space. A space provides users with access to a shared location for application development, deployment, and maintenance.

Apps (Deployment) - Apps are top-level objects that link together and contain configuration information for your packages, droplets, processes, tasks, and more.

Processes (SoftwareContainer) - Processes define the runnable units of an app. An app can have multiple process types, each with differing commands and scale.

1758011073593-353.drawio.png

Platforms supported by the pattern

The pattern discovers CloudFoundry instances on cloud and on-premises deployments via API scan.

Identification

To run a discovery of the product, the pattern must be triggered. This section describes conditions under which the pattern can be triggered.

Pattern triggers

The following table gives details about the pattern trigger:

PatternTrigger nodeAttributeConditionArgument
CloudFoundryAPIDiscoveredAPIProviderResultList

discovery_method

=

"CloudFoundry.ListOrganizations"

CloudFoundrySpacesAPINamespacetype "Cloud Foundry Space"

API Provider Discovery

CloudFoundry is discovered using executing REST API queries, and processing obtained data.

Adding API credentials and performing API scans:

1758012017160-349.png

1758012109599-712.png

API queries

REST API requests are executed by the following CloudFoundry.API module (https://v3-apidocs.cloudfoundry.org/):

  • /v3/apps
  • /v3/apps?space_guids={guid}
  • /v3/info
  • /v3/organizations
  • /v3/organization_quotas/{guid}
  • /v3/processes
  • /v3/processes?space_guids={guid}
  • /v3/processes/{guid}/stats
  • /v3/routes
  • /v3/routes?space_guids={guid}
  • /v3/spaces

Trigger

CloudFoundryAPI pattern triggers on DiscoveredAPIProviderResultList where discovery_method = "CloudFoundry.ListOrganizations".

Discovery View

Examples below display nodes

An example of the Organizations (AdminCollection) modeling:

1758013028120-792.png

An example of the Spaces (Namespace) modeling:

1758013093805-125.png

An example of the Apps (Deployment) modeling:

1758013142888-294.png

An example of the Processes (SoftwareContainer) modeling:

1758013175554-801.png

Subject matter expertise

Inputs from subject matter experts are welcome on any other potential approaches not discussed in this topic.

Testing

The pattern has been tested against the available customer data.

Open issues

There are no known open issues with this pattern.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Discovery content reference