Releases: Ragin-LundF/k8s-jcasc-management-go
Release 3.6.0
Library updates
- Update of all dependencies to the latest versions.
- Min. GoLang Version is 1.22.5
Release 3.5.0
- Update of all dependencies
- Minimal GoLang version is now 1.20
Release 3.4.0
Library updates
- Update of all dependencies to the latest versions.
Release 3.3.0
Release 3.2.0
Configuration to keep temporary files
Now it is possible to set a configuration to keep the temporary files for the configuration deployments.
The configuration can be set in the main or in the project configuration:
k8sManagement:
# keep generated temporary files
keepGeneratedTemplates: false
(see config/k8s_jcasc_mgmt.yaml)
To avoid to check those files in, please add the following line to your .gitignore
__k8smgmt__*
Bugfixes
There was a path error for the migration assistant, which should be fixed now.
Release 3.1.0
3.1.0
Bugfixes
- The uninstall was unable to load the configuration, which made it impossible to uninstall only namespaces for deployment.
- In Jenkins there were changes in the charts regarding the
mode
and the label for the controller.
The jcasc_config.yaml
files in the templates
directory and in the project
directories must start with this:
jenkins:
systemMessage: "{{ .JCasc.SystemMessage }}"
labelString: "{{ .JenkinsHelmValues.Controller.CustomJenkinsLabels }}"
mode: "EXCLUSIVE"
labelString
defines the old custom Jenkins label to allow the controller to execute the seed job.mode
was also set in thejenkins_helm_values.yaml
, but is now also required in the JCasC configuration.
Release 3.0.0
3.0.0
Introducing better template placeholder
The previous versions were still fully compatible with the deprecated bash version.
With version 3.0.0 this compatibility is no longer given.
The new template system is based on Golang templates (https://golang.org/pkg/text/template/) and allows a more flexible use, as well as the usual template/placeholder syntax from the Kubernetes environment.
Migration
The migration is described under docs/migration/MigrateV2_to_V3.md.
Placeholder documentation
Furthermore, the new placeholders are fully documented in docs/TemplatePlaceholder.md and the further linked files.
Refactored Project Generation
The "Create Project" area has also been completely redesigned under the hood.
It now relies on a complete project structure instead of individual variables and substructures and associated methods that operate on this structure.
This is also used for the placeholders and associated methods that work on this structure.
This change was urgently needed to add more features like configuration-based deployments (instead of creating the project-specific YAML files) or deploying the tool as a central instance in a Docker container.
New configuration file per project
Every project stores now the original configuration as k8s_jcasc_project_config.yaml
.
This allows deploying applications directly from the configuration with the latest templates.
The tool checks if there are some value files available.
If this is not the case, it generates them temporarily from the configuration and deletes them after a successful deployment.
The skippable files are:
jenkins_helm_values.yaml
nginx_ingress_helm_values.yaml
pvc_claim.yaml
New input field for additional Namespaces
Additional namespaces are now supported in the UI and the CLI version.
Multiple namespaces can be added comma separated.
2.9.0 Small improvements and dependency updates
Dependency updates
This release updates the base libraries.
Mainly fyne.io to 2.0.0.
Bugfixes
Fixed a minor bug where the GUI does not initially display the namespace dropdown.
Improvements
There is a new option to add a domain for the load balancers.
Domains can be used in the templates with the placeholder "##JENKINS_URL##".
It contains also a description of the current available placeholders under docs/TemplatePlaceholders.md
Release 2.8.1 - Small fixes and improvements
This release fixes 2 issues:
- Wrong path detection under *nix / macOS
- Quoted DNS annotations
Release 2.8.0 - Support for external DNS configuration
Bugfixes
This version fixes a problem with the namespace events after creating a new project.
External DNS annotations
This version introduces support for external DNS annotations on the Nginx load balancer service.
To activate it, the following configurations can be changed in your project configuration:
# enable annotations on the load balancer service
NGINX_LOADBALANCER_ANNOTATIONS_ENABLED=false
# external DNS hostname
NGINX_LOADBALANCER_ANNOTATIONS_EXT_DNS_HOSTNAME="domain.tld"
# external DNS TTL time in seconds
NGINX_LOADBALANCER_ANNOTATIONS_EXT_DNS_TTL=60
These values are replacing the annotations block in the nginx_ingress_helm_values.yaml:
annotations:
enabled: ##NGINX_LOADBALANCER_ANNOTATIONS_ENABLED##
external_dns_hostname: "##NAMESPACE##.##NGINX_LOADBALANCER_ANNOTATIONS_EXT_DNS_HOSTNAME##"
external_dns_ttl: ##NGINX_LOADBALANCER_ANNOTATIONS_EXT_DNS_TTL##
The default for new DNS names is <namespace>.<ext_dns_host>
.
This version supports no direct UI edit (but it is possible to abuse e.g. the Jenkins Welcome Message).
Please update this file in the project templates, if modified templates are used.
If own charts are used, please update the following files in the nginx-ingress-controller
folder: