Releases: Ragin-LundF/k8s-jcasc-management
Introducing dialog support
Introduction
k8s-jcasc-management supports now the option to use dialog
(https://invisible-island.net/dialog/). First, it checks, if dialog
is installed on your system.
If this is the case, all dialogs and the main menu will be rendered via this tool, which makes it a little bit easier to navigate.
It is also possible to disable this feature by calling k8s-jcasc.sh --nodialog
. This new parameter disables it and uses the old standard bash as default.
Examples
Stability improvements
- Adding some improvements with shellcheck
- Adding some shunit2 tests for more robust code
Improvement for encryption/decryption and support for Ingress without nginx
The OpenSSL encryption has some problems with interoperability between macOS and Linux. This results in incompatible secret files, which are unusable in teams with the mixed OS.
This release introduces GPG as the default encryption.
Configration
In the k8s_jcasc_mgmt.cnf
file there is a new option called K8S_MGMT_ENCRYPTION_TOOL
. Here you can set up one of the following options:
- gpg
- openssl
Migration
- To migrate openssl secret files to gpg, simply change the default encryption tool to
openssl
. - Then start the tool and select
decryptSecrets
. - After that undo the change (which means set it back to
gpg
) - Start the tool again and select
encryptSecrets
.
Now you should have a secrets.sh.gpg
file. Now you can delete the secrets.sh.enc
file and commit the changes of your project.
Other
- Support to deploy ingress without nginx-ingress-controller for plain k8s
- Default job has correct link to https://github.com/Ragin-LundF/jenkins-jobdsl-remote
- Some fixes to work properly on plain k8s
K8S-JCasC-Management release version 1.0.0
Releasing the version 1.0.0 of the Kubernetes Jenkins-Configuration-as-Code management tool.
Feature list:
- create new projects for Jenkins administration
- manage secrets
- encrypt/decrypt secrets for secure commit to a VCS (version control system)
- apply secrets to Kubernetes
- for each project while installation or as an update (
applySecrets
) - for all known namespaces, that are configured in the
ip_config.cnf
file (applySecretsToAll)
- for each project while installation or as an update (
- store secrets globally for easy administration
- store secrets per project for more security
- manage the Jenkins instances for a namespace with the project configuration
- install
- create namespace if it does not exist
- install Jenkins
- install nginx-ingress-controller per namespace (if configured)
- install loadbalancer and ingress for Jenkins
- uninstall
- uninstall Jenkins installation
- uninstall nginx-ingress-controller per namespace (if configured)
- uninstall loadbalancer and ingress for Jenkins (other ingress routes will not be changed)
- upgrade
- install
- version check to see a message in the console if a new version is available