Merge ~cjwatson/ols-charm-deps:apache-license into ols-charm-deps:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 01cdd7f5d6a4e39affc0f6567806bf9d8341fba1
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/ols-charm-deps:apache-license
Merge into: ols-charm-deps:master
Diff against target: 1227 lines (+843/-1)
46 files modified
LICENSE (+215/-0)
Makefile (+14/-0)
charm-dependencies (+14/-0)
layer/ols-celery/config.yaml (+14/-0)
layer/ols-celery/layer.yaml (+14/-0)
layer/ols-celery/lib/ols/celery.py (+14/-0)
layer/ols-celery/metadata.yaml (+14/-0)
layer/ols-celery/reactive/ols_celery.py (+14/-0)
layer/ols-http/config.yaml (+14/-0)
layer/ols-http/layer.yaml (+14/-0)
layer/ols-http/lib/ols/http.py (+14/-0)
layer/ols-http/metadata.yaml (+14/-0)
layer/ols-http/reactive/ols_http.py (+14/-0)
layer/ols-http/unit_tests/test_ols_http.py (+14/-0)
layer/ols-pg/actions.yaml (+14/-0)
layer/ols-pg/actions/migrate (+14/-0)
layer/ols-pg/config.yaml (+14/-0)
layer/ols-pg/layer.yaml (+15/-1)
layer/ols-pg/lib/ols/postgres.py (+14/-0)
layer/ols-pg/metadata.yaml (+14/-0)
layer/ols-pg/reactive/ols_pg.py (+14/-0)
layer/ols-wsgi/config.yaml (+14/-0)
layer/ols-wsgi/layer.yaml (+14/-0)
layer/ols-wsgi/lib/ols/gunicorn.py (+14/-0)
layer/ols-wsgi/lib/ols/wsgi.py (+14/-0)
layer/ols-wsgi/metadata.yaml (+14/-0)
layer/ols-wsgi/reactive/ols_wsgi.py (+14/-0)
layer/ols-wsgi/unit_tests/test_ols_wsgi.py (+14/-0)
layer/ols/actions.yaml (+14/-0)
layer/ols/actions/debug (+13/-0)
layer/ols/actions/show-config (+14/-0)
layer/ols/config.yaml (+14/-0)
layer/ols/layer.yaml (+14/-0)
layer/ols/lib/ols/base.py (+14/-0)
layer/ols/lib/ols/render.py (+14/-0)
layer/ols/metadata.yaml (+14/-0)
layer/ols/reactive/ols.py (+14/-0)
layer/ols/unit_tests/base_fixtures.py (+14/-0)
layer/ols/unit_tests/test_ols.py (+14/-0)
ols-vms.conf (+14/-0)
pyproject.toml (+14/-0)
setup-container (+14/-0)
stubcharm/files/testservice/webapp.py (+12/-0)
stubcharm/layer.yaml (+14/-0)
stubcharm/metadata.yaml (+14/-0)
stubcharm/reactive/testservice.py (+14/-0)
Reviewer Review Type Date Requested Status
Guillermo Gonzalez Approve
Review via email: mp+438196@code.launchpad.net

Commit message

Apply the Apache License, version 2.0

Description of the change

Canonical's internal software licensing documentation says that charms should be licensed under Apache 2.0, so do so here in preparation for open-sourcing. Some of our charm dependencies are under different licenses, so I noted that explicitly in the `LICENSE` file.

To post a comment you must log in.
Revision history for this message
Guillermo Gonzalez (verterok) wrote :

Do we need to include the license header on each file?

Revision history for this message
Colin Watson (cjwatson) wrote :

https://sites.google.com/a/canonical.com/operations/legal/software-licensing says "Add a notice at the top of each file you create", under "Source files". But I can take it off the YAML files if you like - I suspect it isn't all that vital there?

