Skip to content

Conversation

@kvaps
Copy link
Member

@kvaps kvaps commented Jan 15, 2026

What this PR does

  • Move common-envs.mk and package.mk from scripts/ to hack/ directory
  • Update all Makefile includes to use new paths
  • Remove unused issue-flux-certificates.sh script

Release note

[refactor] Move build scripts from scripts/ to hack/ directory

Summary by CodeRabbit

  • Chores
    • Reorganized build infrastructure by consolidating helper scripts and configuration paths.
    • Removed deprecated script from the build tooling.

✏️ Tip: You can customize this high-level summary in your review settings.

Move common-envs.mk and package.mk from scripts/ to hack/ directory.
Update all Makefile includes to use new paths. Remove unused
issue-flux-certificates.sh script.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 15, 2026

📝 Walkthrough

Walkthrough

This pull request migrates Makefile includes and auxiliary scripts from a scripts/ directory to a hack/ directory across the entire project structure. Additionally, a TLS certificate provisioning script is deleted. The changes are systematic path updates affecting build-time configuration sourcing.

Changes

Cohort / File(s) Summary
Root-level Makefile
Makefile
Added include directive for hack/common-envs.mk to load shared environment settings.
packages/apps/* Makefiles
packages/apps/Makefile, packages/apps/bucket/Makefile, packages/apps/clickhouse/Makefile, packages/apps/ferretdb/Makefile, packages/apps/foundationdb/Makefile, packages/apps/http-cache/Makefile, packages/apps/kafka/Makefile, packages/apps/kubernetes/Makefile, packages/apps/mysql/Makefile, packages/apps/nats/Makefile, packages/apps/postgres/Makefile, packages/apps/rabbitmq/Makefile, packages/apps/redis/Makefile, packages/apps/tcp-balancer/Makefile, packages/apps/tenant/Makefile, packages/apps/virtual-machine/Makefile, packages/apps/vm-disk/Makefile, packages/apps/vm-instance/Makefile, packages/apps/vpc/Makefile, packages/apps/vpn/Makefile
Updated include paths from scripts/ to hack/ for common-envs.mk and/or package.mk. Some files also added or removed update-crd.sh invocations in generate targets.
packages/core/* Makefiles
packages/core/flux-aio/Makefile, packages/core/installer/Makefile, packages/core/platform/Makefile, packages/core/talos/Makefile, packages/core/testing/Makefile
Updated include paths from ../../../scripts/common-envs.mk to ../../../hack/common-envs.mk.
packages/extra/* Makefiles
packages/extra/Makefile, packages/extra/bootbox/Makefile, packages/extra/etcd/Makefile, packages/extra/info/Makefile, packages/extra/ingress/Makefile, packages/extra/monitoring/Makefile, packages/extra/seaweedfs/Makefile
Updated include paths from scripts/ to hack/ for common-envs.mk and/or package.mk. Some files added or removed update-crd.sh invocations.
packages/library/* Makefiles
packages/library/Makefile, packages/library/cozy-lib/Makefile
Updated include paths from scripts/ to hack/ for common-envs.mk and/or package.mk.
packages/system/* Makefiles (70+ files)
packages/system/Makefile, packages/system/backup-controller/Makefile, packages/system/backupstrategy-controller/Makefile, packages/system/bootbox-rd/Makefile, packages/system/bootbox/Makefile, packages/system/bucket-rd/Makefile, packages/system/bucket/Makefile, packages/system/capi-operator/Makefile, packages/system/capi-providers-*/Makefile (4 files), packages/system/cert-manager*/Makefile (3 files), packages/system/cilium*/Makefile (2 files), packages/system/clickhouse-*/Makefile (2 files), packages/system/coredns/Makefile, packages/system/cozy-proxy/Makefile, packages/system/cozystack-*/Makefile (3 files), packages/system/dashboard/Makefile, packages/system/etcd-*/Makefile (2 files), packages/system/external-*/Makefile (2 files), packages/system/ferretdb-rd/Makefile, packages/system/fluxcd-*/Makefile (2 files), packages/system/foundationdb-*/Makefile (2 files), packages/system/gateway-api-crds/Makefile, packages/system/goldpinger/Makefile, packages/system/gpu-operator/Makefile, packages/system/grafana-operator/Makefile, packages/system/hetzner-robotlb/Makefile, packages/system/http-cache-rd/Makefile, packages/system/info-rd/Makefile, packages/system/ingress-*/Makefile (2 files), packages/system/kafka-*/Makefile (2 files), packages/system/kamaji/Makefile, packages/system/keycloak-*/Makefile (3 files), packages/system/kubeovn-*/Makefile (3 files), packages/system/kubernetes-rd/Makefile, packages/system/kubevirt-*/Makefile (4 files), packages/system/lineage-controller-webhook/Makefile, packages/system/linstor-*/Makefile (2 files), packages/system/mariadb-operator/Makefile, packages/system/metallb/Makefile, packages/system/metrics-server/Makefile, packages/system/monitoring-*/Makefile (2 files), packages/system/multus/Makefile, packages/system/mysql-rd/Makefile, packages/system/nats-*/Makefile (2 files), packages/system/nfs-driver/Makefile, packages/system/objectstorage-controller/Makefile, packages/system/piraeus-operator/Makefile, packages/system/postgres-*/Makefile (2 files), packages/system/prometheus-operator-crds/Makefile, packages/system/rabbitmq-*/Makefile (2 files), packages/system/redis-*/Makefile (2 files), packages/system/reloader/Makefile, packages/system/seaweedfs-*/Makefile (2 files), packages/system/snapshot-controller/Makefile, packages/system/tcp-balancer-rd/Makefile, packages/system/telepresence/Makefile, packages/system/tenant-rd/Makefile, packages/system/velero/Makefile, packages/system/vertical-pod-autoscaler-*/Makefile (2 files), packages/system/victoria-metrics-operator/Makefile, packages/system/virtual-machine-rd/Makefile, packages/system/virtualprivatecloud-rd/Makefile, packages/system/vm-disk-rd/Makefile, packages/system/vm-instance-rd/Makefile, packages/system/vpn-rd/Makefile, packages/system/vsnap-crd/Makefile
Updated include paths from ../../../scripts/ to ../../../hack/ for common-envs.mk and/or package.mk. Several files also added Helm repository and chart pull operations to update targets; others added or removed update-crd.sh invocations.
Script Deletion
scripts/issue-flux-certificates.sh
Removed shell script that provisioned TLS certificates for Flux/Kubernetes integration, including private key generation, CSR creation, certificate signing, and Kubernetes secret management.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 From scripts to hack, our paths do shift,
A grand migration—a refactored gift!
One hundred files now know their way,
To shiny new directories, hip-hip-hooray! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title '[refactor] Move scripts to hack directory' directly and accurately summarizes the main change: relocating build scripts from scripts/ to hack/ directory with corresponding Makefile updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings


📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fd54647 and 3618abe.

📒 Files selected for processing (136)
  • Makefile
  • hack/common-envs.mk
  • hack/package.mk
  • packages/apps/Makefile
  • packages/apps/bucket/Makefile
  • packages/apps/clickhouse/Makefile
  • packages/apps/ferretdb/Makefile
  • packages/apps/foundationdb/Makefile
  • packages/apps/http-cache/Makefile
  • packages/apps/kafka/Makefile
  • packages/apps/kubernetes/Makefile
  • packages/apps/mysql/Makefile
  • packages/apps/nats/Makefile
  • packages/apps/postgres/Makefile
  • packages/apps/rabbitmq/Makefile
  • packages/apps/redis/Makefile
  • packages/apps/tcp-balancer/Makefile
  • packages/apps/tenant/Makefile
  • packages/apps/virtual-machine/Makefile
  • packages/apps/vm-disk/Makefile
  • packages/apps/vm-instance/Makefile
  • packages/apps/vpc/Makefile
  • packages/apps/vpn/Makefile
  • packages/core/flux-aio/Makefile
  • packages/core/installer/Makefile
  • packages/core/platform/Makefile
  • packages/core/talos/Makefile
  • packages/core/testing/Makefile
  • packages/extra/Makefile
  • packages/extra/bootbox/Makefile
  • packages/extra/etcd/Makefile
  • packages/extra/info/Makefile
  • packages/extra/ingress/Makefile
  • packages/extra/monitoring/Makefile
  • packages/extra/seaweedfs/Makefile
  • packages/library/Makefile
  • packages/library/cozy-lib/Makefile
  • packages/system/Makefile
  • packages/system/backup-controller/Makefile
  • packages/system/backupstrategy-controller/Makefile
  • packages/system/bootbox-rd/Makefile
  • packages/system/bootbox/Makefile
  • packages/system/bucket-rd/Makefile
  • packages/system/bucket/Makefile
  • packages/system/capi-operator/Makefile
  • packages/system/capi-providers-bootstrap/Makefile
  • packages/system/capi-providers-core/Makefile
  • packages/system/capi-providers-cpprovider/Makefile
  • packages/system/capi-providers-infraprovider/Makefile
  • packages/system/cert-manager-crds/Makefile
  • packages/system/cert-manager-issuers/Makefile
  • packages/system/cert-manager/Makefile
  • packages/system/cilium-networkpolicy/Makefile
  • packages/system/cilium/Makefile
  • packages/system/clickhouse-operator/Makefile
  • packages/system/clickhouse-rd/Makefile
  • packages/system/coredns/Makefile
  • packages/system/cozy-proxy/Makefile
  • packages/system/cozystack-api/Makefile
  • packages/system/cozystack-basics/Makefile
  • packages/system/cozystack-controller/Makefile
  • packages/system/cozystack-resource-definition-crd/Makefile
  • packages/system/dashboard/Makefile
  • packages/system/etcd-operator/Makefile
  • packages/system/etcd-rd/Makefile
  • packages/system/external-dns/Makefile
  • packages/system/external-secrets-operator/Makefile
  • packages/system/ferretdb-rd/Makefile
  • packages/system/fluxcd-operator/Makefile
  • packages/system/fluxcd/Makefile
  • packages/system/foundationdb-operator/Makefile
  • packages/system/foundationdb-rd/Makefile
  • packages/system/gateway-api-crds/Makefile
  • packages/system/goldpinger/Makefile
  • packages/system/gpu-operator/Makefile
  • packages/system/grafana-operator/Makefile
  • packages/system/hetzner-robotlb/Makefile
  • packages/system/http-cache-rd/Makefile
  • packages/system/info-rd/Makefile
  • packages/system/ingress-nginx/Makefile
  • packages/system/ingress-rd/Makefile
  • packages/system/kafka-operator/Makefile
  • packages/system/kafka-rd/Makefile
  • packages/system/kamaji/Makefile
  • packages/system/keycloak-configure/Makefile
  • packages/system/keycloak-operator/Makefile
  • packages/system/keycloak/Makefile
  • packages/system/kubeovn-plunger/Makefile
  • packages/system/kubeovn-webhook/Makefile
  • packages/system/kubeovn/Makefile
  • packages/system/kubernetes-rd/Makefile
  • packages/system/kubevirt-cdi-operator/Makefile
  • packages/system/kubevirt-cdi/Makefile
  • packages/system/kubevirt-instancetypes/Makefile
  • packages/system/kubevirt-operator/Makefile
  • packages/system/kubevirt/Makefile
  • packages/system/lineage-controller-webhook/Makefile
  • packages/system/linstor-scheduler/Makefile
  • packages/system/linstor/Makefile
  • packages/system/mariadb-operator/Makefile
  • packages/system/metallb/Makefile
  • packages/system/metrics-server/Makefile
  • packages/system/monitoring-agents/Makefile
  • packages/system/monitoring-rd/Makefile
  • packages/system/multus/Makefile
  • packages/system/mysql-rd/Makefile
  • packages/system/nats-rd/Makefile
  • packages/system/nats/Makefile
  • packages/system/nfs-driver/Makefile
  • packages/system/objectstorage-controller/Makefile
  • packages/system/piraeus-operator/Makefile
  • packages/system/postgres-operator/Makefile
  • packages/system/postgres-rd/Makefile
  • packages/system/prometheus-operator-crds/Makefile
  • packages/system/rabbitmq-operator/Makefile
  • packages/system/rabbitmq-rd/Makefile
  • packages/system/redis-operator/Makefile
  • packages/system/redis-rd/Makefile
  • packages/system/reloader/Makefile
  • packages/system/seaweedfs-rd/Makefile
  • packages/system/seaweedfs/Makefile
  • packages/system/snapshot-controller/Makefile
  • packages/system/tcp-balancer-rd/Makefile
  • packages/system/telepresence/Makefile
  • packages/system/tenant-rd/Makefile
  • packages/system/velero/Makefile
  • packages/system/vertical-pod-autoscaler-crds/Makefile
  • packages/system/vertical-pod-autoscaler/Makefile
  • packages/system/victoria-metrics-operator/Makefile
  • packages/system/virtual-machine-rd/Makefile
  • packages/system/virtualprivatecloud-rd/Makefile
  • packages/system/vm-disk-rd/Makefile
  • packages/system/vm-instance-rd/Makefile
  • packages/system/vpn-rd/Makefile
  • packages/system/vsnap-crd/Makefile
  • scripts/issue-flux-certificates.sh
💤 Files with no reviewable changes (1)
  • scripts/issue-flux-certificates.sh
