diff --git a/ecommerce-example/Kptfile b/ecommerce-example/Kptfile new file mode 100644 index 0000000000..a7cf7d561b --- /dev/null +++ b/ecommerce-example/Kptfile @@ -0,0 +1,6 @@ +apiVersion: kpt.dev/v1 +kind: Kptfile +metadata: + name: ecommerce-example +info: + description: A simple e-commerce example using kpt diff --git a/ecommerce-example/README.md b/ecommerce-example/README.md new file mode 100644 index 0000000000..2b450c3b61 --- /dev/null +++ b/ecommerce-example/README.md @@ -0,0 +1,38 @@ +# E-commerce Example (kpt) + +This is a simple e-commerce application example packaged using **kpt**. + +--- + +## 📌 Overview + +This project demonstrates how Kubernetes applications can be managed and customized using the **kpt toolchain**. + +Instead of modifying code, users can change configuration using YAML files. + +--- + +## 🚀 Features + +- Simple Kubernetes Deployment using **nginx** (version pinned for reproducibility) +- Service to expose the application internally +- Easy-to-understand structure for beginners +- Ready to extend with custom configuration + +--- + +## 📂 Structure + +- `deployment.yaml` → Defines the application Deployment +- `service.yaml` → Exposes the application via a Service +- `Kptfile` → Defines the kpt package metadata + +--- + +## ⚙️ How to Use + +### 1. Deploy the application + +**Option A: Using kubectl only** +```bash +kubectl apply -f deployment.yaml -f service.yaml diff --git a/ecommerce-example/deployment.yaml b/ecommerce-example/deployment.yaml new file mode 100644 index 0000000000..a281967a74 --- /dev/null +++ b/ecommerce-example/deployment.yaml @@ -0,0 +1,19 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ecommerce-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: ecommerce + template: + metadata: + labels: + app: ecommerce + spec: + containers: + - name: ecommerce-container + image: nginx:1.18.0 + ports: + - containerPort: 80 diff --git a/ecommerce-example/service.yaml b/ecommerce-example/service.yaml new file mode 100644 index 0000000000..6891a48be2 --- /dev/null +++ b/ecommerce-example/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: ecommerce-service + labels: + app: ecommerce +spec: + selector: + app: ecommerce + ports: + - protocol: TCP + port: 80 + targetPort: 80