Git Product home page Git Product logo

gitops-tekton-demo's Introduction

Quarkus and Tekton pipeline with ACS scanning

This repo provides a gitops based implementation of a demo using a quarkus application that is built, packaged, scanned and pushed (to quay.io) using Tekton pipelines, Red Hat Advanced Cluster Security and Red Hat DevSpaces.

Provisioning

Clone this or user the raw files url if preferred, then assuming a fresh install of OpenShift run the first command to install the Red Hat GitOps operator:

oc create -k gitops/manifests/operators/openshift-gitops-operator/overlays/stable

Once the operator is installed, we use the App of Apps pattern to initiate the install of all other operators, including the creation of the pipeline and integration of ACS with the Internal Registry. Notice this might take a while to finish the sync and install everything.

oc create -k gitops/manifests/cluster/bootstrap/base

In order to push the created image during the pipeline to quay.io you have to create a robot account for your repo on quay and use the provided username and password to create a secret and link it to the ServiceAccount.

oc create secret docker-registry quay-registry --docker-server=quay.io --docker-username=<robot-username> --docker-password=<password-token> --docker-email=<email> -n demo-quarkus-pipeline

Then link it to the proper ServiceAccount created to run the pipeline.

oc secrets link pipeline quay-registry --for=pull,mount -n demo-quarkus-pipeline

Idea and execution

The workflow starts with DevSpaces where you can execute the demo application that is quarkus based by executing ./mvnw quarkus:dev. It runs and exposes the applicationfor testing and prototyping. When you are done with coding it's a matter of pushing the code to the github repository (feel free to fork it and change on your own version) and the pipeline will be triggered. For this to work you have to configure the webhook in the git repository, you can get the webhook url by executing this:

oc get route quarkus-pipeline-event-listener -n demo-quarkus-pipeline -o jsonpath='{.spec.host}'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.