{"id":38063323,"url":"https://github.com/powerhome/pac-quota-controller","last_synced_at":"2026-01-16T20:32:24.105Z","repository":{"id":310846522,"uuid":"979438440","full_name":"powerhome/pac-quota-controller","owner":"powerhome","description":"PAC Resource Sharing Validation Webhook","archived":false,"fork":false,"pushed_at":"2025-12-31T11:43:17.000Z","size":572,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-01T15:46:38.292Z","etag":null,"topics":["kubernetes-controller","pac","sre"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/powerhome.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-07T14:07:35.000Z","updated_at":"2025-12-30T13:57:37.000Z","dependencies_parsed_at":"2025-08-20T16:31:42.711Z","dependency_job_id":"4c63694b-d12d-4652-b945-9f47c776b582","html_url":"https://github.com/powerhome/pac-quota-controller","commit_stats":null,"previous_names":["powerhome/pac-quota-controller"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/powerhome/pac-quota-controller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerhome%2Fpac-quota-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerhome%2Fpac-quota-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerhome%2Fpac-quota-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerhome%2Fpac-quota-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/powerhome","download_url":"https://codeload.github.com/powerhome/pac-quota-controller/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerhome%2Fpac-quota-controller/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28482267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kubernetes-controller","pac","sre"],"created_at":"2026-01-16T20:32:23.449Z","updated_at":"2026-01-16T20:32:24.095Z","avatar_url":"https://github.com/powerhome.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ClusterResourceQuota Controller\n\nA Kubernetes operator for implementing cluster-wide resource quotas across multiple namespaces.\n\n## Overview\n\nThe ClusterResourceQuota controller mimics the Kubernetes ResourceQuota mechanism to work across multiple namespaces. This allows administrators to define resource constraints that apply to groups of namespaces based on label selectors.\n\n## Features\n\n- Create quotas that apply across multiple namespaces\n- Select namespaces using label selectors\n- Support for all standard Kubernetes resource types (pods, services, etc.)\n- Support for compute resources (CPU, memory)\n- Support for storage resources (PVCs)\n- Automatic aggregation of resource usage across namespaces\n\n## Usage\n\n### Installation\n\n\u003e **Note:** The Helm chart is the single source of truth for all manifests (CRDs, RBAC, webhooks, cert-manager, etc.). The `config/` folder and Kubebuilder-generated manifests are not used for deployment or testing. Kubebuilder markers in the Go code are for documentation only.\n\nInstall the controller using Helm:\n\n```sh\nhelm install pac-quota-controller oci://ghcr.io/powerhome/pac-quota-controller-chart --version \u003cversion\u003e -n pac-quota-controller-system --create-namespace\n```\n\nTo upgrade:\n\n```sh\nhelm upgrade pac-quota-controller oci://ghcr.io/powerhome/pac-quota-controller-chart --version \u003cversion\u003e -n pac-quota-controller-system\n```\n\n## End-to-End (e2e) Testing\n\nAll e2e tests use Helm for deployment. The `config/` folder is ignored and not used for testing or production. To run e2e tests:\n\n```sh\n# Install chart for testing\nhelm install pac-quota-controller ./charts/pac-quota-controller -n pac-quota-controller-system --create-namespace\n# Run tests\nmake test-e2e\n# Uninstall after tests\nhelm uninstall pac-quota-controller -n pac-quota-controller-system\n```\n\n## Example Usage\n\nCreate a ClusterResourceQuota to limit resources across namespaces:\n\n```yaml\napiVersion: quota.powerapp.cloud/v1alpha1\nkind: ClusterResourceQuota\nmetadata:\n  name: team-quota\nspec:\n  namespaceSelector:\n    matchLabels:\n      team: frontend\n  hard:\n    pods: \"50\"\n    requests.cpu: \"10\"\n    requests.memory: 20Gi\n    limits.cpu: \"20\"\n    limits.memory: 40Gi\n    # Storage resources\n    requests.storage: \"100Gi\"                    # PVC storage requests\n    requests.ephemeral-storage: \"20Gi\"           # Pod ephemeral storage requests\n```\n\nThis quota will apply to all namespaces with the label `team: frontend` and limit:\n\n- Total pods to 50\n- Total CPU requests to 10 cores and limits to 20 cores\n- Total memory requests to 20Gi and limits to 40Gi\n- Total storage requests from PVCs to 100Gi\n- Total ephemeral storage requests from Pods to 20Gi\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowerhome%2Fpac-quota-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowerhome%2Fpac-quota-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowerhome%2Fpac-quota-controller/lists"}