You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.9 KiB

# convention 4 kubernetes: c4k-website
[![Clojars Project](]( [![pipeline status](](
2 years ago
[<img src="" width=20 alt="DeltaChat"> chat over e-mail]( | [<img src="" width=20 alt="">]( | [Website & Blog](
2 years ago
## Purpose
2 years ago
4 months ago
**GitOps for static generated Websites.**
c4k-website generates k8s-manifest for a webserver serving static html.
c4k-website is an example how to create k8s manifests for OneShotDeployments with
## Features
- [convention 4 kubernetes: c4k-website](#convention-4-kubernetes-c4k-website)
- [Purpose](#purpose)
- [Features](#features)
- [Serving multiple websites](#serving-multiple-websites)
- [https \& Letsencrypt Certificates](#https--letsencrypt-certificates)
- [Ratelimiting](#ratelimiting)
- [Monitoring](#monitoring)
- [GitOps your Websites](#gitops-your-websites)
- [Support Hugo and Cryogene](#support-hugo-and-cryogene)
- [Try out](#try-out)
- [Usage](#usage)
- [Development \& mirrors](#development--mirrors)
- [License](#license)
### Serving multiple websites
You can serve many websites, each of can listen to a list of domain names. E.g.
# Config example
- unique-name: ""
fqdns: ["", "", "", ""]
- unique-name: ""
fqdns: ["", ""]
### https & Letsencrypt Certificates
The domain names listed will get their certificates from letsencrypt out of the box.
### Ratelimiting
2 years ago
4 months ago
There is a Ratelimit included for each website. This makes it harder to DOS one or all websites served.
2 years ago
4 months ago
### Monitoring
4 months ago
Monitoring on GrafanaCloud (or any other grafana) is included out of the box.
4 months ago
### GitOps your Websites
2 years ago
4 months ago
If your repository is on a frogejo or gitea repo, we included GitOps. We ask every ten minutes the repo api for new pushed content.
4 months ago
4 months ago
If there is new content we generate the new static html & serve it.
4 months ago
### Support Hugo and Cryogene
For static html generation we support cryogen & hugo.
## Try out
2 years ago
Click on the image to try out in your browser:
2 years ago
[![Try it out](doc/tryItOut.png "Try out yourself")](
Your input will stay in your browser. No server interaction is required.
You will also be able to try out on cli:
4 months ago
c4k-website src/test/resources/valid-config.yaml src/test/resources/valid-auth.yaml
## Usage
2 years ago
4 months ago
* DNS routes pointing to your k8s cluster.
* frogejo or gitea instance for your website repo. In doubt use
* A git repository with your hugo / cryogene website
* the project provides a `` (maybe your generatoin needs some preprocessing)
* `` deliver its static generated html to `target/html`
2 years ago
## Development & mirrors
Development happens at:
Mirrors are:
* (issues and PR, CI)
For more details about our repository model see:
2 years ago
## License
4 months ago
Copyright © 2022, 2023, 2024 meissa GmbH
Licensed under the [Apache License, Version 2.0](LICENSE) (the "License")
Pls. find licenses of our subcomponents [here](doc/SUBCOMPONENT_LICENSE)