SkillAgentSearch skills...

Forecastle

Forecastle is a control panel which dynamically discovers and provides a launchpad to access applications deployed on Kubernetes – [✩Star] if you're using it!

Install / Use

/learn @stakater/Forecastle
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Forecastle Forecastle

Get started with Stakater

Table of Contents:

Introduction

Problem

  • Finding and accessing applications on Kubernetes can be challenging without a central hub.
  • It's essential to have a dynamic way to discover and list applications that are actively running on Kubernetes.
  • Developers often need a streamlined portal to access essential tools like Jenkins, Nexus, Kibana, Grafana, and others.

Solution

Forecastle gives you access to a control panel where you can see your running applications and access them on Kubernetes.

Forecastle provides a unified control panel, serving as a convenient gateway to view and access your applications deployed on Kubernetes. Whether it's monitoring tools, CI/CD pipelines, or other applications, Forecastle brings them all to your fingertips in one central location.

Screenshot

Features

Forecastle boasts a range of functionalities designed to streamline the management and accessibility of applications in Kubernetes environments. Key features include:

  1. Comprehensive App Listing: Forecastle aggregates and displays apps from all namespaces specified in the ConfigMap, providing a centralized view of your resources.

  2. Search Functionality: Quickly locate specific applications with an intuitive search feature, enhancing user experience and efficiency.

  3. Namespace Grouping: Apps are neatly organized and grouped by their respective namespaces, making navigation and management more straightforward.

  4. Customizable Header: Tailor the look and feel of your Forecastle dashboard with configurable header options, including title customization and color schemes.

  5. Support for Multiple Instances: Forecastle is designed to support multiple instances, accommodating varied and complex deployment scenarios.

  6. Custom Apps Integration: Easily add non-Kubernetes or external applications to your dashboard for a more comprehensive overview of your tools and resources.

  7. ForecastleApp CRD: Utilize the ForecastleApp Custom Resource Definition to dynamically add custom applications, further enhancing the dashboard's flexibility.

  8. Custom Grouping and URLs: Organize your applications into custom groups and assign specific URLs for tailored navigation and accessibility.

  9. Detailed App Information: Each application comes with detailed information, offering insights and essential details at a glance.

  10. Light/Dark Theme: Switch between light and dark themes with automatic system preference detection.

  11. Grid/List Views: Toggle between grid and list views for different ways to visualize your applications.

Admin Guide

This section is intended for Administrators aiming to deploy Forecastle on their clusters. Forecastle offers flexible deployment options, accommodating both Kubernetes and OpenShift platforms with ease.

You have the choice of deploying Forecastle using traditional manifests or through Helm charts. Detailed instructions for both methods are provided below to guide you through the deployment process.

Vanilla Manifests

Step 1: Apply manifests

You can get Forecastle by running the following command on your cluster:

For Kubernetes (vanilla Kubernetes, EKS, GKE, AKS, etc.):

kubectl apply -f https://github.com/stakater/Forecastle/releases/latest/download/forecastle-kubernetes.yaml

For OpenShift (includes OpenShift Route for external access):

kubectl apply -f https://github.com/stakater/Forecastle/releases/latest/download/forecastle-openshift.yaml
Accessing the Dashboard

For Kubernetes environments, you can use the following port-foward command to access the Forecastle dashboard:

kubectl port-forward svc/forecastle 8080:8080

Please note that you would need to configure ingress to to access Forecastle from outside the cluster based on your cluster's ingress configuration.

For OpenShift environments, a default route is created for the Forecastle service. You can access the dashboard using the route URL.

oc get route forecastle

Step 2: Update configmap

Modify the namespaceSelector key in the Forecastle ConfigMap to list the namespaces you want Forecastle to monitor. For detailed instructions, see namespace selector configuration for instructions.

Helm Charts

You can use Helm to deploy Forecastle. Head over to the values.yaml to find configuration options.

helm repo add stakater-charts https://stakater.github.io/stakater-charts/
helm install forecastle stakater-charts/forecastle

Configuration

Forecastle simplifies the discovery and management of applications on Kubernetes and OpenShift. It utilizes specific annotations on ingresses and offers various configuration options for customization.

You can customize Forecastle using either a ConfigMap or the values.yaml file when deploying with Helm. Below are the configurable fields:

| Field | Description | Default | Type | | :---------------: | :--------------------------------------------------------------------------------------------------------: | :---------------------: | ----------------- | | namespaceSelector | A fine grained namespace selector which uses a combination of hardcoded namespaces well as label selectors | any: true | NamespaceSelector | | headerBackground | Background color of the header (Specified in the CSS way) | null | string | | headerForeground | Foreground color of the header (Specified in the CSS way) | null | string | | title | Title for the forecastle dashboard | "Forecastle - Stakater" | string | | instanceName | Name of the forecastle instance | "" | string | | customApps | A list of custom apps that you would like to add to the forecastle instance | {} | []CustomApp | | crdEnabled | Enables or disables ForecastleApp CRD | true | bool | | basePath | Base path for subpath hosting (e.g., "/forecastle"). Auto-detected from X-Forwarded-Prefix if not set | "" | string |

Detailed Configurations

NamespaceSelector

Selects namespaces for Forecastle to monitor, either by listing specific namespaces or using label selectors.

| Field | Description | Default | Type | | :-----------: | :-------------------------------------------------------------------------------------------: | :-----: | -------------------------------------------------------------------------------------------- | | any | Boolean describing whether all namespaces are selected in contrast to a list restricting them | false | bool | | labelSelector | Filter namespaces based on kubernetes metav1.LabelSelector type | null | metav1.LabelSelector | | matchNames | List of namespace names | null | []string |

Note: If you specify both labelSelector and matchNames, Forecastle will take a union of all namespaces matched and use them.

Custom Apps

Allows adding non-Kubernetes or external apps to Forecastle. This is an extremely useful feature especially when your apps are distributed both on kubernetes and off it. You can pass an array of custom apps inside the config.

| Field | Description | Type | | ----------------- | ----------------------------------------- | ----------------- | | name | Name of the custom app | String | | icon | URL of the icon for the custom app | String

View on GitHub
GitHub Stars775
CategoryDevelopment
Updated4h ago
Forks70

Languages

Go

Security Score

100/100

Audited on Apr 1, 2026

No findings