...

/

Exploring the Changes Done By the Boot

Exploring the Changes Done By the Boot

In this lesson, we will take a look at all the files that were changed because of Jenkins X Boot.

Now, let’s take a look at the changes Jenkins X Boot did to the local copy of the repository.

Press + to interact
jx repo --batch-mode

Please click the commits tab and open the last one. You’ll see a long list of the files that changed.

That’s a long list, isn’t it? Jenkins X Boot changed a few files. Some of those changes are based on our answers, while others are specific to the Kubernetes cluster and the vendor we’re using.

We won’t comment on all the changes that were done, but rather on the important ones, especially those that we might choose to modify in the future.

The env/parameters.yaml file

If you take a closer look at the output, you’ll see that it created the env/parameters.yaml file. Let’s take a closer look at it.

Press + to interact
cat env/parameters.yaml

The output, in my case, is as follows.

Press + to interact
adminUser:
password: vault:jx-boot/adminUser:password
username: admin
enableDocker: false
pipelineUser:
email: viktor@farcic.com
token: vault:jx-boot/pipelineUser:token
username: vfarcic
prow:
hmacToken: vault:jx-boot/prow:hmacToken

The parameters.yaml file contains the data required for Jenkins X to operate correctly. There are the administrative username and password and the information that Docker is not enabled (enableDocker). The latter is not really Docker but rather that the system is not using an internal Docker Registry but rather an external service. Further on, we can see the email, the token, and the username pipeline needs for accessing our GitHub account. Finally, we can see the hmacToken required for the handshake between GitHub webhooks and prow.

As you can see, the confidential information is not available in the plain-text format. Since we are using Vault to store secrets, some values are references to the Vault storage. That way, it is safe for us to keep that file in a Git repository without fear that sensitive information will be revealed to prying eyes.

We can also see from the git diff output that the parameters.yaml did not exist before. Unlike requirements.yml that existed from the start (and we modified it), that one was created by jx boot.

Which other file did the Boot process create or modify?

The jenkins-x.yml file

We can see that it made some modifications to the jenkins-x.yml file. We did not explore it just yet, so let’s take a look at what we have right now.

Press + to interact
cat jenkins-x.yml

The output is too long to be presented in a book, and you can see it on your screen anyway.

That is a jenkins-x.yml file like any other Jenkins X pipeline. The format is the same, but the content is tailor-made for the Boot process. It contains everything it needs to install or, later on, upgrade the platform.

What makes this pipeline unique, when compared with those we explored earlier, is that the buildPack is set to none. Instead of relying ...