Skip to content

ZMS-DevOps/booking-service

Repository files navigation

Example

Turn on ingress

minikube addons enable ingress

Create and delete namespace:

kubectl create namespace backend
kubectl delete namespace backend

Sve kubernetes fajlove pokrenuti da dobijemo configmap, secret i mongo service i statefulSet

kubectl -n backend apply -f mongo-configmap.yml
kubectl -n backend apply -f mongo-secret.yml
kubectl -n backend apply -f search-configmap.yml 
kubectl -n backend apply -f mongo.yml
kubectl apply -f search-service.yml 

Get pods:

kubectl -n backend get pods
kubectl get pods

Testing load balancing and service:

kubectl -n backend run -it --rm  --image curlimages/curl:8.00.1 curl -- sh
kubectl run -it --rm  --image curlimages/curl:8.00.1 curl -- sh

Inside the container execute curl http://hotel:8083/hotels (hotel jer je to naziv servisa)

 curl http://booking:8086/booking/health


RESERVATION REQUESTS
curl http://booking:8086/booking/unavailability


curl http://booking:8086/booking/unavailability
curl http://booking/booking/unavailability -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSM19wNUs5dFVtTkpmSVlhdmo1NV8xTjI1VUJOMmh5cmJJWGVnVmV4ZG1ZIn0.eyJleHAiOjE3MTYwMzM2MTgsImlhdCI6MTcxNjAzMzMxOCwianRpIjoiNGFkMmZmM2ItYTAwYS00NmQxLWE4ZDktNDNjNjJmNWUyMTA3IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWw6ODA4MC9yZWFsbXMvSXN0aW8iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiNTY5YjkxMjktN2NjYi00OWNhLTgzY2YtMDZmNmMzMGZmM2NjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiSXN0aW8iLCJzZXNzaW9uX3N0YXRlIjoiMzkyMWU0NWMtOWNkNS00ZWE5LWFjZTktMTZhM2MyMzUzMzdiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIvKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy1pc3RpbyJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsInNpZCI6IjM5MjFlNDVjLTljZDUtNGVhOS1hY2U5LTE2YTNjMjM1MzM3YiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiTWlsYW4gQWpkZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJob3RlbC1hZG1pbiIsImdpdmVuX25hbWUiOiJNaWxhbiIsImZhbWlseV9uYW1lIjoiQWpkZXIiLCJlbWFpbCI6ImFqZGVyLm1pbGFuMjAwMEBnbWFpbC5jb20ifQ.JBPiqSMdgcuuhDu8tJ3RAm7Vq0TVZD0KrcuKvObRXKuC7XsKAfQVX0mvd7JZYsmjgIdOMHYC6f8HxC-sXbdXvgzAJeCyx9icW0hfYQ1qfuizW_AfFnTbmqovZFeJME6c2n_okUKM8bNXOHWNvVR0uZ6UdrBiyNemNfXRjSKA8SAMiIOB_ZbH4aUqEtrNbZ3CEe3G8ZMUJ8UlYdzUeBt2VxPZenBqwCkhmYAx4pmdkuF5f0pB8sMKsbpjgkssgYnLwalg9tDRmxLNOv7eeBenyiZm73EwFfnE0xvf0KtmauwYBUkx91AFZfuvlRBM1u4O8PGfo24iMV_S524GfbSMsA" 
 
curl http://booking/booking/unavailability/664b8a267cf6a66bcf5fc587
 
curl --location --request PUT 'http://booking:8086/booking/unavailability/add' \
--header 'Content-Type: application/json' \
--data '{
    "accommodation_id": "6643a56c9dea1760db469b7b",
    "start": "2025-04-18T00:00:00Z",
    "end": "2025-04-28T00:00:00Z",
    "reason": "OwnerSet"
}'

