feat(forgejoRunner): add Buildx builder kubeconfig setup and RBAC configuration
This commit is contained in:
2 files changed
+59
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in new issue
Block a user