Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/ISD-2546-readme' into test/opera…
Browse files Browse the repository at this point in the history
…tor-workflow-change
  • Loading branch information
cbartz committed Dec 18, 2024
2 parents 8889c6f + 0844c51 commit 42abbb8
Show file tree
Hide file tree
Showing 7 changed files with 101 additions and 18 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/integration_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ jobs:
with:
setup-devstack-swift: true
trivy-image-config: "trivy.yaml"
juju-channel: 3/stable
channel: 1.29-strict/stable
extra-arguments: "--openstack-rc=${GITHUB_WORKSPACE}/openrc"
1 change: 1 addition & 0 deletions .licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ header:
- '.flake8'
- '.jujuignore'
- '.gitignore'
- '.trivyignore'
- '.licenserc.yaml'
- 'CODEOWNERS'
- 'icon.svg'
Expand Down
25 changes: 25 additions & 0 deletions .trivyignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
CVE-2023-24538

Check notice on line 1 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2023-24538 not present anymore, can be safely removed.
CVE-2023-24540

Check notice on line 2 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2023-24540 not present anymore, can be safely removed.
CVE-2024-24790

Check notice on line 3 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2024-24790 not present anymore, can be safely removed.
CVE-2022-27664

Check notice on line 4 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2022-27664 not present anymore, can be safely removed.
CVE-2022-2879

Check notice on line 5 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2022-2879 not present anymore, can be safely removed.
CVE-2022-2880

Check notice on line 6 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2022-2880 not present anymore, can be safely removed.
CVE-2022-32190

Check notice on line 7 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2022-32190 not present anymore, can be safely removed.
CVE-2022-41715

Check notice on line 8 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2022-41715 not present anymore, can be safely removed.
CVE-2022-41716

Check notice on line 9 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2022-41716 not present anymore, can be safely removed.
CVE-2022-41720

Check notice on line 10 in .trivyignore

View workflow job for this annotation

GitHub Actions / integration-tests / Scan Image (ghcr.io-canonical-content-cache-fad7a66b8fc0f0468b9aef5ef979e614484972df-_latest_amd64.tar)

CVE-2022-41720 not present anymore, can be safely removed.
CVE-2022-41722
CVE-2022-41723
CVE-2022-41724
CVE-2022-41725
CVE-2023-24534
CVE-2023-24536
CVE-2023-24537
CVE-2023-24539
CVE-2023-29400
CVE-2023-29403
CVE-2023-39325
CVE-2023-45283
CVE-2023-45287
CVE-2023-45288
CVE-2024-34156
67 changes: 52 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,15 @@

# Content Cache Operator