🧰 Additional context used
📓 Path-based instructions (3)
packages/system/**

📄 CodeRabbit inference engine (AGENTS.md)

Use Helm Chart umbrella pattern with vendored upstream charts in charts/ directory

Files:

  • packages/system/tcp-balancer-rd/Makefile
  • packages/system/keycloak/Makefile
  • packages/system/objectstorage-controller/Makefile
  • packages/system/bucket/Makefile
  • packages/system/metallb/Makefile
  • packages/system/cert-manager-issuers/Makefile
  • packages/system/prometheus-operator-crds/Makefile
  • packages/system/external-dns/Makefile
  • packages/system/kubeovn/Makefile
  • packages/system/fluxcd/Makefile
  • packages/system/metrics-server/Makefile
  • packages/system/bootbox-rd/Makefile
  • packages/system/rabbitmq-operator/Makefile
  • packages/system/multus/Makefile
  • packages/system/mysql-rd/Makefile
  • packages/system/kafka-rd/Makefile
  • packages/system/seaweedfs-rd/Makefile
  • packages/system/kubevirt-operator/Makefile
  • packages/system/cilium-networkpolicy/Makefile
  • packages/system/kubevirt-cdi/Makefile
  • packages/system/gateway-api-crds/Makefile
  • packages/system/virtual-machine-rd/Makefile
  • packages/system/linstor/Makefile
  • packages/system/kubernetes-rd/Makefile
  • packages/system/keycloak-configure/Makefile
  • packages/system/bootbox/Makefile
  • packages/system/hetzner-robotlb/Makefile
  • packages/system/victoria-metrics-operator/Makefile
  • packages/system/clickhouse-operator/Makefile
  • packages/system/mariadb-operator/Makefile
  • packages/system/cozystack-resource-definition-crd/Makefile
  • packages/system/snapshot-controller/Makefile
  • packages/system/vsnap-crd/Makefile
  • packages/system/kubevirt-cdi-operator/Makefile
  • packages/system/clickhouse-rd/Makefile
  • packages/system/backupstrategy-controller/Makefile
  • packages/system/tenant-rd/Makefile
  • packages/system/virtualprivatecloud-rd/Makefile
  • packages/system/backup-controller/Makefile
  • packages/system/capi-providers-bootstrap/Makefile
  • packages/system/nfs-driver/Makefile
  • packages/system/vertical-pod-autoscaler-crds/Makefile
  • packages/system/capi-operator/Makefile
  • packages/system/ingress-nginx/Makefile
  • packages/system/rabbitmq-rd/Makefile
  • packages/system/vm-disk-rd/Makefile
  • packages/system/vpn-rd/Makefile
  • packages/system/grafana-operator/Makefile
  • packages/system/nats-rd/Makefile
  • packages/system/http-cache-rd/Makefile
  • packages/system/cozystack-controller/Makefile
  • packages/system/redis-operator/Makefile
  • packages/system/postgres-rd/Makefile
  • packages/system/velero/Makefile
  • packages/system/capi-providers-infraprovider/Makefile
  • packages/system/capi-providers-cpprovider/Makefile
  • packages/system/ingress-rd/Makefile
  • packages/system/gpu-operator/Makefile
  • packages/system/dashboard/Makefile
  • packages/system/info-rd/Makefile
  • packages/system/monitoring-agents/Makefile
  • packages/system/cozystack-api/Makefile
  • packages/system/lineage-controller-webhook/Makefile
  • packages/system/kubeovn-webhook/Makefile
  • packages/system/piraeus-operator/Makefile
  • packages/system/linstor-scheduler/Makefile
  • packages/system/fluxcd-operator/Makefile
  • packages/system/cozystack-basics/Makefile
  • packages/system/cert-manager/Makefile
  • packages/system/nats/Makefile
  • packages/system/redis-rd/Makefile
  • packages/system/kafka-operator/Makefile
  • packages/system/kubevirt-instancetypes/Makefile
  • packages/system/ferretdb-rd/Makefile
  • packages/system/cozy-proxy/Makefile
  • packages/system/etcd-rd/Makefile
  • packages/system/bucket-rd/Makefile
  • packages/system/seaweedfs/Makefile
  • packages/system/vertical-pod-autoscaler/Makefile
  • packages/system/external-secrets-operator/Makefile
  • packages/system/kamaji/Makefile
  • packages/system/vm-instance-rd/Makefile
  • packages/system/capi-providers-core/Makefile
  • packages/system/foundationdb-rd/Makefile
  • packages/system/kubevirt/Makefile
  • packages/system/postgres-operator/Makefile
  • packages/system/cert-manager-crds/Makefile
  • packages/system/reloader/Makefile
  • packages/system/kubeovn-plunger/Makefile
  • packages/system/Makefile
  • packages/system/keycloak-operator/Makefile
  • packages/system/foundationdb-operator/Makefile
  • packages/system/coredns/Makefile
  • packages/system/telepresence/Makefile
  • packages/system/cilium/Makefile
  • packages/system/monitoring-rd/Makefile
  • packages/system/goldpinger/Makefile
  • packages/system/etcd-operator/Makefile
packages/apps/**

📄 CodeRabbit inference engine (AGENTS.md)

Use Helm Chart umbrella pattern with vendored upstream charts in charts/ directory

Files:

  • packages/apps/vm-instance/Makefile
  • packages/apps/mysql/Makefile
  • packages/apps/foundationdb/Makefile
  • packages/apps/kubernetes/Makefile
  • packages/apps/vpc/Makefile
  • packages/apps/clickhouse/Makefile
  • packages/apps/postgres/Makefile
  • packages/apps/kafka/Makefile
  • packages/apps/http-cache/Makefile
  • packages/apps/redis/Makefile
  • packages/apps/tenant/Makefile
  • packages/apps/ferretdb/Makefile
  • packages/apps/virtual-machine/Makefile
  • packages/apps/rabbitmq/Makefile
  • packages/apps/tcp-balancer/Makefile
  • packages/apps/vpn/Makefile
  • packages/apps/Makefile
  • packages/apps/bucket/Makefile
  • packages/apps/vm-disk/Makefile
  • packages/apps/nats/Makefile
packages/core/**

📄 CodeRabbit inference engine (AGENTS.md)

Use Helm Chart umbrella pattern with vendored upstream charts in charts/ directory

Files:

  • packages/core/flux-aio/Makefile
  • packages/core/installer/Makefile
  • packages/core/testing/Makefile
  • packages/core/platform/Makefile
  • packages/core/talos/Makefile
🧠 Learnings (9)
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/core/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory

Applied to files:

  • packages/system/metallb/Makefile
  • packages/system/prometheus-operator-crds/Makefile
  • packages/system/external-dns/Makefile
  • packages/system/metrics-server/Makefile
  • packages/system/bootbox/Makefile
  • packages/system/hetzner-robotlb/Makefile
  • packages/system/victoria-metrics-operator/Makefile
  • packages/system/clickhouse-operator/Makefile
  • packages/system/mariadb-operator/Makefile
  • packages/system/snapshot-controller/Makefile
  • packages/system/nfs-driver/Makefile
  • packages/system/capi-operator/Makefile
  • packages/system/ingress-nginx/Makefile
  • packages/system/velero/Makefile
  • packages/system/piraeus-operator/Makefile
  • packages/system/cert-manager/Makefile
  • packages/system/nats/Makefile
  • packages/system/kafka-operator/Makefile
  • packages/system/seaweedfs/Makefile
  • packages/system/vertical-pod-autoscaler/Makefile
  • packages/system/external-secrets-operator/Makefile
  • packages/system/postgres-operator/Makefile
  • packages/system/cert-manager-crds/Makefile
  • packages/system/Makefile
  • packages/system/keycloak-operator/Makefile
  • packages/system/foundationdb-operator/Makefile
  • packages/system/coredns/Makefile
  • packages/system/telepresence/Makefile
  • packages/system/cilium/Makefile
  • packages/system/goldpinger/Makefile
  • packages/system/etcd-operator/Makefile
📚 Learning: 2025-07-23T09:15:09.658Z
Learnt from: lllamnyp
Repo: cozystack/cozystack PR: 1233
File: packages/system/hetzner-robotlb/charts/robotlb/templates/deployment.yaml:33-35
Timestamp: 2025-07-23T09:15:09.658Z
Learning: The `./charts/robotlb/` directory in the hetzner-robotlb package contains vendored code, and the team generally avoids modifying vendored code to maintain clean separation from upstream dependencies.

Applied to files:

  • packages/system/metallb/Makefile
  • packages/system/external-dns/Makefile
  • packages/system/kubernetes-rd/Makefile
  • packages/system/hetzner-robotlb/Makefile
  • packages/system/clickhouse-operator/Makefile
  • packages/system/mariadb-operator/Makefile
  • packages/system/nfs-driver/Makefile
  • packages/system/capi-operator/Makefile
  • packages/system/ingress-nginx/Makefile
  • packages/system/velero/Makefile
  • packages/system/piraeus-operator/Makefile
  • packages/system/linstor-scheduler/Makefile
  • packages/system/cert-manager/Makefile
  • packages/system/nats/Makefile
  • packages/system/vertical-pod-autoscaler/Makefile
  • packages/system/cert-manager-crds/Makefile
  • packages/system/Makefile
  • packages/system/foundationdb-operator/Makefile
  • packages/system/coredns/Makefile
  • packages/system/telepresence/Makefile
  • packages/system/goldpinger/Makefile
  • packages/system/etcd-operator/Makefile
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/system/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory

Applied to files:

  • packages/system/metallb/Makefile
  • packages/system/external-dns/Makefile
  • packages/system/metrics-server/Makefile
  • packages/system/hetzner-robotlb/Makefile
  • packages/system/victoria-metrics-operator/Makefile
  • packages/system/clickhouse-operator/Makefile
  • packages/system/mariadb-operator/Makefile
  • packages/system/nfs-driver/Makefile
  • packages/system/capi-operator/Makefile
  • packages/system/ingress-nginx/Makefile
  • packages/system/velero/Makefile
  • packages/system/piraeus-operator/Makefile
  • packages/system/cert-manager/Makefile
  • packages/system/seaweedfs/Makefile
  • packages/system/vertical-pod-autoscaler/Makefile
  • packages/system/Makefile
  • packages/system/foundationdb-operator/Makefile
  • packages/system/coredns/Makefile
  • packages/system/telepresence/Makefile
  • packages/system/etcd-operator/Makefile
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/apps/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory

Applied to files:

  • packages/system/metallb/Makefile
  • packages/system/external-dns/Makefile
  • packages/system/metrics-server/Makefile
  • packages/system/hetzner-robotlb/Makefile
  • packages/system/clickhouse-operator/Makefile
  • packages/system/mariadb-operator/Makefile
  • packages/system/capi-operator/Makefile
  • packages/system/ingress-nginx/Makefile
  • packages/system/velero/Makefile
  • packages/system/piraeus-operator/Makefile
  • packages/system/cert-manager/Makefile
  • packages/system/seaweedfs/Makefile
  • packages/system/vertical-pod-autoscaler/Makefile
  • packages/system/Makefile
  • packages/system/foundationdb-operator/Makefile
  • packages/system/coredns/Makefile
  • packages/system/telepresence/Makefile
  • packages/apps/Makefile
  • packages/system/etcd-operator/Makefile
📚 Learning: 2025-07-14T16:23:12.803Z
Learnt from: NickVolynkin
Repo: cozystack/cozystack PR: 1196
File: packages/apps/http-cache/Makefile:24-27
Timestamp: 2025-07-14T16:23:12.803Z
Learning: In the cozystack repository, the `readme-generator` tool removes enum contents from values.schema.json files during its operation. Therefore, when using readme-generator in Makefiles, any enum values need to be injected back into the schema using yq commands after readme-generator has run, not before.

Applied to files:

  • packages/apps/vm-instance/Makefile
  • packages/apps/foundationdb/Makefile
  • packages/apps/vpc/Makefile
  • packages/apps/postgres/Makefile
  • packages/extra/etcd/Makefile
  • packages/library/cozy-lib/Makefile
  • packages/extra/info/Makefile
  • packages/apps/redis/Makefile
  • packages/apps/tenant/Makefile
  • packages/apps/ferretdb/Makefile
  • packages/apps/virtual-machine/Makefile
  • packages/apps/rabbitmq/Makefile
  • packages/apps/tcp-balancer/Makefile
  • packages/apps/vpn/Makefile
  • packages/apps/bucket/Makefile
  • packages/apps/vm-disk/Makefile
  • packages/apps/nats/Makefile
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to pkg/**/*.go : Follow controller-runtime patterns and kubebuilder style for Go code in pkg directory

