Document and values.yaml updates for leader election customization
Follow-up for #806
This commit is contained in:
		
							parent
							
								
									4320e0e5e1
								
							
						
					
					
						commit
						fe64850d3d
					
				|  | @ -216,7 +216,14 @@ By default the controller will look for runners in all namespaces, the watch nam | ||||||
| 
 | 
 | ||||||
| This feature is configured via the controller `--watch-namespace` flag. When a namespace is provided via this flag the controller will only monitor runners in that namespace. | This feature is configured via the controller `--watch-namespace` flag. When a namespace is provided via this flag the controller will only monitor runners in that namespace. | ||||||
| 
 | 
 | ||||||
| If you plan on installing all instances of the controller stack into a single namespace you will need to make the names of the resources are unique for each stack. In the case of Helm this can be done via the `fullnameOverride` properties. Alternatively, you can install each controller stack into its own unique namespace (relative to other controller stacks in the cluster), avoiding the need to uniquely prefix resources. | If you plan on installing all instances of the controller stack into a single namespace you will need to make the names of the resources are unique for each stack. In the case of Helm this can be done by giving each a unique release name, or via the `fullnameOverride` properties. | ||||||
|  | 
 | ||||||
|  | Alternatively, you can install each controller stack into its own unique namespace (relative to other controller stacks in the cluster), avoiding the need to uniquely prefix resources. | ||||||
|  | 
 | ||||||
|  | When you go to the route of sharing the namespace while giving each a unique Helm release name, you must also ensure the following values are configured correctly: | ||||||
|  | 
 | ||||||
|  | - `authSecret.name` needs be unique per stack when each stack is tied to runners in different GitHub organizations and repositories AND you want your GitHub credentials to narrowly scoped. | ||||||
|  | - `leaderElectionId` needs to be unique per stack. Otherwise, all the stack tries to race onto the leader election lock and results in only one stack can work concurrently. | ||||||
| 
 | 
 | ||||||
| ## Usage | ## Usage | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -37,11 +37,11 @@ spec: | ||||||
|         {{- $metricsHost := .Values.metrics.proxy.enabled | ternary "127.0.0.1" "0.0.0.0" }} |         {{- $metricsHost := .Values.metrics.proxy.enabled | ternary "127.0.0.1" "0.0.0.0" }} | ||||||
|         {{- $metricsPort := .Values.metrics.proxy.enabled | ternary "8080" .Values.metrics.port }} |         {{- $metricsPort := .Values.metrics.proxy.enabled | ternary "8080" .Values.metrics.port }} | ||||||
|         - "--metrics-addr={{ $metricsHost }}:{{ $metricsPort }}" |         - "--metrics-addr={{ $metricsHost }}:{{ $metricsPort }}" | ||||||
|         {{- if .Values.controller.enableLeaderElection }} |         {{- if .Values.enableLeaderElection }} | ||||||
|         - "--enable-leader-election" |         - "--enable-leader-election" | ||||||
|         {{- end }} |         {{- end }} | ||||||
|         {{- if .Values.controller.leaderElectionId }} |         {{- if .Values.leaderElectionId }} | ||||||
|         - "--leader-election-id={{ .Values.controller.leaderElectionId }}" |         - "--leader-election-id={{ .Values.leaderElectionId }}" | ||||||
|         {{- end }} |         {{- end }} | ||||||
|         - "--sync-period={{ .Values.syncPeriod }}" |         - "--sync-period={{ .Values.syncPeriod }}" | ||||||
|         - "--docker-image={{ .Values.image.dindSidecarRepositoryAndTag }}" |         - "--docker-image={{ .Values.image.dindSidecarRepositoryAndTag }}" | ||||||
|  |  | ||||||
|  | @ -8,10 +8,9 @@ replicaCount: 1 | ||||||
| 
 | 
 | ||||||
| syncPeriod: 10m | syncPeriod: 10m | ||||||
| 
 | 
 | ||||||
| controller: |  | ||||||
| enableLeaderElection: true | enableLeaderElection: true | ||||||
| # Specifies the controller id for leader election. | # Specifies the controller id for leader election. | ||||||
|   # Must be unique if more than one controller installed. | # Must be unique if more than one controller installed onto the same namespace. | ||||||
| #leaderElectionId: "actions-runner-controller" | #leaderElectionId: "actions-runner-controller" | ||||||
| 
 | 
 | ||||||
| # The controller tries its best not to repeat the duplicate GitHub API call | # The controller tries its best not to repeat the duplicate GitHub API call | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue