Releases: Ragin-LundF/k8s-jcasc-management-go
Release 2.7.0
This release mainly updates the underlying fyne.io framework to version 1.4.0. With this update the UI is much better and gets a fresher color scheme.
Release 2.6.0 - Introduction of multiple secret files
To set up multiple secret files, simply add new files in the same directory where the secrets.sh(.gpg)
is located. These files need the prefix secrets_
.
Release 2.4.0 - Support Multi Cluster Certificates
- Bugfix that Kubernetes Server certificate has not been replaced in the template
- Adding support for multiple cluster certificates
- The configuration
KUBERNETES_SERVER_CERTIFICATE
is now a fallback/default configuration. - With
KUBERNETES_SERVER_CERTIFICATE_<context_name>
it is now possible to add certificates for multiple contexts.
The context name should not contain spaces! - Examples:
KUBERNETES_SERVER_CERTIFICATE_CLUSTER_A
is for the contextcluster_a
KUBERNETES_SERVER_CERTIFICATE_PRODUCTION-CLUSTER
is for the contextproduction-cluster
- The configuration
Release 2.3.0 - Adding Kubernetes Context Switch
2.3.0
- Adding Kubernetes Context Switch (GUI only)
- This release introduces the possibility to switch the Kubernetes Context in the app.
The available contexts has to be configured in the~.kube/config
file. - Configure access to multiple clusters: https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/
- This release introduces the possibility to switch the Kubernetes Context in the app.
Update of libraries
- Update of libraries:
- fyne: 1.3.2
- fyne had some cache issues with go proxy server, which are solved with the new version
- crypto (latest branch)
- fyne: 1.3.2
Fyne Update and improved CLI support
- Update of
fyne
to1.3.1
- Better support for server only environments
- It is possible to use
go run -tags cli k8s-jcasc-mgmt.go
to avoid compile withfyne
and its dependencies (gcc
,x11
,...)
- It is possible to use
Introducing new GUI and refactoring for better separation between UI and functionality
Introducing new UI
- K8S-Jcasc-Management supports now native UIs for the following platforms:
- Windows
- Linux and BSD
- MacOS X
This was realized with the fyne framework.
To use K8S-JcasC-Management on a CLI, you can start it with the -cli
flag.
Build hints
If you have trouble compiling the project, please visit the fyne developer site first to check the prerequisites.
On Windows, it is recommended to install TDM-GCC - tdm-gcc.tdragon.net, which works very easily. It can be required to set the PATH variable to the TDM-GCC
directory if the go
compiler still wants a GCC
.
Using on server-systems only (without GUI)
If you have trouble or if you want to use it on a server without X11
, you can also exchange the !ignore
and ignore
in first-line comment at the /app/app_cli.go
and /app/app_gui.go
file.
Golang will then use the app_cli.go
file to compile and ignores the GUI implementation completely.
Screenshots
Welcome (Windows)
Deployment (Mac Dark Theme)
Create Project (Mac Light Theme)
Hotfix for encrypted password problem
- Hotfix for configuration of encrypted users.
- Fixes the issue, that
JENKINS_MASTER_ADMIN_PASSWORD_ENCRYPTED
andJENKINS_MASTER_PROJECT_USER_PASSWORD_ENCRYPTED
need encrypted password surrounded with'
characters, that thebash
version will not interpret this configuration as arguments.
- Fixes the issue, that
Namespace creation and logging by configuration
- New menu to support to "create namespace" from k8s-jcasc-mgmt
- Default logging enabled.
k8s_jcasc_mgmt.cnf
has now the following 3 parameters:K8S_MGMT_LOGGING_LOGFILE
: default isoutput.log
. This defines the default logfile. This value can be overwritten with the-logfile
argument or simply comment it to disable it.K8S_MGMT_LOGGING_ENCODING
: default is:console
. Allows the default logging type (console
orjson
)K8S_MGMT_LOGGING_OVERWRITE_ON_START
: default is:true
. Defines if logfile should be re-created on start. In this case, the system moves the old log (if exists) to the defined logfile name with suffix.1
. Example:output.log.1
.
Release
Features:
- 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 load balancer and ingress for Jenkins
- uninstall
- uninstall Jenkins installation
- uninstall nginx-ingress-controller per namespace (if configured)
- uninstall load balancer and ingress for Jenkins (other ingress routes will not be changed)
- upgrade
- install
- internal log viewer
- logging in JSON or console format
-> This release is equal to the 1.12.1 version of the bash implementation (https://github.com/Ragin-LundF/k8s-jcasc-management).