- We would like to have a central place where we can easily look for and access our applications running on Kubernetes.
- We would like to have a tool which can dynamically discover and list the apps running on Kubernetes.
- A launchpad to access developer tools e.g. Jenkins, Nexus, Kibana, Grafana, etc.
Forecastle gives you access to a control panel where you can see your running applications and access them on Kubernetes.
Deploying to Kubernetes
You can deploy Forecastle both using vanilla k8s manifests or helm charts.
Step 1: You can apply vanilla manifests by running the following command
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/kubernetes/forecastle.yaml
Step 2: Update configmap
In the Forecastle configmap modify the
namespaces.conf key with a comma separated list of namespaces which you want Forecastle to watch.
If you configured
helm on your cluster, you can deploy Forecastle via helm chart located under
Forecastle looks for a specific annotations on ingresses.
- Add the following annotations to your ingresses in order to be discovered by forecastle:
||[Required] Add this with value
||[Optional] Icon/Image URL of the application; An icons/logos/images collection repo Icons|
||[Optional] A custom name for your application. Use if you don't want to use name of the ingress|
||[Optional] A custom group name. Use if you want the application to show in a different group than the namespace it is running in|
Forecastle supports the following configuration options that can be modified by either ConfigMap or
values.yaml if you are using helm
|namespaces||A list of namespaces that forecastle uses to look for ingresses||["stakater"]|
|headerBackground||Background color of the header (Specified in the CSS way)||""|
|headerForeground||Foreground color of the header (Specified in the CSS way)||""|
|title||Title for the forecastle dashboard||"Forecastle - Stakater"|
|instanceName||Name of the forecastle instance||""|
- List apps found in all namespaces listed in the configmap
- Search apps
- Grouped apps per namespace
- Configurable header (Title and colors)
- Multiple instance support
Running multiple instances of forecastle
Yuou can run multiple instances of forecastle by just deploying them in a different namespace and provided a list of namespaces to look for ingresses. However, if you want flexibility over which applications to show in a specific instance regardless of the namespace, then you need to first configure forecastle instances to be a named instances. You can do that by setting
instanceName in forecastle configuration. Once you have the named instances, you can add
forecastle.stakater.com/instance annotation to your ingresses to control which application will show in which instance of forecastle. You can also specify multiple instances of forecastle for the same ingress so that it shows up in multiple dashboards. For example, you have 2 instances running named
prod-dashboard. You can add this in the ingress's instance annotation
dev-dashboard,prod-dashboard and the ingress will come up in both dashboards.
Talk to us on Slack
Join and talk to us on the #tools-imc channel for discussing Forecastle
Bug Reports & Feature Requests
Please use the issue tracker to report any bugs or file feature requests.
PRs are welcome. In general, we follow the "fork-and-pull" Git workflow.
- Fork the repo on GitHub
- Clone the project to your own machine
- Commit changes to your own branch
- Push your work back up to your fork
- Submit a Pull request so that we can review your changes
NOTE: Be sure to merge the latest from "upstream" before making a pull request!
View our closed Pull Requests.
Apache2 © Stakater
Why name Forecastle?
Forecastle is the section of the upper deck of a ship located at the bow forward of the foremast. This Forecastle will act as a control panel and show all your running applications on Kubernetes having a particular annotation.