Skip to content

Conversation

@pbrissaud
Copy link
Member

Summary

Add a dedicated ArgoCD project for Kubeasy platform to avoid race conditions with the default project during initial setup.

This fixes the "Unable to find project default" error that occurred when running kubeasy setup.

Changes

1. Created apps/kubeasy-project.yaml

  • Dedicated ArgoCD AppProject for Kubeasy platform
  • Permissive settings to support both setup components and challenges
  • Allows:
    • Deployment to any namespace
    • All kubeasy-dev GitHub repos + ArgoCD + Kyverno repos
    • All cluster and namespace resources

2. Updated all applications to use kubeasy project

  • app-of-apps.yaml
  • apps/argocd.yaml
  • apps/kyverno.yaml
  • apps/challenge-operator.yaml

3. Added sync waves for proper ordering

  • Wave -1: kubeasy project (created first)
  • Wave 0: ArgoCD and Kyverno (parallel deployment)
  • Wave 1: Challenge operator (after Kyverno)

4. Added CLAUDE.md documentation

  • Repository architecture and structure
  • Custom Resource Definitions (StaticValidation, DynamicValidation)
  • Operator versioning strategy
  • Working with manifests guide

Test plan

  • Run kubeasy setup on a fresh cluster
  • Verify all applications sync successfully without manual intervention
  • Confirm no "Unable to find project default" errors
  • Check that resources are deployed in correct order (project → apps → operator)

🤖 Generated with Claude Code

pbrissaud and others added 5 commits October 27, 2025 19:19
Add a dedicated ArgoCD project for Kubeasy platform to avoid race conditions with the default project during initial setup.

Changes:
- Create kubeasy AppProject with permissive settings for setup and challenges
- Update all applications to use kubeasy project instead of default
- Add sync waves to ensure proper deployment order:
  - Wave -1: kubeasy project (created first)
  - Wave 0: ArgoCD and Kyverno (parallel deployment)
  - Wave 1: Challenge operator (depends on Kyverno)
- Add CLAUDE.md documentation for the repository

This fixes the "Unable to find project default" error that occurred when running kubeasy setup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Change all applications to use 'default' project instead of 'kubeasy'
- Replace 'name: in-cluster' with 'server: https://kubernetes.default.svc'
  (ArgoCD Core doesn't support in-cluster shorthand)
- Remove kubeasy-project.yaml (no longer needed, using default project)
- Fixes circular dependency where app-of-apps referenced a project it was supposed to create

This resolves the "Application referencing project which does not exist" error
when using ArgoCD Core installation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
ArgoCD Core doesn't auto-create cluster secrets like full ArgoCD.
Removing the server field makes it use the local cluster implicitly.
@pbrissaud pbrissaud closed this Nov 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants