The Monokle Team at Kubeshop is proud to announce version 1.5.0 of Monokle, our open-source desktop tool to help you with all-thing-related to Kubernetes manifests.
This is a truly massive release with a slew of new features, both big and small, aimed at both those new to Kubernetes and those that are deep into it. Let’s dive in!
Resource Templates and Plugins
Monokle now provides templates to help you get started with creating resources. Templates are available from a Template Explorer on the left:
Selecting a template will prompt you for corresponding input and result in one or more created resources interpolated with the provided values - for example the “Basic Service” template:
After providing required information Monokle will generate the corresponding resources:
Monokle comes with a number of default templates for creating basic Kubernetes resources (bundled in our monokle-default-templates-plugin) - but you can easily create your own templates and use them in Monokle; check out the templates and plugins documentation to dig in!
Monokle introduces the concept of projects - with a dedicated project selector at the top of the UI to make it easy to switch between projects, create new ones, etc.
The settings now correspondingly have both default project settings (that will be applied to newly created projects) and the settings of the current project:
Istio and Cert-Manager Support
Monokle now has integrated support for Istio and Cert-Manager CRDs - resulting in:
- Links and syntax validation with corresponding UI decorations.
- Form editors for supported CRDs.
The upcoming 1.6.0 release will include support for more resource types (Flux, Argo, etc) - let us know which ones you think we should support!
Kubernetes Secret Editor
Editing Kubernetes Secret manifests has never been easier - the Secret form editor now has integrated support for all Secret types with automatic base64 encoding/decoding in applicable form fields.
Improved Form Editors
Apart from the Secret editor mentioned above, the integrated Form editors now have support for NetworkPolicies and have been extended with settings to control their behavior in regard to default values provided by the underlying JSON Schema.
Previously, the Form Editor would always insert default values for both complex and primitive values - which could be annoying as this might change the underlying YAML without any changes made in the UI. On the other hand, inserting default values can be helpful as it makes a manifest more explicit and helps users understand possible settings/values. Using these settings you can decide which behaviour that best fits your needs.
Ctrl/Cmd-P now opens a quick-search that allows you to quickly create a filter or select resources:
Dynamic Validation and Form editors for discovered CRDs
Monokle will now “learn” any CRDs it encounters during parsing of resources to provide schema validation and Form editors for corresponding resource kinds (these will be “forgotten” when Monokle is restarted). For example after connecting to a cluster containing ArgoCD you will see syntax errors and documentation hints in the editor and have access to corresponding Form editors for ArgoCD objects:.
It is now possible to select multiple resources - which opens a corresponding action-bar at the top of the navigator.
Improved Link identification and Validation
The underlying logic for validating links has been improved to be aware of link qualifiers like namespace and resourceKind. For example the below subject link is marked as invalid because the target ServiceAccount is not in the correct namespace.
A number of actions have been added to the file and folder popup menus - including actions to
- Filter shown resources on a selected folder.
- Create new resources in a folder.
- Add new resources to an existing file.
Getting Started Page
Monokle now touts a nice Getting Started page prompting you to open an existing project or create a new one. As before, there is a global setting to bypass this page and immediately load the project last worked on.
Cluster Selection moved to top panel
Selecting your current target cluster is now done from the top panel - the corresponding button on the left toolbar has been removed.
Configure your kubeconfig in the Project Settings panel:
And so much more…
- The documentation has been overhauled to be in line with 1.5.0 functionality.
- The resource-creation dialog has improved logic for providing valid input.
- Cluster-compare improvement to show all resources in your cluster.
- Improved formatting of validation-error popups.
- Lots of improvements related to working with Kustomize and Helm:
- Support for the latest Kustomization schema with improved validation and Form editing.
- Support for Helm with Kustomize via a project-level setting.
- Ignore Helm templates for now - to avoid corrupting them in the editor.
- Support co-existence with Flux Kustomization CRDs.
- Lots of dependency updates - including the latest electron 16.0.8 release.
- Lots and lots of UX tweaks and improvements.
- And even more bug-fixes!