Files
wild-cloud-poc/CLAUDE.md

2.5 KiB

CLAUDE.md

Project Overview

This repository contains "Wild Cloud".

Wild Cloud helps administrators set up and manage a Kubernetes cluster with nodes running Talos linux. It also contains a directory of application (in apps/) that can be deployed on clusters.

The scripts in this repository ($WC_ROOT) are intended to be sourced and executed from within a Wild Cloud project directory ($WC_HOME).

Again, this repository ($WC_ROOT) contains the Wild Cloud scripts and applications. The actual Wild Cloud project directory ($WC_HOME), which contains your specific configuration files, is separate.

Info about Wild Cloud

  • @docs/agent-context/wildcloud/README.md
  • @docs/agent-context/wildcloud/overview.md
  • @docs/agent-context/wildcloud/project-architecture.md
  • @docs/agent-context/wildcloud/bin-scripts.md
  • @docs/agent-context/wildcloud/configuration-system.md
  • @docs/agent-context/wildcloud/setup-process.md
  • @docs/agent-context/wildcloud/apps-system.md

Info about Talos

  • @docs/agent-context/talos-v1.11/README.md
  • @docs/agent-context/talos-v1.11/architecture-and-components.md
  • @docs/agent-context/talos-v1.11/cli-essentials.md
  • @docs/agent-context/talos-v1.11/cluster-operations.md
  • @docs/agent-context/talos-v1.11/discovery-and-networking.md
  • @docs/agent-context/talos-v1.11/etcd-management.md
  • @docs/agent-context/talos-v1.11/bare-metal-administration.md
  • @docs/agent-context/talos-v1.11/troubleshooting-guide.md

Code Guidelines

  • Wild Cloud projects use infrastructure-as-code principles.
  • Scripts that interact with a Wild Cloud project must manage state and infrastructure idempotently and check for existing state.
  • Timeouts should be avoided in favor of proper readiness and liveness probes, for example:
    • Use kubectl wait to ensure resources are ready before proceeding with dependent operations.
    • Use kubectl rollout status to ensure deployments are successfully rolled out before proceeding.
    • Use kubectl get with appropriate selectors to check the status of resources.
  • All code should be simple and easy to understand.
    • Avoid unnecessary complexity.
    • Avoid unnecessary dependencies.
    • Avoid unnecessary features.
    • Avoid unnecessary abstractions.
    • Avoid unnecessary comments.
    • Avoid unnecessary configuration options.
  • Avoid Helm. Use Kustomize.

Scripts

  • Use @scripts/common.sh for common functions and patterns, especially if they will clean up the code.
  • Don't define functions in a script that are only used once. Just inline the code.