Coder Social home page Coder Social logo

philipz / camunda-7-helm-profiles Goto Github PK

View Code? Open in Web Editor NEW

This project forked from camunda-community-hub/camunda-7-helm-profiles

0.0 1.0 0.0 128 KB

Helm install for Camunda 7 including security components and greenfield architecture for kubernetes

Makefile 100.00%

camunda-7-helm-profiles's Introduction

Camunda 7 Helm Profiles

Architecture & Components

C7 Architecture & Components

Integration

  • The primary method of interacting with the Camunda 7 engine is with the REST Api.
  • Integration with other systems is done using the External Task Client.
  • Integration with user tasks is through the Task Api and using the C7 Client as a abstraction
  • Authorization and Authentication is done through Keycloak securing the Camunda7 Webapps and the REST api.

Components

  • Camunda 7 Engine
  • DMN Engine
  • Spring-Boot (Camunda-Run)
  • Camunda 7 Web Apps (Cockpit, Tasklist, Admin)
  • External Task Client (Java SpringBoot)
  • Prometheus
  • Graphana
  • Keycloak
  • LDAP (Apacheds)
  • Nginx
  • Demo Apps (ReactJS, SpringBoot Data, Camunda C7 client)
  • Kubernetes (container orchestration)
  • Docker

Goals

  • Camunda 7 BPMN, DMN engine, and Webapps, RestAPI, Swagger
  • Camunda Optimize
  • Metrics (Prometheus, Graphana)
  • Keycloak integration with Camunda to manage authentication and authorizations
  • SSO
  • Secure traffic with TLS, Kube Certmanger and Letsencrypt
  • LDAP integration for user/group management
  • Profile for AWS
  • Profile for Azure
  • Separate deployment of Webapps node and Headless REST api node
  • Graphana dashboard for Camunda 7
  • Graphana Ingress
  • Demo UI, Demo Data and C7 Client
  • CockroachDB
  • Vault auto password rotation
  • GRPC external task client support

Prerequisites to run

  • Download or clone the forked version of camunda-7-community-helm. This is a temporary measure until the camunda-community-hub/camunda-7-community-helm is updated.

    https://github.com/paulhoot/camunda-7-community-helm

  • Point the Makefile to the chart where you placed it on your filesystem

    chart ?= ../camunda-7-community-helm/charts/camunda-bpm-platform

Profiles

  • full-stack
  • development

run make full-stack kind

make certEmail=<<YOUR_EMAIL>> chart=<<YOUR_PROJECTS>>/camunda-7-community-helm/charts/camunda-bpm-platform

run make development kind

make kind-dev env=dev chart=...

run make development local

make local env=dev chart=...

Access Apps on profile (kind full-stack)

Camunda Apps

Keycloak

NOTE: User are automatically added and configured using LDAP through the Keycloak user federation integration. User (demo/demo) has been added to the Keycloak Camunda Realm and in the camunda-admin group.

NOTE: if you change the Keycloak client secret in keycloak/production.yml you must update keycloak/realm.json

ApacheDS LDAP

Users and Groups are stored in LDAP. Keycloak is configured to use LDAP provider and directly integrates to Camunda through the Keycloak Plugin.

NOTE: This allows us to create and configure Users and Groups in an automated fashion and eliminates the need to manually configure Users in Keycloak or Camunda.

IMPORTANT: for Cockpit users it's still necessary to create Authorizations in Camunda Admin Panel

Graphana

To access Graphana run port forward

kubectl get pods --all-namespaces

kubectl port-forward metrics-grafana-<<your-pod-id>> 3000:3000 -n default

kubectl get secret grafana-admin-password -o jsonpath='{.data.admin-user}' | base64 --decode

kubectl get secret grafana-admin-password -o jsonpath='{.data.admin-password}' | base64 --decode

More info

camunda-7-helm-profiles's People

Contributors

plungu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.