💡 If you would like to quickly test Waltz in your laptop, check this from zero to hero local deployment guide using MicroK8s.
This project aims to provide an enterprise-grade deployment and day-2 operations option for FINOS Waltz using Juju and Charmed Operators.
One command - juju deploy finos-waltz-bundle
- deploys all you need to run Waltz on your local or production enviroment.
This project is 100% open source and questions from beginners are always welcomed!
The Juju Charmed Operator Lifecycle Manager (OLM) is a hybrid-cloud application management and orchestration system for installation and day 2 operations. It helps deploy, configure, scale, integrate, maintain, and manage Kubernetes native, container-native and VM-native applications—and the relations between them.
A charmed operator (also known, more simply, as a “charm”) encapsulates a single application and all the code and know-how it takes to operate it, such as how to combine and work with other related applications or how to upgrade it. Charms are programmed to understand a single application, its operations, and its potential to communicate or integrate with other applications. A charm defines and enables the channels by which applications connect.
In a nutshell Waltz allows you to visualize and define your organisation's technology landscape. Think of it like a structured Wiki for your architecture.
The instructions cover the deployment of FINOS Waltz charmed operators on a host PC along with a locally deployed Gitlab instance. However these charms can be deployed on any cloud and should be able to use any Gitlab instance with requisite permissions.
The applications necessary to run Waltz were deployed as a bundle in the same cloud. Juju allows, however, for you to deploy each application on a different cloud and then integrate the stack across your estate.
We assume your host had a functioning Internet connection. However it is also possible to deploy charmed operators offline.
To get started, you can checkout the local run documention, which will walk you through and explain all the different deployment steps to run a local Waltz instance, and will point you to docs for alternative deployments, such as clouds, barebone installations and other.
The Waltz Operator charm can be deployed by running:
juju deploy finos-waltz-k8s --channel=edge
The Waltz Operator charm will initially be in a Blocked state, it expects a PostgreSQL relation to be set:
juju deploy postgresql-k8s
juju relate finos-waltz-k8s:db postgresql-k8s:db
Alternatively, it can be configured with an external PostgreSQL database connection details:
juju config finos-waltz-k8s db-host="<db-host>" db-port="<db-port>" db-name="<db-name>" db-username="<db-username>" db-password="<db-password>"
For an in-depth guide on how to deploy Waltz in a local environment from scratch, see the Local deployment guide.
TBA
This charm requires the Waltz docker image: ghcr.io/finos/waltz
.
Feel free to create an issue or submit a Pull Request to this repository in order to contribute; make sure to read the Waltz Contribution Guide first.
You can also use chat to the contributors to this Waltz integration via the FINOS Waltz Slack Channel.
TODO
Visit Waltz Contribution Guide to learn how to contribute to Waltz.
Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and DEVELOPMENT.md
for developer guidance.
Copyright (c) 2021-present, Canonical
Distributed under the Apache License, Version 2.0.
SPDX-License-Identifier: Apache-2.0