Skip to content
Index of layers for building charms
Branch: master
Clone or download

README.md

Juju Charm Layers Index

This repo is the index of layers available for building Juju Charms.

Each layer is represented by a small JSON file in either the layers or interfaces directory, depending on the type of layer, and each file should conform to the schema encoded in the schema.json file. Specifically, it must contain at least the following fields:

  • id: The name by which the layer will be referenced in layer.yaml, e.g., basic
  • name: The human-friendly name of the layer
  • repo: The URL of the git or bzr repo for the layer
  • summary: A short description of the purpose of the layer

The file can also contain a docs field, which can specify a link to documentation for the layer. If not specified, a link to a README.md file will be generated, if the repo is hosted on GitHub or Launchpad, or the link to the repo will be used.

The name of the file must match the ID field, with a .json suffix.

To add or modify a layer in the index, just create a PR against this repo in which you have added the appropriate JSON file and run the update_readme.py script to update the index below.

If you would like to build a charm using a fork of this repo (e.g., to test a new layer before submitting a PR, if you have private layers or layers under test and don't want to use local layers, etc.), you just need to pass in a URL where the repo contents are available via HTTP/S to charm-build. For example, to build using a fork in your personal namespace in GitHub:

charm build --interface-service https://raw.githubusercontent.com/myuser/layer-index/mybranch/

List of Base Layers

ID Repo Docs Name Summary
ansible-base Repo Docs ansible-base Base / charm layer for charming w/ Ansible
apache-bigtop-base Repo Docs Apache Bigtop Base Layer Base layer for charms needing Apache Bigtop
apache-bigtop-gateway Repo Docs apache-bigtop-gateway Base layer for Gateway node from Apache Big Top
apache-flume-base Repo Docs Apache Flume Base Base layer for Apache Flume charms
apache-hadoop-datanode Repo Docs Apache Hadoop DataNode Base / charm layer for the DataNode component of Hadoop
apache-hadoop-namenode Repo Docs Apache Hadoop NameNode Charm layer for the NameNode component of Hadoop
apache-hadoop-nodemanager Repo Docs Apache Hadoop NodeManager Base / charm layer for the NodeManager component of Hadoop
apache-hadoop-plugin Repo Docs apache-hadoop-plugin Simplified connection point for Apache Hadoop platform
apache-hadoop-resourcemanager Repo Docs Apache Hadoop ResourceManager Charm layer for the ResourceManager component of Hadoop
apache-hadoop-slave Repo Docs apache-hadoop-slave Combined slave node (DataNode + NodeManager) for Apache Hadoop
apache-php Repo Docs Apache PHP base layer Configurable base for Apache PHP charms
apache-wsgi Repo Docs Apache WSGI base layer Configurable base for Apache WSGI charms
apt Repo Docs Apt layer Easily deal with apt sources and deb packages
barbican-client Repo Docs Barbican Client Reactive layer to help pull secrets from barbican
basic Repo Docs Basic Layer Base layer for charms with the Reactive framework
beats-base Repo Docs Beats Base Base layer for Elastic Beats
bigtop-base Repo Docs Apache Bigtop Base Layer Base layer for charms needing Apache Bigtop
buildpacks Repo Docs Buildpacks Experimental layer for using buildpacks to generate Charmed applications
caas-base Repo Docs Base Layer for CAAS charms Base layer for CAAS charms with the Reactive framework
cdk-service-kicker Repo Docs CDK Service Kicker Installs a background service, cdk-service-kicker, for kicking cdk services.
ceph-base Repo Docs EXPERIMENTAL Ceph Base Layer EXPERIMENTAL Ceph base layer
ceph-basic Repo Docs EXPERIMENTAL ceph-basic EXPERIMENTAL ceph-basic layer
ceph-mon Repo Docs EXPERIMENTAL Ceph Mon layer EXPERIMENTAL Ceph Mon layer
ceph Repo Docs Ceph Layer Ceph base layer
charmscaler-base Repo Docs Charmscaler Base Charmscaler base layer
conda-api Repo Docs Conda API Conda API layer
consul-base Repo Docs Consul Base Reactive base layer for consul
container-runtime-common Repo Docs Container Runtime Common Shared between container runtimes
coordinator Repo Docs Coordinator Layer Coordinate operations between units in a service, such as rolling restarts.
debug Repo Docs debug Provides a troubleshooting debug action
django Repo Docs Django Django / GUNICORN
docker-resource Repo Docs Docker Resource Layer Layer for managing charm resources of type 'docker'
docker Repo Docs Docker Layer to deliver and install Docker on Ubuntu, Debian, Centos hosts.
elastic-base Repo Docs Elastic-Base Base layer for Elastic.co charms
elasticsearch-client Repo Docs Elasticsearch Client Elasticsearch client layer
elixir Repo Docs Elixir Runtime layer for Elixir applications
flannel Repo Docs Flannel Flannel Overlay Network layer for docker
flask Repo Docs Flask Layer to create Flask webservers running on nginx
git-deploy Repo Docs Git Deploy Layer to aid with deploying code from github
go-binary Repo Docs Go Binary Base Layer Takes a statically compiled go binary and starts it as a service
hacluster Repo Docs Hacluster Layer that provides hacluster for high availability
hadoop-base Repo Docs Hadoop Base Base layer for a charm needing the Apache Hadoop libraries
hadoop-client Repo Docs hadoop-client Base and charm layer for Hadoop clients
hadoop-datanode Repo Docs hadoop-datanode Base layer for DataNode from Apache BigTop
hadoop-ganglia Repo Docs hadoop-ganglia Base layer for adding Ganglia support to Hadoop core charms
hadoop-nodemanager Repo Docs hadoop-nodemanager Base layer for NodeManager from Apache BigTop
haproxy-core Repo Docs haproxy-core A reactive layer that delivers a minimal haproxy layer to use in other application layers.
hhvm Repo Docs HHVM Provides HHVM and composer for php applications
ibm-base Repo Docs IBM Base Layer Base layer for IBM charms
ibm-im Repo Docs IBM IM This layer provides IBM Installation Manager, which can be used to install many IBM products.
ibm-was-nd Repo Docs IBM WAS ND Charm layer for IBM WAS ND DM and WAS ND Node charms
jenkins-workspace Repo Docs Jenkins Workspace Configure Jenkins with workspace snapshots
jenkins Repo Docs jenkins Juju charm to deploy and scale Jenkins
juju-client Repo Docs juju-client Layer for Charms which depend on Juju CLI being installed in active Model
kubernetes-common Repo Docs Kubernetes common lib Provides a common library for Kubernetes charms.
kubernetes-master-worker-base Repo Docs kubernetes-master-worker-base Base layer for kubernetes-master and kubernetes-worker.
layer-debug Repo Docs debug Provides a troubleshooting debug action
leadership Repo Docs Leadership layer Help reactive framework charms deal with Juju leadership
lets-encrypt Repo Docs lets-encrypt Automatic Let's Encrypt registration for Juju charms, just set the fqdn
Logrotate Repo Docs Logrotate layer Logrotate layer to add logrotate entries in charms
lxd-proxy Repo Docs LXD Proxy iptables proxy that adds and removes PREROUTING rules to ease host -> container proxying with juju
memcache-client Repo Docs Memcache Client Client layer for Memcache
metrics Repo Docs Metrics Layer Reactive charm layer supporting Juju metrics collection
munge Repo Docs munge Reactive layer for Munge authentication service.
munin Repo Docs munin munin server
nagios Repo Docs Nagios Layer Provide boilerplate required to relate services to the cs:nrpe subordinate
nginx-passenger Repo Docs Nginx Passenger Reactive layer for nginx-passenger
nginx Repo Docs NGINX NGINX layer for deploying web applications
nodejs Repo Docs NodeJS Runtime layer for NodeJS applications
ntpmon Repo Docs ntpmon NTP monitoring for telegraf
nvidia-cuda Repo Docs Nvidia CUDA Installs CUDA and Nvidia drivers when supported GPU hardware is detected
openjdk Repo Docs OpenJDK OpenJDK using the java layer
openstack-api Repo Docs OpenStack API layer OpenStack API layer
openstack-principle Repo Docs OpenStack principle layer OpenStack principle layer
openstack Repo Docs OpenStack base layer OpenStack base layer
options Repo Docs options Layer for reading options defined in layer.yaml
osm-ns Repo Docs osm-ns A layer to build Open Source Mano (OSM) Network Service (NS) charms, to orchestrate the execution of actions across other charms within a model.
promreg-client Repo Docs promreg-client A layer to aid in registering a target with Prometheus Registration
puppet-agent Repo Docs Puppet Agent Puppet-agent layer - supports puppet 3 & 4.
puppet Repo Docs Puppet Layer (deprecated) Puppet layer (deprecated; use puppet-agent)
ruby Repo Docs Ruby Build layer for Ruby applications
slurm Repo Docs slurm Base layer for Slurm
snap-action Repo Docs snap-action Perform snap commands via an action
snap Repo Docs Snap layer Snap layer for installing and updating Snap packages
sshproxy Repo Docs sshproxy A layer intended to ease the development of charms that need to execute commands over SSH.
status Repo Docs Status management layer Manage workload status in reactive charms
storage Repo Docs Storage A charm layer to handle Juju attached storage devices.
supervisor Repo Docs Supervisor Layer for Supervisor
swarm Repo Docs Docker Swarm Stand alone layer, to extend docker into a Swarm cluster participant
tls-client Repo Docs tls-client A layer to handle interface:tls-certificates requires side.
tls Repo Docs tls The tls charm layer creates certificates and keys for each peer unit of a charm.
uwsgi Repo Docs uWSGI uWSGI layer
vault-kv Repo Docs Vault KV layer Layer for using Vault as a secure KV store
vaultlocker Repo Docs VaultLocker layer Layer for managing secure disk storage locations using VaultLocker
venv Repo Docs venv Layer for installing pip packages in a python3 venv
vnfproxy Repo Docs vnfproxy A layer to ease development of "proxy" charms that operate against VNF images

List of Interface Layers

ID Repo Docs Name Summary
ambassador Repo Docs ambassador Interface layer for the Ambassador API Gateway
apache-website Repo Docs apache-website Interface layer for the apache-website interface protocol
arangodb Repo Docs arangodb Interface layer for ArangoDB
audit Repo Docs audit Interface for use with the auditd charm
aws-elb Repo Docs AWS-ELB AWS-ELB provides and requires interfaces.
aws-integration Repo Docs aws-integration Interface layer for connecting to the AWS integration charm
azure-integration Repo Docs azure-integration Interface layer for connecting to the Azure integration charm
barbican-hsm Repo Docs barbican-hsm Interface supporting the integration between Barbican and HSM devices
barbican-secrets Repo Docs barbican-secrets Interface supporting the integration between Barbican and secrets storage plugins
basic-auth-check Repo Docs basic-auth-check Interface for the basic-auth-service to validate HTTP Basic-Auth credentials
benchmark Repo Docs benchmark Interface layer for the benchmark protocol
bgp Repo Docs bgp Interface layer for exchanging BGP neighbour information between charms
bind-rndc Repo Docs BIND RNDC interface BIND RNDC interface
cassandra Repo Docs cassandra Cassandra database client interface
ceph-admin Repo Docs ceph-admin The admin interface for ceph will provide the user with the ceph admin key
ceph-base Repo Docs Ceph Base Layer Ceph base layer
ceph-client Repo Docs ceph-client Ceph Client interface
ceph-mds Repo Docs ceph-mds CephFS interface to the MDS relation on ceph-mon
ceph-osd Repo Docs ceph-osd ceph osd relation
ceph-radosgw Repo Docs ceph-radosgw Ceph RadosGW interface
ceph-rbd-mirror Repo Docs ceph-rbd-mirror Ceph RBD Mirror interface
ceph Repo Docs ceph ceph mon peer interface
charms-ci Repo Docs charms-ci Juju charms CI interface
cinder-backend Repo Docs cinder-backend Interface for sending Cinder subordinate backend configuration to principle Cinder charms.
conda Repo Docs Conda Conda provides and requires interfaces
conn-check Repo Docs conn-check conn-check interface
consul-agent Repo Docs consul-agent Hashicorp Consul
consul Repo Docs consul Hashicorp Consul
container-runtime Repo Docs Container Runtime Interface for container runtimes
cwr-ci Repo Docs cwr-ci Interface for relating to Cloud Weather Report (part of the Juju CI system)
dashboard-plugin Repo Docs dashboard-plugin This interface is for use with OpenStack Dashboard plugin subordinate charms
db-info Repo Docs DB Info Ease the process of application <-> application database creds transference.
db2 Repo Docs db2 This interface layer handles the communication between IBM DB2 and Consumer charms.
dbname Repo Docs DB Name Interface to coordinate database name between applications.
designate Repo Docs designate Designate DNS as a Service interface
dfs-slave Repo Docs dfs-slave Interface layer for the DataNode <-> NameNode protocol
dfs Repo Docs dfs Interface layer for the hdfs interface protocol
dm-node Repo Docs dm-node This interface handles the comunication between IBM WAS ND DM and IBM WAS ND Node charms
docker-image-host Repo Docs docker-image-host Interface to send image to docker host
docker-registry Repo Docs docker-registry Interface layer for connecting to the Docker Registry charm
dockerhost Repo Docs dockerhost Docker connection information for a unit
druid-config Repo Docs Druid Configuration Configuration layer for Spicule's Druid charms.
elastic-beats Repo Docs elastic-beats Interface for elastic beats
elasticsearch Repo Docs elasticsearch Interface to connect with elasticsearch.
etcd-proxy Repo Docs etcd-proxy Do you need etcd as a read/readwrite proxy to a cluster? use this interface.
etcd Repo Docs etcd Interface for relating to etcd
flume-agent Repo Docs flume-agent Interface layer for communication between Apache Flume charms
gcp-integration Repo Docs gcp-integration Interface layer for connecting to the GCP integration charm
generic-ip-port-user-pass Repo Docs generic-ip-port-user-pass An interface for reactive charms needing to pass generic IP (or URL), port, username and password data
giraph Repo Docs giraph This interface handles the communication between Apache Giraph and its clients
gluster-fuse Repo Docs gluster-fuse Distributed posix storage provided by GlusterFS
gluster-nfs Repo Docs gluster-nfs Scale out NFS provided by GlusterFS
gluster-peer Repo Docs gluster-peer Peer interface for glusterfs nodes
gnocchi Repo Docs gnocchi Gnocchi Metrics Service interface
gpfs Repo Docs gpfs Interface layer between IBM Spectrum Scale Manager and IBM Spectrum Scale client as well as peer communication among manager/client units
grafana-source Repo Docs grafana-source Grafana source
hacluster Repo Docs hacluster hacluster interface for relations with hacluster subordinate charm
hadoop-plugin Repo Docs hadoop-plugin Interface for relating to Apache Hadoop
hadoop-rest Repo Docs hadoop-rest Interface layer for connecting to hadoop-plugin without installation
hbase-quorum Repo Docs hbase quorum This interface layer handles the communication among Apache HBase peers
hbase Repo Docs hbase This interface layer handles the communication between Apache HBase and its clients
hive Repo Docs hive Interface for relating to Apache Hive
http Repo Docs http HTTP Relation Stub
https Repo Docs https Basic HTTPS interface
ibm-db2 Repo Docs ibm-db2 This interface layer handles the communication between IBM DB2 and Consumer charms.
ibm-mq Repo Docs ibm-mq This interface handles the communication between IBM MQ and other consumer charms.
ibm-wxs Repo Docs ibm-wxs This interface layer handles the communication between IBM WXS Catalog charm and other consumer charms, such as IBM WXS Container and IBM WXS Client
ignite-hadoop Repo Docs ignite-hadoop Minimal interface layer for connecting Apache Ignite-Hadoop to Apache Hadoop slave
influxdb-api Repo Docs influxdb-api InfluxDB Query Interface
infoblox Repo Docs infoblox Interface layer between infoblox and neutron-api
java Repo Docs java Interface for relating to subordinate charms providing a Java runtime or JDK
jdbc Repo Docs jdbc JDBC interface for generic connectivity across databases
jenkins-extension Repo Docs jenkins-extension Admin interface to the jenkins master
jenkins-slave Repo Docs jenkins-slave Communication between a Jenkins master and a Jenkins slave
jenkins-zuul Repo Docs jenkins-zuul communication between a Jenkins master and Zuul Jenkins via the zuul interface
juju-info Repo Docs juju-info Implied interface for subordinates with special behavior. This is not a substitute for a proper relationship interface.
kafka Repo Docs kafka Interface layer for communication between Kafka and its clients
kapacitor Repo Docs kapacitor Interface layer for Kapacitor
keystone-admin Repo Docs keystone-admin keystone-admin:identity-admin interface to use shared admin API credentials
keystone-credentials Repo Docs keystone-credentials keystone-credentials: Interface for integrating with Keystone identity credentials
keystone-domain-backend Repo Docs keystone-domain-backend Interface for integration of subordinate charms providing domain specific identity backends
keystone-fid-service-provider Repo Docs keystone-fid-service-provider An interface to connect a federated identity provider to the Keystone charm
keystone Repo Docs keystone Keystone interface
kube-control Repo Docs kube-control master-worker control interface for Kubernetes
kube-dns Repo Docs kube-dns Kubernetes DNS Details
kubernetes-cni Repo Docs kubernetes-cni Interface for relating various CNI implementations
limeds Repo Docs limeds Interface to connect to LimeDS
livy Repo Docs Apache Livy relation Relation to connect a charm to Apache Livy.
local-monitors Repo Docs local-monitors relation for registering nagios checks
logstash-client Repo Docs logstash-client Interface for connecting with logstash based systems.
mahout Repo Docs mahout This interface layer handles the communication between Apache Mahout and its clients
manila-plugin Repo Docs manila-plugin manila-plugin: configuration plugin to allow manila plugins to configure the manila service
mapred-slave Repo Docs mapred-slave Interface layer for the NodeManager <-> ResourceManager protocol
mapred Repo Docs mapred Interface for the YARN client protocol
memcache Repo Docs Memcache Interface for relating memcache.
midonet-api Repo Docs MidoNet API MidoNet API interface between provider and consuming charms
mongodb-cluster Repo Docs mongodb-cluster relation to connect to a mongo database cluster
mongodb Repo Docs mongodb relation to connect to a mongo database
monitor Repo Docs monitor This interface layer for monitor protocol
mount Repo Docs mount Interface layer for connecting mounts to a charm such as NFS
munge-auth Repo Docs munge-auth Interface layer for Munge Auth
munin-node Repo Docs munin-node munin-node relation
munin Repo Docs munin munin relation
mysql-root Repo Docs mysql-root Administrative MySQL interface with admin access granted to connected applications
mysql-shared Repo Docs mysql-shared MySQL Shared Database interface
mysql Repo Docs mysql Standard MySQL interface with generated, per-service databases
namenode-cluster Repo Docs namenode-cluster Interface layer for running Apache Hadoop NameNode as HA
neutron-load-balancer Repo Docs neutron-load-balancer Interface supporting the integration between Neutron and external Load Balancer services
neutron-plugin-api-subordinate Repo Docs neutron-plugin-api-subordinate This interface is used for a charm to send configuration information to the neutron-api principle charm and request a restart of a service managed by that charm.
neutron-plugin-zlmao Repo Docs neutron-plugin Interface for intergrating Neutron SDN with the nova-compute charm
neutron-plugin Repo Docs neutron-plugin Interface for intergrating Neutron SDN with the nova-compute charm
nfsstorage Repo Docs nfsstorage This interface layer handles the communication between LSF/Spectrum Symphony Storage which is acting as a NFS Server and NFS Clients like Platform LSF Master, Spectrum Symphony Master.
nginx-stats Repo Docs NGINX Stats NGINX stats/status protocol
nova-cell Repo Docs nova-cell Interface supporting the integration between Nova super conductor and nova cell
nova-compute Repo Docs nova-compute Interface supporting the integration between Nova controller and compute nodes
nrpe-external-master Repo Docs nrpe-external-master relation for registering nagios checks
odl-controller-api Repo Docs odl-controller-api Interface for intergrating with an OpenDayLight Controller RESTful API
oozie Repo Docs oozie Connection for oozie to consumers
openstack-ha Repo Docs openstack-ha Interface for managing information with peers in the same OpenStack service
openstack-integration Repo Docs openstack-integration Interface layer for connecting to the OpenStack integrator charm
opentsdb Repo Docs opentsdb Interface layer for OpenTSDB.
ovsdb-manager Repo Docs ovsdb-manager Interface for relating to the OVSDB manager aspect of OpenDayLight SDN
pacemaker-remote Repo Docs pacemaker-remote Interface for registering a pacemaker remote node with a cluster.
panko Repo Docs panko Panko Event Service interface
peer-discovery Repo Docs peer-discovery [proposal] simple interface to discover all peers of a charm through peer relation
pgsql Repo Docs pgsql Postgresql database client interface
platformmaster Repo Docs platformmaster This interface layer handles the communication between Platform Master (like IBM Platform LSF, IBM Spectrum Symphony) and Platform Server/Nodes.
prometheus-rules Repo Docs prometheus-rules Relation Stub to export Prometheus alerting rules
prometheus Repo Docs prometheus Prometheus target interface
public-address Repo Docs public-address Simple relation that provides the providers public-address and a port
rabbitmq Repo Docs rabbitmq RabbitMQ AMQP interface
redis Repo Docs redis Interface for relating to redis
rsyslog Repo Docs Rsyslog layer This rsyslog layer will enable rsyslog and enable building additional logging configuration.
sdn-plugin Repo Docs sdn-plugin An abstraction of common configurations for SDN providers, to be consumed by charms
service-control Repo Docs service-control This interface is used for a charm to request a restart of a service managed by another charm.
slurm-cluster Repo Docs slurm-cluster Interface layer for Slurm
slurm-controller-ha Repo Docs slurm-controller-ha Interface layer for Slurm-Controller-HA
slurm-dbd-ha Repo Docs slurm-dbd-ha Interface layer for Slurm-DBD-HA
slurm-dbd Repo Docs slurm-dbd Interface layer for Slurm-DBD
solr Repo Docs solr Solr Charm Interface
spark-quorum Repo Docs spark quorum This interface layer handles the communication among Apache Spark peers
spark Repo Docs spark Interface layer for the spark interface protocol
spectrum-scale-client Repo Docs spectrum-scale-client Basic interface required for communication between Spectrum Scale client and IBM Cinder SpectrumScale (driver for gpfs)
syslog Repo Docs syslog Interface layer for the syslog protocol
tls-certificates Repo Docs tls-certificates An interface for exchanging tls certificates using provides and requres relations.
tls Repo Docs tls The TLS interface provides a peering relationship to exchange certificates and CSR's.
vault-kv Repo Docs vault-kv Interface layer for the vault-kv protocol
vault Repo Docs vault Hashicorp Vault omterface
vsphere-integration Repo Docs vsphere-integration Interface layer for connecting to the VMware vSphere integration charm
was-ihs Repo Docs was-ihs This Interface handles the communication between IBM WAS Base/IBM WAS ND and IBM Http Server
was-nd Repo Docs was-nd This interface handles the communication between IBM WAS ND DM and other consumer charms.
websso-fid-service-provider Repo Docs websso-fid-service-provider An interface to connect a federated identity provider to OpenStack dashboard charm
weebl Repo Docs weebl Interface for relating to the OIL dashboard (Weebl)
wsgi Repo Docs wsgi Basic WSGI interface
zeppelin Repo Docs zeppelin Interface layer for interacting with charms for Apache Zeppelin
zookeeper-quorum Repo Docs zookeeper quorum This interface layer handles the communication among Apache Zookeeper peers
zookeeper Repo Docs zookeeper This interface layer handles the communication between Apache Zookeeper and its clients
You can’t perform that action at this time.