Applied to files:

  • packages/apps/kubernetes/Makefile
📚 Learning: 2025-11-28T21:26:10.771Z
Learnt from: kvaps
Repo: cozystack/cozystack PR: 1671
File: packages/apps/postgres/files/versions.yaml:1-6
Timestamp: 2025-11-28T21:26:10.771Z
Learning: In packages/apps/postgres/files/versions.yaml, the version mappings are sourced from the CloudNativePG container registry (ghcr.io/cloudnative-pg/postgresql), not from PostgreSQL project releases. The versions should reflect what's actually published in the CloudNativePG registry, which is automatically fetched by the hack/update-versions.sh script.

Applied to files:

  • packages/apps/postgres/Makefile
  • packages/system/postgres-rd/Makefile
  • packages/system/postgres-operator/Makefile
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to **/*.yaml : Do NOT directly edit upstream Helm charts in vendored charts directory; use proper chart vendoring mechanisms

Applied to files:

  • packages/system/ingress-nginx/Makefile
  • packages/system/Makefile
📚 Learning: 2025-06-04T06:22:17.306Z
Learnt from: lllamnyp
Repo: cozystack/cozystack PR: 1025
File: packages/apps/kafka/charts/cozy-lib:1-1
Timestamp: 2025-06-04T06:22:17.306Z
Learning: Files in packages/apps/*/charts/cozy-lib that contain the path "../../../library/cozy-lib" are symbolic links, not regular files. Git diffs may display symlinks as regular files with their target path as content, which can be misleading in code review.

