add doc
This commit is contained in:
parent
96b3a6a7c6
commit
b53dd26afd
1 changed files with 77 additions and 1 deletions
78
README.md
78
README.md
|
@ -1 +1,77 @@
|
||||||
#
|
# build
|
||||||
|
[![Clojars Project](https://img.shields.io/clojars/v/org.domaindrivenarchitecture/build.svg)](https://clojars.org/org.domaindrivenarchitecture/build) [![pipeline status](https://gitlab.com/domaindrivenarchitecture/build/badges/master/pipeline.svg)](https://gitlab.com/domaindrivenarchitecture/build/-/commits/main)
|
||||||
|
|
||||||
|
[<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)
|
||||||
|
|
||||||
|
## Rationale
|
||||||
|
|
||||||
|
build integrates all the tools we use to work with development & clouds. We know many build tools like ant, gradle, mvn, make, leiningen or pybuilder.
|
||||||
|
|
||||||
|
But we have chosen to create & use one more due to this reasons:
|
||||||
|
|
||||||
|
* Our builds tend to get more and more complex. So we decided that implementing build is worth to use real clojure.
|
||||||
|
* We like simple setup & fast startup. For this reason we've chosen babashka
|
||||||
|
* We believe in good input validation & good messages. For this reason we use the coole clojure-spec.
|
||||||
|
* As DevOps we are using many tools, all of them should be supported:
|
||||||
|
* gitops & direnv: State of environments and systems is represented by a git repo. State is applied automatically.
|
||||||
|
* terragrunt + opentofu: for setting up the plain infrastructure around.
|
||||||
|
* docker + podman: for creating images
|
||||||
|
* c4k-* or helm: for generating kubernetes manifests
|
||||||
|
* provs: for setting up small single-node k3s clusters
|
||||||
|
* gopass: for credential management on devops computers
|
||||||
|
* cloud providers: hetzner, digitalocean or aws
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
Unstable
|
||||||
|
|
||||||
|
## Try out
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
{:deps {org.clojure/spec.alpha {:mvn/version "0.4.233"}
|
||||||
|
orchestra/orchestra {:mvn/version "2021.01.01-1"}
|
||||||
|
org.domaindrivenarchitecture/build {:mvn/version "0.1.1-SNAPSHOT"}}
|
||||||
|
:tasks
|
||||||
|
{plan
|
||||||
|
{:requires ([dda.build.terragrunt :as tg])
|
||||||
|
:task (tg/plan! {:name "test"
|
||||||
|
:module (first *command-line-args*)
|
||||||
|
:project-root-path "../../.."
|
||||||
|
:build-dir-name "target"
|
||||||
|
:version "4.11.8-dev"
|
||||||
|
:debug true})}
|
||||||
|
apply
|
||||||
|
{:requires ([dda.build.terragrunt :as tg])
|
||||||
|
:task (tg/apply! {:name "test"
|
||||||
|
:module (first *command-line-args*)
|
||||||
|
:project-root-path "../../.."
|
||||||
|
:build-dir-name "target"
|
||||||
|
:version "4.11.8-dev"
|
||||||
|
:debug true})}
|
||||||
|
destroy
|
||||||
|
{:requires ([dda.build.terragrunt :as tg])
|
||||||
|
:task (tg/destroy! {:name "test"
|
||||||
|
:module (first *command-line-args*)
|
||||||
|
:project-root-path "../../.."
|
||||||
|
:build-dir-name "target"
|
||||||
|
:version "4.11.8-dev"
|
||||||
|
:debug true})}}}
|
||||||
|
```
|
||||||
|
## Development & mirrors
|
||||||
|
|
||||||
|
Development happens at: https://repo.prod.meissa.de/meissa/build
|
||||||
|
|
||||||
|
Mirrors are:
|
||||||
|
|
||||||
|
* https://codeberg.org/meissa/build (Issues and PR)
|
||||||
|
* https://gitlab.com/domaindrivenarchitecture/build (CI)
|
||||||
|
* https://github.com/DomainDrivenArchitecture/build
|
||||||
|
|
||||||
|
For more details about our repository model see: https://repo.prod.meissa.de/meissa/federate-your-repos
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Copyright © 2024 meissa GmbH
|
||||||
|
Licensed under the [Apache License, Version 2.0](LICENSE) (the "License")
|
||||||
|
Pls. find licenses of our subcomponents [here](doc/SUBCOMPONENT_LICENSE)
|
||||||
|
|
Loading…
Reference in a new issue