back to home

stakater / 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!

749 stars
69 forks
30 issues
GoJavaScriptTypeScript

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing stakater/Forecastle in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/stakater/Forecastle)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Forecastle Table of Contents: • Introduction • Problem • Solution • Features • Admin Guide • Vanilla Manifests • Helm Charts • Configuration • NamespaceSelector • Custom Apps • Example Config • Scaling with Multiple Instances • User Guide • Ingresses • ForecastleApp CRD • Automatically discover URL's from Kubernetes Resources • Developer Guide • Bug Reports & Feature Requests • Developing • Releasing • Help • Talk to us on Slack • Changelog • License • About • Why name Forecastle 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. Features Forecastle boasts a range of functionalities designed to streamline the management and accessibility of applications in Kubernetes environments. Key features include: • **Comprehensive App Listing**: Forecastle aggregates and displays apps from all namespaces specified in the ConfigMap, providing a centralized view of your resources. • **Search Functionality**: Quickly locate specific applications with an intuitive search feature, enhancing user experience and efficiency. • **Namespace Grouping**: Apps are neatly organized and grouped by their respective namespaces, making navigation and management more straightforward. • **Customizable Header**: Tailor the look and feel of your Forecastle dashboard with configurable header options, including title customization and color schemes. • **Support for Multiple Instances**: Forecastle is designed to support multiple instances, accommodating varied and complex deployment scenarios. • **Custom Apps Integration**: Easily add non-Kubernetes or external applications to your dashboard for a more comprehensive overview of your tools and resources. • **ForecastleApp CRD**: Utilize the ForecastleApp Custom Resource Definition to dynamically add custom applications, further enhancing the dashboard's flexibility. • **Custom Grouping and URLs**: Organize your applications into custom groups and assign specific URLs for tailored navigation and accessibility. • **Detailed App Information**: Each application comes with detailed information, offering insights and essential details at a glance. • **Light/Dark Theme**: Switch between light and dark themes with automatic system preference detection. • **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.): **For OpenShift** (includes OpenShift Route for external access): Accessing the Dashboard For Kubernetes environments, you can use the following port-foward command to access the Forecastle dashboard: 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. Step 2: Update configmap Modify the 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. 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 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 | Ty…