Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mcaimi/ocp4-fuse-3scale-demo
Tekton + SpringBoot + Fuse deployment demo
https://github.com/mcaimi/ocp4-fuse-3scale-demo
camel openshift-v4 redhat tekton
Last synced: 4 days ago
JSON representation
Tekton + SpringBoot + Fuse deployment demo
- Host: GitHub
- URL: https://github.com/mcaimi/ocp4-fuse-3scale-demo
- Owner: mcaimi
- License: gpl-3.0
- Created: 2021-07-08T09:09:03.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T08:38:31.000Z (22 days ago)
- Last Synced: 2024-10-29T09:54:30.023Z (22 days ago)
- Topics: camel, openshift-v4, redhat, tekton
- Language: Java
- Homepage:
- Size: 815 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tekton + RedHat Fuse Demo On Openshift 4.X
This simple demo builds, packages and deploys a quick Camel Route example using Tekton Pipelines.
Deployed API is exposed via the 3Scale API Management gateway with OpenID integration (RedHat SSO)## Prerequisites
- Openshift 4.13.X
- Git access to the source repo
- Openshift Pipelines installed
- Openshift GitOps
- Openshift Pipelines## Getting started
### Deploying on Openshift
There are a few prerequisites that need to be deployed beforehand:
1. Install and deploy ArgoCD as shown [here](https://github.com/mcaimi/k8s-demo-argocd)
2. Deploy ocp-pipeline with manifests found in the previously mentioned repo:```bash
$ oc apply -k config/ocp-pipelines/argocd
```### Install and run tekton pipeline manifests
1. Create a new project:
```bash
$ oc new-project fuse-jdbc-demo
```2. Install tekton pipeline components:
```bash
oc apply -k tekton/
```3. Run the pipeline via the Web UI (or create a pipelinerun manifest)
![OCP Pipeline Run](/assets/pipeline.png)
4. Deploy ArgoCD applications:
```bash
oc apply -k argocd/postgres
oc apply -k argocd/fuse-spring
```And wait for the deployment to show
```
$ oc get deployment -n fuse-jdbc-demo
[...]
NAME READY UP-TO-DATE AVAILABLE AGE
spring-fuse-demo-github 0/1 1 0 19m
[...]
```You can then discover the url by typing
```bash
$ oc get ingress -n fuse-demo
[...]
NAME CLASS HOSTS ADDRESS PORTS AGE
spring-fuse-demo-github fuse.apps.kubernetes.local 80 2m29s
[...]
```### Sample Post Call
linux# ``curl -d '{"userId":7, "title":"This is a title", "body":"Blah"}' -H "Content-Type: application/json" http://fuse.apps.kubernetes.local/camel/api/post``
PS> ``wget -Method Post -Body '{"userId":7, "title":"This is a title", "body":"Blah"}' -ContentType 'application/json' http://fuse.apps.kubernetes.local/camel/api/post``
### Cleaning up
If you no longer need the example, you can just run
```bash
$ oc delete -k argocd/fuse-spring
$ oc delete -k argocd/postgres
```## TODO
1. Fix bugs here and there
## Related repositories
- [Kubernetes/OCP Demo Application](https://github.com/mcaimi/quarkus-notes): example quarkus application for K8s
- [OCP4 Component Deployment via ArgoCD](https://github.com/mcaimi/k8s-demo-argocd): for deployment manifests of Openshift components with Openshift GitOps