Add Ng-UI sidecar charm
[osm/devops.git] / installers / charm / osm-ng-ui / CONTRIBUTING.md
1 <!-- Copyright 2022 Canonical Ltd.
2
3 Licensed under the Apache License, Version 2.0 (the "License"); you may
4 not use this file except in compliance with the License. You may obtain
5 a copy of the License at
6
7         http://www.apache.org/licenses/LICENSE-2.0
8
9 Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 License for the specific language governing permissions and limitations
13 under the License.
14
15 For those usages not covered by the Apache License, Version 2.0 please
16 contact: legal@canonical.com
17
18 To get in touch with the maintainers, please contact:
19 osm-charmers@lists.launchpad.net -->
20
21 # Contributing
22
23 ## Overview
24
25 This documents explains the processes and practices recommended for contributing enhancements to
26 this operator.
27
28 - Generally, before developing enhancements to this charm, you should consider [opening an issue
29   ](https://osm.etsi.org/bugzilla/enter_bug.cgi?product=OSM) explaining your use case. (Component=devops, version=master)
30 - If you would like to chat with us about your use-cases or proposed implementation, you can reach
31   us at [OSM Juju public channel](https://opensourcemano.slack.com/archives/C027KJGPECA).
32 - Familiarising yourself with the [Charmed Operator Framework](https://juju.is/docs/sdk) library
33   will help you a lot when working on new features or bug fixes.
34 - All enhancements require review before being merged. Code review typically examines
35   - code quality
36   - test coverage
37   - user experience for Juju administrators this charm.
38 - Please help us out in ensuring easy to review branches by rebasing your gerrit patch onto
39   the `master` branch.
40
41 ## Developing
42
43 You can use the environments created by `tox` for development:
44
45 ```shell
46 tox --notest -e unit
47 source .tox/unit/bin/activate
48 ```
49
50 ### Testing
51
52 ```shell
53 tox -e fmt           # update your code according to linting rules
54 tox -e lint          # code style
55 tox -e unit          # unit tests
56 tox -e integration   # integration tests
57 tox                  # runs 'lint' and 'unit' environments
58 ```
59
60 ## Build charm
61
62 Build the charm in this git repository using:
63
64 ```shell
65 charmcraft pack
66 ```
67
68 ### Deploy
69
70 ```bash
71 # Create a model
72 juju add-model dev
73 # Enable DEBUG logging
74 juju model-config logging-config="<root>=INFO;unit=DEBUG"
75 # Deploy the charm
76 juju deploy ./osm-ng-ui_ubuntu-20.04-amd64.charm \
77     --resource ng-ui-image=opensourcemano/ng-ui:testing-daily
78 ```