Skip to content

Repository files navigation

Provider Cloudflare

provider-cloudflare is a Crossplane provider that is built using Upjet code generation tools and exposes XRM-conformant managed resources for the Cloudflare API.

Getting Started

Install the provider by using the following command after changing the image tag to the latest release:

up ctp provider install cdloh/provider-cloudflare:v0.1.0

Alternatively, you can use declarative installation:

cat <<EOF | kubectl apply -f -
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-cloudflare
spec:
  package: cdloh/provider-cloudflare:v0.1.0
EOF

Notice that in this example Provider resource is referencing ControllerConfig with debug enabled.

You can see the API reference here.

Resource Refrence and Status

I've tried to keep the resources grouped in a logical fashion and tested as many as I have access to.

Table below shows the Terraform resources and maps it to it's k8s details, along with whether or not testing was completed for the resource.

If you're able to confirm one works please open a PR or issue to update the table.

TF Resource API Group API Version Kind Tested
cloudflare_access_application Application access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_bookmark Bookmark access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_ca_certificate CACertificate access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_group Group access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_identity_provider IdentityProvider access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_keys_configuration Configuration access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_mutual_tls_certificate MutualTLSCertificate access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_organization Organization access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_policy Policy access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_rule Rule access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_access_service_token ServiceToken access.cloudflare.upbound.io v1alpha1 ❌
cloudflare_account Account account.cloudflare.upbound.io v1alpha1 ✅
cloudflare_account_member Member account.cloudflare.upbound.io v1alpha1 ✅
cloudflare_api_shield APIShield apishield.cloudflare.upbound.io v1alpha1 ✅
cloudflare_api_token Token account.cloudflare.upbound.io v1alpha1 ✅
cloudflare_argo Argo argo.cloudflare.upbound.io v1alpha1 ✅
cloudflare_argo_tunnel Tunnel argo.cloudflare.upbound.io v1alpha1 ✅
cloudflare_authenticated_origin_pulls AuthenticatedOriginsPulls authenticatedoriginpulls.cloudflare.upbound.io v1alpha1 ✅
cloudflare_authenticated_origin_pulls_certificate Certificate authenticatedoriginpulls.cloudflare.upbound.io v1alpha1 ✅
cloudflare_byo_ip_prefix IPPrefix IPPrefix v1alpha1 ❌
cloudflare_certificate_pack Pack certificate.cloudflare.upbound.io v1alpha1 ✅
cloudflare_custom_hostname Hostname customhostname.cloudflare.upbound.io v1alpha1 ✅
cloudflare_custom_hostname_fallback_origin FallbackOrigin customhostname.cloudflare.upbound.io v1alpha1 ✅
cloudflare_custom_pages Pages custom.cloudflare.upbound.io v1alpha1 ✅
cloudflare_custom_ssl SSL custom.cloudflare.upbound.io v1alpha1 ✅
cloudflare_device_policy_certificates DevicePolicyCertificates warp.cloudflare.upbound.io v1alpha1 ❌
cloudflare_device_posture_integration DevicePostureIntegration warp.cloudflare.upbound.io v1alpha1 ❌
cloudflare_device_posture_rule DevicePostureRule warp.cloudflare.upbound.io v1alpha1 ❌
cloudflare_device_settings_policy DeviceSettingsPolicy warp.cloudflare.upbound.io v1alpha1 ❌
cloudflare_dlp_profile Profile dlp.cloudflare.upbound.io v1alpha1 ❌
cloudflare_email_routing_address Address emailrouting.cloudflare.upbound.io v1alpha1 ❌
cloudflare_email_routing_catch_all CatchAll emailrouting.cloudflare.upbound.io v1alpha1 ❌
cloudflare_email_routing_rule Rule emailrouting.cloudflare.upbound.io v1alpha1 ❌
cloudflare_email_routing_settings Settings emailrouting.cloudflare.upbound.io v1alpha1 ❌
cloudflare_fallback_domain FallbackDomain warp.cloudflare.upbound.io v1alpha1 ❌
cloudflare_filter Filter filters.cloudflare.upbound.io v1alpha1 ✅
cloudflare_firewall_rule Rule firewall.cloudflare.upbound.io v1alpha1 ✅
cloudflare_gre_tunnel GRETunnel magic.cloudflare.upbound.io v1alpha1 ❌
cloudflare_healthcheck Healthcheck zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_ip_list IPList lists.cloudflare.upbound.io v1alpha1 ✅
cloudflare_ipsec_tunnel IPsecTunnel magic.cloudflare.upbound.io v1alpha1 ❌
cloudflare_list List lists.cloudflare.upbound.io v1alpha1 ✅
cloudflare_load_balancer LoadBalancer loadbalancer.cloudflare.upbound.io v1alpha1 ✅
cloudflare_load_balancer_monitor Monitor loadbalancer.cloudflare.upbound.io v1alpha1 ✅
cloudflare_load_balancer_pool Pool loadbalancer.cloudflare.upbound.io v1alpha1 ✅
cloudflare_logpull_retention LogpullRetention zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_logpush_job Job logpush.cloudflare.upbound.io v1alpha1 ✅
cloudflare_logpush_ownership_challenge OwnershipChallenge logpush.cloudflare.upbound.io v1alpha1 ✅
cloudflare_magic_firewall_ruleset FirewallRuleset magic.cloudflare.upbound.io v1alpha1 ❌
cloudflare_managed_headers ManagedHeaders zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_notification_policy Policy notification.cloudflare.upbound.io v1alpha1 ✅
cloudflare_notification_policy_webhooks PolicyWebhooks notification.cloudflare.upbound.io v1alpha1 ✅
cloudflare_origin_ca_certificate Certificate originca.cloudflare.upbound.io v1alpha1 ✅
cloudflare_page_rule Rule page.cloudflare.upbound.io v1alpha1 ✅
cloudflare_rate_limit RateLimit zone.cloudflare.upbound.io v1alpha1 ❌
cloudflare_record Record dns.cloudflare.upbound.io v1alpha1 ✅
cloudflare_ruleset Ruleset ruleset.cloudflare.upbound.io v1alpha1 ✅
cloudflare_spectrum_application Application spectrum.cloudflare.upbound.io v1alpha1 ✅
cloudflare_split_tunnel SplitTunnel warp.cloudflare.upbound.io v1alpha1 ❌
cloudflare_static_route StaticRoute magic.cloudflare.upbound.io v1alpha1 ❌
cloudflare_teams_account Account teams.cloudflare.upbound.io v1alpha1 ❌
cloudflare_teams_list List teams.cloudflare.upbound.io v1alpha1 ❌
cloudflare_teams_location Location teams.cloudflare.upbound.io v1alpha1 ❌
cloudflare_teams_proxy_endpoint ProxyEndpoint teams.cloudflare.upbound.io v1alpha1 ❌
cloudflare_teams_rule Rule teams.cloudflare.upbound.io v1alpha1 ❌
cloudflare_tiered_cache TieredCache zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_total_tls TotalTLS zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_tunnel_config TunnelConfig argo.cloudflare.upbound.io v1alpha1 ✅
cloudflare_tunnel_route TunnelRoute argo.cloudflare.upbound.io v1alpha1 ✅
cloudflare_tunnel_virtual_network TunnelVirtualNetwork argo.cloudflare.upbound.io v1alpha1 ✅
cloudflare_url_normalization_settings URLNormalizationSettings zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_user_agent_blocking_rule UserAgentBlockingRule zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_waf_group Group waf.cloudflare.upbound.io v1alpha1 ✅
cloudflare_waf_override Override waf.cloudflare.upbound.io v1alpha1 ✅
cloudflare_waf_package Package waf.cloudflare.upbound.io v1alpha1 ✅
cloudflare_waf_rule Rule waf.cloudflare.upbound.io v1alpha1 ✅
cloudflare_waiting_room Room waitingroom.cloudflare.upbound.io v1alpha1 ✅
cloudflare_waiting_room_event Event waitingroom.cloudflare.upbound.io v1alpha1 ✅
cloudflare_waiting_room_rules Rules waitingroom.cloudflare.upbound.io v1alpha1 ✅
cloudflare_web3_hostname Hostname web3.cloudflare.upbound.io v1alpha1 ❌
cloudflare_worker_cron_trigger CronTrigger worker.cloudflare.upbound.io v1alpha1 ✅
cloudflare_worker_route Route worker.cloudflare.upbound.io v1alpha1 ✅
cloudflare_worker_script Script worker.cloudflare.upbound.io v1alpha1 ✅
cloudflare_workers_kv KV worker.cloudflare.upbound.io v1alpha1 ✅
cloudflare_workers_kv_namespace KVNamespace worker.cloudflare.upbound.io v1alpha1 ✅
cloudflare_zone Zone zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_zone_cache_variants CacheVariants zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_zone_dnssec DNSSEC zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_zone_lockdown Lockdown zone.cloudflare.upbound.io v1alpha1 ✅
cloudflare_zone_settings_override SettingsOverride zone.cloudflare.upbound.io v1alpha1 ✅

Developing

Initialize build dependencies:

make submodules

Run code-generation pipeline:

make generate

Run against a Kubernetes cluster:

make run

Build, push, and install:

make all

Build binary:

make build

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please open an issue.

About

Cloudflare Provider for Crossplane using upjet

Resources

Code of conduct

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages