This is a highly volatile prototype for a web-based, v2-compatible, Brigade dashboard.
Your mileage may vary.
⚠️ Be sure you are using Helm 3.7.0 or greater and enable experimental OCI support:
$ export HELM_EXPERIMENTAL_OCI=1
As the dashboard requires some specific configuration, we'll first create a values file containing those settings. Use the following command to extract the full set of configuration options into a file you can modify:
$ helm inspect values oci://ghcr.io/brigadecore/brigade-dashboard \
--version v0.2.0 > ~/brigade-dashboard-values.yaml
Edit ~/brigade-dashboard-values.yaml
, making the following changes:
brigade.apiAddress
: Set this to the address of the Brigade API server,
beginning with https://
.
host
: Set this to the fully qualified domain name that will resolve to
the dashboard. If you do not intend to create a DNS entry for the
dashboard, you may ignore this field and leave its default value.
service.type
: If you plan to enable ingress (advanced) or you're
installing on a local, development-grade Kubernetes cluster that cannot
provision a public IP for the dashboard, you can leave this as its default
-- ClusterIP
. If you are deploying the dashboard to a remote Kubernetes
cluster with intentions for the dashboard to be publicly accessible, you
should change this value to LoadBalancer
.
⚠️ By default, TLS will be enabled and a self-signed certificate will be generated.
For a production-grade deployment you should explore the options available for providing or provisioning a certificate signed by a trusted authority. These options can be located under the
tls
andingress.tls
sections of the values file.
Save your changes to ~/brigade-dashboard-values.yaml
.
Use the following command to install the dashboard:
$ helm install brigade-dashboard \
oci://ghcr.io/brigadecore/brigade-dashboard \
--version v0.2.0 \
--create-namespace \
--namespace brigade-dashboard \
--values ~/brigade-dashboard-values.yaml \
--wait
If you have deployed the dashboard to a remote Kubernetes cluster, have not
enabled ingress, and have set the value of service.type
to LoadBalancer
,
you may find the public IP of the dashboard with the following command:
$ kubectl get svc brigade-dashboard \
--namespace brigade-dashboard \
--output jsonpath='{.status.loadBalancer.ingress[0].ip}'
If you overrode default configuration to enable support for an ingress controller, you probably know what you're doing well enough to track down the correct IP for that ingress controller without our help. 😉
If you have deployed the dashboard to a local, development-grade cluster, use the following command to map a port on the local network interface to the dashboard:
$ kubectl port-forward svc/brigade-dashboard \
--namespace brigade-dashboard \
8443:443
The Brigade project accepts contributions via GitHub pull requests. The Contributing document outlines the process to help get your contribution accepted.
We have a slack channel! Kubernetes/#brigade Feel free to join for any support questions or feedback, we are happy to help. To report an issue or to request a feature open an issue here
Participation in the Brigade project is governed by the CNCF Code of Conduct.