thekindkeptn


Project maintained by agardnerIT Hosted on GitHub Pages — Theme by mattgraham

Back to homepage

First Steps After Installation

Head to the Keptn Bridge, which is the UI from which you can observe and manage what Keptn executes.

You should understand a bit of Keptn terminology:

In this case, we have one project, helloworld, which has one stage, demo, that contains one sequence, which prints out “Hello, world!”.

You can see that:

hello world sequence

The installation created a Git upstream repo that is separate from the repo where your source code is stored. This is used as the “backing storage” for keptn. Every change is recorded in this Git upstream. To view the contents of this repository from the Bridge, click on “??”

The installer created a keptn project which is defined in the shipyard.yaml file stored in the main branch of the upstream. A shipyard file defines your environment (more details here). The shipyard also defines the available sequences and tasks that will execute. Right now there is only one stage: demo with one sequence: hello and that sequence has only one task: hello-world.

Keptn creates a separate branch per stage. All configurations and files related to that stage are found under that branch. Keptn creates a folder for each service (demoservice).

Note: Stages cannot currently be added, removed or renamed after project creation. This is a known limitation


Executing Jobs

How exactly did the Hello, world! get there?

Along with Keptn core microservices, one additional service was installed: the job executor service. This service is extremely flexible and allows Keptn to spin up any container or script (eg. Python, bash or powershell).

The job-executor is configured to listen for the sh.keptn.event.hello-world.triggered event. In other words, when Keptn requests that the task is executed, the job executor actions the task in response to that cloudevent.

Sounds good. Show me

Switch to the demo branch and go to demoservice/job/config.yaml. The files show that the Job Executor Service (JES) listens for sh.keptn.event.hello-world.triggered and, in response, spins up an alpine container and executes echo "Hello, world!".

Play around with this file: Echo different words or run an entirely different container in response to the event.

Nice, but let’s do something useful

Excellent, you’ve seen how Keptn allows bringing your own tools and decouples logic from tooling and are keen to progress.

Head here next to build an artifact delivery platform using Helm with prometheus SLO-driven quality evaluations as standard. Take me there