Skip to content
This repository has been archived by the owner on Jun 27, 2020. It is now read-only.

Releases: Ragin-LundF/k8s-jcasc-management

Adding support for cloud template selection

02 Jun 23:40
84832d0
Compare
Choose a tag to compare

In this release, it is possible to create the project configurations more dynamically by selecting different cloud templates.
The file jcasc_config.yaml should now have a ##K8S_MGMT_JENKINS_CLOUD_TEMPLATES## placeholder:

  clouds:
    - kubernetes:
        name: "jenkins-build-slaves"
        serverUrl: ""
        serverCertificate: ##KUBERNETES_SERVER_CERTIFICATE##
        directConnection: false
        skipTlsVerify: true
        namespace: "##NAMESPACE##"
        jenkinsUrl: "http://##JENKINS_MASTER_DEPLOYMENT_NAME##:8080"
        maxRequestsPerHostStr: 64
        retentionTimeout: 5
        connectTimeout: 10
        readTimeout: 20
        templates:
##K8S_MGMT_JENKINS_CLOUD_TEMPLATES##

It is important, that the placeholder is at the beginning of the line.

If a folder called cloud-templates is existing in the templates folder, then all files in this directory will be shown as possible cloud-templates.
The user can then select which (none or multiple) sub-templates should be added to the main template.

These sub-templates must also start at the beginning of the line.
For an example have a look here: templates/cloud-templates/node.yaml

Ingress controller and loadbalancer support for deployment namespaces without Jenkins installations

28 May 10:58
Compare
Choose a tag to compare

Adding support to disable Jenkins ingress as default while installing ingress controller.

If Jenkins should deploy applications to other namespaces, it will deploy the ingress controller (if active) also to the other namespaces, but without the ingress of Jenkins.

To create the needed project, there is a new menu point called createDeploymentOnlyProject. This function will only ask for directory, namespace and IP and creates only the ingress and loadbalancer relevant files.

The installation for such projects is looking for Jenkins Helm Chart values and if they are not available it skips the installation of Jenkins and sets an internal flag to prevent the installation of a Jenkins ingress routing.

Hotfix for Installation

27 May 07:33
Compare
Choose a tag to compare

Small hotfix for wrong output that nginx ingress file was not found.

Hotfix for MacOS/BSD

26 May 07:59
Compare
Choose a tag to compare

MacOS/BSD does not support find -printf. Now it uses the default ls command for directory listening.

Shell script support and directory selection

25 May 20:24
ea3319c
Compare
Choose a tag to compare

With dialog and whiptail it is now possible to select the directory in a selection dialog instead of an input dialog.

For better support for additional tools and installations, k8s-jcasc.sh now checks after (de-)installing Jenkins, if the selected project directory contains shell scripts in a directory called scripts.

To use this feature it is required to have the following naming conventions:

  • i_*.sh -> Scripts for installation
  • d_*.sh -> Scripts for installation

The deinstallation scripts can only be executed if the project directory matches the namespace name. This is necessary because normally only the namespace and no directory selection is required for deinstallation.

Support for deployments in other namespaces

25 May 14:31
Compare
Choose a tag to compare

Adding support for deployments in other namespaces.

With the following section in the jenkins_helm_values.yaml it is possible to add other namespaces to the RBAC binding.
This allows Jenkins to deploy applications into those namespaces later on a CI/CD pipeline.

k8smanagement:
  rbac:
    # list of additional namespaces that should be deployable (adds RBAC roles to those namespaces)
    additionalNamespaces: []

Whiptail/newt support and dummy support for IP reservation in ip_config.cnf file

18 May 19:32
Compare
Choose a tag to compare
  • Improved scripts
    • Missing dialog for apply secrets to a namespace added
  • Support for dummy entries in ip_config.cnf file
    • can be used for IP reservation
    • configuration of the prefix for dummy entries can be done with the IP_CONFIG_FILE_DUMMY_PREFIX variable
  • whiptail support
    • If dialog and whiptail are installed, the order is:
      • whiptail
      • dialog
      • nodialog

Whiptail/newt installation

  • Debian: apt-get install whiptail
  • Ubuntu: apt-get install whiptail
  • Alpine: apk add newt
  • Arch Linux: pacman -S whiptail
  • Kali Linux: apt-get install whiptail
  • CentOS: yum install newt
  • Fedora: dnf install newt
  • OS X: brew install newt
  • Raspbian: apt-get install whiptail

Whiptail based k8s-jcasc-management

alt text
Screenshot: main menu with whiptail support

alt text
Screenshot: enter a directory with whiptail support

Upgrade of Jenkins Helm charts to 1.18.1

11 May 08:05
Compare
Choose a tag to compare

This release is upgrading the Helm Charts to version 1.18.1, which adds the support to set the executor mode in the original chart, which minimizes the changes for this tool in the charts.

The most important change is, that jenkins_helm_values.yaml are now containing master.executorMode to set the mode to EXCLUSIVE.

If you have own templates in your project, then you have to change this value and you can remove the k8sJenkinsMgmtExtension.jenkins.mode value.

Support for encrypted passwords for default admin user and project users

29 Apr 14:30
Compare
Choose a tag to compare

In this release, the "securityRealms" will be supported.
As default, it adds the Jenkins "admin" user and a "project-user" to the templates.

The project user has read-only permissions but can trigger a build.

To update or generate new passwords, it is possible to use a new option (selectable at the dialogs or with the command option: ./k8s-jcasc.sh createJenkinsUserPassword).

Upgrading Jenkins Helm Charts

11 Apr 00:13
6ea9795
Compare
Choose a tag to compare

This release upgrades only the Jenkins Helm Charts to version 1.11.3.
With this version, the modification for not copying a not existing configuration in this chart is no longer needed.

It also offers more possibilities to configure Jenkins paths.

For more details see: https://github.com/helm/charts/tree/master/stable/jenkins