curl --location --request PUT 'http://booking/booking/unavailability/remove' \
--header 'Content-Type: application/json' \
--data '{
    "unavailability_id": "6649ed2589ddc2e5a3d852a9",
    "start": "2025-04-19T00:00:00Z",
    "end": "2025-04-21T00:00:00Z",
    "reason": "OwnerSet"
}'

Update price
curl -X PUT http://hotel/hotel/accommodation/price/66467094ea31a50a941a503e -d '{"date_range": {"start": "2024-05-15T00:00:00Z", "end": "2024-05-20T00:00:00Z"}, "price": 100.50, "type": "PerGuest"}' -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSM19wNUs5dFVtTkpmSVlhdmo1NV8xTjI1VUJOMmh5cmJJWGVnVmV4ZG1ZIn0.eyJleHAiOjE3MTYwMzM2MTgsImlhdCI6MTcxNjAzMzMxOCwianRpIjoiNGFkMmZmM2ItYTAwYS00NmQxLWE4ZDktNDNjNjJmNWUyMTA3IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWw6ODA4MC9yZWFsbXMvSXN0aW8iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiNTY5YjkxMjktN2NjYi00OWNhLTgzY2YtMDZmNmMzMGZmM2NjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiSXN0aW8iLCJzZXNzaW9uX3N0YXRlIjoiMzkyMWU0NWMtOWNkNS00ZWE5LWFjZTktMTZhM2MyMzUzMzdiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIvKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy1pc3RpbyJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsInNpZCI6IjM5MjFlNDVjLTljZDUtNGVhOS1hY2U5LTE2YTNjMjM1MzM3YiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiTWlsYW4gQWpkZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJob3RlbC1hZG1pbiIsImdpdmVuX25hbWUiOiJNaWxhbiIsImZhbWlseV9uYW1lIjoiQWpkZXIiLCJlbWFpbCI6ImFqZGVyLm1pbGFuMjAwMEBnbWFpbC5jb20ifQ.JBPiqSMdgcuuhDu8tJ3RAm7Vq0TVZD0KrcuKvObRXKuC7XsKAfQVX0mvd7JZYsmjgIdOMHYC6f8HxC-sXbdXvgzAJeCyx9icW0hfYQ1qfuizW_AfFnTbmqovZFeJME6c2n_okUKM8bNXOHWNvVR0uZ6UdrBiyNemNfXRjSKA8SAMiIOB_ZbH4aUqEtrNbZ3CEe3G8ZMUJ8UlYdzUeBt2VxPZenBqwCkhmYAx4pmdkuF5f0pB8sMKsbpjgkssgYnLwalg9tDRmxLNOv7eeBenyiZm73EwFfnE0xvf0KtmauwYBUkx91AFZfuvlRBM1u4O8PGfo24iMV_S524GfbSMsA"
curl -X PUT http://hotel/hotel/accommodation/price/66467094ea31a50a941a503d -d '{"price": 555.50, "type": "PerApartmentUnit"}' -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSM19wNUs5dFVtTkpmSVlhdmo1NV8xTjI1VUJOMmh5cmJJWGVnVmV4ZG1ZIn0.eyJleHAiOjE3MTYwMzM2MTgsImlhdCI6MTcxNjAzMzMxOCwianRpIjoiNGFkMmZmM2ItYTAwYS00NmQxLWE4ZDktNDNjNjJmNWUyMTA3IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWw6ODA4MC9yZWFsbXMvSXN0aW8iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiNTY5YjkxMjktN2NjYi00OWNhLTgzY2YtMDZmNmMzMGZmM2NjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiSXN0aW8iLCJzZXNzaW9uX3N0YXRlIjoiMzkyMWU0NWMtOWNkNS00ZWE5LWFjZTktMTZhM2MyMzUzMzdiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIvKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy1pc3RpbyJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsInNpZCI6IjM5MjFlNDVjLTljZDUtNGVhOS1hY2U5LTE2YTNjMjM1MzM3YiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiTWlsYW4gQWpkZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJob3RlbC1hZG1pbiIsImdpdmVuX25hbWUiOiJNaWxhbiIsImZhbWlseV9uYW1lIjoiQWpkZXIiLCJlbWFpbCI6ImFqZGVyLm1pbGFuMjAwMEBnbWFpbC5jb20ifQ.JBPiqSMdgcuuhDu8tJ3RAm7Vq0TVZD0KrcuKvObRXKuC7XsKAfQVX0mvd7JZYsmjgIdOMHYC6f8HxC-sXbdXvgzAJeCyx9icW0hfYQ1qfuizW_AfFnTbmqovZFeJME6c2n_okUKM8bNXOHWNvVR0uZ6UdrBiyNemNfXRjSKA8SAMiIOB_ZbH4aUqEtrNbZ3CEe3G8ZMUJ8UlYdzUeBt2VxPZenBqwCkhmYAx4pmdkuF5f0pB8sMKsbpjgkssgYnLwalg9tDRmxLNOv7eeBenyiZm73EwFfnE0xvf0KtmauwYBUkx91AFZfuvlRBM1u4O8PGfo24iMV_S524GfbSMsA"
curl -X PUT http://hotel/hotel/accommodation/price/66467094ea31a50a941a503d -d '{"price": 555.50, "type": "PerApartmentUnit"}' -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSM19wNUs5dFVtTkpmSVlhdmo1NV8xTjI1VUJOMmh5cmJJWGVnVmV4ZG1ZIn0.eyJleHAiOjE3MTYwMzM2MTgsImlhdCI6MTcxNjAzMzMxOCwianRpIjoiNGFkMmZmM2ItYTAwYS00NmQxLWE4ZDktNDNjNjJmNWUyMTA3IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWw6ODA4MC9yZWFsbXMvSXN0aW8iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiNTY5YjkxMjktN2NjYi00OWNhLTgzY2YtMDZmNmMzMGZmM2NjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiSXN0aW8iLCJzZXNzaW9uX3N0YXRlIjoiMzkyMWU0NWMtOWNkNS00ZWE5LWFjZTktMTZhM2MyMzUzMzdiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIvKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy1pc3RpbyJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsInNpZCI6IjM5MjFlNDVjLTljZDUtNGVhOS1hY2U5LTE2YTNjMjM1MzM3YiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiTWlsYW4gQWpkZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJob3RlbC1hZG1pbiIsImdpdmVuX25hbWUiOiJNaWxhbiIsImZhbWlseV9uYW1lIjoiQWpkZXIiLCJlbWFpbCI6ImFqZGVyLm1pbGFuMjAwMEBnbWFpbC5jb20ifQ.JBPiqSMdgcuuhDu8tJ3RAm7Vq0TVZD0KrcuKvObRXKuC7XsKAfQVX0mvd7JZYsmjgIdOMHYC6f8HxC-sXbdXvgzAJeCyx9icW0hfYQ1qfuizW_AfFnTbmqovZFeJME6c2n_okUKM8bNXOHWNvVR0uZ6UdrBiyNemNfXRjSKA8SAMiIOB_ZbH4aUqEtrNbZ3CEe3G8ZMUJ8UlYdzUeBt2VxPZenBqwCkhmYAx4pmdkuF5f0pB8sMKsbpjgkssgYnLwalg9tDRmxLNOv7eeBenyiZm73EwFfnE0xvf0KtmauwYBUkx91AFZfuvlRBM1u4O8PGfo24iMV_S524GfbSMsA"
curl -X PUT http://hotel/hotel/accommodation/price/66467094ea31a50a941a503e -d '{"price": 12555.50}' -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSM19wNUs5dFVtTkpmSVlhdmo1NV8xTjI1VUJOMmh5cmJJWGVnVmV4ZG1ZIn0.eyJleHAiOjE3MTYwMzM2MTgsImlhdCI6MTcxNjAzMzMxOCwianRpIjoiNGFkMmZmM2ItYTAwYS00NmQxLWE4ZDktNDNjNjJmNWUyMTA3IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWw6ODA4MC9yZWFsbXMvSXN0aW8iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiNTY5YjkxMjktN2NjYi00OWNhLTgzY2YtMDZmNmMzMGZmM2NjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiSXN0aW8iLCJzZXNzaW9uX3N0YXRlIjoiMzkyMWU0NWMtOWNkNS00ZWE5LWFjZTktMTZhM2MyMzUzMzdiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIvKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy1pc3RpbyJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsInNpZCI6IjM5MjFlNDVjLTljZDUtNGVhOS1hY2U5LTE2YTNjMjM1MzM3YiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiTWlsYW4gQWpkZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJob3RlbC1hZG1pbiIsImdpdmVuX25hbWUiOiJNaWxhbiIsImZhbWlseV9uYW1lIjoiQWpkZXIiLCJlbWFpbCI6ImFqZGVyLm1pbGFuMjAwMEBnbWFpbC5jb20ifQ.JBPiqSMdgcuuhDu8tJ3RAm7Vq0TVZD0KrcuKvObRXKuC7XsKAfQVX0mvd7JZYsmjgIdOMHYC6f8HxC-sXbdXvgzAJeCyx9icW0hfYQ1qfuizW_AfFnTbmqovZFeJME6c2n_okUKM8bNXOHWNvVR0uZ6UdrBiyNemNfXRjSKA8SAMiIOB_ZbH4aUqEtrNbZ3CEe3G8ZMUJ8UlYdzUeBt2VxPZenBqwCkhmYAx4pmdkuF5f0pB8sMKsbpjgkssgYnLwalg9tDRmxLNOv7eeBenyiZm73EwFfnE0xvf0KtmauwYBUkx91AFZfuvlRBM1u4O8PGfo24iMV_S524GfbSMsA"
curl -X PUT http://hotel/hotel/accommodation/price/66467094ea31a50a941a503e -d '{}' -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSM19wNUs5dFVtTkpmSVlhdmo1NV8xTjI1VUJOMmh5cmJJWGVnVmV4ZG1ZIn0.eyJleHAiOjE3MTYwMzM2MTgsImlhdCI6MTcxNjAzMzMxOCwianRpIjoiNGFkMmZmM2ItYTAwYS00NmQxLWE4ZDktNDNjNjJmNWUyMTA3IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWw6ODA4MC9yZWFsbXMvSXN0aW8iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiNTY5YjkxMjktN2NjYi00OWNhLTgzY2YtMDZmNmMzMGZmM2NjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiSXN0aW8iLCJzZXNzaW9uX3N0YXRlIjoiMzkyMWU0NWMtOWNkNS00ZWE5LWFjZTktMTZhM2MyMzUzMzdiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIvKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy1pc3RpbyJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsInNpZCI6IjM5MjFlNDVjLTljZDUtNGVhOS1hY2U5LTE2YTNjMjM1MzM3YiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiTWlsYW4gQWpkZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJob3RlbC1hZG1pbiIsImdpdmVuX25hbWUiOiJNaWxhbiIsImZhbWlseV9uYW1lIjoiQWpkZXIiLCJlbWFpbCI6ImFqZGVyLm1pbGFuMjAwMEBnbWFpbC5jb20ifQ.JBPiqSMdgcuuhDu8tJ3RAm7Vq0TVZD0KrcuKvObRXKuC7XsKAfQVX0mvd7JZYsmjgIdOMHYC6f8HxC-sXbdXvgzAJeCyx9icW0hfYQ1qfuizW_AfFnTbmqovZFeJME6c2n_okUKM8bNXOHWNvVR0uZ6UdrBiyNemNfXRjSKA8SAMiIOB_ZbH4aUqEtrNbZ3CEe3G8ZMUJ8UlYdzUeBt2VxPZenBqwCkhmYAx4pmdkuF5f0pB8sMKsbpjgkssgYnLwalg9tDRmxLNOv7eeBenyiZm73EwFfnE0xvf0KtmauwYBUkx91AFZfuvlRBM1u4O8PGfo24iMV_S524GfbSMsA"


eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSM19wNUs5dFVtTkpmSVlhdmo1NV8xTjI1VUJOMmh5cmJJWGVnVmV4ZG1ZIn0.eyJleHAiOjE3MTYwMzM2MTgsImlhdCI6MTcxNjAzMzMxOCwianRpIjoiNGFkMmZmM2ItYTAwYS00NmQxLWE4ZDktNDNjNjJmNWUyMTA3IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWw6ODA4MC9yZWFsbXMvSXN0aW8iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiNTY5YjkxMjktN2NjYi00OWNhLTgzY2YtMDZmNmMzMGZmM2NjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiSXN0aW8iLCJzZXNzaW9uX3N0YXRlIjoiMzkyMWU0NWMtOWNkNS00ZWE5LWFjZTktMTZhM2MyMzUzMzdiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIvKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy1pc3RpbyJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsInNpZCI6IjM5MjFlNDVjLTljZDUtNGVhOS1hY2U5LTE2YTNjMjM1MzM3YiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiTWlsYW4gQWpkZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJob3RlbC1hZG1pbiIsImdpdmVuX25hbWUiOiJNaWxhbiIsImZhbWlseV9uYW1lIjoiQWpkZXIiLCJlbWFpbCI6ImFqZGVyLm1pbGFuMjAwMEBnbWFpbC5jb20ifQ.JBPiqSMdgcuuhDu8tJ3RAm7Vq0TVZD0KrcuKvObRXKuC7XsKAfQVX0mvd7JZYsmjgIdOMHYC6f8HxC-sXbdXvgzAJeCyx9icW0hfYQ1qfuizW_AfFnTbmqovZFeJME6c2n_okUKM8bNXOHWNvVR0uZ6UdrBiyNemNfXRjSKA8SAMiIOB_ZbH4aUqEtrNbZ3CEe3G8ZMUJ8UlYdzUeBt2VxPZenBqwCkhmYAx4pmdkuF5f0pB8sMKsbpjgkssgYnLwalg9tDRmxLNOv7eeBenyiZm73EwFfnE0xvf0KtmauwYBUkx91AFZfuvlRBM1u4O8PGfo24iMV_S524GfbSMsA

