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.
 
 
 
 
 
Go to file
erik 2dce3a2f26 [Skip-CI] Fix bug in browser cljs 2 years ago
doc Ignore helper script 2 years ago
infrastructure/c4k-website-build Add functionality for multiple fqdns 2 years ago
public Project skeleton 2 years ago
src [Skip-CI] Fix bug in browser cljs 2 years ago
.gitignore Ignore helper script 2 years ago
.gitlab-ci.yml Project skeleton 2 years ago
LICENSE Project skeleton 2 years ago
README.md Add initial build job so websites get build early 2 years ago
package.json [Skip-CI] Version bump 2 years ago
project.clj Remove yaml/load-as-edn multimethod 2 years ago
shadow-cljs.edn Remove yaml/load-as-edn multimethod 2 years ago
valid-auth.edn Simplify spec 2 years ago
valid-config.edn [WIP] Solve ToDos 2 years ago

README.md

convention 4 kubernetes: c4k-website

Clojars Project pipeline status

DeltaChat chat over e-mail | team@social.meissa-gmbh.de team@social.meissa-gmbh.de | Website & Blog

Purpose

Delivering cryogen generated static sites with the push of a few buttons.

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 gitea API url. You need an authorization token to access the specified gitea user account. The build container is based on clojure:lein.

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:

  • unique nginx webserver + service + ingress + certificate
  • unique build container cron job and build secret
  • unique volume claim for both

Try out

Click on the image to try out live in your browser:

Try it out

Your input will stay in your browser. No server interaction is required.

Setup

You need:

  • DNS routes matching the fqdns in the lists
  • cryogen as a static site generator
  • a cryogen project ready to build
  • and a gitea account which holds the buildable project

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.

Let c4k-website generate your .yaml file and kubectl apply yourApp.yaml. Done.

License

Copyright © 2022 meissa GmbH Licensed under the Apache License, Version 2.0 (the "License") Pls. find licenses of our subcomponents here