22<img src =" https://github.com/MetaCell/cloud-harness/blob/develop/cloudharness.png?raw=true " alt =" drawing " width =" 200 " />
33</p >
44
5- CloudHarness is a base infrastructure facilitator for microservice based applications deployed on Kubernetes.
5+ CloudHarness is a base infrastructure facilitator for microservice based applications deployed primarily on Kubernetes.
66Can scaffold and maintain your cloud solution on top of Cloudharness without writing
77Kubernetes templates, with in place common utilities and applications already configured for you.
88
99What building your cloud solution with CloudHarness gives to you:
10- - Common framework and utilities to develop and deploy micro-service application
10+ - Common framework and utilities to develop and deploy micro-service application
1111 - Helm chart automatic generation
1212 - deployments
1313 - services
@@ -17,6 +17,12 @@ What building your cloud solution with CloudHarness gives to you:
1717 - access gatekeepers configuration
1818 - secrets
1919 - templated config maps from files
20+ - Docker compose configuration generation
21+ - services
22+ - traefik configuration
23+ - databases (postgreql)
24+ - access gatekeepers configuration
25+ - secrets and configmaps
2026 * Automatic build and push of images
2127 * REST-API scaffolding building based on OpenApi
2228 * Continuous deployment script generation
@@ -46,17 +52,18 @@ In particular, these questions may rise:
4652 - How to manage databases without being locked to a specific vendor solution?
4753 - How to perform database backups?
4854 - How to manage secret data?
49- - What about having a precounfigured account management application?
50- - Sooner rather than later I'll need an orchestration queue. Why not have that just ready to use?
55+ - What about having a precounfigured account management application?
56+ - Sooner rather than later I'll need an orchestration queue. Why not have that just ready to use?
5157
5258# Command line tools
5359
5460CloudHarness provides the following command line tools to help application scaffolding and deployment.
5561
56- * ` harness-deployment ` - generate the helm chart to deploy on Kubernetes.
62+ * ` harness-deployment ` - generate the helm chart to deploy on Kubernetes.
5763* ` harness-application ` - create a new CloudHarness REST application.
5864* ` harness-generate ` - generates server and client code for all CloudHarness REST applications.
5965* ` harness-test ` - run end to end tests
66+
6067# Get started
6168
6269## Prerequisites
@@ -67,15 +74,15 @@ Cloudharness can be used on all major operative systems.
6774- Linux: supported and tested
6875- MacOS: supported and tested
6976- Windows/WSL2: supported and tested
70- - Windows native: mostly working, unsupported
77+ - Windows native: mostly working, unsupported
7178
7279### Python
7380Python 3.9 must be installed.
7481
7582It is recommended to setup a virtual environment.
76- With conda:
83+ With conda:
7784``` bash
78- conda create --name ch python=3.9
85+ conda create --name ch python=3.12
7986conda activate ch
8087```
8188
@@ -94,6 +101,10 @@ conda activate ch
94101
95102[ Skaffold] ( https://skaffold.dev/docs/install/ ) is the way to go to build and debug your application in your local development environment.
96103
104+ ### Docker compose
105+
106+ [ Docker Compose] ( https://docs.docker.com/compose/ ) is required if the docker compose system is the target (instead of Kubernetes).
107+
97108### Node environment
98109
99110A node environment with npm is required for developing web applications and to run end to end tests.
@@ -108,7 +119,6 @@ A JRE is needed to run the code generators based on openapi-generator.
108119
109120For more info, see [ here] ( https://openapi-generator.tech/docs/installation ) .
110121
111-
112122## CloudHarness command line tools
113123To use the cli tools, install requirements first:
114124
@@ -127,24 +137,25 @@ To (re)generate the code for your applications, run `harness-generate` from the
127137The script will look for all openapi applications, and regenerate the Flask server code and documentation.
128138Note: the script will eventually override any manually modified file. To avoid that, define a file openapi-generator-ignore.
129139
130- # Extend CloudHarness to build your solution
131- CloudHarness is born to be extended. In order to extend CloudHarness you just need to mirror the folder structure:
132- * ** applications** : place here your custom applications, or override default ones
133- * ** deployment-configuration** : override the helm chart default values and templates
134- * ** infrastructure** : define base images to use in your application
140+ # Extend CloudHarness to build your project
141+
142+ CloudHarness is born to be extended.
143+
144+ The quickest way to start is to install Cloud Harness, copy the * blueprint* folder and build from that with the cli tools, such as
145+ ` harness-application ` , ` harness-generate ` , ` harness-deployment ` .
135146
136- or simply copy the * blueprint * folder .
147+ See the [ developers documentation ] ( docs/dev.md#start-your-project ) for more information .
137148
138149# Build and deploy
139150
140151The script ` harness-deployment ` scans your applications and configurations to create the build and deploy artifacts.
141152Created artifacts include:
142- - Helm chart
153+ - Helm chart (or docker compose configuration file)
143154 - Skaffold build and run configuration
144155 - Visual Studio Code debug and run configuration
145156 - Codefresh pipeline yaml specification (optional)
146157
147- With your solution folder structure looking like
158+ With your project folder structure looking like
148159
149160```
150161applications
@@ -153,7 +164,7 @@ infrastructure
153164cloud-harness
154165```
155166
156- run
167+ run
157168
158169```
159170harness-deployment cloud-harness . [PARAMS]
0 commit comments