Merge branch 'master' of gitlab.com:domaindrivenarchitecture/c4k-common
This commit is contained in:
commit
6f718e786b
10 changed files with 72 additions and 8 deletions
|
@ -22,6 +22,15 @@ Our convention 4 kubernetes c4k-* tools combine the advantages of both approache
|
|||
## Usage
|
||||
|
||||
|
||||
## Refactoring & Module Overview
|
||||
|
||||
| Module | Version | common postgres | frontend script | provider adapter |
|
||||
|------------------|---------|:---------------:|:---------------:|:----------------:|
|
||||
| c4k-mastodon-bot | 0.1 | - | | |
|
||||
| c4k-keycloak | 0.2 | | | |
|
||||
| c4k-jira | 1.0 | x | x | |
|
||||
| c4k-nextcloud | 0.1 | | | |
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2021 meissa GmbH
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# stable release (should be done from master)
|
||||
|
||||
```
|
||||
#adjust [version]
|
||||
#adjust [version] and remove the -SNAPSHOT
|
||||
vi project-cljs.clj
|
||||
|
||||
lein release
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
(defproject org.domaindrivenarchitecture/c4k-common-cljs "0.2.11-SNAPSHOT"
|
||||
(defproject org.domaindrivenarchitecture/c4k-common-cljs "0.3.1-SNAPSHOT"
|
||||
:description "Contains predicates and tools for c4k"
|
||||
:url "https://domaindrivenarchitecture.org"
|
||||
:license {:name "Apache License, Version 2.0"
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
<<<<<<< HEAD
|
||||
(defproject org.domaindrivenarchitecture/c4k-common-clj "0.2.11"
|
||||
=======
|
||||
(defproject org.domaindrivenarchitecture/c4k-common-clj "0.3.1-SNAPSHOT"
|
||||
>>>>>>> 8b5c33183cbe8e324b69ee5150f5cc40add9a2b4
|
||||
:description "Contains predicates and tools for c4k"
|
||||
:url "https://domaindrivenarchitecture.org"
|
||||
:license {:name "Apache License, Version 2.0"
|
||||
|
@ -20,7 +24,6 @@
|
|||
:dependencies [[dda/data-test "0.1.1"]]}
|
||||
:dev {:plugins [[lein-shell "0.5.0"]]}}
|
||||
:release-tasks [["test"]
|
||||
["vcs" "assert-committed"]
|
||||
["change" "version" "leiningen.release/bump-version" "release"]
|
||||
["vcs" "commit"]
|
||||
["vcs" "tag"]
|
||||
|
|
|
@ -4,16 +4,24 @@
|
|||
#?(:cljs [shadow.resource :as rc])
|
||||
[dda.c4k-common.yaml :as yaml]
|
||||
[dda.c4k-common.base64 :as b64]
|
||||
[dda.c4k-common.common :as cm]))
|
||||
[dda.c4k-common.prefixes :as cm]))
|
||||
|
||||
(defn postgres-size?
|
||||
[input]
|
||||
(contains? #{:2gb :4gb :8gb :16gb} input))
|
||||
|
||||
(s/def ::postgres-db-user cm/bash-env-string?)
|
||||
(s/def ::postgres-db-password cm/bash-env-string?)
|
||||
(s/def ::postgres-data-volume-path string?)
|
||||
(s/def ::postgres-size postgres-size?)
|
||||
|
||||
#?(:cljs
|
||||
(defmethod yaml/load-resource :postgres [resource-name]
|
||||
(case resource-name
|
||||
"postgres/config.yaml" (rc/inline "postgres/config.yaml")
|
||||
"postgres/config-2gb.yaml" (rc/inline "postgres/config-2gb.yaml")
|
||||
"postgres/config-4gb.yaml" (rc/inline "postgres/config-4gb.yaml")
|
||||
"postgres/config-8gb.yaml" (rc/inline "postgres/config-8gb.yaml")
|
||||
"postgres/config-16gb.yaml" (rc/inline "postgres/config-16gb.yaml")
|
||||
"postgres/deployment.yaml" (rc/inline "postgres/deployment.yaml")
|
||||
"postgres/persistent-volume.yaml" (rc/inline "postgres/persistent-volume.yaml")
|
||||
"postgres/pvc.yaml" (rc/inline "postgres/pvc.yaml")
|
||||
|
@ -21,8 +29,10 @@
|
|||
"postgres/service.yaml" (rc/inline "postgres/service.yaml")
|
||||
(throw (js/Error. "Undefined Resource!")))))
|
||||
|
||||
(defn generate-config []
|
||||
(yaml/from-string (yaml/load-resource "postgres/config.yaml")))
|
||||
(defn generate-config [& args]
|
||||
(let [{:keys [postgres-size]
|
||||
:or {postgres-size :2gb}} args]
|
||||
(yaml/from-string (yaml/load-resource (str "postgres/config-" (name postgres-size) ".yaml")))))
|
||||
|
||||
(defn generate-deployment []
|
||||
(yaml/from-string (yaml/load-resource "postgres/deployment.yaml")))
|
||||
|
|
|
@ -5,7 +5,7 @@ metadata:
|
|||
labels:
|
||||
app: postgres
|
||||
data:
|
||||
postgres-db: jira
|
||||
postgresql.conf: |
|
||||
max_connections = 1000
|
||||
work_mem = 4MB
|
||||
shared_buffers = 512MB
|
11
src/main/resources/postgres/config-2gb.yaml
Normal file
11
src/main/resources/postgres/config-2gb.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: postgres-config
|
||||
labels:
|
||||
app: postgres
|
||||
data:
|
||||
postgresql.conf: |
|
||||
max_connections = 100
|
||||
work_mem = 4MB
|
||||
shared_buffers = 128MB
|
11
src/main/resources/postgres/config-4gb.yaml
Normal file
11
src/main/resources/postgres/config-4gb.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: postgres-config
|
||||
labels:
|
||||
app: postgres
|
||||
data:
|
||||
postgresql.conf: |
|
||||
max_connections = 500
|
||||
work_mem = 2MB
|
||||
shared_buffers = 256MB
|
11
src/main/resources/postgres/config-8gb.yaml
Normal file
11
src/main/resources/postgres/config-8gb.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: postgres-config
|
||||
labels:
|
||||
app: postgres
|
||||
data:
|
||||
postgresql.conf: |
|
||||
max_connections = 700
|
||||
work_mem = 3MB
|
||||
shared_buffers = 512MB
|
|
@ -4,6 +4,15 @@
|
|||
:cljs [cljs.test :refer-macros [deftest is are testing run-tests]])
|
||||
[dda.c4k-common.postgres :as cut]))
|
||||
|
||||
(deftest should-generate-config
|
||||
(is (= {:postgresql.conf
|
||||
"max_connections = 100\nwork_mem = 4MB\nshared_buffers = 128MB\n"}
|
||||
(:data (cut/generate-config))))
|
||||
(is (= {:postgresql.conf
|
||||
"max_connections = 700\nwork_mem = 3MB\nshared_buffers = 512MB\n"}
|
||||
(:data (cut/generate-config :postgres-size :8gb))))
|
||||
)
|
||||
|
||||
(deftest should-generate-persistent-volume
|
||||
(is (= {:kind "PersistentVolume"
|
||||
:apiVersion "v1"
|
||||
|
|
Loading…
Reference in a new issue