{"id":23180975,"url":"https://github.com/replicatedhq/kubeflare","last_synced_at":"2025-08-18T13:33:26.947Z","repository":{"id":40327347,"uuid":"292326183","full_name":"replicatedhq/kubeflare","owner":"replicatedhq","description":"A Kubernetes Operator to manage Cloudflare settings via a declarative Kubernetes API","archived":false,"fork":false,"pushed_at":"2022-08-14T12:00:34.000Z","size":277,"stargazers_count":56,"open_issues_count":9,"forks_count":10,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-04-13T22:20:34.077Z","etag":null,"topics":["cloudflare","kubernetes","kubernetes-operator"],"latest_commit_sha":null,"homepage":"https://kubeflare.com","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/replicatedhq.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":null,"security":null,"support":null}},"created_at":"2020-09-02T15:47:17.000Z","updated_at":"2024-03-31T15:51:37.000Z","dependencies_parsed_at":"2022-08-18T00:21:51.464Z","dependency_job_id":null,"html_url":"https://github.com/replicatedhq/kubeflare","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/replicatedhq/kubeflare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fkubeflare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fkubeflare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fkubeflare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fkubeflare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/replicatedhq","download_url":"https://codeload.github.com/replicatedhq/kubeflare/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fkubeflare/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271002953,"owners_count":24683206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cloudflare","kubernetes","kubernetes-operator"],"created_at":"2024-12-18T08:14:00.808Z","updated_at":"2025-08-18T13:33:26.609Z","avatar_url":"https://github.com/replicatedhq.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kubeflare\n\nKuebflare is a Kubernetes cluster add-on (Operator) that allows you to manage your Cloudflare settings using a Kubernetes declarative API.\n\nAfter installing the Kubeflare Operator to your Kubernetes cluster, some new custom types will be created in the cluster. These types allow you to define a Cloudflare Zone (domain) and specify the settings and DNS records to create. When this YAML is deployed to the cluster, the Kubeflare Operator will reconcile this with the Cloudflare API to deploy the settings requested in the YAML to the Cloudflare account.\n\n## Motivation\n\nThis project was created at [Replicated](https://www.replicated.com) to manage Cloudflare settings using our GitOps workflow. We wanted a way for a devleoper to commit their DNS records and other Cloudflare settings to be reviewed and deployed with their code, as a single deployment. This tightly couples the infrastructure changes with the application changes, and makes deploying new services easier and more transparant.\n\n## Installation\n\nFull instruction and all installation methods are listed in the [documentation](https://kubeflare.com).\n\n## Examples\n\nBelow is an example of a Kubernetes manifest that we deploy for a domain (with some information redacted):\n\n```yaml\napiVersion: crds.kubeflare.io/v1alpha1\nkind: Zone\nmetadata:\n  name: domainname.io\nspec:\n  apiToken: redacted\n  settings:\n    alwaysUseHttps: true\n    alwaysOnline: true\n    minify:\n      css: true\n---\napiVersion: crds.kubeflare.io/v1alpha1\nkind: DNSRecord\nmetadata:\n  name: www.domainname.io\nspec:\n  zone: domainname.io\n  record:\n    type: \"A\"\n    name: \"www\"\n    content: \"1.1.1.1\"\n    proxied: true\n    ttl: 3600\n---\napiVersion: crds.kubeflare.io/v1alpha1\nkind: DNSRecord\nmetadata:\n  name: mx-records\nspec:\n  zone: domainname.io\n  records:\n    - type: \"MX\"\n      name: \"domainname.io\"\n      content: \"aspmx.l.google.com\"\n      priority: 1\n    - type: \"MX\"\n      name: \"domainname.io\"\n      content: \"alt1.aspmx.l.google.com\"\n      priority: 5\n    - type: \"MX\"\n      name: \"domainname.io\"\n      content: \"alt2.aspmx.l.google.com\"\n      priority: 5\n    - type: \"MX\"\n      name: \"domainname.io\"\n      content: \"alt3.aspmx.l.google.com\"\n      proxied: false      \n      priority: 10\n    - type: \"MX\"\n      name: \"domainname.io\"\n      content: \"alt4.aspmx.l.google.com\"\n      priority: 10\n```\n\n## Settings supported\n\nThe Cloudflare API is large and supports many settings. Kubeflare doesn't support all yet, but the current release of Kubeflare supports the following settings:\n\n- All [zone settings](https://api.cloudflare.com/#zone-settings-get-all-zone-settings) (all settings listed under \"Zone Settings\")\n- DNS Records \n\n\nThis project is independent of Cloudflare and built using their public APIs. This is not a Cloudflare project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freplicatedhq%2Fkubeflare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freplicatedhq%2Fkubeflare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freplicatedhq%2Fkubeflare/lists"}