chapter seven

7 Kubernetes-Native Continous Integration & Secrets

 

This chapter covers

  • Integrating the application for any change using Continuous Integration methodology.
  • Showing Tekton as a Kubernetes-Native solution for implementing Continuous Integration pipelines.
  • Implementing a Kubernetes-Native Continuous Integration pipeline to test, build and push a Linux container to an external registry so it is ready to be deployed to production, keeping secrets protected during all the lifecycle of an application (from the beginning until the container image is released to container registry).

In the previous chapter we’ve seen how to inject secrets from a secret store to containers. Looking back to all previous chapters, we’ve learn how to keep secrets secret in the different phases of the lifecycle of an application, it’s now time to sum-up of everything and start applying all these security concepts together.

We’ll demonstrate how to implement a Kubernetes-Native Continous Integration pipeline to release an application/service continuously and automatically, yet keeping the secrets secret using Tekton.

What we want to achieve in this chapter is to show how to deliver quality applications rapidly to hit the market sooner and better yet managing the secrets correctly during the whole pipeline so no secrets-leak ocurrs in this phase of the development.

7.1 Introduction to Continuous Integration

7.2 Tekton

7.2.1 Installing pre-requisites

7.2.2 Installation of Tekton

7.2.3 Tekton Pipelines

7.3 Continuous Integration for Welcome Message

7.3.1 Welcome Message application

7.3.2 Compile and Run tests

7.3.3 Build and Push the container image

7.3.4 Pipeline Resource

7.3.5 Pipeline

7.3.6 Pipeline Run

7.4 Summary