Popularity
8.5
Stable
Activity
9.9
Growing
2,303
74
485

Programming language: Go
License: GNU General Public License v3.0 or later
Latest version: v2.9-rc2

Juju alternatives and similar packages

Based on the "Other Software" category.
Alternatively, view Juju alternatives based on common mentions on social networks and blogs.

  • syncthing

    Open Source Continuous File Synchronization
  • hugo

    The world’s fastest framework for building websites.
  • Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
    Promo www.influxdata.com
    InfluxDB Logo
  • croc

    Easily and securely send things from one computer to another :crocodile: :package:
  • restic

    Fast, secure, efficient backup program
  • Gor

    GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.
  • Seaweed File System

    DISCONTINUED. SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs]
  • rkt

    DISCONTINUED. An App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM.
  • limetext

    Open source API-compatible alternative to the text editor Sublime Text
  • toxiproxy

    :alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing
  • confd

    Manage local application configuration files using templates and data from etcd or consul
  • Comcast

    Simulating shitty network connections so you can build better systems.
  • LiteIDE

    LiteIDE is a simple, open source, cross-platform Go IDE.
  • drive

    Google Drive client for the commandline
  • nes

    NES emulator written in Go.
  • scc

    Sloc, Cloc and Code: scc is a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go
  • Duplicacy

    A new generation cloud backup tool
  • heka

    DISCONTINUED. DEPRECATED: Data collection and processing made easy.
  • fleet

    DISCONTINUED. A Distributed init System.
  • blocky

    Fast and lightweight DNS proxy as ad-blocker for local network with many features
  • Docker

    Notary is a project that allows anyone to have trust over arbitrary collections of data
  • myLG

    Network Diagnostic Tool
  • Stack Up

    Super simple deployment tool - think of it like 'make' for a network of servers
  • snap

    DISCONTINUED. The open telemetry framework
  • GoBoy

    Multi-platform Nintendo Game Boy Color emulator written in Go
  • lgo

    Interactive Go programming with Jupyter
  • Documize

    Modern Confluence alternative designed for internal & external docs, built with Go + EmberJS
  • Circuit

    Circuit: Dynamic cloud orchestration http://gocircuit.org
  • borg

    Search and save shell snippets without leaving your terminal
  • GoDNS

    A dynamic DNS client tool that supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc, written in Go.
  • vFlow

    Enterprise Network Flow Collector (IPFIX, sFlow, Netflow)
  • Plik

    Plik is a temporary file upload system (Wetransfer like) in Go.
  • shell2http

    Executing shell commands via HTTP server
  • peg

    Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
  • portal

    Portal is a quick and easy command-line file transfer utility from any computer to another.
  • Gokapi

    Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported.
  • Go Package Store

    An app that displays updates for the Go packages in your GOPATH.
  • Guora

    🖖🏻 A self-hosted Quora like web application written in Go 基于 Golang 类似知乎的私有部署问答应用 包含问答、评论、点赞、管理后台等功能
  • Postman

    CLI tool for batch-sending email via any SMTP server.
  • Leaps

    A pair programming service using operational transforms
  • gfile

    Direct file transfer over WebRTC
  • gocc

    Parser / Scanner Generator
  • sake

    :robot: sake is a task runner for local and remote hosts
  • mockingjay

    Fake server, Consumer Driven Contracts and help with testing performance from one configuration file with zero system dependencies and no coding whatsoever
  • Gebug

    Debug Dockerized Go applications better
  • ipe

    DISCONTINUED. An open source Pusher server implementation compatible with Pusher client libraries written in GO
  • yai

    Your AI powered terminal assistant.
  • woke

    Detect non-inclusive language in your source code.
  • GoNB

    GoNB, a Go Notebook Kernel for Jupyter
  • ide

    A Go code editor. With debugging and Autocomplete. 一个 Go 代码编辑器,具有 DEBUGGING 和 AUTOCOMPLETE
  • tcpprobe

    Modern TCP tool and service for network performance observability.

Do you think we are missing an alternative of Juju or a related project?

Add another 'Other Software' Package

README

[Juju logo](doc/juju-logo.png?raw=true)

