mirror of
				https://github.com/fluxcd/flux2.git
				synced 2025-10-31 16:26:36 +08:00 
			
		
		
		
	e2e: Run OpenShift from Replicated
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
		
							
								
								
									
										55
									
								
								.github/workflows/e2e-openshift.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								.github/workflows/e2e-openshift.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | ||||
| name: e2e-openshift | ||||
|  | ||||
| on: | ||||
|   workflow_dispatch: | ||||
|   push: | ||||
|     branches: [ 'main', 'update-components', 'openshift-*', 'release/**' ] | ||||
|  | ||||
| permissions: | ||||
|   contents: read | ||||
|  | ||||
| jobs: | ||||
|   e2e-openshift: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 | ||||
|       - name: Setup Go | ||||
|         uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | ||||
|         with: | ||||
|           go-version-file: 'go.mod' | ||||
|           cache-dependency-path: | | ||||
|             **/go.sum | ||||
|             **/go.mod | ||||
|       - name: Prepare | ||||
|         id: prep | ||||
|         run: | | ||||
|           ID=${GITHUB_SHA:0:7}-$(date +%s) | ||||
|           echo "cluster=fluxcd-openshift-${ID}" >> $GITHUB_OUTPUT | ||||
|       - name: Setup Kustomize | ||||
|         uses: fluxcd/pkg/actions/kustomize@main | ||||
|       - name: Build | ||||
|         run: make build-dev | ||||
|       - name: Create cluster | ||||
|         id: create-cluster | ||||
|         uses: replicatedhq/compatibility-actions/create-cluster@v1 | ||||
|         with: | ||||
|           api-token: ${{ secrets.REPLICATED_API_TOKEN }} | ||||
|           kubernetes-distribution: "openshift" | ||||
|           kubernetes-version: "4.15.0-okd" | ||||
|           ttl: 20m | ||||
|           cluster-name: "${{ steps.prep.outputs.cluster }}" | ||||
|       - name: Run flux check | ||||
|         run: | | ||||
|           echo "${{ steps.create-cluster.outputs.cluster-kubeconfig }}" > kubeconfig.yaml | ||||
|           ./bin/flux check --kubeconfig=kubeconfig.yaml | ||||
|       - name: Apply openshift prerequisites | ||||
|         run: | | ||||
|           kubectl apply -k ./manifests/openshift --kubeconfig=kubeconfig.yaml | ||||
|       - name: Remove cluster | ||||
|         if: ${{ always() }} | ||||
|         uses: replicatedhq/replicated-actions/remove-cluster@v1 | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           api-token: ${{ secrets.REPLICATED_API_TOKEN }} | ||||
|           cluster-id: ${{ steps.create-cluster.outputs.cluster-id }} | ||||
							
								
								
									
										4
									
								
								manifests/openshift/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								manifests/openshift/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| apiVersion: kustomize.config.k8s.io/v1beta1 | ||||
| kind: Kustomization | ||||
| resources: | ||||
|   - rbac.yaml | ||||
							
								
								
									
										68
									
								
								manifests/openshift/rbac.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								manifests/openshift/rbac.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,68 @@ | ||||
| apiVersion: v1 | ||||
| kind: List | ||||
| items: | ||||
|   - apiVersion: rbac.authorization.k8s.io/v1 | ||||
|     kind: ClusterRole | ||||
|     metadata: | ||||
|       name: flux-scc | ||||
|     rules: | ||||
|       - apiGroups: | ||||
|           - security.openshift.io | ||||
|         resources: | ||||
|           - securitycontextconstraints | ||||
|         resourceNames: | ||||
|           - nonroot | ||||
|         verbs: | ||||
|           - use | ||||
|   - apiVersion: rbac.authorization.k8s.io/v1 | ||||
|     kind: RoleBinding | ||||
|     metadata: | ||||
|       name: flux-scc-source-controller | ||||
|       namespace: flux-system | ||||
|     roleRef: | ||||
|       apiGroup: rbac.authorization.k8s.io | ||||
|       kind: Role | ||||
|       name: flux-scc | ||||
|     subjects: | ||||
|       - kind: ServiceAccount | ||||
|         name: source-controller | ||||
|         namespace: flux-system | ||||
|   - apiVersion: rbac.authorization.k8s.io/v1 | ||||
|     kind: RoleBinding | ||||
|     metadata: | ||||
|       name: flux-scc-kustomize-controller | ||||
|       namespace: flux-system | ||||
|     roleRef: | ||||
|       apiGroup: rbac.authorization.k8s.io | ||||
|       kind: Role | ||||
|       name: flux-scc | ||||
|     subjects: | ||||
|       - kind: ServiceAccount | ||||
|         name: kustomize-controller | ||||
|         namespace: flux-system | ||||
|   - apiVersion: rbac.authorization.k8s.io/v1 | ||||
|     kind: RoleBinding | ||||
|     metadata: | ||||
|       name: flux-scc-helm-controller | ||||
|       namespace: flux-system | ||||
|     roleRef: | ||||
|       apiGroup: rbac.authorization.k8s.io | ||||
|       kind: Role | ||||
|       name: flux-scc | ||||
|     subjects: | ||||
|       - kind: ServiceAccount | ||||
|         name: helm-controller | ||||
|         namespace: flux-system | ||||
|   - apiVersion: rbac.authorization.k8s.io/v1 | ||||
|     kind: RoleBinding | ||||
|     metadata: | ||||
|       name: flux-scc-notification-controller | ||||
|       namespace: flux-system | ||||
|     roleRef: | ||||
|       apiGroup: rbac.authorization.k8s.io | ||||
|       kind: Role | ||||
|       name: flux-scc | ||||
|     subjects: | ||||
|       - kind: ServiceAccount | ||||
|         name: notification-controller | ||||
|         namespace: flux-system | ||||
		Reference in New Issue
	
	Block a user
	 Stefan Prodan
					Stefan Prodan