{"id":25217347,"url":"https://github.com/valtech-ch/microservice-kubernetes-cluster","last_synced_at":"2025-06-22T11:07:12.179Z","repository":{"id":36988868,"uuid":"334911779","full_name":"valtech-ch/microservice-kubernetes-cluster","owner":"valtech-ch","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-20T12:44:18.000Z","size":19930,"stargazers_count":1,"open_issues_count":146,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-22T11:06:53.464Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valtech-ch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security/build.gradle","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-02-01T10:26:14.000Z","updated_at":"2023-05-03T15:32:41.000Z","dependencies_parsed_at":"2023-12-27T05:33:46.182Z","dependency_job_id":"34196f84-9acb-4075-8c38-c7d8661f8fc0","html_url":"https://github.com/valtech-ch/microservice-kubernetes-cluster","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/valtech-ch/microservice-kubernetes-cluster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-ch%2Fmicroservice-kubernetes-cluster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-ch%2Fmicroservice-kubernetes-cluster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-ch%2Fmicroservice-kubernetes-cluster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-ch%2Fmicroservice-kubernetes-cluster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valtech-ch","download_url":"https://codeload.github.com/valtech-ch/microservice-kubernetes-cluster/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-ch%2Fmicroservice-kubernetes-cluster/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261282322,"owners_count":23134939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-10T20:13:32.984Z","updated_at":"2025-06-22T11:07:07.165Z","avatar_url":"https://github.com/valtech-ch.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microservice Kubernetes Cluster\n\n![Build](https://github.com/valtech-ch/microservice-kubernetes-cluster/actions/workflows/gradle-build.yml/badge.svg)\n![Sonar](https://github.com/valtech-ch/microservice-kubernetes-cluster/actions/workflows/gradle-analyse.yml/badge.svg)\n![Deployment](https://github.com/valtech-ch/microservice-kubernetes-cluster/actions/workflows/gradle-deploy.yml/badge.svg)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=valtech-ch_microservice-kubernetes-cluster\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=valtech-ch_microservice-kubernetes-cluster)\n\n### Requirements\n\n* [kubectl](https://kubernetes.io/docs/tasks/tools/)\n* [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)\n* [Helm](https://helm.sh/docs/intro/install/)\n* [Argo CD CLI](https://argoproj.github.io/argo-cd/cli_installation/)\n* [kubeseal](https://github.com/bitnami-labs/sealed-secrets#installation)\n* [Terraform CLI](https://learn.hashicorp.com/tutorials/terraform/install-cli)\n* [Java 15](https://www.azul.com/downloads/?version=java-15-mts\u0026package=jdk)\n* [Gradle](https://gradle.org/install/)\n* [Docker](https://docs.docker.com/get-docker/)\n* [Docker Compose](https://docs.docker.com/compose/install/)\n* [NPM](https://www.npmjs.com/get-npm)\n\n## Architecture\n\n* [Diagrams](docs/architecture.md)\n\n## Azure\n\n### Setup Kubectl\n```bash\naz login # Login to Azure, use your @valtech.com Account\naz account list --output table # Show your accounts\naz account set --subscription \u003csubscriptionId\u003e # Set account to your Subscription.\naz aks get-credentials --name vtch-kubernetes-blueprint --resource-group vtch-kubernetes-blueprint # Adds the cluster config to your kubectl config\nkubectl get nodes # Lists the nodes from the cluster\nkubectl get namespace # Lists the namespaces from the cluster\n```\n\n### Apply manual configs\n\nYou can use kubectl to manually apply changes for testing\n\n```bash\nkubectl apply -f ./aks/cluster/templates/application-peer-authentication.yaml\n```\n\n## Terraform\n\n* [terraform/README.md](terraform/README.md)\n\n## Local Docker Compose Setup\nFor testing the whole cluster locally we added a [docker-compose](scripts/docker-compose/docker-compose.yml) file which runs the FE, BE, Keycloak, Kafka and MariaDB\n```bash\ncd ./scripts/docker-compose\ndocker-compose up -d\ndocker-compose down\n```\n\n## Frontend\n* [frontend/README.md](frontend/README.md)\n\n```bash\nnpm install # Build\nnpm run serve # Run\n```\n\n## Backend Microservices\n\n* [file-storage/README.md](file-storage/README.md)\n* [persistence/README.md](persistence/README.md)\n\n```bash\n./gradlew build # Full build including cloud functions\n\n./gradlew :file-storage:build # Build file storage microservice only\n./gradlew :persistence:build # Build persistence microservice only\n\n# Run locally\n./gradlew :file-storage:bootRun\n./gradlew :persistence:bootRun\n```\n\n## Cloud Functions\n\n* [functions/README.md](functions/README.md)\n\n```bash\n./gradlew build # Full build including backend microservices\n./gradlew :functions:build # Build functions only\n\n# Run locally\n./gradlew azureFunctionsRun\n```\n\n## Kubeseal Secret Management\nHave a read at https://github.com/bitnami-labs/sealed-secrets\n\nSample sealing of a secrert.\n\n```bash\n# Replace sealed-secrets-1614621994 by the controller name in the cluster\nkubeseal \\\n--controller-name=sealed-secrets-1614621994 \\\n--controller-namespace=kube-system \\\n--format yaml \u003cxyz-secret.yaml \u003exyz-secret-sealed.yaml\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaltech-ch%2Fmicroservice-kubernetes-cluster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaltech-ch%2Fmicroservice-kubernetes-cluster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaltech-ch%2Fmicroservice-kubernetes-cluster/lists"}