Applied to files:

  • packages/library/cozy-lib/Makefile
🪛 checkmake (0.2.2)
packages/apps/vm-instance/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/foundationdb/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/vpc/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/postgres/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/kafka/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/system/nats/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/library/cozy-lib/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/redis/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/tenant/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/ferretdb/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/system/cert-manager-crds/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/virtual-machine/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/rabbitmq/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/tcp-balancer/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/system/goldpinger/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/vpn/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/bucket/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/vm-disk/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

packages/apps/nats/Makefile

[warning] 1-1: Missing required phony target "all"

(minphony)


[warning] 1-1: Missing required phony target "clean"

(minphony)


[warning] 1-1: Missing required phony target "test"

(minphony)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build
🔇 Additional comments (138)
packages/system/kubevirt-cdi/Makefile (1)

4-4: LGTM!

The include path update to ../../../hack/package.mk is correct for this directory depth and aligns with the refactoring objective.

packages/apps/tenant/Makefile (1)

1-1: LGTM!

The include path update is correct and consistent with the overall refactoring. The static analysis warnings about missing phony targets are false positives—these package-specific Makefiles delegate common targets to the included package.mk.

packages/extra/seaweedfs/Makefile (1)

3-3: LGTM!

The include path update to ../../../hack/package.mk is correct and consistent with the refactoring.

packages/system/prometheus-operator-crds/Makefile (1)

4-4: LGTM!

The include path update is correct for this directory depth and aligns with the refactoring objective.

packages/apps/nats/Makefile (1)

1-1: LGTM!

The include path update is correct and consistent with the refactoring. The static analysis warnings about missing phony targets are false positives—these package-specific Makefiles delegate common targets to the included package.mk.

packages/system/velero/Makefile (1)

4-4: LGTM!

The include path update is consistent with the repository-wide migration from scripts/ to hack/. The update target correctly follows the Helm Chart umbrella pattern with vendored charts.

packages/system/foundationdb-operator/Makefile (1)

4-4: LGTM!

The include path update aligns with the migration. The update target appropriately handles vendored chart setup with proper CRD file handling.

packages/system/metrics-server/Makefile (1)

4-4: LGTM!

The include path update is consistent with the repository-wide refactor. Based on learnings, this follows the Helm Chart umbrella pattern.

packages/system/external-dns/Makefile (1)

4-4: LGTM!

The include path update completes the consistent migration across all reviewed Makefiles in this PR.

packages/system/cert-manager-issuers/Makefile (1)

4-4: Include path is correct and consistent with other packages.

The relative path ../../../hack/package.mk correctly navigates from packages/system/cert-manager-issuers/ to the repository root's hack/ directory, matching the pattern used by all other packages in packages/system/.

packages/apps/vm-instance/Makefile (1)

1-1: LGTM!

The include path update to hack/package.mk is consistent with the PR's refactoring objective. Note that line 9 already references ../../../hack/update-crd.sh, so this change aligns the include path with the existing convention for build utilities.

packages/system/cilium-networkpolicy/Makefile (1)

4-5: LGTM!

Both include paths correctly updated from scripts/ to hack/. The change is consistent with the broader refactoring across the repository.

packages/apps/virtual-machine/Makefile (1)

1-1: LGTM!

The include path update is consistent with the PR objectives. The generate target already uses ../../../hack/update-crd.sh (line 10), so this aligns the include directive with the established convention.

packages/system/rabbitmq-rd/Makefile (1)

4-4: LGTM!

Straightforward include path migration from scripts/ to hack/.

packages/system/monitoring-agents/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk. The update target for pulling Helm charts remains unchanged.

packages/system/kubevirt-operator/Makefile (1)

4-4: LGTM!

The include path update from ../../../scripts/package.mk to ../../../hack/package.mk is consistent with the PR objective to relocate build scripts to the hack/ directory. The relative path depth is correct for this package location.

packages/system/cozystack-controller/Makefile (1)

4-5: LGTM!

Both include path updates are correctly migrated from ../../../scripts/ to ../../../hack/. The relative path depth matches the package location, and the change is consistent with the repository-wide migration.

packages/system/capi-providers-infraprovider/Makefile (1)

4-4: LGTM!

The include path update is correctly migrated to ../../../hack/package.mk, consistent with the PR's refactoring objective.

packages/apps/vm-disk/Makefile (2)

1-1: LGTM!

The include path update to ../../../hack/package.mk is correct and consistent with the repository-wide migration.


3-5: The hack/update-crd.sh script exists and the change is consistent with other packages.

The addition to the generate target correctly references ../../../hack/update-crd.sh (which resolves to hack/update-crd.sh from the repository root). This pattern is present in 18 other packages across packages/apps/, confirming consistency. The package structure follows the required Helm Chart umbrella pattern with vendored upstream charts in the charts/ directory.

packages/library/Makefile (1)

4-4: LGTM!

The include path update to ../../hack/common-envs.mk is correct. The relative path depth (../../) is appropriate for this package location (two levels deep from repository root).

packages/system/dashboard/Makefile (1)

4-5: LGTM!

The include paths are correctly updated to reference the new hack/ directory location. This is consistent with the PR's objective of consolidating build scripts.

packages/system/vsnap-crd/Makefile (1)

4-4: LGTM!

The include path is correctly updated to the new hack/ directory location.

packages/extra/monitoring/Makefile (1)

5-6: LGTM!

The include paths are correctly updated to reference the new hack/ directory location. The existing reference to ../../../hack/update-crd.sh on line 10 is already consistent with this directory structure.

packages/system/kafka-operator/Makefile (1)

4-4: LGTM!

The include path is correctly updated to the new hack/ directory location.

packages/apps/bucket/Makefile (2)

1-1: LGTM!

The include path is correctly updated to the new hack/ directory location.


3-6: Generate target looks correct.

The target properly chains the schema generation with cozyvalues-gen, clears properties with yq, and runs the CRD update script. Based on learnings, the yq command to reset .properties = {} aligns with the pattern where schema modifications need to happen after tool processing.

packages/extra/Makefile (1)

4-4: LGTM!

The include path correctly references ../../hack/common-envs.mk from packages/extra/, which resolves to the repository root's hack/ directory.

packages/system/gateway-api-crds/Makefile (1)

4-4: LGTM!

The include path correctly references ../../../hack/package.mk from packages/system/gateway-api-crds/, resolving to the repository root's hack/ directory.

packages/system/snapshot-controller/Makefile (1)

4-4: LGTM!

The include path correctly references ../../../hack/package.mk. The update target appropriately vendors the upstream chart into the charts/ directory, consistent with the Helm Chart umbrella pattern.

packages/core/installer/Makefile (1)

4-4: LGTM!

The include path correctly references ../../../hack/common-envs.mk. This change also makes the file internally consistent, as Line 7 already references ../../../hack/pre-checks.sh.