A Juju charm for deploying and managing a content cache.
A [Juju](https://juju.is/) [charm](https://juju.is/docs/olm/charmed-operators) deploying and managing service for caching content on Kubernetes, built on top of [Nginx](https://www.nginx.com/), configurable to cache any http or https web site and useful for building Content Delivery Networks (CDN).

## Overview

A service for caching content, built on top of [Nginx](https://www.nginx.com/),
configurable to cache any http or https web site. Tuning options include
cache storage size, maximum request size to cache and cache validity duration.
Like any Juju charm, this charm supports one-line deployment, configuration, integration, scaling, and more. For Charmed Content Cache, this includes:
* scaling the number of cache instances
* cache configuration changes
* deployment on many different Kubernetes platforms, from MicroK8s to Charmed Kubernetes and public cloud Kubernetes offerings

This service was developed to provide front-end caching for web sites run by
Canonical's IS team, and to reduce the need for third-party CDNs by providing
Canonical's IS (Infrastructure Services) team, and to reduce the need for third-party CDNs by providing
high-bandwidth access to web sites via this caching front-end. Currently used
for a number of services including [the Snap Store](https://snapcraft.io/store),
the majority of Canonical's web properties including [ubuntu.com](https://ubuntu.com) and
Expand All @@ -24,17 +23,55 @@ This Kubernetes-based version is built using the same approach as the [machine c
a situation where your Kubernetes cluster and its ingress controllers have
a fast connection to the Internet.

For information about how to deploy, integrate, and manage this charm, see the Official [Content Cache Documentation](https://charmhub.io/content-cache-k8s/docs).

## Get started

To begin, refer to the [Content Cache tutorial](https://charmhub.io/content-cache-k8s/docs/tutorial-getting-started) for step-by-step instructions.

### Basic operations

The following actions are available for the charm:
- report-visits-by-ip

Tuning options include:
- cache storage size
- maximum request size to cache
- cache validity duration

You can find more information about supported actions in [the Charmhub documentation](https://charmhub.io/content-cache-k8s/actions).

## Integrations

Content-cache is meant to serve as cache for another charm. You can use Wordpress as an example:

```
juju deploy content-cache-k8s
juju deploy wordpress-k8s
juju deploy mysql-k8s --trust
juju integrate wordpress-k8s mysql-k8s:database
juju integrate content-cache-k8s:nginx-proxy wordpress-k8s
```

Apart from this integration, the charm can be integrated with other Juju charms and services as well. You can find the full list of integrations in [the Charmhub documentation](https://charmhub.io/content-cache-k8s/integrations).


## Learn more

- [Read more](https://charmhub.io/content-cache-k8s/docs)
- [Developer documentation](https://nginx.org/en/docs/dev/development_guide.html)
- [Official webpage](https://www.nginx.com/)
- [Troubleshooting](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)


## Project and community

The Content-cache-k8s Operator is a member of the Ubuntu family. It's an
The Content-cache-k8s Operator is a member of the Ubuntu family. It is an
open source project that warmly welcomes community projects, contributions,
suggestions, fixes and constructive feedback.
* [Code of conduct](https://ubuntu.com/community/code-of-conduct)
* [Get support](https://discourse.charmhub.io/)
* [Join our online chat](https://chat.charmhub.io/charmhub/channels/charm-dev)
* [Contribute](https://charmhub.io/content-cache-k8s/docs/how-to-guides-contributing)
Thinking about using the Content-cache-k8s for your next project? [Get in touch](https://chat.charmhub.io/charmhub/channels/charm-dev)!

---

For further details, [see the charm's detailed documentation](https://charmhub.io/content-cache-k8s/docs)
* [Contribute](https://charmhub.io/content-cache-k8s/docs/how-to-contribute)
* [Issues](https://github.com/canonical/content-cache-k8s-operator/issues)
* [Matrix](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)
18 changes: 17 additions & 1 deletion charmcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,21 @@ bases:
channel: "22.04"
parts:
charm:
prime:
plugin: charm
source: .
build-snaps:
- rustup
override-build: |
rustup default stable
craftctl default
build-packages:
- libffi-dev
- libssl-dev
- pkg-config
rock_data:
plugin: dump
source: .
prime:
- content-cache_rock/nginx_cfg.tmpl


2 changes: 2 additions & 0 deletions tests/integration/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ async def _run_action(application_name: str, action_name: str, **params):
Returns:
The results of the executed action
"""
assert ops_test.model
application = ops_test.model.applications[application_name]
action = await application.units[0].run_action(action_name, **params)
await action.wait()
Expand Down Expand Up @@ -143,6 +144,7 @@ async def app(
channel="beta",
config={"src-overwrite": json.dumps(any_charm_src_overwrite)},
)
await ops_test.model.wait_for_idle(timeout=600)
await run_action(any_app_name, "rpc", method="start_server")
await ops_test.model.wait_for_idle()

Expand Down
4 changes: 2 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ deps =
pytest
pytest-cov
pytest-operator
# Last compatible version with Juju 2.9
juju==3.0.4
websockets<14.0 # https://github.com/juju/python-libjuju/issues/1184
juju
-r{toxinidir}/requirements.txt
-r{toxinidir}/tests/integration/requirements.txt
commands =
Expand Down

0 comments on commit 42abbb8

Please sign in to comment.