This segment of our open source Cloud Foundry (CF) toolbox series introduces CF-Portal, a basic read-only view into your Cloud Foundry application landscape. CF-Portal was one of the first applications we made for our CF toolbox, since unlike the branded CF offerings, the community project lacks any pre-packaged UI.
Why not re-use an existing solution?
There are open source UI’s available in the community, most notably the admin-ui project, which we do utilize for our environments. But the admin-ui project is truly an admin interface, requiring logins and admin level privileges to interact with the system. CF-Portal is meant to supplement the admin-ui project by providing an anonymous, read-only view into your Cloud Foundry application landscape for consumption by CF end-users.
Does cloud foundry even need a UI?
The CF CLI is powerful, extensible, and, for a large chunk of CF developers, it’s their sole point of interaction with the system. But there are still use cases where having a UI comes in handy. Sometimes we need to expose data which can be accessed by non-developers, for example people who don’t have an account in CF such as release managers or a level one support agent. And even with access to the CF CLI, some tasks such as searching or aggregating output are difficult and would require elevated permissions.
When creating CF-Portal we wanted to fulfill three basic requirements
- Anonymous Access - The portal should be available without requiring user authentication. Because of this we also must ensure that the application displays only non-sensitive data and has read-only capabilities.
- Searchable View of the Application Landscape - The portal should allow any user to view how many applications are in any given (CF|org|space) as well as quickly determine which org and space a specific application belongs to.
- Bare Bones Troubleshooting - The portal should quickly allow users to determine the state of an application such as if it’s up or down and how long it’s been running. It should also show basic audit information such as recent application logs and audit events.
The portal has two views, a summary view of all applications deployed to the Cloud Foundry environment and a detail view for each app showing some basic application specific stats. The data for the summary view is gathered every 5 minutes and cached locally for best responsiveness. The top right corner includes a search bar to quickly find the high level details of an application and clicking on any row allows you to drill down to the detail page for that application. If you’re used to the CF CLI, its similar to what you’d get from running
cf apps in every space.
The detail page shows real-time information about the application in question, similar to what you would see by running
cf app <app-name>. In addition it collects recent logs and audit events which you might see by issuing a few more CLI commands:
cf events <app-name> &
cf logs <app-name>.
If you’re using Cloud Foundry and you have the need for an intuitive UI, please jump over to the project repo and give CF-Portal a try. And as always we encourage comments and pull requests to continue making our tools better.