Get JWT token for user

curl -X POST -d "client_id=Istio" -d "username=hotel-user" -d "password=test" -d "grant_type=password" "http://keycloak.default.svc.cluster.local:8080/realms/Istio/protocol/openid-connect/token"

Get JWT token for admin

 curl -X POST -d "client_id=Istio" -d "username=hotel-admin" -d "password=test" -d "grant_type=password" "http://keycloak.default.svc.cluster.local:8080/realms/Istio/protocol/openid-connect/token"

Ingress setup: Deploy ingress:

kubectl -n backend apply -f ingress.yml
kubectl -n backend describe ingress demo-ingress

Apply za ceo ili vise direktorijuma

kubectl -n backend  apply -R -f k8s
kubectl -n backend  apply -R -f istio

Ponisti prethodnu verziju i apply novu

kubectl replace --force -f ingress.yml
kubectl replace --force -f istio/authorizationPolicy.yaml
kubectl replace --force -f k8s/booking-service.yml
kubectl -n backend  replace --force -f k8s/booking-configmap.yml

Keycloak

minikube addons enable ingress
kubectl create -f https://raw.githubusercontent.com/keycloak/keycloak-quickstarts/latest/kubernetes/keycloak.yaml
minikube tunnel

browser: localhost:8080 (username: admin, password: admin)

Create Istio realm
Create Istio client 
Create hotel-user , hotel-admin (password: test)

docker build -t devopszms2024/zms-devops-booking-service:latest . docker push devopszms2024/zms-devops-booking-service:latest kubectl replace --force -f k8s/ kubectl replace --force -f istio/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published