packages/system/capi-providers-cpprovider/Makefile (1)

4-4: LGTM!

The include path correctly references ../../../hack/package.mk from packages/system/capi-providers-cpprovider/.

packages/system/external-secrets-operator/Makefile (1)

4-4: LGTM!

The include path correctly points to hack/package.mk with the appropriate relative path for this file's location (3 directories deep from repository root).

packages/apps/kubernetes/Makefile (1)

4-5: LGTM!

The include paths are correctly updated. The order of includes (common-envs.mk before package.mk) is preserved, and this aligns with the existing hack/ directory references on lines 9 and 12.

packages/system/redis-operator/Makefile (1)

5-6: LGTM!

The include paths are correctly updated to reference the new hack/ directory location with proper relative paths.

packages/system/info-rd/Makefile (1)

4-4: LGTM!

The include path is correctly updated to reference hack/package.mk.

packages/extra/ingress/Makefile (1)

3-3: LGTM!

The include path correctly references hack/package.mk which exists, and the path depth is consistent with the existing ../../../hack/update-crd.sh reference in the same file.

packages/system/vm-instance-rd/Makefile (1)

4-4: LGTM!

The include path update from scripts/package.mk to hack/package.mk is correct. The relative path depth (../../../) is appropriate for this file's location.

packages/system/kubevirt-instancetypes/Makefile (1)

4-4: LGTM!

Include path correctly updated to reference hack/package.mk. The update target and other logic remain unchanged and functional.

packages/core/testing/Makefile (1)

9-9: LGTM!

Include path correctly updated to hack/common-envs.mk. The relative path depth matches this file's location under packages/core/testing/.

packages/system/fluxcd/Makefile (1)

4-4: LGTM!

Include path correctly updated. The apply-locally and update targets remain unaffected.

packages/system/mysql-rd/Makefile (1)

4-4: Include path correctly updated to hack/package.mk.

The include file exists and the relative path resolves correctly from packages/system/mysql-rd/. The hack/package.mk file is present at the expected location.

Note: packages/system/mysql-rd/ does not contain a charts/ directory, which may be contrary to the coding guideline requiring use of the Helm Chart umbrella pattern with vendored upstream charts. However, this appears to be a pre-existing condition shared by 56+ other packages in the same directory.

packages/system/cert-manager-crds/Makefile (1)

1-1: LGTM!

The include path correctly references ../../../hack/package.mk, which is the proper relative path from this Makefile's location to the new hack/ directory at the repository root.

Note: The static analysis warnings about missing all, clean, and test phony targets are false positives—this is a specialized Makefile for updating vendored charts and follows the existing pattern in the codebase.

packages/system/Makefile (1)

5-5: LGTM!

The include path correctly references ../../hack/common-envs.mk, which is the proper relative path from packages/system/ to the new hack/ directory.

packages/system/kubeovn-webhook/Makefile (1)

4-5: LGTM!

Both include paths correctly reference ../../../hack/common-envs.mk and ../../../hack/package.mk, which are the proper relative paths from this Makefile's location to the new hack/ directory.

packages/system/bootbox-rd/Makefile (1)

4-4: LGTM!

The include path correctly references ../../../hack/package.mk, which is the proper relative path from this Makefile's location to the new hack/ directory.

packages/system/cozystack-api/Makefile (1)

4-5: LGTM!

Both include paths correctly reference ../../../hack/common-envs.mk and ../../../hack/package.mk, which are the proper relative paths from this Makefile's location to the new hack/ directory.

packages/extra/info/Makefile (1)

3-3: LGTM!

The include path correctly references ../../../hack/package.mk, and the relative path depth is accurate for this file's location. The update-crd.sh reference on line 8 is also consistent with the hack/ directory structure.

packages/apps/redis/Makefile (1)

1-1: LGTM!

The include path correctly references ../../../hack/package.mk. The static analysis warnings about missing all, clean, and test phony targets are false positives—these targets are provided by the included package.mk file.

packages/system/kubernetes-rd/Makefile (1)

4-4: LGTM!

The include path correctly references ../../../hack/package.mk, consistent with the repo-wide migration.

packages/system/redis-rd/Makefile (1)

4-4: LGTM!

The include path correctly references ../../../hack/package.mk, consistent with the repo-wide migration.

packages/system/cozystack-basics/Makefile (1)

4-4: LGTM!

The include path correctly references ../../../hack/package.mk, consistent with the repo-wide migration.

packages/system/postgres-rd/Makefile (1)

4-4: LGTM!

The include path update is correct and consistent with the PR's objective to relocate build scripts to the hack/ directory.

packages/apps/ferretdb/Makefile (1)

1-1: LGTM!

The include path update aligns with the PR's migration to hack/. Line 5 already references ../../../hack/update-crd.sh, so this change makes the include path consistent with the existing convention.

packages/apps/vpc/Makefile (1)

1-1: LGTM!

The include path update is consistent with the PR objective and aligns with the existing hack/ reference on line 5.

packages/system/ingress-rd/Makefile (1)

4-4: LGTM!

The include path update is correct and consistent with the PR's objective.

packages/system/goldpinger/Makefile (2)

1-1: LGTM!

The include path update is correct and consistent with the PR's migration to hack/.


3-7: Update target follows project conventions.