Juju is a model-driven Operator Lifecycle Manager (OLM). Juju greatly improves the experience of running Kubernetes operators, especially in projects that integrate many operators from different publishers.

Why Juju

A Kubernetes operator is a container that drives the config and operation of a workload. By encapsulating ops code as a reusable container, the operator pattern moves beyond traditional config management to allow much more agile operations for complex cloud workloads.

Shared, open source operators take infrastructure as code to the next level with community-driven ops and integration code. Reuse of ops code improves quality and encourages wider community engagement and contribution. Operators also improve security through consistent automation. Juju operators are a community-driven devsecops approach to open source operations.

Juju implements the Kubernetes operator pattern, but is also a universal OLM that extends the operator pattern to traditional applications (without Kubernetes) on Linux and Windows. Such machine operators can work on bare metal, virtual machines or cloud instances, enabling multi cloud and hybrid cloud operations. Juju allows you to embrace the operator pattern on both container and legacy estate. An operator for machine-based environments can share 95% of its code with a Kubernetes operator for the same app.

Juju excels at application integration. Instead of simply focusing on lifecycle management, the Juju OLM provides a rich application graph model that tells operators how to integrate with one another. This dramatically simplifies the operations of large deployments.

A key focus for Juju is to simplify operator design, development and usage. Instead of making very complex operators for specific scenarios, Juju encourages devops to make composable operators, each of which drives a single Docker image, and which can be reused in different settings. Composable operators enable very rich scenarios to be constructed out of simpler operators that do one thing and do it well.

The OLM provides a central mechanism for operator instantiation, configuration, upgrades, integration and administration. The OLM provides a range of operator lifecycle services including leader election and persistent state. Instead of manually deploying and configuring operators, the OLM manages all the operators in a model at the direction of the administrator.

Open Operator Collection

The world's largest collection of operators all use Juju as their OLM. The Charmhub community emphasizes quality, collaboration and consistency. Publish your own operator and share integration code for other operators to connect to your application.

The Open Operator Manifesto outlines the values of the community and describe the ideal behaviour of operators, to shape contributions and discussions.

Multi cloud and hybrid operations across ARM and x86 infrastructure

The Juju OLM supports AWS, Azure, Google, Oracle, OpenStack, VMware and bare metal machines, as well as any conformant Kubernetes cluster. Integrate operators across clouds, and across machines and containers, just as easily. A single scenario can include applications on Kubernetes, as well as applications on a range of clouds and bare metal instances, all integrated automatically.

Juju operators support multiple CPU architectures. Connect applications on ARM with applications on x86 and take advantage of silicon-specific optimisations. It is good practice for operators to adapt to their environment and accelerate workloads accordingly.

Pure Python operators

The Python Operator Framework makes it easy to write an operator. The framework handles all the details of communication between integrated operators, so you can focus on your own application lifecycle management.

Code sharing between operator publishers is simplified making it much faster to collaborate on distributed systems involving components from many different publishers and upstreams. Your operator is a Python event handler. Lifecycle management, configuration and integration are all events delivered to your charm by the framework.

Architecture

The Juju client, server and agent are all written in Golang. The standard Juju packaging includes an embedded database for centralised logging and persistence, but there is no need to manage that database separately.

Operators can be written in any language but we do encourage new authors to use the Python Operator Framework for ease of contribution, support and community participation.

Production grade

The Juju server has built-in support for high availability when scaled out to three instances. It can monitor itself and grow additional instances in the event of failure, within predetermined limits. Juju supports backup, restore, and rolling upgrade operations appropriate for large-scale centralised enterprise grade management and operations systems.

Get started

Our community hangs out at the Charmhub discourse which serves as a combination mailing list and web forum. Keep up with the news and get a feel for operator engineering and usage there. Get the Juju CLI on Windows, macOS or Linux with the install instructions and try the tutorials. All you need is a small K8s cluster, or an Ubuntu machine or VM to run MicroK8s.

Read the documentation for a comprehensive reference of commands and usage.

Contributing

Follow our [code and contribution guidelines](CONTRIBUTING.md) to learn how to make code changes. File bugs in Launchpad or ask questions on our Freenode IRC channel, and Mattermost.