Skip to content
This repository has been archived by the owner on Sep 2, 2024. It is now read-only.
/ argonaut Public archive

Argonaut is a Kubernetes Operator leveraging Cloudflare services to "ingress" traffic to your workloads.

License

Notifications You must be signed in to change notification settings

laetho/argonaut

Repository files navigation

Argonaut

Argonaut is a Kubernetes Operator leveraging Cloudflare services to "ingress" traffic to your workloads.

Turn's an opinionated CRD into automatically configured Cloudflare services and creates a managed Deployment of cloudflared container image configured to tunnel traffic to your workload.

Example CRD

apiVersion: argonaut.metalabs.no/v1beta1
kind: Argonaut
metadata:
  name: example
  namespace: example
spec:
  argoTunnelName: "example"
  cfAuthSecret:
    name: example
    namespace: example
  ingress:
    - hostname: test.example.com
      serviceSelector:
        matchLabels:
          app: nginx

Prerequisites for using this is a Cloudflare account, an existing DNS Zone and a API Token with appropriate permissions. This information should put inside a Kubernetes Secret with this structure, which is referenced in cfAuthSecret above:

apiVersion: v1
kind: Secret
metadata:
  name: example
  namespace: example
data:
  accountid: <redacted>
  email: <redacted>
  token: <redacted>
kind: Secret
type: Opaque

Status

DO NOT USE THIS FOR ANYTHING IMPORTANT, THIS IS VERY MUCH A WORK IN PROGRESS

I'm just figuring out what and how to build it here. Learning kubebuilder and controller-runtime as we go.

About

Argonaut is a Kubernetes Operator leveraging Cloudflare services to "ingress" traffic to your workloads.

Resources

License

Stars

Watchers

Forks

Packages

No packages published