KumoCMS

☁️ KumoCMS

*English 日本語*

Enterprise-Grade Multi-Region Serverless Content Management

KumoCMS is an open-source, high-performance headless CMS built for global scale. By leveraging AWS Serverless primitives, it provides a “zero-ops” experience with built-in multi-region resilience, perfect for document management and content delivery in high-availability environments.


✨ Key Features


🏗️ Architecture

KumoCMS runs entirely on AWS managed services:


📋 Use Cases

Internal CMS

KumoCMS Internal Use Case

Deploy KumoCMS as a secure, internal document management system for your organization. Ideal for managing corporate documents, policies, and internal knowledge bases with controlled access.

Active-Active Multi-Region Content Management

KumoCMS Active-Active Multi-Region

Leverage KumoCMS’s multi-region architecture for global content delivery with automatic failover. Perfect for mission-critical applications requiring high availability and disaster recovery across geographic regions.


🧩 Components

KumoCMS is built from modular, reusable components:

kumocms-lambda-python

Repository: kumocms-lambda-python

The core Python Lambda function code that powers the KumoCMS API. This repository contains all API handlers for document management operations including upload, retrieve, archive, restore, and delete.

Key Features:

API Documentation: Swagger UI OpenAPI Spec

kumocms-vault-internal

Repository: kumocms-vault-internal (Private)

Complete Terraform infrastructure code for deploying KumoCMS as an internal document management system. This is a reference implementation that demonstrates how to deploy KumoCMS in a production environment.

Key Features:

terraform-aws-kumocms-regional

Repository: terraform-aws-kumocms-regional

Reusable Terraform module for provisioning regional KumoCMS resources. This module encapsulates all the AWS resources needed in a single region.

Key Resources:


🤝 Contributing

We love contributions! Whether it’s a bug report, a new feature, or better documentation, please feel free to open an issue or submit a pull request.

For more details, please see our Contributing Guidelines.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

⚖️ License

Distributed under the MIT License. See LICENSE for more information.


📺 Resources