The update target correctly implements the Helm Chart umbrella pattern by vendoring the upstream goldpinger chart into the charts/ directory, which aligns with the coding guidelines for packages/system/**.

packages/apps/mysql/Makefile (1)

3-4: LGTM - Include paths correctly updated.

Both common-envs.mk and package.mk paths properly updated to the new hack/ location.

packages/extra/etcd/Makefile (2)

3-3: LGTM - Include path correctly updated.

The path update from scripts/package.mk to hack/package.mk is correct.


5-7: Note: AI summary inconsistency.

The AI-generated summary for this file states that "the generate target no longer invokes ../../../hack/update-crd.sh (the line calling update-crd.sh has been removed)," but line 7 clearly shows the update-crd.sh invocation is still present and unchanged. The summary appears to be incorrect.

packages/system/vpn-rd/Makefile (1)

4-4: LGTM - Include path correctly updated.

The path update to hack/package.mk aligns with the repo-wide refactor.

packages/library/cozy-lib/Makefile (1)

1-2: LGTM - Include paths correctly updated.

Both common-envs.mk and package.mk paths properly updated to the new hack/ location.

packages/apps/tcp-balancer/Makefile (1)

1-1: Include path correctly updated to hack/package.mk.

The file exists and the change aligns with the standard pattern used consistently across all apps in packages/apps/. The tcp-balancer directory properly follows the Helm Chart umbrella pattern with vendored upstream charts in the charts/ directory.

packages/system/etcd-rd/Makefile (1)

4-4: LGTM!

The include path update to hack/package.mk is correct and aligns with the project-wide refactoring to consolidate build scripts in the hack/ directory.

packages/core/platform/Makefile (1)

4-4: LGTM!

The include path update to hack/common-envs.mk is correct and consistent with the broader refactoring effort.

packages/system/rabbitmq-operator/Makefile (1)

4-4: LGTM!

The include path update to hack/package.mk is correct and consistent with the project-wide migration.

packages/system/linstor/Makefile (1)

4-5: LGTM!

Both include path updates to hack/common-envs.mk and hack/package.mk are correct. This Makefile appropriately includes both shared environment definitions and package build rules.

packages/system/nats/Makefile (1)

1-1: LGTM!

The include path update to hack/package.mk is correct and consistent with the project-wide refactoring.

Note: The static analysis hints about missing all, clean, and test phony targets are false positives — these targets are typically provided by the included package.mk and this pattern is consistent across all package Makefiles in the repository.

packages/system/kubeovn-plunger/Makefile (1)

4-5: LGTM!

The include paths are correctly updated to reference the new hack/ directory location. The relative path depth (../../../) is accurate for this file's position in packages/system/kubeovn-plunger/.

packages/system/gpu-operator/Makefile (1)

4-5: LGTM!

Include paths correctly updated to the new hack/ directory.

packages/system/ingress-nginx/Makefile (1)

3-3: LGTM!

Include path correctly updated. This Makefile appropriately only includes package.mk (not common-envs.mk), which matches its original structure.

packages/system/keycloak-operator/Makefile (1)

4-5: LGTM!

Include paths correctly updated to the new hack/ directory. The Makefile structure properly supports the Helm Chart umbrella pattern with vendored upstream charts. Based on learnings and coding guidelines.

packages/system/tcp-balancer-rd/Makefile (1)

4-4: LGTM!

Include path correctly updated to the new hack/ directory location.

packages/system/cert-manager/Makefile (1)

4-4: LGTM!

The include path update to hack/package.mk is consistent with the PR's refactoring objective. The relative path depth is correct for this package location.

packages/system/vertical-pod-autoscaler/Makefile (1)

4-4: LGTM!

Include path correctly updated to reference the new hack/ directory location.

packages/apps/http-cache/Makefile (1)

3-4: LGTM!

Both include paths correctly updated to reference hack/common-envs.mk and hack/package.mk. The existing update-crd.sh reference at line 21 already points to hack/, so this change brings consistency to all script references.

packages/system/coredns/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk.

packages/system/kafka-rd/Makefile (1)

4-4: Include path correctly references existing file, but verify architectural pattern compliance.

The Makefile's include of ../../../hack/package.mk is correct and the file exists. However, kafka-rd uses cozyrds/ instead of the charts/ directory pattern specified in the coding guidelines for packages/system/** packages. This pattern is consistent across all "-rd" packages in the codebase, suggesting either an undocumented exception or a broader architectural decision that should be clarified against the stated Helm Chart umbrella pattern requirement.

packages/system/grafana-operator/Makefile (1)

4-5: LGTM!

The include paths are correctly updated to reference the new hack/ directory location. The relative path depth (../../../) is appropriate for files under packages/system/.

packages/system/virtual-machine-rd/Makefile (1)

4-4: LGTM!

The include path is correctly updated to hack/package.mk.

packages/apps/foundationdb/Makefile (1)

1-1: LGTM!

The include path is correctly updated to hack/package.mk. The static analysis warnings about missing phony targets (all, clean, test) are false positives — these targets are expected to be defined in the included package.mk file.

packages/system/piraeus-operator/Makefile (1)

4-4: LGTM!

The include path is correctly updated to hack/package.mk.

packages/system/keycloak/Makefile (1)

4-5: LGTM!

The include paths are correctly updated to reference the new hack/ directory location.

packages/system/vm-disk-rd/Makefile (1)

4-4: LGTM!

The include path update from scripts/ to hack/ is consistent with the PR's refactoring objective. The relative path depth is correct for this package location.

packages/system/cozy-proxy/Makefile (1)

4-5: LGTM!

Both include paths correctly updated to reference hack/ directory. The update target logic remains unchanged.

packages/system/monitoring-rd/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk.

packages/system/linstor-scheduler/Makefile (1)

4-4: LGTM!

Include path correctly updated. The update target continues to vendor upstream helm charts as expected per the project's umbrella pattern.

packages/apps/kafka/Makefile (1)

1-1: LGTM!

Include path correctly updated to hack/package.mk.

Regarding the static analysis warnings about missing all, clean, and test phony targets: these are false positives since package.mk is included and provides the standard build targets for this project's Makefiles.

packages/system/clickhouse-rd/Makefile (1)

4-4: LGTM!

The include path is correctly updated to reference hack/package.mk, consistent with the PR's objective to consolidate build scripts in the hack/ directory.

packages/system/http-cache-rd/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk.

packages/system/kubevirt-cdi-operator/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk. The update target remains unchanged as expected.

packages/apps/rabbitmq/Makefile (2)

1-1: LGTM!

Include path correctly updated to hack/package.mk.


3-5: AI summary inconsistency detected.

The AI summary states that the update-crd.sh invocation was removed from the generate target, but the code shows it is still present on line 5. The current implementation correctly retains the CRD update step in the generate workflow.

packages/system/clickhouse-operator/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk. The update target properly follows the Helm Chart umbrella pattern by vendoring the upstream chart into the charts/ directory. Based on coding guidelines.

packages/system/fluxcd-operator/Makefile (1)

4-4: LGTM!

The include path update to hack/package.mk is correct and consistent with the PR's objective to consolidate build scripts in the hack/ directory.

packages/system/metallb/Makefile (1)

4-5: LGTM!

Both include paths correctly updated to reference the hack/ directory. The relative path depth is appropriate for this file's location.

packages/system/multus/Makefile (1)

4-5: LGTM!

Include paths correctly updated to reference hack/common-envs.mk and hack/package.mk.

packages/system/hetzner-robotlb/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk.

packages/system/lineage-controller-webhook/Makefile (1)

4-5: LGTM!

Include paths correctly updated to reference hack/common-envs.mk and hack/package.mk.

packages/system/bucket-rd/Makefile (1)

4-4: LGTM!

The include path correctly updated to reference hack/package.mk. The relative path resolves correctly from this location.

packages/system/objectstorage-controller/Makefile (1)

4-5: LGTM!

Both include paths correctly updated to reference files in hack/ directory. The rest of the Makefile targets remain unchanged.

packages/system/seaweedfs-rd/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk.

packages/core/flux-aio/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/common-envs.mk. This Makefile appropriately only includes the common environment variables file since it defines its own custom targets.

packages/apps/clickhouse/Makefile (1)

3-4: LGTM!

Include paths correctly updated to hack/ directory. This aligns with the existing reference to hack/update-crd.sh on line 8.

packages/system/kubeovn/Makefile (1)

6-7: LGTM!

The include paths are correctly updated from scripts/ to hack/, and the relative path depth (../../../) is accurate for this package location.

packages/system/cozystack-resource-definition-crd/Makefile (1)

4-4: LGTM!

The include path is correctly updated to reference hack/package.mk.

packages/system/reloader/Makefile (1)

4-4: LGTM!

The include path is correctly updated to reference hack/package.mk.

packages/system/etcd-operator/Makefile (1)

4-4: LGTM!

The include path is correctly updated to reference hack/package.mk.

packages/system/seaweedfs/Makefile (1)

3-4: LGTM!

The include paths are correctly updated from scripts/ to hack/, maintaining the same relative path depth.

packages/system/cilium/Makefile (1)

6-7: LGTM!

The include paths are correctly updated to reference the new hack/ directory location. The relative path depth (../../../) is accurate for this file's position at packages/system/cilium/.

packages/system/backup-controller/Makefile (1)

4-5: LGTM!

Include paths correctly updated to hack/ with proper relative path depth.

packages/system/capi-providers-bootstrap/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk.

packages/system/nfs-driver/Makefile (1)

4-5: LGTM!

Include paths correctly updated to hack/ directory. The Makefile follows the expected Helm Chart umbrella pattern with vendored upstream charts. Based on coding guidelines for packages/system/**.

packages/system/mariadb-operator/Makefile (1)

4-4: LGTM!

Include path correctly updated to hack/package.mk. The update target follows the expected Helm Chart umbrella pattern. Based on coding guidelines for packages/system/**.

packages/system/telepresence/Makefile (1)

4-4: LGTM!

The include path update from scripts/package.mk to hack/package.mk is correct and aligns with the refactoring objective.

packages/system/foundationdb-rd/Makefile (1)

4-4: LGTM!

The include path update is correct.

packages/apps/vpn/Makefile (1)

1-5: LGTM!

The include path update to hack/package.mk is correct. The update-crd.sh reference on line 5 is also consistently using the hack/ directory.

Regarding the static analysis warnings about missing phony targets (all, clean, test): these are likely provided by the included package.mk file, so the warnings can be safely ignored.

packages/system/bootbox/Makefile (1)

4-4: LGTM!

The include path update is correct. The update target properly vendors upstream Tinkerbell charts following the Helm Chart umbrella pattern. Based on learnings, this aligns with the expected structure for packages/system/**.

packages/extra/bootbox/Makefile (1)

4-8: LGTM!

The include path update to hack/package.mk is correct, and the update-crd.sh reference consistently uses the hack/ directory.

packages/apps/Makefile (1)

4-4: LGTM!

The include path update correctly reflects the relocation of common-envs.mk to the hack/ directory. The relative path ../../hack/common-envs.mk is accurate for this file's location.

packages/system/nats-rd/Makefile (1)

4-4: LGTM!

The include path correctly points to the new location of package.mk in the hack/ directory.

packages/system/victoria-metrics-operator/Makefile (1)

4-4: LGTM!

The include path correctly points to the relocated package.mk in the hack/ directory.

packages/system/bucket/Makefile (1)

5-6: LGTM!

Both include paths are correctly updated to reference the new hack/ directory location for common-envs.mk and package.mk.

packages/apps/postgres/Makefile (1)

1-1: LGTM!

The include path correctly points to the relocated package.mk. This change is also consistent with the existing reference to ../../../hack/update-crd.sh on line 5, confirming the hack/ directory as the canonical location for build scripts.

Note: The static analysis warnings about missing phony targets (all, clean, test) can be ignored as these targets are expected to be defined in the included package.mk.

packages/system/postgres-operator/Makefile (1)

4-4: LGTM!

The include path correctly references the new hack/ directory location with the appropriate relative path for this package's depth.

packages/system/ferretdb-rd/Makefile (1)

4-4: LGTM!

The include path update is consistent with the directory restructuring.

Makefile (1)

3-4: LGTM!

The include path correctly references hack/common-envs.mk from the repository root without relative path traversal.

packages/core/talos/Makefile (1)

6-6: LGTM!

The include path correctly references the relocated common-envs.mk file from the hack/ directory.

packages/system/keycloak-configure/Makefile (1)

4-5: LGTM!

Both include paths are correctly updated to reference the new hack/ directory locations.

packages/system/vertical-pod-autoscaler-crds/Makefile (1)

4-4: LGTM!

The include path update correctly references the new hack/package.mk location. The hack/ directory convention aligns with Kubernetes ecosystem standards for build scripts.

packages/system/capi-operator/Makefile (1)

8-8: LGTM!

Include path correctly updated to reference hack/package.mk. Consistent with the other Makefile changes in this refactor.

packages/system/tenant-rd/Makefile (1)

4-4: LGTM!

Include path correctly updated to the new hack/ location.

packages/system/kubevirt/Makefile (1)

4-4: LGTM!

Include path correctly updated to reference hack/package.mk. The update target logic remains unchanged.

packages/system/capi-providers-core/Makefile (1)

4-4: LGTM!

Include path correctly updated. All Makefiles in this PR consistently reference hack/package.mk with the correct relative path.

packages/system/backupstrategy-controller/Makefile (1)

4-5: LGTM!

The include paths correctly reference ../../../hack/ which resolves to the repository root's hack/ directory from this Makefile's location (packages/system/backupstrategy-controller/).

packages/system/kamaji/Makefile (1)

4-5: LGTM!

The include paths are correctly updated to reference the new hack/ directory location.

packages/system/virtualprivatecloud-rd/Makefile (1)

4-4: LGTM!

The include path is correctly updated to reference hack/package.mk. This Makefile only requires package.mk (not common-envs.mk), which is consistent with its simpler structure.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @kvaps, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request streamlines the project's internal tooling by relocating core build and environment setup Makefiles into a dedicated hack/ directory. This refactoring aims to improve the organization and discoverability of development-related scripts. Concurrently, an obsolete script has been removed, enhancing overall code hygiene.

Highlights

  • Directory Restructuring: Moved common-envs.mk and package.mk from the scripts/ directory to a new hack/ directory to centralize internal development and build-related scripts.
  • Makefile References Updated: Modified numerous Makefile files across the repository to reflect the new paths for the included common-envs.mk and package.mk files.
  • Codebase Cleanup: Removed the issue-flux-certificates.sh script, as it was identified as unused, contributing to a cleaner and more streamlined codebase.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@kvaps kvaps marked this pull request as ready for review January 15, 2026 15:10
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jan 15, 2026
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a well-executed refactoring that moves build scripts from the scripts/ directory to the hack/ directory, which aligns with common conventions in the ecosystem. The changes are applied consistently across all relevant Makefiles. Additionally, the removal of the unused issue-flux-certificates.sh script is a good cleanup. The changes are straightforward and improve the project's structure. I see no issues with this pull request.

@kvaps kvaps merged commit c3ccf5a into main Jan 15, 2026
24 checks passed
@kvaps kvaps deleted the refactor/move-scripts-to-hack branch January 15, 2026 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants