Skip to content

canonical/waltz-integration-juju

 
 

Repository files navigation

Charmed  FINOS Waltz

💡 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!

Juju, Charms and Waltz

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.

Cloud vendor agnostic

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.

Multi-hybrid cloud

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.

Offline installation

We assume your host had a functioning Internet connection. However it is also possible to deploy charmed operators offline.

Installation

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.

Usage

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.

Relations

TBA

OCI Images

This charm requires the Waltz docker image: ghcr.io/finos/waltz.

Help and Support

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.

Roadmap

TODO

Contributing

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.

License

Copyright (c) 2021-present, Canonical

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

About

A Charmed Operator for FINOS Waltz

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%