Skip to content

Commit

Permalink
deploy shipwright triggers via operator
Browse files Browse the repository at this point in the history
  • Loading branch information
jkhelil committed May 16, 2023
1 parent 89c21aa commit 4beaff9
Show file tree
Hide file tree
Showing 5 changed files with 221 additions and 3 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ IMAGE_SHIPWRIGHT_GIT_CONTAINER_IMAGE: defines the Shipwright Git Container Image
IMAGE_SHIPWRIGHT_MUTATE_IMAGE_CONTAINER_IMAGE: defines the Shipwright Mutate Image to use
IMAGE_SHIPWRIGHT_BUNDLE_CONTAINER_IMAGE: defines the Shipwright Bundle Image to use
IMAGE_SHIPWRIGHT_WAITER_CONTAINER_IMAGE: defines the Shipwright Waiter Image to use
IMAGE_SHIPWRIGHT_SHIPWRIGHT_TRIGGERS: defines the Shipwright Triggers Image to use

## Contributing

Expand Down
4 changes: 1 addition & 3 deletions controllers/shipwrightbuild_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ package controllers
import (
"context"
"fmt"
"path/filepath"

"github.com/go-logr/logr"
mfc "github.com/manifestival/controller-runtime-client"
Expand Down Expand Up @@ -219,10 +218,9 @@ func (r *ShipwrightBuildReconciler) setupManifestival(managerLogger logr.Logger)
if err != nil {
return err
}
buildManifest := filepath.Join(dataPath, "release.yaml")

r.Manifest, err = manifestival.NewManifest(
buildManifest,
dataPath,
manifestival.UseClient(client),
manifestival.UseLogger(logger),
)
Expand Down
1 change: 1 addition & 0 deletions controllers/shipwrightbuild_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ func testShipwrightBuildReconcilerReconcile(t *testing.T, targetNamespace string
{"IMAGE_SHIPWRIGHT_WAITER_CONTAINER_IMAGE", "ghcr.io/shipwright-io/build/waiter:nightly-2023-05-05-1683263383"},
{"IMAGE_SHIPWRIGHT_MUTATE_IMAGE_CONTAINER_IMAGE", "ghcr.io/shipwright-io/build/mutate-image:nightly-2023-04-18-1681794585"},
{"IMAGE_SHIPWRIGHT_BUNDLE_CONTAINER_IMAGE", "ghcr.io/shipwright-io/build/bundle:nightly-2023-05-05-1683263383"},
{"IMAGE_SHIPWRIGHT_SHIPWRIGHT_TRIGGERS", "quay.io/jkhelil/openshift-builds-triggers"},
}

t.Logf("Deploying Shipwright Controller against '%s' namespace", targetNamespace)
Expand Down
4 changes: 4 additions & 0 deletions controllers/shipwrightbuild_rbac.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,7 @@ package controllers
// +kubebuilder:rbac:groups=operator.shipwright.io,resources=shipwrightbuilds/finalizers,verbs=update
// +kubebuilder:rbac:groups=operator.shipwright.io,resources=shipwrightbuilds/status,verbs=get;update;patch
// +kubebuilder:rbac:groups=operator.tekton.dev,resources=tektonconfigs,verbs=get;list;create
// +kubebuilder:rbac:groups=operator.tekton.dev,resources=customruns,verbs=get;list;watch
// +kubebuilder:rbac:groups=operator.tekton.dev,resources=customruns/finalizers,verbs=patch;update
// +kubebuilder:rbac:groups=operator.tekton.dev,resources=customruns/status,verbs=patch;update
// +kubebuilder:rbac:groups=operator.tekton.dev,resources=pipelineruns,verbs=get;list;patch;update;watch
214 changes: 214 additions & 0 deletions kodata/triggers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: shipwright-build
name: shipwright-triggers
labels:
app.kubernetes.io/name: shipwright-triggers
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app.kubernetes.io/name: shipwright-triggers
name: shipwright-triggers
rules:
- apiGroups:
- shipwright.io
resources:
- buildruns
verbs:
- create
- get
- list
- update
- watch
- apiGroups:
- shipwright.io
resources:
- builds
verbs:
- get
- list
- watch
- apiGroups:
- tekton.dev
resources:
- customruns
verbs:
- get
- list
- watch
- apiGroups:
- tekton.dev
resources:
- customruns/finalizers
verbs:
- patch
- update
- apiGroups:
- tekton.dev
resources:
- customruns/status
verbs:
- patch
- update
- apiGroups:
- tekton.dev
resources:
- pipelineruns
verbs:
- get
- list
- patch
- update
- watch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: shipwright-triggers
labels:
app.kubernetes.io/name: shipwright-triggers
subjects:
- kind: ServiceAccount
namespace: shipwright-build
name: shipwright-triggers
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: shipwright-triggers
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: shipwright-build
labels:
app.kubernetes.io/name: shipwright-triggers
name: shipwright-triggers
rules:
- apiGroups:
- shipwright.io
resources:
- buildruns
verbs:
- create
- get
- list
- update
- watch
- apiGroups:
- shipwright.io
resources:
- builds
verbs:
- get
- list
- watch
- apiGroups:
- tekton.dev
resources:
- customruns
verbs:
- get
- list
- watch
- apiGroups:
- tekton.dev
resources:
- customruns/finalizers
verbs:
- patch
- update
- apiGroups:
- tekton.dev
resources:
- customruns/status
verbs:
- patch
- update
- apiGroups:
- tekton.dev
resources:
- pipelineruns
verbs:
- get
- list
- patch
- update
- watch
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: shipwright-build
name: shipwright-triggers
labels:
app.kubernetes.io/name: shipwright-triggers
subjects:
- kind: ServiceAccount
namespace: shipwright-build
name: shipwright-triggers
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: shipwright-triggers
---
apiVersion: v1
kind: Service
metadata:
namespace: shipwright-build
name: shipwright-triggers
labels:
app.kubernetes.io/name: shipwright-triggers
spec:
type: ClusterIP
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
app.kubernetes.io/name: shipwright-triggers
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: shipwright-build
name: shipwright-triggers
labels:
app.kubernetes.io/name: shipwright-triggers
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: shipwright-triggers
template:
metadata:
labels:
app.kubernetes.io/name: shipwright-triggers
spec:
serviceAccountName: shipwright-triggers
containers:
- name: shipwright-triggers
image: "quay.io/jkhelil/openshift-builds-triggers:latest"
args:
- --health-probe-bind-address
- ":8081"
imagePullPolicy: IfNotPresent
ports:
- name: webhook
containerPort: 80
protocol: TCP
- name: probe
containerPort: 8081
protocol: TCP
livenessProbe:
httpGet:
path: /healthz
port: probe
readinessProbe:
httpGet:
path: /readyz
port: probe

0 comments on commit 4beaff9

Please sign in to comment.