# kyriakoskarda/kubernetes-playground architecture

> Architecture diagram of the GitHub repository kyriakoskarda/kubernetes-playground, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kyriakoskarda/kubernetes-playground
- Repository: https://github.com/kyriakoskarda/kubernetes-playground

## Overview

This repository configures a containerized application stack: Spring, Vue, and PostgreSQL, with Kubernetes deployment, service, and ingress manifests, plus a certificate issuer. The README describes applying the issuer and enabling Minikube ingress, but no manifest contents or source excerpts were provided. Consequently, the graph identifies the configured resources without asserting routing, storage attachment, or other resource relationships that cannot be verified.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_application["Application"]
  node_spring_deployment["Spring deployment"]
  node_spring_service["Spring service<br/>[spring-svc.yaml]"]
  node_spring_ingress["Spring ingress"]
  node_spring_tls_ingress["Spring TLS ingress"]
  node_vue_deployment["Vue deployment"]
  node_vue_service["Vue service<br/>[vue-svc.yaml]"]
  node_vue_ingress["Vue ingress<br/>[vue-ingress.yaml]"]
end

subgraph group_database["Database"]
  node_postgres_deployment["PostgreSQL deployment"]
  node_postgres_service["PostgreSQL service<br/>[postgres-svc.yaml]"]
  node_postgres_storage[("PostgreSQL storage<br/>[postgres-pvc.yaml]")]
end

subgraph group_tls["TLS infrastructure"]
  node_cluster_issuer["Cluster issuer"]
end

click node_spring_deployment "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/spring/spring-deployment.yaml"
click node_spring_service "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/spring/spring-svc.yaml"
click node_spring_ingress "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/spring/spring-ingress.yaml"
click node_spring_tls_ingress "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/spring/spring-ingress-ssl.yaml"
click node_vue_deployment "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/vue/vue-deployment.yaml"
click node_vue_service "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/vue/vue-svc.yaml"
click node_vue_ingress "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/vue/vue-ingress.yaml"
click node_postgres_deployment "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/postgres/postgres-deployment.yaml"
click node_postgres_service "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/postgres/postgres-svc.yaml"
click node_postgres_storage "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/postgres/postgres-pvc.yaml"
click node_cluster_issuer "https://github.com/kyriakoskarda/kubernetes-playground/blob/main/cert/Cluster-issuer.yaml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_spring_deployment,node_spring_service,node_spring_ingress,node_spring_tls_ingress,node_vue_deployment,node_vue_service,node_vue_ingress toneBlue
class node_postgres_deployment,node_postgres_service,node_postgres_storage toneAmber
class node_cluster_issuer toneMint
```

## Components

### Application

- [Spring deployment](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/spring/spring-deployment.yaml): `spring/spring-deployment.yaml`
- [Spring service](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/spring/spring-svc.yaml): `spring/spring-svc.yaml`
- [Spring ingress](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/spring/spring-ingress.yaml): `spring/spring-ingress.yaml`
- [Spring TLS ingress](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/spring/spring-ingress-ssl.yaml): `spring/spring-ingress-ssl.yaml`
- [Vue deployment](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/vue/vue-deployment.yaml): `vue/vue-deployment.yaml`
- [Vue service](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/vue/vue-svc.yaml): `vue/vue-svc.yaml`
- [Vue ingress](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/vue/vue-ingress.yaml): `vue/vue-ingress.yaml`

### Database

- [PostgreSQL deployment](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/postgres/postgres-deployment.yaml): `postgres/postgres-deployment.yaml`
- [PostgreSQL service](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/postgres/postgres-svc.yaml): `postgres/postgres-svc.yaml`
- [PostgreSQL storage](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/postgres/postgres-pvc.yaml): `postgres/postgres-pvc.yaml`

### TLS infrastructure

- [Cluster issuer](https://github.com/kyriakoskarda/kubernetes-playground/blob/main/cert/Cluster-issuer.yaml): `cert/Cluster-issuer.yaml`