Revision history for this message
Guillermo Gonzalez (verterok) wrote :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/LICENSE b/LICENSE
2new file mode 100644
3index 0000000..142874e
4--- /dev/null
5+++ b/LICENSE
6@@ -0,0 +1,215 @@
7+ols-layers is Copyright (C) 2019-2023 Canonical Ltd.
8+
9+Canonical Ltd ("Canonical") distributes the ols-layers source code under the
10+Apache License, version 2.0. The full text of this license is given below.
11+
12+Note that ols-layers incorporates some components that are under different
13+licenses. The strictest of these is the GNU Affero General Public License,
14+version 3 ("AGPLv3"), used by interfaces/memcache; as a result, the
15+effective license of the work as a whole is currently the AGPLv3.
16+
17+=========================================================================
18+
19+ Apache License
20+ Version 2.0, January 2004
21+ http://www.apache.org/licenses/
22+
23+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
24+
25+ 1. Definitions.
26+
27+ "License" shall mean the terms and conditions for use, reproduction,
28+ and distribution as defined by Sections 1 through 9 of this document.
29+
30+ "Licensor" shall mean the copyright owner or entity authorized by
31+ the copyright owner that is granting the License.
32+
33+ "Legal Entity" shall mean the union of the acting entity and all
34+ other entities that control, are controlled by, or are under common
35+ control with that entity. For the purposes of this definition,
36+ "control" means (i) the power, direct or indirect, to cause the
37+ direction or management of such entity, whether by contract or
38+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
39+ outstanding shares, or (iii) beneficial ownership of such entity.
40+
41+ "You" (or "Your") shall mean an individual or Legal Entity
42+ exercising permissions granted by this License.
43+
44+ "Source" form shall mean the preferred form for making modifications,
45+ including but not limited to software source code, documentation
46+ source, and configuration files.
47+
48+ "Object" form shall mean any form resulting from mechanical
49+ transformation or translation of a Source form, including but
50+ not limited to compiled object code, generated documentation,
51+ and conversions to other media types.
52+
53+ "Work" shall mean the work of authorship, whether in Source or
54+ Object form, made available under the License, as indicated by a
55+ copyright notice that is included in or attached to the work
56+ (an example is provided in the Appendix below).
57+
58+ "Derivative Works" shall mean any work, whether in Source or Object
59+ form, that is based on (or derived from) the Work and for which the
60+ editorial revisions, annotations, elaborations, or other modifications
61+ represent, as a whole, an original work of authorship. For the purposes
62+ of this License, Derivative Works shall not include works that remain
63+ separable from, or merely link (or bind by name) to the interfaces of,
64+ the Work and Derivative Works thereof.
65+
66+ "Contribution" shall mean any work of authorship, including
67+ the original version of the Work and any modifications or additions
68+ to that Work or Derivative Works thereof, that is intentionally
69+ submitted to Licensor for inclusion in the Work by the copyright owner
70+ or by an individual or Legal Entity authorized to submit on behalf of
71+ the copyright owner. For the purposes of this definition, "submitted"
72+ means any form of electronic, verbal, or written communication sent
73+ to the Licensor or its representatives, including but not limited to
74+ communication on electronic mailing lists, source code control systems,
75+ and issue tracking systems that are managed by, or on behalf of, the
76+ Licensor for the purpose of discussing and improving the Work, but
77+ excluding communication that is conspicuously marked or otherwise
78+ designated in writing by the copyright owner as "Not a Contribution."
79+
80+ "Contributor" shall mean Licensor and any individual or Legal Entity
81+ on behalf of whom a Contribution has been received by Licensor and
82+ subsequently incorporated within the Work.
83+
84+ 2. Grant of Copyright License. Subject to the terms and conditions of
85+ this License, each Contributor hereby grants to You a perpetual,
86+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
87+ copyright license to reproduce, prepare Derivative Works of,
88+ publicly display, publicly perform, sublicense, and distribute the
89+ Work and such Derivative Works in Source or Object form.
90+
91+ 3. Grant of Patent License. Subject to the terms and conditions of
92+ this License, each Contributor hereby grants to You a perpetual,
93+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
94+ (except as stated in this section) patent license to make, have made,
95+ use, offer to sell, sell, import, and otherwise transfer the Work,
96+ where such license applies only to those patent claims licensable
97+ by such Contributor that are necessarily infringed by their
98+ Contribution(s) alone or by combination of their Contribution(s)
99+ with the Work to which such Contribution(s) was submitted. If You
100+ institute patent litigation against any entity (including a
101+ cross-claim or counterclaim in a lawsuit) alleging that the Work
102+ or a Contribution incorporated within the Work constitutes direct
103+ or contributory patent infringement, then any patent licenses
104+ granted to You under this License for that Work shall terminate
105+ as of the date such litigation is filed.
106+
107+ 4. Redistribution. You may reproduce and distribute copies of the
108+ Work or Derivative Works thereof in any medium, with or without
109+ modifications, and in Source or Object form, provided that You
110+ meet the following conditions:
111+
112+ (a) You must give any other recipients of the Work or
113+ Derivative Works a copy of this License; and
114+
115+ (b) You must cause any modified files to carry prominent notices
116+ stating that You changed the files; and
117+
118+ (c) You must retain, in the Source form of any Derivative Works
119+ that You distribute, all copyright, patent, trademark, and
120+ attribution notices from the Source form of the Work,
121+ excluding those notices that do not pertain to any part of
122+ the Derivative Works; and
123+
124+ (d) If the Work includes a "NOTICE" text file as part of its
125+ distribution, then any Derivative Works that You distribute must
126+ include a readable copy of the attribution notices contained
127+ within such NOTICE file, excluding those notices that do not
128+ pertain to any part of the Derivative Works, in at least one
129+ of the following places: within a NOTICE text file distributed
130+ as part of the Derivative Works; within the Source form or
131+ documentation, if provided along with the Derivative Works; or,
132+ within a display generated by the Derivative Works, if and
133+ wherever such third-party notices normally appear. The contents
134+ of the NOTICE file are for informational purposes only and
135+ do not modify the License. You may add Your own attribution
136+ notices within Derivative Works that You distribute, alongside
137+ or as an addendum to the NOTICE text from the Work, provided
138+ that such additional attribution notices cannot be construed
139+ as modifying the License.
140+
141+ You may add Your own copyright statement to Your modifications and
142+ may provide additional or different license terms and conditions
143+ for use, reproduction, or distribution of Your modifications, or
144+ for any such Derivative Works as a whole, provided Your use,
145+ reproduction, and distribution of the Work otherwise complies with
146+ the conditions stated in this License.
147+
148+ 5. Submission of Contributions. Unless You explicitly state otherwise,
149+ any Contribution intentionally submitted for inclusion in the Work
150+ by You to the Licensor shall be under the terms and conditions of
151+ this License, without any additional terms or conditions.
152+ Notwithstanding the above, nothing herein shall supersede or modify
153+ the terms of any separate license agreement you may have executed
154+ with Licensor regarding such Contributions.
155+
156+ 6. Trademarks. This License does not grant permission to use the trade
157+ names, trademarks, service marks, or product names of the Licensor,
158+ except as required for reasonable and customary use in describing the
159+ origin of the Work and reproducing the content of the NOTICE file.
160+
161+ 7. Disclaimer of Warranty. Unless required by applicable law or
162+ agreed to in writing, Licensor provides the Work (and each
163+ Contributor provides its Contributions) on an "AS IS" BASIS,
164+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
165+ implied, including, without limitation, any warranties or conditions
166+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
167+ PARTICULAR PURPOSE. You are solely responsible for determining the
168+ appropriateness of using or redistributing the Work and assume any
169+ risks associated with Your exercise of permissions under this License.
170+
171+ 8. Limitation of Liability. In no event and under no legal theory,
172+ whether in tort (including negligence), contract, or otherwise,
173+ unless required by applicable law (such as deliberate and grossly
174+ negligent acts) or agreed to in writing, shall any Contributor be
175+ liable to You for damages, including any direct, indirect, special,
176+ incidental, or consequential damages of any character arising as a
177+ result of this License or out of the use or inability to use the
178+ Work (including but not limited to damages for loss of goodwill,
179+ work stoppage, computer failure or malfunction, or any and all
180+ other commercial damages or losses), even if such Contributor
181+ has been advised of the possibility of such damages.
182+
183+ 9. Accepting Warranty or Additional Liability. While redistributing
184+ the Work or Derivative Works thereof, You may choose to offer,
185+ and charge a fee for, acceptance of support, warranty, indemnity,
186+ or other liability obligations and/or rights consistent with this
187+ License. However, in accepting such obligations, You may act only
188+ on Your own behalf and on Your sole responsibility, not on behalf
189+ of any other Contributor, and only if You agree to indemnify,
190+ defend, and hold each Contributor harmless for any liability
191+ incurred by, or claims asserted against, such Contributor by reason
192+ of your accepting any such warranty or additional liability.
193+
194+ END OF TERMS AND CONDITIONS
195+
196+ APPENDIX: How to apply the Apache License to your work.
197+
198+ To apply the Apache License to your work, attach the following
199+ boilerplate notice, with the fields enclosed by brackets "[]"
200+ replaced with your own identifying information. (Don't include
201+ the brackets!) The text should be enclosed in the appropriate
202+ comment syntax for the file format. We also recommend that a
203+ file or class name and description of purpose be included on the
204+ same "printed page" as the copyright notice for easier
205+ identification within third-party archives.
206+
207+ Copyright [yyyy] [name of copyright owner]
208+
209+ Licensed under the Apache License, Version 2.0 (the "License");
210+ you may not use this file except in compliance with the License.
211+ You may obtain a copy of the License at
212+
213+ http://www.apache.org/licenses/LICENSE-2.0
214+
215+ Unless required by applicable law or agreed to in writing, software
216+ distributed under the License is distributed on an "AS IS" BASIS,
217+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
218+ See the License for the specific language governing permissions and
219+ limitations under the License.
220+
221+=========================================================================
222diff --git a/Makefile b/Makefile
223index 0937905..6badd07 100644
224--- a/Makefile
225+++ b/Makefile
226@@ -1,3 +1,17 @@
227+# Copyright 2019-2023 Canonical Ltd.
228+#
229+# Licensed under the Apache License, Version 2.0 (the "License");
230+# you may not use this file except in compliance with the License.
231+# You may obtain a copy of the License at
232+#
233+# https://www.apache.org/licenses/LICENSE-2.0
234+#
235+# Unless required by applicable law or agreed to in writing, software
236+# distributed under the License is distributed on an "AS IS" BASIS,
237+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
238+# See the License for the specific language governing permissions and
239+# limitations under the License.
240+
241 TEST_TIMEOUT := 900
242
243 # /!\ Ensure that errors early in pipes cause failures, rather than
244diff --git a/charm-dependencies b/charm-dependencies
245index a054042..a4de8f2 100644
246--- a/charm-dependencies
247+++ b/charm-dependencies
248@@ -1,3 +1,17 @@
249+# Copyright 2019-2023 Canonical Ltd.
250+#
251+# Licensed under the Apache License, Version 2.0 (the "License");
252+# you may not use this file except in compliance with the License.
253+# You may obtain a copy of the License at
254+#
255+# https://www.apache.org/licenses/LICENSE-2.0
256+#
257+# Unless required by applicable law or agreed to in writing, software
258+# distributed under the License is distributed on an "AS IS" BASIS,
259+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
260+# See the License for the specific language governing permissions and
261+# limitations under the License.
262+
263 interface @
264 interface/nrpe-external-master git+https://github.com/canonical-ols/nrpe-external-master-interface.git;revno=274a6fb
265 interface/http git+https://github.com/juju-solutions/interface-http.git;revno=5134e94
266diff --git a/layer/ols-celery/config.yaml b/layer/ols-celery/config.yaml
267index 0bcb178..4ab6059 100644
268--- a/layer/ols-celery/config.yaml
269+++ b/layer/ols-celery/config.yaml
270@@ -1,3 +1,17 @@
271+# Copyright 2019-2023 Canonical Ltd.
272+#
273+# Licensed under the Apache License, Version 2.0 (the "License");
274+# you may not use this file except in compliance with the License.
275+# You may obtain a copy of the License at
276+#
277+# https://www.apache.org/licenses/LICENSE-2.0
278+#
279+# Unless required by applicable law or agreed to in writing, software
280+# distributed under the License is distributed on an "AS IS" BASIS,
281+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
282+# See the License for the specific language governing permissions and
283+# limitations under the License.
284+
285 options:
286 celery_default_worker_concurrency:
287 type: int
288diff --git a/layer/ols-celery/layer.yaml b/layer/ols-celery/layer.yaml
289index 3efa8df..408cc5e 100644
290--- a/layer/ols-celery/layer.yaml
291+++ b/layer/ols-celery/layer.yaml
292@@ -1,3 +1,17 @@
293+# Copyright 2019-2023 Canonical Ltd.
294+#
295+# Licensed under the Apache License, Version 2.0 (the "License");
296+# you may not use this file except in compliance with the License.
297+# You may obtain a copy of the License at
298+#
299+# https://www.apache.org/licenses/LICENSE-2.0
300+#
301+# Unless required by applicable law or agreed to in writing, software
302+# distributed under the License is distributed on an "AS IS" BASIS,
303+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
304+# See the License for the specific language governing permissions and
305+# limitations under the License.
306+
307 includes:
308 - layer:ols
309 - layer:leadership
310diff --git a/layer/ols-celery/lib/ols/celery.py b/layer/ols-celery/lib/ols/celery.py
311index 7ba1775..978ec9e 100644
312--- a/layer/ols-celery/lib/ols/celery.py
313+++ b/layer/ols-celery/lib/ols/celery.py
314@@ -1,3 +1,17 @@
315+# Copyright 2019-2023 Canonical Ltd.
316+#
317+# Licensed under the Apache License, Version 2.0 (the "License");
318+# you may not use this file except in compliance with the License.
319+# You may obtain a copy of the License at
320+#
321+# https://www.apache.org/licenses/LICENSE-2.0
322+#
323+# Unless required by applicable law or agreed to in writing, software
324+# distributed under the License is distributed on an "AS IS" BASIS,
325+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
326+# See the License for the specific language governing permissions and
327+# limitations under the License.
328+
329 from charmhelpers.core import hookenv, host
330
331 from ols import base
332diff --git a/layer/ols-celery/metadata.yaml b/layer/ols-celery/metadata.yaml
333index f90a800..efb9a24 100644
334--- a/layer/ols-celery/metadata.yaml
335+++ b/layer/ols-celery/metadata.yaml
336@@ -1,3 +1,17 @@
337+# Copyright 2019-2023 Canonical Ltd.
338+#
339+# Licensed under the Apache License, Version 2.0 (the "License");
340+# you may not use this file except in compliance with the License.
341+# You may obtain a copy of the License at
342+#
343+# https://www.apache.org/licenses/LICENSE-2.0
344+#
345+# Unless required by applicable law or agreed to in writing, software
346+# distributed under the License is distributed on an "AS IS" BASIS,
347+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
348+# See the License for the specific language governing permissions and
349+# limitations under the License.
350+
351 name: ols-wsgi
352 summary: <Fill in summary here>
353 maintainer: Guillermo Gonzalez <guillermo.gonzalez@canonical.com>
354diff --git a/layer/ols-celery/reactive/ols_celery.py b/layer/ols-celery/reactive/ols_celery.py
355index 95fa1b9..3ce96be 100644
356--- a/layer/ols-celery/reactive/ols_celery.py
357+++ b/layer/ols-celery/reactive/ols_celery.py
358@@ -1,3 +1,17 @@
359+# Copyright 2019-2023 Canonical Ltd.
360+#
361+# Licensed under the Apache License, Version 2.0 (the "License");
362+# you may not use this file except in compliance with the License.
363+# You may obtain a copy of the License at
364+#
365+# https://www.apache.org/licenses/LICENSE-2.0
366+#
367+# Unless required by applicable law or agreed to in writing, software
368+# distributed under the License is distributed on an "AS IS" BASIS,
369+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
370+# See the License for the specific language governing permissions and
371+# limitations under the License.
372+
373 import os
374 import subprocess
375
376diff --git a/layer/ols-http/config.yaml b/layer/ols-http/config.yaml
377index c8b894c..69631b5 100644
378--- a/layer/ols-http/config.yaml
379+++ b/layer/ols-http/config.yaml
380@@ -1,3 +1,17 @@
381+# Copyright 2019-2023 Canonical Ltd.
382+#
383+# Licensed under the Apache License, Version 2.0 (the "License");
384+# you may not use this file except in compliance with the License.
385+# You may obtain a copy of the License at
386+#
387+# https://www.apache.org/licenses/LICENSE-2.0
388+#
389+# Unless required by applicable law or agreed to in writing, software
390+# distributed under the License is distributed on an "AS IS" BASIS,
391+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
392+# See the License for the specific language governing permissions and
393+# limitations under the License.
394+
395 options:
396 # expose haproxy options for ops benefit
397 haproxy_service_options:
398diff --git a/layer/ols-http/layer.yaml b/layer/ols-http/layer.yaml
399index 222e156..dd91b10 100644
400--- a/layer/ols-http/layer.yaml
401+++ b/layer/ols-http/layer.yaml
402@@ -1,3 +1,17 @@
403+# Copyright 2019-2023 Canonical Ltd.
404+#
405+# Licensed under the Apache License, Version 2.0 (the "License");
406+# you may not use this file except in compliance with the License.
407+# You may obtain a copy of the License at
408+#
409+# https://www.apache.org/licenses/LICENSE-2.0
410+#
411+# Unless required by applicable law or agreed to in writing, software
412+# distributed under the License is distributed on an "AS IS" BASIS,
413+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
414+# See the License for the specific language governing permissions and
415+# limitations under the License.
416+
417 includes:
418 - layer:ols
419 - interface:http
420diff --git a/layer/ols-http/lib/ols/http.py b/layer/ols-http/lib/ols/http.py
421index aec57f7..7ecc058 100644
422--- a/layer/ols-http/lib/ols/http.py
423+++ b/layer/ols-http/lib/ols/http.py
424@@ -1,3 +1,17 @@
425+# Copyright 2019-2023 Canonical Ltd.
426+#
427+# Licensed under the Apache License, Version 2.0 (the "License");
428+# you may not use this file except in compliance with the License.
429+# You may obtain a copy of the License at
430+#
431+# https://www.apache.org/licenses/LICENSE-2.0
432+#
433+# Unless required by applicable law or agreed to in writing, software
434+# distributed under the License is distributed on an "AS IS" BASIS,
435+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
436+# See the License for the specific language governing permissions and
437+# limitations under the License.
438+
439 import time
440 import urllib.request
441
442diff --git a/layer/ols-http/metadata.yaml b/layer/ols-http/metadata.yaml
443index cf42356..0238aad 100644
444--- a/layer/ols-http/metadata.yaml
445+++ b/layer/ols-http/metadata.yaml
446@@ -1,3 +1,17 @@
447+# Copyright 2019-2023 Canonical Ltd.
448+#
449+# Licensed under the Apache License, Version 2.0 (the "License");
450+# you may not use this file except in compliance with the License.
451+# You may obtain a copy of the License at
452+#
453+# https://www.apache.org/licenses/LICENSE-2.0
454+#
455+# Unless required by applicable law or agreed to in writing, software
456+# distributed under the License is distributed on an "AS IS" BASIS,
457+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
458+# See the License for the specific language governing permissions and
459+# limitations under the License.
460+
461 name: ols-http
462 summary: <Fill in summary here>
463 maintainer: Guillermo Gonzalez <guillermo.gonzalez@canonical.com>
464diff --git a/layer/ols-http/reactive/ols_http.py b/layer/ols-http/reactive/ols_http.py
465index 64ac372..d04c174 100644
466--- a/layer/ols-http/reactive/ols_http.py
467+++ b/layer/ols-http/reactive/ols_http.py
468@@ -1,3 +1,17 @@
469+# Copyright 2019-2023 Canonical Ltd.
470+#
471+# Licensed under the Apache License, Version 2.0 (the "License");
472+# you may not use this file except in compliance with the License.
473+# You may obtain a copy of the License at
474+#
475+# https://www.apache.org/licenses/LICENSE-2.0
476+#
477+# Unless required by applicable law or agreed to in writing, software
478+# distributed under the License is distributed on an "AS IS" BASIS,
479+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
480+# See the License for the specific language governing permissions and
481+# limitations under the License.
482+
483 import yaml
484
485 from charms.reactive import remove_state, when, when_not
486diff --git a/layer/ols-http/unit_tests/test_ols_http.py b/layer/ols-http/unit_tests/test_ols_http.py
487index e40f6c1..f50c5eb 100644
488--- a/layer/ols-http/unit_tests/test_ols_http.py
489+++ b/layer/ols-http/unit_tests/test_ols_http.py
490@@ -1,3 +1,17 @@
491+# Copyright 2019-2023 Canonical Ltd.
492+#
493+# Licensed under the Apache License, Version 2.0 (the "License");
494+# you may not use this file except in compliance with the License.
495+# You may obtain a copy of the License at
496+#
497+# https://www.apache.org/licenses/LICENSE-2.0
498+#
499+# Unless required by applicable law or agreed to in writing, software
500+# distributed under the License is distributed on an "AS IS" BASIS,
501+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
502+# See the License for the specific language governing permissions and
503+# limitations under the License.
504+
505 import urllib
506
507 import yaml
508diff --git a/layer/ols-pg/actions.yaml b/layer/ols-pg/actions.yaml
509index d3846d7..9bd549e 100644
510--- a/layer/ols-pg/actions.yaml
511+++ b/layer/ols-pg/actions.yaml
512@@ -1,2 +1,16 @@
513+# Copyright 2019-2023 Canonical Ltd.
514+#
515+# Licensed under the Apache License, Version 2.0 (the "License");
516+# you may not use this file except in compliance with the License.
517+# You may obtain a copy of the License at
518+#
519+# https://www.apache.org/licenses/LICENSE-2.0
520+#
521+# Unless required by applicable law or agreed to in writing, software
522+# distributed under the License is distributed on an "AS IS" BASIS,
523+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
524+# See the License for the specific language governing permissions and
525+# limitations under the License.
526+
527 migrate:
528 description: Run all pending migrations.
529diff --git a/layer/ols-pg/actions/migrate b/layer/ols-pg/actions/migrate
530index 5083330..0520d08 100755
531--- a/layer/ols-pg/actions/migrate
532+++ b/layer/ols-pg/actions/migrate
533@@ -1,5 +1,19 @@
534 #!/usr/bin/env python3
535
536+# Copyright 2019-2023 Canonical Ltd.
537+#
538+# Licensed under the Apache License, Version 2.0 (the "License");
539+# you may not use this file except in compliance with the License.
540+# You may obtain a copy of the License at
541+#
542+# https://www.apache.org/licenses/LICENSE-2.0
543+#
544+# Unless required by applicable law or agreed to in writing, software
545+# distributed under the License is distributed on an "AS IS" BASIS,
546+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
547+# See the License for the specific language governing permissions and
548+# limitations under the License.
549+
550 # Load modules from $CHARM_DIR/lib
551 import sys
552 sys.path.append('lib')
553diff --git a/layer/ols-pg/config.yaml b/layer/ols-pg/config.yaml
554index 817aeb1..65b4fd3 100644
555--- a/layer/ols-pg/config.yaml
556+++ b/layer/ols-pg/config.yaml
557@@ -1,3 +1,17 @@
558+# Copyright 2019-2023 Canonical Ltd.
559+#
560+# Licensed under the Apache License, Version 2.0 (the "License");
561+# you may not use this file except in compliance with the License.
562+# You may obtain a copy of the License at
563+#
564+# https://www.apache.org/licenses/LICENSE-2.0
565+#
566+# Unless required by applicable law or agreed to in writing, software
567+# distributed under the License is distributed on an "AS IS" BASIS,
568+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
569+# See the License for the specific language governing permissions and
570+# limitations under the License.
571+
572 options:
573 db_name:
574 type: string
575diff --git a/layer/ols-pg/layer.yaml b/layer/ols-pg/layer.yaml
576index acb1c0a..482ec63 100644
577--- a/layer/ols-pg/layer.yaml
578+++ b/layer/ols-pg/layer.yaml
579@@ -1,3 +1,17 @@
580+# Copyright 2019-2023 Canonical Ltd.
581+#
582+# Licensed under the Apache License, Version 2.0 (the "License");
583+# you may not use this file except in compliance with the License.
584+# You may obtain a copy of the License at
585+#
586+# https://www.apache.org/licenses/LICENSE-2.0
587+#
588+# Unless required by applicable law or agreed to in writing, software
589+# distributed under the License is distributed on an "AS IS" BASIS,
590+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
591+# See the License for the specific language governing permissions and
592+# limitations under the License.
593+
594 includes:
595 - layer:ols
596 - interface:pgsql
597@@ -7,4 +21,4 @@ options:
598 - libpq5
599 - libpq-dev
600 - gcc
601- - python3-dev
602\ No newline at end of file
603+ - python3-dev
604diff --git a/layer/ols-pg/lib/ols/postgres.py b/layer/ols-pg/lib/ols/postgres.py
605index 58d4727..29fc6fa 100644
606--- a/layer/ols-pg/lib/ols/postgres.py
607+++ b/layer/ols-pg/lib/ols/postgres.py
608@@ -1,3 +1,17 @@
609+# Copyright 2019-2023 Canonical Ltd.
610+#
611+# Licensed under the Apache License, Version 2.0 (the "License");
612+# you may not use this file except in compliance with the License.
613+# You may obtain a copy of the License at
614+#
615+# https://www.apache.org/licenses/LICENSE-2.0
616+#
617+# Unless required by applicable law or agreed to in writing, software
618+# distributed under the License is distributed on an "AS IS" BASIS,
619+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
620+# See the License for the specific language governing permissions and
621+# limitations under the License.
622+
623 import os
624 import yaml
625 import subprocess
626diff --git a/layer/ols-pg/metadata.yaml b/layer/ols-pg/metadata.yaml
627index e659b07..d169879 100644
628--- a/layer/ols-pg/metadata.yaml
629+++ b/layer/ols-pg/metadata.yaml
630@@ -1,3 +1,17 @@
631+# Copyright 2019-2023 Canonical Ltd.
632+#
633+# Licensed under the Apache License, Version 2.0 (the "License");
634+# you may not use this file except in compliance with the License.
635+# You may obtain a copy of the License at
636+#
637+# https://www.apache.org/licenses/LICENSE-2.0
638+#
639+# Unless required by applicable law or agreed to in writing, software
640+# distributed under the License is distributed on an "AS IS" BASIS,
641+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
642+# See the License for the specific language governing permissions and
643+# limitations under the License.
644+
645 name: ols-pg
646 summary: <Fill in summary here>
647 maintainer: Guillermo Gonzalez <guillermo.gonzalez@canonical.com>
648diff --git a/layer/ols-pg/reactive/ols_pg.py b/layer/ols-pg/reactive/ols_pg.py
649index 9ac4e4c..cd9b0f8 100644
650--- a/layer/ols-pg/reactive/ols_pg.py
651+++ b/layer/ols-pg/reactive/ols_pg.py
652@@ -1,3 +1,17 @@
653+# Copyright 2019-2023 Canonical Ltd.
654+#
655+# Licensed under the Apache License, Version 2.0 (the "License");
656+# you may not use this file except in compliance with the License.
657+# You may obtain a copy of the License at
658+#
659+# https://www.apache.org/licenses/LICENSE-2.0
660+#
661+# Unless required by applicable law or agreed to in writing, software
662+# distributed under the License is distributed on an "AS IS" BASIS,
663+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
664+# See the License for the specific language governing permissions and
665+# limitations under the License.
666+
667 from charms.reactive import when_any, RelationBase
668 from ols import postgres
669
670diff --git a/layer/ols-wsgi/config.yaml b/layer/ols-wsgi/config.yaml
671index 3c52197..df316d9 100644
672--- a/layer/ols-wsgi/config.yaml
673+++ b/layer/ols-wsgi/config.yaml
674@@ -1,3 +1,17 @@
675+# Copyright 2019-2023 Canonical Ltd.
676+#
677+# Licensed under the Apache License, Version 2.0 (the "License");
678+# you may not use this file except in compliance with the License.
679+# You may obtain a copy of the License at
680+#
681+# https://www.apache.org/licenses/LICENSE-2.0
682+#
683+# Unless required by applicable law or agreed to in writing, software
684+# distributed under the License is distributed on an "AS IS" BASIS,
685+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
686+# See the License for the specific language governing permissions and
687+# limitations under the License.
688+
689 options:
690 wsgi_workers:
691 type: int
692diff --git a/layer/ols-wsgi/layer.yaml b/layer/ols-wsgi/layer.yaml
693index 0bd5517..19b7adb 100644
694--- a/layer/ols-wsgi/layer.yaml
695+++ b/layer/ols-wsgi/layer.yaml
696@@ -1,3 +1,17 @@
697+# Copyright 2019-2023 Canonical Ltd.
698+#
699+# Licensed under the Apache License, Version 2.0 (the "License");
700+# you may not use this file except in compliance with the License.
701+# You may obtain a copy of the License at
702+#
703+# https://www.apache.org/licenses/LICENSE-2.0
704+#
705+# Unless required by applicable law or agreed to in writing, software
706+# distributed under the License is distributed on an "AS IS" BASIS,
707+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
708+# See the License for the specific language governing permissions and
709+# limitations under the License.
710+
711 includes:
712 - layer:ols-http
713 options:
714diff --git a/layer/ols-wsgi/lib/ols/gunicorn.py b/layer/ols-wsgi/lib/ols/gunicorn.py
715index afa315a..b5520db 100755
716--- a/layer/ols-wsgi/lib/ols/gunicorn.py
717+++ b/layer/ols-wsgi/lib/ols/gunicorn.py
718@@ -1,6 +1,20 @@
719 #!/usr/bin/env python
720 # vim: et ai ts=4 sw=4:
721
722+# Copyright 2019-2023 Canonical Ltd.
723+#
724+# Licensed under the Apache License, Version 2.0 (the "License");
725+# you may not use this file except in compliance with the License.
726+# You may obtain a copy of the License at
727+#
728+# https://www.apache.org/licenses/LICENSE-2.0
729+#
730+# Unless required by applicable law or agreed to in writing, software
731+# distributed under the License is distributed on an "AS IS" BASIS,
732+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
733+# See the License for the specific language governing permissions and
734+# limitations under the License.
735+
736 import os
737 import random
738 import subprocess
739diff --git a/layer/ols-wsgi/lib/ols/wsgi.py b/layer/ols-wsgi/lib/ols/wsgi.py
740index 200e67c..0ec5e9f 100644
741--- a/layer/ols-wsgi/lib/ols/wsgi.py
742+++ b/layer/ols-wsgi/lib/ols/wsgi.py
743@@ -1,3 +1,17 @@
744+# Copyright 2019-2023 Canonical Ltd.
745+#
746+# Licensed under the Apache License, Version 2.0 (the "License");
747+# you may not use this file except in compliance with the License.
748+# You may obtain a copy of the License at
749+#
750+# https://www.apache.org/licenses/LICENSE-2.0
751+#
752+# Unless required by applicable law or agreed to in writing, software
753+# distributed under the License is distributed on an "AS IS" BASIS,
754+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
755+# See the License for the specific language governing permissions and
756+# limitations under the License.
757+
758 from ols import base
759
760 # derived configs #
761diff --git a/layer/ols-wsgi/metadata.yaml b/layer/ols-wsgi/metadata.yaml
762index 2a5c5cb..372f060 100644
763--- a/layer/ols-wsgi/metadata.yaml
764+++ b/layer/ols-wsgi/metadata.yaml
765@@ -1,3 +1,17 @@
766+# Copyright 2019-2023 Canonical Ltd.
767+#
768+# Licensed under the Apache License, Version 2.0 (the "License");
769+# you may not use this file except in compliance with the License.
770+# You may obtain a copy of the License at
771+#
772+# https://www.apache.org/licenses/LICENSE-2.0
773+#
774+# Unless required by applicable law or agreed to in writing, software
775+# distributed under the License is distributed on an "AS IS" BASIS,
776+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
777+# See the License for the specific language governing permissions and
778+# limitations under the License.
779+
780 name: ols-wsgi
781 summary: <Fill in summary here>
782 maintainer: Guillermo Gonzalez <guillermo.gonzalez@canonical.com>
783diff --git a/layer/ols-wsgi/reactive/ols_wsgi.py b/layer/ols-wsgi/reactive/ols_wsgi.py
784index 5170371..fa1bbfe 100644
785--- a/layer/ols-wsgi/reactive/ols_wsgi.py
786+++ b/layer/ols-wsgi/reactive/ols_wsgi.py
787@@ -1,3 +1,17 @@
788+# Copyright 2019-2023 Canonical Ltd.
789+#
790+# Licensed under the Apache License, Version 2.0 (the "License");
791+# you may not use this file except in compliance with the License.
792+# You may obtain a copy of the License at
793+#
794+# https://www.apache.org/licenses/LICENSE-2.0
795+#
796+# Unless required by applicable law or agreed to in writing, software
797+# distributed under the License is distributed on an "AS IS" BASIS,
798+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
799+# See the License for the specific language governing permissions and
800+# limitations under the License.
801+
802 from charms.reactive import helpers, hook, when, set_state, remove_state
803
804 from ols import gunicorn, wsgi, base, http
805diff --git a/layer/ols-wsgi/unit_tests/test_ols_wsgi.py b/layer/ols-wsgi/unit_tests/test_ols_wsgi.py
806index 6fcaf66..2f3f2e7 100644
807--- a/layer/ols-wsgi/unit_tests/test_ols_wsgi.py
808+++ b/layer/ols-wsgi/unit_tests/test_ols_wsgi.py
809@@ -1,3 +1,17 @@
810+# Copyright 2019-2023 Canonical Ltd.
811+#
812+# Licensed under the Apache License, Version 2.0 (the "License");
813+# you may not use this file except in compliance with the License.
814+# You may obtain a copy of the License at
815+#
816+# https://www.apache.org/licenses/LICENSE-2.0
817+#
818+# Unless required by applicable law or agreed to in writing, software
819+# distributed under the License is distributed on an "AS IS" BASIS,
820+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
821+# See the License for the specific language governing permissions and
822+# limitations under the License.
823+
824 from unittest.mock import patch, call
825
826 from charms import layer
827diff --git a/layer/ols/actions.yaml b/layer/ols/actions.yaml
828index 652a6ef..2bb7002 100644
829--- a/layer/ols/actions.yaml
830+++ b/layer/ols/actions.yaml
831@@ -1,3 +1,17 @@
832+# Copyright 2019-2023 Canonical Ltd.
833+#
834+# Licensed under the Apache License, Version 2.0 (the "License");
835+# you may not use this file except in compliance with the License.
836+# You may obtain a copy of the License at
837+#
838+# https://www.apache.org/licenses/LICENSE-2.0
839+#
840+# Unless required by applicable law or agreed to in writing, software
841+# distributed under the License is distributed on an "AS IS" BASIS,
842+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
843+# See the License for the specific language governing permissions and
844+# limitations under the License.
845+
846 debug:
847 description: print the state of all relations
848 show-config:
849diff --git a/layer/ols/actions/debug b/layer/ols/actions/debug
850index 106d567..f60b16d 100755
851--- a/layer/ols/actions/debug
852+++ b/layer/ols/actions/debug
853@@ -1,6 +1,19 @@
854 #!../.venv/bin/python
855 # the above is hack. I think reactive should activate the venv before running
856 # actions.
857+# Copyright 2019-2023 Canonical Ltd.
858+#
859+# Licensed under the Apache License, Version 2.0 (the "License");
860+# you may not use this file except in compliance with the License.
861+# You may obtain a copy of the License at
862+#
863+# https://www.apache.org/licenses/LICENSE-2.0
864+#
865+# Unless required by applicable law or agreed to in writing, software
866+# distributed under the License is distributed on an "AS IS" BASIS,
867+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
868+# See the License for the specific language governing permissions and
869+# limitations under the License.
870
871 from pprint import pformat
872 from charmhelpers.core import hookenv
873diff --git a/layer/ols/actions/show-config b/layer/ols/actions/show-config
874index 5ea46c2..636e3cf 100755
875--- a/layer/ols/actions/show-config
876+++ b/layer/ols/actions/show-config
877@@ -1,5 +1,19 @@
878 #!../.venv/bin/python
879 # the above is hack, reactive should activate the venv before running actions.
880+# Copyright 2019-2023 Canonical Ltd.
881+#
882+# Licensed under the Apache License, Version 2.0 (the "License");
883+# you may not use this file except in compliance with the License.
884+# You may obtain a copy of the License at
885+#
886+# https://www.apache.org/licenses/LICENSE-2.0
887+#
888+# Unless required by applicable law or agreed to in writing, software
889+# distributed under the License is distributed on an "AS IS" BASIS,
890+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
891+# See the License for the specific language governing permissions and
892+# limitations under the License.
893+
894 import os
895 import sys
896
897diff --git a/layer/ols/config.yaml b/layer/ols/config.yaml
898index c009768..4e0b685 100644
899--- a/layer/ols/config.yaml
900+++ b/layer/ols/config.yaml
901@@ -1,3 +1,17 @@
902+# Copyright 2019-2023 Canonical Ltd.
903+#
904+# Licensed under the Apache License, Version 2.0 (the "License");
905+# you may not use this file except in compliance with the License.
906+# You may obtain a copy of the License at
907+#
908+# https://www.apache.org/licenses/LICENSE-2.0
909+#
910+# Unless required by applicable law or agreed to in writing, software
911+# distributed under the License is distributed on an "AS IS" BASIS,
912+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
913+# See the License for the specific language governing permissions and
914+# limitations under the License.
915+
916 options:
917 install_sources:
918 # description and type comes from the apt layer.
919diff --git a/layer/ols/layer.yaml b/layer/ols/layer.yaml
920index a9ab78c..a923980 100644
921--- a/layer/ols/layer.yaml
922+++ b/layer/ols/layer.yaml
923@@ -1,3 +1,17 @@
924+# Copyright 2019-2023 Canonical Ltd.
925+#
926+# Licensed under the Apache License, Version 2.0 (the "License");
927+# you may not use this file except in compliance with the License.
928+# You may obtain a copy of the License at
929+#
930+# https://www.apache.org/licenses/LICENSE-2.0
931+#
932+# Unless required by applicable law or agreed to in writing, software
933+# distributed under the License is distributed on an "AS IS" BASIS,
934+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
935+# See the License for the specific language governing permissions and
936+# limitations under the License.
937+
938 includes:
939 - layer:basic
940 - layer:apt
941diff --git a/layer/ols/lib/ols/base.py b/layer/ols/lib/ols/base.py
942index 5d3b74f..a3c4dc0 100644
943--- a/layer/ols/lib/ols/base.py
944+++ b/layer/ols/lib/ols/base.py
945@@ -1,3 +1,17 @@
946+# Copyright 2019-2023 Canonical Ltd.
947+#
948+# Licensed under the Apache License, Version 2.0 (the "License");
949+# you may not use this file except in compliance with the License.
950+# You may obtain a copy of the License at
951+#
952+# https://www.apache.org/licenses/LICENSE-2.0
953+#
954+# Unless required by applicable law or agreed to in writing, software
955+# distributed under the License is distributed on an "AS IS" BASIS,
956+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
957+# See the License for the specific language governing permissions and
958+# limitations under the License.
959+
960 import ast
961 from collections import OrderedDict
962 import errno
963diff --git a/layer/ols/lib/ols/render.py b/layer/ols/lib/ols/render.py
964index 2a6731c..1638811 100644
965--- a/layer/ols/lib/ols/render.py
966+++ b/layer/ols/lib/ols/render.py
967@@ -1,3 +1,17 @@
968+# Copyright 2019-2023 Canonical Ltd.
969+#
970+# Licensed under the Apache License, Version 2.0 (the "License");
971+# you may not use this file except in compliance with the License.
972+# You may obtain a copy of the License at
973+#
974+# https://www.apache.org/licenses/LICENSE-2.0
975+#
976+# Unless required by applicable law or agreed to in writing, software
977+# distributed under the License is distributed on an "AS IS" BASIS,
978+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
979+# See the License for the specific language governing permissions and
980+# limitations under the License.
981+
982 import os
983 import subprocess
984
985diff --git a/layer/ols/metadata.yaml b/layer/ols/metadata.yaml
986index 3636e96..14e96ef 100644
987--- a/layer/ols/metadata.yaml
988+++ b/layer/ols/metadata.yaml
989@@ -1,3 +1,17 @@
990+# Copyright 2019-2023 Canonical Ltd.
991+#
992+# Licensed under the Apache License, Version 2.0 (the "License");
993+# you may not use this file except in compliance with the License.
994+# You may obtain a copy of the License at
995+#
996+# https://www.apache.org/licenses/LICENSE-2.0
997+#
998+# Unless required by applicable law or agreed to in writing, software
999+# distributed under the License is distributed on an "AS IS" BASIS,
1000+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1001+# See the License for the specific language governing permissions and
1002+# limitations under the License.
1003+
1004 name: ols
1005 summary: <Fill in summary here>
1006 maintainer: Guillermo Gonzalez <guillermo.gonzalez@canonical.com>
1007diff --git a/layer/ols/reactive/ols.py b/layer/ols/reactive/ols.py
1008index 3463b8b..9b6a179 100644
1009--- a/layer/ols/reactive/ols.py
1010+++ b/layer/ols/reactive/ols.py
1011@@ -1,3 +1,17 @@
1012+# Copyright 2019-2023 Canonical Ltd.
1013+#
1014+# Licensed under the Apache License, Version 2.0 (the "License");
1015+# you may not use this file except in compliance with the License.
1016+# You may obtain a copy of the License at
1017+#
1018+# https://www.apache.org/licenses/LICENSE-2.0
1019+#
1020+# Unless required by applicable law or agreed to in writing, software
1021+# distributed under the License is distributed on an "AS IS" BASIS,
1022+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1023+# See the License for the specific language governing permissions and
1024+# limitations under the License.
1025+
1026 import os
1027 from charms.reactive import hook, when, when_not, set_state, remove_state
1028
1029diff --git a/layer/ols/unit_tests/base_fixtures.py b/layer/ols/unit_tests/base_fixtures.py
1030index cb49df6..33f45d1 100644
1031--- a/layer/ols/unit_tests/base_fixtures.py
1032+++ b/layer/ols/unit_tests/base_fixtures.py
1033@@ -1,3 +1,17 @@
1034+# Copyright 2019-2023 Canonical Ltd.
1035+#
1036+# Licensed under the Apache License, Version 2.0 (the "License");
1037+# you may not use this file except in compliance with the License.
1038+# You may obtain a copy of the License at
1039+#
1040+# https://www.apache.org/licenses/LICENSE-2.0
1041+#
1042+# Unless required by applicable law or agreed to in writing, software
1043+# distributed under the License is distributed on an "AS IS" BASIS,
1044+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1045+# See the License for the specific language governing permissions and
1046+# limitations under the License.
1047+
1048 import os
1049 import shutil
1050 import sys
1051diff --git a/layer/ols/unit_tests/test_ols.py b/layer/ols/unit_tests/test_ols.py
1052index d0b386f..eede4ad 100644
1053--- a/layer/ols/unit_tests/test_ols.py
1054+++ b/layer/ols/unit_tests/test_ols.py
1055@@ -1,3 +1,17 @@
1056+# Copyright 2019-2023 Canonical Ltd.
1057+#
1058+# Licensed under the Apache License, Version 2.0 (the "License");
1059+# you may not use this file except in compliance with the License.
1060+# You may obtain a copy of the License at
1061+#
1062+# https://www.apache.org/licenses/LICENSE-2.0
1063+#
1064+# Unless required by applicable law or agreed to in writing, software
1065+# distributed under the License is distributed on an "AS IS" BASIS,
1066+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1067+# See the License for the specific language governing permissions and
1068+# limitations under the License.
1069+
1070 import io
1071 import os
1072 import subprocess
1073diff --git a/ols-vms.conf b/ols-vms.conf
1074index 1451513..ff6add3 100644
1075--- a/ols-vms.conf
1076+++ b/ols-vms.conf
1077@@ -1,3 +1,17 @@
1078+# Copyright 2019-2023 Canonical Ltd.
1079+#
1080+# Licensed under the Apache License, Version 2.0 (the "License");
1081+# you may not use this file except in compliance with the License.
1082+# You may obtain a copy of the License at
1083+#
1084+# https://www.apache.org/licenses/LICENSE-2.0
1085+#
1086+# Unless required by applicable law or agreed to in writing, software
1087+# distributed under the License is distributed on an "AS IS" BASIS,
1088+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1089+# See the License for the specific language governing permissions and
1090+# limitations under the License.
1091+
1092 vm.architecture = amd64
1093 vm.release = focal
1094
1095diff --git a/pyproject.toml b/pyproject.toml
1096index da38ae0..120a19d 100644
1097--- a/pyproject.toml
1098+++ b/pyproject.toml
1099@@ -1,3 +1,17 @@
1100+# Copyright 2019-2023 Canonical Ltd.
1101+#
1102+# Licensed under the Apache License, Version 2.0 (the "License");
1103+# you may not use this file except in compliance with the License.
1104+# You may obtain a copy of the License at
1105+#
1106+# https://www.apache.org/licenses/LICENSE-2.0
1107+#
1108+# Unless required by applicable law or agreed to in writing, software
1109+# distributed under the License is distributed on an "AS IS" BASIS,
1110+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1111+# See the License for the specific language governing permissions and
1112+# limitations under the License.
1113+
1114 [tool.black]
1115 skip-string-normalization = true
1116 skip-magic-trailing-comma = true
1117diff --git a/setup-container b/setup-container
1118index 5a9dfe5..2e4a994 100755
1119--- a/setup-container
1120+++ b/setup-container
1121@@ -1,4 +1,18 @@
1122 #!/bin/sh
1123+# Copyright 2019-2023 Canonical Ltd.
1124+#
1125+# Licensed under the Apache License, Version 2.0 (the "License");
1126+# you may not use this file except in compliance with the License.
1127+# You may obtain a copy of the License at
1128+#
1129+# https://www.apache.org/licenses/LICENSE-2.0
1130+#
1131+# Unless required by applicable law or agreed to in writing, software
1132+# distributed under the License is distributed on an "AS IS" BASIS,
1133+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1134+# See the License for the specific language governing permissions and
1135+# limitations under the License.
1136+
1137 # Do all the necessary magic to prepare and bootstrap the container
1138
1139 # Barf if not uid 0
1140diff --git a/stubcharm/files/testservice/webapp.py b/stubcharm/files/testservice/webapp.py
1141index 0df6e43..b566fb4 100644
1142--- a/stubcharm/files/testservice/webapp.py
1143+++ b/stubcharm/files/testservice/webapp.py
1144@@ -1,5 +1,17 @@
1145 # -*- coding: utf-8 -*-
1146 # Copyright 2019 Canonical Ltd.
1147+#
1148+# Licensed under the Apache License, Version 2.0 (the "License");
1149+# you may not use this file except in compliance with the License.
1150+# You may obtain a copy of the License at
1151+#
1152+# https://www.apache.org/licenses/LICENSE-2.0
1153+#
1154+# Unless required by applicable law or agreed to in writing, software
1155+# distributed under the License is distributed on an "AS IS" BASIS,
1156+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1157+# See the License for the specific language governing permissions and
1158+# limitations under the License.
1159
1160
1161 def app(env, start_response):
1162diff --git a/stubcharm/layer.yaml b/stubcharm/layer.yaml
1163index 5624641..0d80408 100644
1164--- a/stubcharm/layer.yaml
1165+++ b/stubcharm/layer.yaml
1166@@ -1,3 +1,17 @@
1167+# Copyright 2019 Canonical Ltd.
1168+#
1169+# Licensed under the Apache License, Version 2.0 (the "License");
1170+# you may not use this file except in compliance with the License.
1171+# You may obtain a copy of the License at
1172+#
1173+# https://www.apache.org/licenses/LICENSE-2.0
1174+#
1175+# Unless required by applicable law or agreed to in writing, software
1176+# distributed under the License is distributed on an "AS IS" BASIS,
1177+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1178+# See the License for the specific language governing permissions and
1179+# limitations under the License.
1180+
1181 repo: lp:stubcharm
1182 includes:
1183 - layer:ols-wsgi
1184diff --git a/stubcharm/metadata.yaml b/stubcharm/metadata.yaml
1185index 5d29f16..4d1c10e 100644
1186--- a/stubcharm/metadata.yaml
1187+++ b/stubcharm/metadata.yaml
1188@@ -1,3 +1,17 @@
1189+# Copyright 2019 Canonical Ltd.
1190+#
1191+# Licensed under the Apache License, Version 2.0 (the "License");
1192+# you may not use this file except in compliance with the License.
1193+# You may obtain a copy of the License at
1194+#
1195+# https://www.apache.org/licenses/LICENSE-2.0
1196+#
1197+# Unless required by applicable law or agreed to in writing, software
1198+# distributed under the License is distributed on an "AS IS" BASIS,
1199+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1200+# See the License for the specific language governing permissions and
1201+# limitations under the License.
1202+
1203 name: stubcharm
1204 summary: To test layers
1205 maintainer: Onlines Services <online-services@canonical.com>
1206diff --git a/stubcharm/reactive/testservice.py b/stubcharm/reactive/testservice.py
1207index ff4e16a..0757645 100644
1208--- a/stubcharm/reactive/testservice.py
1209+++ b/stubcharm/reactive/testservice.py
1210@@ -1,3 +1,17 @@
1211+# Copyright 2019 Canonical Ltd.
1212+#
1213+# Licensed under the Apache License, Version 2.0 (the "License");
1214+# you may not use this file except in compliance with the License.
1215+# You may obtain a copy of the License at
1216+#
1217+# https://www.apache.org/licenses/LICENSE-2.0
1218+#
1219+# Unless required by applicable law or agreed to in writing, software
1220+# distributed under the License is distributed on an "AS IS" BASIS,
1221+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1222+# See the License for the specific language governing permissions and
1223+# limitations under the License.
1224+
1225 from ols import base, postgres, celery
1226
1227 from charms.reactive import (

Subscribers

People subscribed via source and target branches