actions / actions/actions-runner-controller
ERROR: ```flag provided but not defined: -log-format``` when deploying with Helm Chart
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 27
Description
Checks
- I've already read https://github.com/actions/actions-runner-controller/blob/master/TROUBLESHOOTING.md and I'm sure my issue is not covered in the troubleshooting guide.
- I'm not using a custom entrypoint in my runner image
Controller Version
0.26.0
Helm Chart Version
0.21.1
CertManager Version
1.10.1
Deployment Method
Helm
cert-manager installation
we used Bitnami charts to install cert-manager
Checks
- This isn't a question or user support case (For Q&A and community support, go to Discussions. It might also be a good idea to contract with any of contributors and maintainers if your business is so critical and therefore you need priority support
- I've read releasenotes before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes
- My actions-runner-controller version (v0.x.y) does support the feature
- I've already upgraded ARC (including the CRDs, see charts/actions-runner-controller/docs/UPGRADING.md for details) to the latest and it didn't fix the issue
- I've migrated to the workflow job webhook event (if you using webhook driven scaling)
Resource Definitions
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
meta.helm.sh/release-name: actions-runner-controller
meta.helm.sh/release-namespace: platform
creationTimestamp: "2023-01-06T16:16:05Z"
generation: 1
labels:
app.kubernetes.io/instance: actions-runner-controller
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: actions-runner-controller
app.kubernetes.io/version: 0.26.0
helm.sh/chart: actions-runner-controller-0.21.2
name: actions-runner-controller
namespace: platform
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/instance: actions-runner-controller
app.kubernetes.io/name: actions-runner-controller
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/instance: actions-runner-controller
app.kubernetes.io/name: actions-runner-controller
spec:
containers:
- args:
- --metrics-addr=127.0.0.1:8080
- --enable-leader-election
- --port=9443
- --sync-period=1m
- --default-scale-down-delay=10m
- --docker-image=docker:dind
- --runner-image=summerwind/actions-runner:latest
- --log-format=text
command:
- /manager
env:
- name: GITHUB_TOKEN
valueFrom:
secretKeyRef:
key: github_token
name: controller-manager
optional: true
- name: GITHUB_APP_ID
valueFrom:
secretKeyRef:
key: github_app_id
name: controller-manager
optional: true
- name: GITHUB_APP_INSTALLATION_ID
valueFrom:
secretKeyRef:
key: github_app_installation_id
name: controller-manager
optional: true
- name: GITHUB_APP_PRIVATE_KEY
valueFrom:
secretKeyRef:
key: github_app_private_key
name: controller-manager
optional: true
- name: GITHUB_BASICAUTH_PASSWORD
valueFrom:
secretKeyRef:
key: github_basicauth_password
name: controller-manager
optional: true
image: summerwind/actions-runner-controller:v0.26.0
imagePullPolicy: IfNotPresent
name: manager
ports:
- containerPort: 9443
name: webhook-server
protocol: TCP
resources: {}
securityContext: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /etc/actions-runner-controller
name: secret
readOnly: true
- mountPath: /tmp
name: tmp
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert
readOnly: true
- args:
- --secure-listen-address=0.0.0.0:8443
- --upstream=http://127.0.0.1:8080/
- --logtostderr=true
- --v=10
image: quay.io/brancz/kube-rbac-proxy:v0.13.1
imagePullPolicy: IfNotPresent
name: kube-rbac-proxy
ports:
- containerPort: 8443
name: metrics-port
protocol: TCP
resources: {}
securityContext: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: actions-runner-controller
serviceAccountName: actions-runner-controller
terminationGracePeriodSeconds: 10
volumes:
- name: secret
secret:
defaultMode: 420
secretName: controller-manager
- name: cert
secret:
defaultMode: 420
secretName: actions-runner-controller-serving-cert
- emptyDir: {}
name: tmp
To Reproduce
1. Use the Helm chart to deploy default values with addition of .create and ```authSecret.github_token```
Describe the bug
When the container starts in K8s, it returns an error straight away with the below message

and the pod never successfully starts.
Describe the expected behavior
Expected the pod to successfully start up without error.
Whole Controller Logs
please refer to the image in "Describe the bug"
Whole Runner Pod Logs
N/A - not got to the runner deployment yet
Additional Context
As a workaround, we have removed logformat default value from values.yaml so the if condition doesnt apply the log-format args into the deployment. This successfully deploys the controller into K8s.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with values.yaml and render the default Helm deployment to inspect the controller container's arguments, especially --log-format=text. Compare the rendered flags with the v0.26.0 controller startup behavior and verify that a default Helm install produces a Deployment whose controller pod starts successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, helm, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100