All Projects → replicatedhq → kubeflare

replicatedhq / kubeflare

Licence: Apache-2.0 license
A Kubernetes Operator to manage Cloudflare settings via a declarative Kubernetes API

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to kubeflare

stackgres
StackGres Operator, Full Stack PostgreSQL on Kubernetes // !! Mirror repository of https://gitlab.com/ongresinc/stackgres, only accept Merge Requests there.
Stars: ✭ 479 (+858%)
Mutual labels:  kubernetes-operator
infinispan-operator
Infinispan Operator
Stars: ✭ 32 (-36%)
Mutual labels:  kubernetes-operator
scrapy-cloudflare-middleware
A Scrapy middleware to bypass the CloudFlare's anti-bot protection
Stars: ✭ 84 (+68%)
Mutual labels:  cloudflare
CloudFlare-DDNS-Script
CloudFlare-DDNS-Script Support LEDE/Openwrt with IPv4/IPv6
Stars: ✭ 40 (-20%)
Mutual labels:  cloudflare
freya
Scala Kubernetes Operator library
Stars: ✭ 40 (-20%)
Mutual labels:  kubernetes-operator
IPFS PHOTO SHARE
💰用甚嚒服务器,ServerLess搭建一个图片分享站点!| 基于CloudFlareWorker无服务器函数和IPFS去中心化存储的图片分享网站
Stars: ✭ 76 (+52%)
Mutual labels:  cloudflare
nginx-more
Development repository for nginx-more package
Stars: ✭ 96 (+92%)
Mutual labels:  cloudflare
kubectlsafe
Safe operations in kubectl with plugin kubectlsafe
Stars: ✭ 36 (-28%)
Mutual labels:  kubernetes-operator
domin
Domain Name Search untuk mencari ketersedian nama domain.
Stars: ✭ 17 (-66%)
Mutual labels:  cloudflare
cloudflared
Cloudflare Tunnel Instructions and Template for Unraid
Stars: ✭ 129 (+158%)
Mutual labels:  cloudflare
sieve
Automatic Reliability Testing for Kubernetes Controllers
Stars: ✭ 183 (+266%)
Mutual labels:  kubernetes-operator
workers-unsplash-api
Serverless API for requesting images from Unsplash's API, designed for use with a React frontend
Stars: ✭ 20 (-60%)
Mutual labels:  cloudflare
kotary
Managing Kubernetes Quota with confidence
Stars: ✭ 85 (+70%)
Mutual labels:  kubernetes-operator
percona-postgresql-operator
Percona Operator for PostgreSQL
Stars: ✭ 132 (+164%)
Mutual labels:  kubernetes-operator
abstract-operator
Library/SDK for creating the operators for Kubernetes and Openshift.
Stars: ✭ 60 (+20%)
Mutual labels:  kubernetes-operator
purge-cf-cache-chrome-extension
A chrome extension that purges the CF cache for the current URL of CloudFlare enabled websites
Stars: ✭ 22 (-56%)
Mutual labels:  cloudflare
serverless-discord-bot
Serverless Discord slash commands bot for Cloudflare's Workers.
Stars: ✭ 22 (-56%)
Mutual labels:  cloudflare
astarte-kubernetes-operator
Astarte Kubernetes Operator
Stars: ✭ 18 (-64%)
Mutual labels:  kubernetes-operator
slshx
⚔️ Strongly-typed Discord commands on Cloudflare Workers
Stars: ✭ 163 (+226%)
Mutual labels:  cloudflare
kubexray
JFrog KubeXray scanner on Kubernetes
Stars: ✭ 22 (-56%)
Mutual labels:  kubernetes-operator

Kubeflare

Kuebflare is a Kubernetes cluster add-on (Operator) that allows you to manage your Cloudflare settings using a Kubernetes declarative API.

After 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.

Motivation

This project was created at Replicated 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.

Installation

Full instruction and all installation methods are listed in the documentation.

Examples

Below is an example of a Kubernetes manifest that we deploy for a domain (with some information redacted):

apiVersion: crds.kubeflare.io/v1alpha1
kind: Zone
metadata:
  name: domainname.io
spec:
  apiToken: redacted
  settings:
    alwaysUseHttps: true
    alwaysOnline: true
    minify:
      css: true
---
apiVersion: crds.kubeflare.io/v1alpha1
kind: DNSRecord
metadata:
  name: www.domainname.io
spec:
  zone: domainname.io
  record:
    type: "A"
    name: "www"
    content: "1.1.1.1"
    proxied: true
    ttl: 3600
---
apiVersion: crds.kubeflare.io/v1alpha1
kind: DNSRecord
metadata:
  name: mx-records
spec:
  zone: domainname.io
  records:
    - type: "MX"
      name: "domainname.io"
      content: "aspmx.l.google.com"
      priority: 1
    - type: "MX"
      name: "domainname.io"
      content: "alt1.aspmx.l.google.com"
      priority: 5
    - type: "MX"
      name: "domainname.io"
      content: "alt2.aspmx.l.google.com"
      priority: 5
    - type: "MX"
      name: "domainname.io"
      content: "alt3.aspmx.l.google.com"
      proxied: false      
      priority: 10
    - type: "MX"
      name: "domainname.io"
      content: "alt4.aspmx.l.google.com"
      priority: 10

Settings supported

The Cloudflare API is large and supports many settings. Kubeflare doesn't support all yet, but the current release of Kubeflare supports the following settings:

  • All zone settings (all settings listed under "Zone Settings")
  • DNS Records

This project is independent of Cloudflare and built using their public APIs. This is not a Cloudflare project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].