Skip to content

Commit 45b40ad

Browse files
committed
fix: RBAC to disable deployment
also bump ratelimit requeue to 10min after seeing failed recoveries Signed-off-by: Tom Plant <[email protected]>
1 parent 8388f71 commit 45b40ad

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ By default, a [Cloudflare Tunnel client](https://github.com/cloudflare/cloudflar
8888
Additional clients can be deployed ([guide](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/deploy-tunnels/deployment-guides/)) to customise parameters like replicas or tolerations, and traffic will be load-balanced between them and the built-in client.
8989
To disable the built-in Deployment and only use standalone clients:
9090

91-
1. Create a ConfigMap: `kubectl create configmap -n cloudflare-gateway generic gateway --from-literal=disableDeployment=true`
91+
1. Create a ConfigMap: `kubectl create configmap -n cloudflare-gateway gateway --from-literal=disableDeployment=true`
9292
2. Reference it from the gateway:
9393

9494
```yaml
@@ -107,6 +107,5 @@ spec:
107107
parametersRef:
108108
group: ""
109109
kind: ConfigMap
110-
namespace: cloudflare-gateway
111110
name: gateway
112111
```

config/rbac/role.yaml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,26 @@ rules:
1010
- deployments
1111
verbs:
1212
- create
13+
- delete
1314
- get
1415
- list
1516
- update
1617
- watch
1718
- apiGroups:
1819
- ""
1920
resources:
20-
- events
21-
verbs:
22-
- create
23-
- apiGroups:
24-
- ""
25-
resources:
21+
- configmaps
2622
- secrets
2723
verbs:
2824
- get
2925
- list
3026
- watch
27+
- apiGroups:
28+
- ""
29+
resources:
30+
- events
31+
verbs:
32+
- create
3133
- apiGroups:
3234
- gateway.networking.k8s.io
3335
resources:

internal/controller/gateway_controller.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ type GatewayReconciler struct {
5050
// +kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=gateways,verbs=get;list;update;watch
5151
// +kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=gateways/finalizers,verbs=update
5252
// +kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=gateways/status,verbs=update
53-
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=create;get;list;update;watch
53+
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=create;get;list;update;watch;delete
5454
// +kubebuilder:rbac:groups=core,resources=events,verbs=create
5555
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get
56-
// +kubebuilder:rbac:groups=core,resources=configmaps,verbs=get
56+
// +kubebuilder:rbac:groups=core,resources=configmaps,verbs=get;list;watch
5757

5858
// Reconcile is part of the main kubernetes reconciliation loop which aims to
5959
// move the current state of the cluster closer to the desired state.
@@ -333,9 +333,9 @@ func (r *GatewayReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
333333
})
334334
if err != nil {
335335
if strings.Contains(err.Error(), "429 Too Many Requests") {
336-
log.Error(err, "Rate limited, requeueing after 5 minutes")
336+
log.Error(err, "Rate limited, requeueing after 10 minutes")
337337
return ctrl.Result{
338-
RequeueAfter: time.Minute * 5, // https://developers.cloudflare.com/fundamentals/api/reference/limits/
338+
RequeueAfter: time.Minute * 10, // https://developers.cloudflare.com/fundamentals/api/reference/limits/
339339
}, nil
340340
} else {
341341
return ctrl.Result{}, err

0 commit comments

Comments
 (0)