Installation

Helm

Reference files located in the charts directory, including a full values.yaml file with all available configuration options.

Helm repo is located at https://slackspace-io.github.io/slackwatch/helm/

To install slackwatch using helm, run the following command:

helm repo add slackwatch https://slackspace-io.github.io/slackwatch/helm/
helm install slackwatch slackwatch/slackwatch-helm

Full values.yaml file with all available configuration options displayed below. It can be found in charts/slackwatch/values-full.yaml.

replicaCount: 1
namespace: slackwatch

image:
  repository: ghcr.io/slackspace-io/slackwatch  # Assuming this image is accessible as a placeholder
  pullPolicy: IfNotPresent
  tag: "latest"

service:
  annotations: {}
  labels: {}
  type: ClusterIP
  port: 80

ingress:
  enabled: false
  labels: {}
  ingressClassName: ""
  paths:
    - /
  pathType: Prefix
  extraPaths: []
  https: false
  annotations: {}
  tls: []
  hosts:
    - test.slackwatch.default # Placeholder domain

config:
  system:
    #default schedule is every 2 hours
    schedule: "0 0 */2 * * *"
    data_dir: "/app/slackwatch/data"
    #run at startup, otherwise blank page until first run. App is stateless at the moment.
    run_at_startup: false

  notifications:
    ntfy:
      url: "http://ntfy-server.default:80" # Assumes an 'ntfy-server' available in the 'default' namespace
      topic: "slackwatch-test"
      token: "slackwatch-ntfy-token"
      priority: 1
      reminder: "24h"
      # ... other notification provider settings

  gitops:
    - name: "test-repo" # Placeholder name
      repository_url: "https://github.com/your-org/test-repo.git"
      branch: "main"
      access_token_env_name: "TEST_REPO_ACCESS_TOKEN"
      commit_message: "Automated commit by slackwatch"
      commit_email: "slackwatch@yourmail.default"
      # ... other GitOps settings

# Custom environment variables for the Slackwatch application
#customEnv:
#  # Environment variables that should be populated from secrets
#  # Users can comment out or remove if not needed
#  # When using gitops or ntfy it is recommended to use secrets. Match the secretName with the appropriate configuration.
#  TEST_REPO_ACCESS_TOKEN:
#    fromSecret:
#      enabled: true
#      secretName: "TEST_REPO_ACCESS_TOKEN"
#      key: "tokensupersecret"

Kubernetes

Reference files located in the k8s directory.

Slackwatch is deployed as a deployment in the slackwatch namespace. The deployment is configured to watch all workloads in the cluster with the annotation slackwatch.enabled set to true.

The example files located here include the required service account, cluster role, and cluster role binding for slackwatch to watch all workloads in the cluster.

In addition to standard kubernetes files, the required fleet.yaml and kustomization.yaml files are included to deploy slackwatch using Rancher Fleet.

Running Locally

If running locally, slackwatch will use the kubeconfig file located at ~/.kube/config to connect to the cluster. If you are using a different kubeconfig file, you can set the KUBECONFIG environment variable to the path of your kubeconfig file.