ArgoCD app-of-apps repository for the free cluster at free.cadenya.com.
ArgoCD watches apps/ on main and automatically syncs each Application to the cluster.
- Create a new file in
apps/(e.g.,apps/free-my-service.yaml) pointing to the service's repo. - The service repo must be named
free-*(e.g.,cadenya/free-faker-mcp) to match the ArgoCD project source allowlist. - The service repo should contain a
k8s/directory with its Kubernetes manifests.
Services use GKE Gateway API with path-based routing. The Gateway resource free-gateway already exists in the free namespace with gatewayClassName: gke-l7-regional-external-managed, listening on port 80.
Each service should define an HTTPRoute in its k8s/ directory referencing the gateway:
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: faker-mcp
namespace: free
spec:
parentRefs:
- name: free-gateway
namespace: free
rules:
- matches:
- path:
type: PathPrefix
value: /faker-mcp
filters:
- type: URLRewrite
urlRewrite:
path:
type: ReplacePrefixMatch
replacePrefixMatch: /
backendRefs:
- name: free-faker-mcp
port: 8080apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: free-my-service
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: free
source:
repoURL: https://github.com/cadenya/free-my-service.git
targetRevision: main
path: k8s
destination:
name: free
namespace: free
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=false