Skip to content

canonical/object-storage-integrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributing

Overview

This document explains the processes and practices recommended for contributing enhancements to this operator.

  • Generally, before developing enhancements to this charm, you should consider opening an issue explaining your use case.
  • If you would like to chat with us about your use-cases or proposed implementation, you can reach us at Canonical Mattermost public channel or Discourse.
  • Familiarising yourself with the Charmed Operator Framework library will help you a lot when working on new features or bug fixes.
  • All enhancements require review before being merged. Additionally, new code must pass the tests. Code review typically examines
    • code quality
    • test coverage
    • user experience for Juju administrators of this charm.
  • Please help us out in ensuring easy to review branches by rebasing your pull request branch onto the main branch. This also avoids merge commits and creates a linear Git commit history.

Developing

Environment set up

This operator charm can be deployed locally using Juju on a localhost LXD cloud. If you do not already have a Juju controller bootstrapped, you can set one up by doing the following:

# install requirements 
sudo snap install charmcraft --classic
sudo snap install lxd
sudo snap install juju --classic

# configure lxd
sudo adduser $USER lxd
newgrp lxd
lxd init --auto
lxc network set lxdbr0 ipv6.address none

# bootstrap controller to lxd
juju clouds
juju bootstrap localhost overlord

Clone this repository:

git clone https://github.com/canonical/object-storage-integrator.git
cd object-storage-integrator/

Create and activate a virtualenv, and install the development requirements:

virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt

Testing

tox run -e format        # update your code according to linting rules
tox run -e lint          # code style
tox run -e unit          # unit tests
tox run -e integration   # integration tests
tox                      # runs 'lint' and 'unit' environments

Build Charm

Build the charm in this git repository using:

charmcraft pack

Deploy Charm

# Create a model
juju add-model development

# Enable DEBUG logging
juju model-config logging-config="<root>=INFO;unit=DEBUG"

# Deploy the charm
juju deploy ./object-storage-integrator_ubuntu-22.04-amd64.charm

Code overview

The core implementation of this charm is represented by the azure-storage-integrator class. This class will handle the core lifecycle events associated with the charm.

Canonical Contributor Agreement

Canonical welcomes contributions to the Charmed Object Storage Integrator Operator. Please check out our contributor agreement if you're interested in contributing to the solution.

About

An operator charm providing an integrator for connecting to S3 or Azure or GCS provides.

Topics

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 11

Languages