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.
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.
cat env/parameters.yaml
The output, in my case, is as follows.
adminUser:password: vault:jx-boot/adminUser:passwordusername: adminenableDocker: falsepipelineUser:email: viktor@farcic.comtoken: vault:jx-boot/pipelineUser:tokenusername: vfarcicprow: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.
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 ...