feat(forgejoRunner): add Buildx builder kubeconfig setup and RBAC configuration

This commit is contained in:
Mint Bot committed 2025-09-10 15:47:44 +02:00
1 parent cc8f91d45f
commit f8837bbe82
2 files changed
+59

No files matched your search

+35
View File
@@ -12,6 +12,41 @@ kubectl create secret generic forgejo-runner \
-n <namespace>
```
## Builder
To use the Buildx builder in your Forgejo action a kubeconfig is required.
```bash
name=buildx-sa-token
server=$(kubectl config view --minify --output 'jsonpath={.clusters[0].cluster.server}')
ca=$(kubectl get secret/$name -o jsonpath='{.data.ca\.crt}')
token=$(kubectl get secret/$name -o jsonpath='{.data.token}' | base64 --decode)
namespace=$(kubectl get secret/$name -o jsonpath='{.data.namespace}' | base64 --decode)
echo "
apiVersion: v1
kind: Config
clusters:
- name: default-cluster
cluster:
certificate-authority-data: ${ca}
server: ${server}
contexts:
- name: default-context
context:
cluster: default-cluster
namespace: default
user: default-user
current-context: default-context
users:
- name: default-user
user:
token: ${token}
" > buildx.kubeconfig
```
Setup secret `KUBECONFIG_BUILDX` with content of `buildx.kubeconfig`.
## Parameters
### Forgejo Runner parameters
+24
View File
@@ -0,0 +1,24 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: buildx
---
apiVersion: v1
kind: Secret
metadata:
annotations:
kubernetes.io/service-account.name: buildx
name: buildx-sa-token
type: kubernetes.io/service-account-token
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: admin
subjects:
- kind: ServiceAccount
name: buildx