{"id":42601541,"url":"https://github.com/canonical/content-cache-k8s-operator","last_synced_at":"2026-04-18T07:00:49.546Z","repository":{"id":63631311,"uuid":"569406857","full_name":"canonical/content-cache-k8s-operator","owner":"canonical","description":"content-cache-k8s-operator - charm repository.","archived":false,"fork":false,"pushed_at":"2026-03-06T06:29:59.000Z","size":2751,"stargazers_count":1,"open_issues_count":3,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-03-06T10:49:32.719Z","etag":null,"topics":["charm","platform-engineering","product-content-cache","squad-apac"],"latest_commit_sha":null,"homepage":"https://charmhub.io/content-cache-k8s","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/canonical.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-22T18:55:17.000Z","updated_at":"2026-03-06T06:28:25.000Z","dependencies_parsed_at":"2023-11-30T04:31:19.562Z","dependency_job_id":"916d7ffc-949d-4657-a487-9e8ac866e4ff","html_url":"https://github.com/canonical/content-cache-k8s-operator","commit_stats":null,"previous_names":[],"tags_count":98,"template":false,"template_full_name":null,"purl":"pkg:github/canonical/content-cache-k8s-operator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fcontent-cache-k8s-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fcontent-cache-k8s-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fcontent-cache-k8s-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fcontent-cache-k8s-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/canonical","download_url":"https://codeload.github.com/canonical/content-cache-k8s-operator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fcontent-cache-k8s-operator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30312174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["charm","platform-engineering","product-content-cache","squad-apac"],"created_at":"2026-01-29T01:10:49.395Z","updated_at":"2026-04-18T07:00:49.538Z","avatar_url":"https://github.com/canonical.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CharmHub Badge](https://charmhub.io/content-cache-k8s/badge.svg)](https://charmhub.io/content-cache-k8s)\n[![Publish to edge](https://github.com/canonical/content-cache-k8s-operator/actions/workflows/publish_charm.yaml/badge.svg)](https://github.com/canonical/content-cache-k8s-operator/actions/workflows/publish_charm.yaml)\n[![Promote charm](https://github.com/canonical/content-cache-k8s-operator/actions/workflows/promote_charm.yaml/badge.svg)](https://github.com/canonical/content-cache-k8s-operator/actions/workflows/promote_charm.yaml)\n[![Discourse Status](https://img.shields.io/discourse/status?server=https%3A%2F%2Fdiscourse.charmhub.io\u0026style=flat\u0026label=CharmHub%20Discourse)](https://discourse.charmhub.io)\n\n# Content cache operator\n\nA [Juju](https://juju.is/) [charm](https://documentation.ubuntu.com/juju/3.6/reference/charm/) 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).\n\nLike any Juju charm, this charm supports one-line deployment, configuration, integration, scaling, and more. For Charmed Content Cache, this includes:\n* scaling the number of cache instances\n* cache configuration changes\n* deployment on many different Kubernetes platforms, from MicroK8s to Charmed Kubernetes and public cloud Kubernetes offerings\n\nThis service was developed to provide front-end caching for web sites run by\nCanonical's IS (Infrastructure Services) team, and to reduce the need for third-party CDNs by providing\nhigh-bandwidth access to web sites via this caching front-end. Currently used\nfor a number of services including [the Snap Store](https://snapcraft.io/store),\nthe majority of Canonical's web properties including [ubuntu.com](https://ubuntu.com) and\n[canonical.com](https://canonical.com), and [Ubuntu Extended Security Maintenance](https://ubuntu.com/security/esm).\n\nThis Kubernetes-based version is built using the same approach as the [machine content-cache charm](https://charmhub.io/content-cache), and can be used as a front-end caching service in\na situation where your Kubernetes cluster and its ingress controllers have\na fast connection to the Internet.\n\nFor information about how to deploy, integrate, and manage this charm, see the Official [Content Cache K8s Documentation](https://charmhub.io/content-cache-k8s/docs).\n\n## Documentation\n\nOur documentation is stored in the `docs` directory.\nIt is based on the Canonical starter pack\nand hosted on [Read the Docs](https://about.readthedocs.com/). In structuring,\nthe documentation employs the [Diátaxis](https://diataxis.fr/) approach.\n\nYou may open a pull request with your documentation changes, or you can\n[file a bug](https://github.com/canonical/content-cache-k8s-operator/issues) to provide constructive feedback or suggestions.\n\nTo run the documentation locally before submitting your changes:\n\n```bash\ncd docs\nmake run\n```\n\nGitHub runs automatic checks on the documentation\nto verify spelling, validate links and style guide compliance.\n\nYou can (and should) run the same checks locally:\n\n```bash\nmake spelling\nmake linkcheck\nmake vale\nmake lint-md\n```\n\n## Get started\n\nTo begin, refer to the [Content Cache tutorial](https://charmhub.io/content-cache-k8s/docs/tutorial-getting-started) for step-by-step instructions.\n\n### Basic operations\n\nThe following actions are available for the charm:\n- report-visits-by-ip\n\nTuning options include:\n- cache storage size \n- maximum request size to cache \n- cache validity duration\n\nYou can find more information about supported actions in [the Charmhub documentation](https://charmhub.io/content-cache-k8s/actions).\n\n## Integrations\n\nContent-cache is meant to serve as cache for another charm. You can use Wordpress as an example:\n\n```\njuju deploy content-cache-k8s\njuju deploy wordpress-k8s\njuju deploy mysql-k8s --trust\n\njuju integrate wordpress-k8s mysql-k8s:database\njuju integrate content-cache-k8s:nginx-proxy wordpress-k8s\n```\n\nApart 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).\n\n\n## Learn more\n\n- [Read more](https://charmhub.io/content-cache-k8s/docs)\n- [Developer documentation](https://nginx.org/en/docs/dev/development_guide.html)\n- [Official webpage](https://www.nginx.com/)\n- [Troubleshooting](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)\n\n\n## Project and community\n\nThe Content-cache-k8s Operator is a member of the Ubuntu family. It is an\nopen source project that warmly welcomes community projects, contributions,\nsuggestions, fixes and constructive feedback.\n* [Code of conduct](https://ubuntu.com/community/code-of-conduct)\n* [Get support](https://discourse.charmhub.io/)\n* [Contribute](https://github.com/canonical/content-cache-k8s-operator/blob/main/CONTRIBUTING.md)\n* [Issues](https://github.com/canonical/content-cache-k8s-operator/issues)\n* [Matrix](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanonical%2Fcontent-cache-k8s-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcanonical%2Fcontent-cache-k8s-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanonical%2Fcontent-cache-k8s-operator/lists"}