c4k-website/README.md

51 lines
2.6 KiB
Markdown
Raw Normal View History

2022-09-29 14:22:08 +00:00
# convention 4 kubernetes: c4k-website
[![Clojars Project](https://img.shields.io/clojars/v/org.domaindrivenarchitecture/c4k-website.svg)](https://clojars.org/org.domaindrivenarchitecture/c4k-website) [![pipeline status](https://gitlab.com/domaindrivenarchitecture/c4k-website/badges/master/pipeline.svg)](https://gitlab.com/domaindrivenarchitecture/c4k-website/-/commits/main)
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
[<img src="https://domaindrivenarchitecture.org/img/delta-chat.svg" width=20 alt="DeltaChat"> chat over e-mail](mailto:buero@meissa-gmbh.de?subject=community-chat) | [<img src="https://meissa-gmbh.de/img/community/Mastodon_Logotype.svg" width=20 alt="team@social.meissa-gmbh.de"> team@social.meissa-gmbh.de](https://social.meissa-gmbh.de/@team) | [Website & Blog](https://domaindrivenarchitecture.org)
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
## Purpose
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
Delivering cryogen generated static sites with the push of a few buttons.
2022-07-27 07:14:01 +00:00
2022-10-21 14:09:02 +00:00
c4k-website generates configuration files for nginx webservers, and
a cryogen static site generator build container. It automatically downloads a branch.zip from a specified
2022-09-29 14:22:08 +00:00
gitea API url. You need an authorization token to access the specified gitea user account.
2022-10-21 14:09:02 +00:00
The build container is based on clojure:lein.
2022-07-27 07:14:01 +00:00
2022-10-21 14:09:02 +00:00
Following the example in valid-config.edn and valid-auth.edn you can add as many websites as you like (provided you have the DNS Routes set up).
One set of configmaps, deployment, services etc will be created for each element in the :websites and :auth list.
c4k-website consists of the following parts:
2022-09-29 14:22:08 +00:00
* unique nginx webserver + service + ingress + certificate
2022-10-21 14:09:02 +00:00
* unique build container cron job and build secret
2022-09-29 14:22:08 +00:00
* unique volume claim for both
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
## Try out
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
Click on the image to try out live in your browser:
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
[![Try it out](doc/tryItOut.png "Try out yourself")](https://domaindrivenarchitecture.org/pages/dda-provision/c4k-website/)
2022-09-08 12:12:19 +00:00
2022-09-29 14:22:08 +00:00
Your input will stay in your browser. No server interaction is required.
2022-09-08 12:12:19 +00:00
2022-09-29 14:22:08 +00:00
## Setup
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
You need:
2022-07-27 07:14:01 +00:00
2022-10-21 14:09:02 +00:00
* DNS routes matching the fqdns in the lists
2022-09-29 14:22:08 +00:00
* cryogen as a static site generator
* a cryogen project ready to build
* and a gitea account which holds the buildable project
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
Before deploying, you need an authorization token, that can be generated in your gitea account.
Then you need a URL that points to: `https://your.gitea.host/api/v1/repos/<owner>/<repo>/archive/main.zip`.
Add this to your auth.edn config file and you should be ready to go.
2022-07-27 07:14:01 +00:00
2022-09-29 14:22:08 +00:00
Let c4k-website generate your .yaml file and `kubectl apply yourApp.yaml`. Done.
2022-07-27 07:12:32 +00:00
## License
2022-09-29 14:22:08 +00:00
Copyright © 2022 meissa GmbH
Licensed under the [Apache License, Version 2.0](LICENSE) (the "License")
Pls. find licenses of our subcomponents [here](doc/SUBCOMPONENT_LICENSE)