Giter VIP home page Giter VIP logo

udemy-microservices-nodejs-react's Introduction

udemy-microservices-nodejs-react

Abbreviations:

  • msn - microservices + node

Local Dev Env:

  • Host: MacBook Air M1
  • OS: Big Sug 11.4
  • Docker Desktop: 4.0.1
  • Docker Engine: 20.10.8
  • Kubernetes: 1.21.2

Prerequisites:

Repo Structure

  • ./blog - Simple blog app, that allows anyone to create posts and comments; INCLUDES: React, Node, Express, Docker, wired for K8s, simple custom build simple Event Bus for messaging; EXCLUDES: DB and robust Event Bus; ENVIRONMENT: Local machine run
  • ./ticketing-gcp - Simple ticketing app, that allows users to singup/login, purchase tickets. During checkout tickets are timer controlled on hold to prevent other users from purchasing the same ticket; INCLUDES: React, TypeScript, Node, Express, Docker, wired for K8s + MORE; EXCLUDES: TBD; ENVIRONMENT: GCP
  • ./ticketing-az - TBD to work with Azure
  • ./ticketing-aws - TBD to work with AWS
  • ./ticketing - TBD to work in local dev

udemy-microservices-nodejs-react's People

Contributors

surgesoro avatar

Watchers

 avatar

udemy-microservices-nodejs-react's Issues

skaffold dev - not working as expected

Port 80 check:

surge in blog -> sudo lsof -i tcp:80
Password:
COMMAND     PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google    11768 surge   33u  IPv4 0x696895a584c5ab27      0t0  TCP sergiys-air:61175->lga34s36-in-f16.1e100.net:http (ESTABLISHED)
com.docke 56515 surge   80u  IPv6 0x696895a568ee5897      0t0  TCP *:http (LISTEN)
surge in blog -> kill -15 11768
surge in blog -> sudo lsof -i tcp:80  
COMMAND     PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
com.docke 56515 surge   80u  IPv6 0x696895a568ee5897      0t0  TCP *:http (LISTEN)

Issue

When running skaffold dev, application starts and runs as expected - able to create and view new posts and comments. However, when making any changes to source code, skaffold does not auto-deploy. For example, changing <h1>Create Any Post</h1> to <h1>Create Any Post</h1> in ./client/src/App.js file does nothing.

  • When running skaffold dev getting
    Deployments stabilized in 4.117 seconds
    Press Ctrl+C to exit
    WARN[0007] ./infra/k8s/* did not match any file subtask=-1 task=DevLoop
    Watching for changes...

Terminal Results:

surge in blog -> skaffold dev 
Listing files to watch...
 - surgesoro/msn-blog-app
 - surgesoro/msn-comments
 - surgesoro/msn-event-bus
 - surgesoro/msn-moderation
 - surgesoro/msn-posts
 - surgesoro/msn-query
Generating tags...
 - surgesoro/msn-blog-app -> surgesoro/msn-blog-app:c03bf20
 - surgesoro/msn-comments -> surgesoro/msn-comments:c03bf20
 - surgesoro/msn-event-bus -> surgesoro/msn-event-bus:c03bf20
 - surgesoro/msn-moderation -> surgesoro/msn-moderation:c03bf20
 - surgesoro/msn-posts -> surgesoro/msn-posts:c03bf20
 - surgesoro/msn-query -> surgesoro/msn-query:c03bf20-dirty
Checking cache...
 - surgesoro/msn-blog-app: Found Locally
 - surgesoro/msn-comments: Found Locally
 - surgesoro/msn-event-bus: Found Locally
 - surgesoro/msn-moderation: Found Locally
 - surgesoro/msn-posts: Found Locally
 - surgesoro/msn-query: Found Locally
Tags used in deployment:
 - surgesoro/msn-blog-app -> surgesoro/msn-blog-app:eb228e738f695948f9f213b6ceede9e791092ad6a71abcc8827d260a1804751b
 - surgesoro/msn-comments -> surgesoro/msn-comments:69206740d3598000048ffd71e8535786081c2d14e6548102cce26ceb28a209a2
 - surgesoro/msn-event-bus -> surgesoro/msn-event-bus:7c9526f189c31ab314f2af0c678a969bc4671892ed91e4fa689ac07225e3e916
 - surgesoro/msn-moderation -> surgesoro/msn-moderation:a6ce132b5b29be23f94629f8fd260ec51230454074a84e728800a9a352eebdef
 - surgesoro/msn-posts -> surgesoro/msn-posts:003beb26edda364e892d354a0537684164caa510966e30bc334320de1f45d0af
 - surgesoro/msn-query -> surgesoro/msn-query:74daa23b0710d1ac2e36fbe21436f35621f76f91f8c7a47eb134d8d975f89df2
Starting deploy...
 - deployment.apps/blog-app-depl created
 - service/blog-app-srv created
 - deployment.apps/comments-depl created
 - service/comments-srv created
 - deployment.apps/event-bus-depl created
 - service/event-bus-srv created
 - ingress.networking.k8s.io/ingress-srv created
 - deployment.apps/moderation-depl created
 - service/moderation-srv created
 - deployment.apps/posts-depl created
 - service/posts-srv created
 - service/posts-nodeport-srv created
 - deployment.apps/query-depl created
 - service/query-srv created
Waiting for deployments to stabilize...
 - deployment/blog-app-depl is ready. [5/6 deployment(s) still pending]
 - deployment/event-bus-depl is ready. [4/6 deployment(s) still pending]
 - deployment/comments-depl is ready. [3/6 deployment(s) still pending]
 - deployment/query-depl is ready. [2/6 deployment(s) still pending]
 - deployment/posts-depl is ready. [1/6 deployment(s) still pending]
 - deployment/moderation-depl is ready.
Deployments stabilized in 4.108 seconds
Press Ctrl+C to exit
WARN[0005] ./infra/k8s/* did not match any file          subtask=-1 task=DevLoop
Watching for changes...
[query] 
[query] > [email protected] start
[query] > nodemon index.js
[query] 
[query] [nodemon] 2.0.13
[query] [nodemon] to restart at any time, enter `rs`
[query] [nodemon] watching path(s): *.*
[comments] 
[query] [nodemon] watching extensions: js,mjs,json
[query] [nodemon] starting `node index.js`
[query] k8s wired
[query] Listening on 8082
[comments] > [email protected] start
[comments] > nodemon index.js
[comments] 
[comments] [nodemon] 2.0.13
[comments] [nodemon] to restart at any time, enter `rs`
[comments] [nodemon] watching path(s): *.*
[comments] [nodemon] watching extensions: js,mjs,json
[comments] [nodemon] starting `node index.js`
[comments] k8s wired
[comments] Listening on port 8081
[posts] 
[posts] > [email protected] start
[posts] > nodemon index.js
[posts] 
[posts] [nodemon] 2.0.13
[posts] [nodemon] to restart at any time, enter `rs`
[posts] [nodemon] watching path(s): *.*
[posts] [nodemon] watching extensions: js,mjs,json
[posts] [nodemon] starting `node index.js`
[posts] k8s wired
[posts] Listening on port 8080
[moderation] 
[moderation] > [email protected] start
[moderation] > nodemon index.js
[moderation] 
[moderation] [nodemon] 2.0.13
[moderation] [nodemon] to restart at any time, enter `rs`
[moderation] [nodemon] watching path(s): *.*
[moderation] [nodemon] watching extensions: js,mjs,json
[moderation] [nodemon] starting `node index.js`
[moderation] k8s wired
[moderation] Listening on 8083
[blog-app] 
[blog-app] > [email protected] start
[blog-app] > react-scripts start
[blog-app] 
[blog-app] ℹ 「wds」: Project is running at http://10.1.0.64/
[blog-app] ℹ 「wds」: webpack output is served from 
[blog-app] ℹ 「wds」: Content not from webpack is served from /app/public
[blog-app] ℹ 「wds」: 404s will fallback to /
[blog-app] Starting the development server...
[blog-app] 
[event-bus] 
[event-bus] > [email protected] start
[event-bus] > nodemon index.js
[event-bus] 
[event-bus] [nodemon] 2.0.13
[event-bus] [nodemon] to restart at any time, enter `rs`
[event-bus] [nodemon] watching path(s): *.*
[event-bus] [nodemon] watching extensions: js,mjs,json
[event-bus] [nodemon] starting `node index.js`
[event-bus] k8s wired
[event-bus] Listening on 8085
WARN[0006] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0007] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0008] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
[blog-app] Compiled successfully!
[blog-app] 
[blog-app] You can now view client in the browser.
[blog-app] 
[blog-app]   Local:            http://localhost:3000
[blog-app]   On Your Network:  http://10.1.0.64:3000
[blog-app] 
[blog-app] Note that the development build is not optimized.
[blog-app] To create a production build, use npm run build.
[blog-app] 
WARN[0009] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0010] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0011] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0012] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0013] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0014] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0015] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0016] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0017] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0018] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0019] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0020] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
WARN[0021] Ignoring changes: listing files: unable to evaluate build args: reading dockerfile: open /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/client/Dockerfile: too many open files  subtask=-1 task=DevLoop
^CCleaning up...
WARN[0022] ./infra/k8s/* did not match any file          subtask=-1 task=DevLoop
WARN[0022] deployer cleanup:kubectl delete: pipe: too many open files  subtask=-1 task=DevLoop

  • When running skaffold dev -vdebug

Terminal Results:

surge in blog -> skaffold dev -vdebug 
DEBU[0000] skaffold API not starting as it's not requested  subtask=-1 task=DevLoop
INFO[0000] Skaffold &{Version:v1.32.0 ConfigVersion:skaffold/v2beta23 GitVersion: GitCommit:edd1d458902d64e51e17b83514e1fc693c248259 BuildDate:2021-09-15T20:28:14Z GoVersion:go1.16beta1 Compiler:gc Platform:darwin/arm64 User:}  subtask=-1 task=DevLoop
INFO[0000] Loaded Skaffold defaults from "/Users/surge/.skaffold/config"  subtask=-1 task=DevLoop
DEBU[0000] config version out of date: upgrading to latest "skaffold/v2beta23"  subtask=-1 task=DevLoop
DEBU[0000] parsed 1 configs from configuration file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/skaffold.yaml  subtask=-1 task=DevLoop
INFO[0000] Using kubectl context: docker-desktop         subtask=-1 task=DevLoop
DEBU[0000] Running command: [minikube version --output=json]  subtask=-1 task=DevLoop
DEBU[0000] setting Docker user agent to skaffold-v1.32.0  subtask=-1 task=DevLoop
DEBU[0000] Using builder: local                          subtask=-1 task=DevLoop
INFO[0000] build concurrency first set to 1 parsed from *local.Builder[0]  subtask=-1 task=DevLoop
INFO[0000] final build concurrency value is 1            subtask=-1 task=DevLoop
Listing files to watch...
 - surgesoro/msn-blog-app
DEBU[0000] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0000] Skipping excluded path: node_modules         
 - surgesoro/msn-comments
DEBU[0000] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0000] Skipping excluded path: node_modules         
 - surgesoro/msn-event-bus
DEBU[0000] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0000] Skipping excluded path: node_modules         
 - surgesoro/msn-moderation
DEBU[0000] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0000] Skipping excluded path: node_modules         
 - surgesoro/msn-posts
DEBU[0000] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0000] Skipping excluded path: node_modules         
 - surgesoro/msn-query
DEBU[0000] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0000] Skipping excluded path: node_modules         
INFO[0000] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0000] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
INFO[0000] List generated in 15.434ms                    subtask=-1 task=DevLoop
Generating tags...
 - surgesoro/msn-blog-app -> DEBU[0000] Running command: [git describe --tags --always]  subtask=-1 task=Build
DEBU[0000] Running command: [git describe --tags --always]  subtask=-1 task=Build
DEBU[0000] Running command: [git describe --tags --always]  subtask=-1 task=Build
DEBU[0000] Running command: [git describe --tags --always]  subtask=-1 task=Build
DEBU[0000] Running command: [git describe --tags --always]  subtask=-1 task=Build
DEBU[0000] Running command: [git describe --tags --always]  subtask=-1 task=Build
DEBU[0000] Command output: [c03bf20
]                    subtask=-1 task=Build
DEBU[0000] Command output: [c03bf20
]                    subtask=-1 task=Build
DEBU[0000] Command output: [c03bf20
]                    subtask=-1 task=Build
DEBU[0000] Command output: [c03bf20
]                    subtask=-1 task=Build
DEBU[0000] Running command: [git status . --porcelain]   subtask=-1 task=Build
DEBU[0000] Running command: [git status . --porcelain]   subtask=-1 task=Build
DEBU[0000] Running command: [git status . --porcelain]   subtask=-1 task=Build
DEBU[0000] Command output: [c03bf20
]                    subtask=-1 task=Build
DEBU[0000] Command output: [c03bf20
]                    subtask=-1 task=Build
DEBU[0000] Running command: [git status . --porcelain]   subtask=-1 task=Build
DEBU[0000] Running command: [git status . --porcelain]   subtask=-1 task=Build
DEBU[0000] Running command: [git status . --porcelain]   subtask=-1 task=Build
DEBU[0000] Command output: [ M blog/query/Dockerfile
 M blog/query/package.json
]  subtask=-1 task=Build
DEBU[0000] Command output: []                            subtask=-1 task=Build
DEBU[0000] Command output: []                            subtask=-1 task=Build
DEBU[0000] Command output: []                            subtask=-1 task=Build
surgesoro/msn-blog-app:c03bf20
 - surgesoro/msn-comments -> DEBU[0000] Command output: []                            subtask=-1 task=Build
DEBU[0000] Command output: []                            subtask=-1 task=Build
surgesoro/msn-comments:c03bf20
 - surgesoro/msn-event-bus -> surgesoro/msn-event-bus:c03bf20
 - surgesoro/msn-moderation -> surgesoro/msn-moderation:c03bf20
 - surgesoro/msn-posts -> surgesoro/msn-posts:c03bf20
 - surgesoro/msn-query -> surgesoro/msn-query:c03bf20-dirty
INFO[0000] Tags generated in 57.930375ms                 subtask=-1 task=Build
Checking cache...
 - surgesoro/msn-blog-app: Found Locally
 - surgesoro/msn-comments: Found Locally
 - surgesoro/msn-event-bus: Found Locally
 - surgesoro/msn-moderation: Found Locally
 - surgesoro/msn-posts: Found Locally
 - surgesoro/msn-query: Found Locally
INFO[0000] Cache check completed in 90.542833ms          subtask=-1 task=Build
Tags used in deployment:
 - surgesoro/msn-blog-app -> surgesoro/msn-blog-app:eb228e738f695948f9f213b6ceede9e791092ad6a71abcc8827d260a1804751b
 - surgesoro/msn-comments -> surgesoro/msn-comments:69206740d3598000048ffd71e8535786081c2d14e6548102cce26ceb28a209a2
 - surgesoro/msn-event-bus -> surgesoro/msn-event-bus:7c9526f189c31ab314f2af0c678a969bc4671892ed91e4fa689ac07225e3e916
 - surgesoro/msn-moderation -> surgesoro/msn-moderation:a6ce132b5b29be23f94629f8fd260ec51230454074a84e728800a9a352eebdef
 - surgesoro/msn-posts -> surgesoro/msn-posts:003beb26edda364e892d354a0537684164caa510966e30bc334320de1f45d0af
 - surgesoro/msn-query -> surgesoro/msn-query:74daa23b0710d1ac2e36fbe21436f35621f76f91f8c7a47eb134d8d975f89df2
DEBU[0000] Local images can't be referenced by digest.
They are tagged and referenced by a unique, local only, tag instead.
See https://skaffold.dev/docs/pipeline-stages/taggers/#how-tagging-works  subtask=-1 task=Deploy
Starting deploy...
DEBU[0000] getting client config for kubeContext: `docker-desktop`  subtask=-1 task=DevLoop
DEBU[0000] Running command: [kubectl version --client -ojson]  subtask=0 task=Deploy
DEBU[0000] Command output: [{
  "clientVersion": {
    "major": "1",
    "minor": "21",
    "gitVersion": "v1.21.4",
    "gitCommit": "3cce4a82b44f032d0cd1a1790e6d2f5a55d20aae",
    "gitTreeState": "clean",
    "buildDate": "2021-08-11T18:16:05Z",
    "goVersion": "go1.16.7",
    "compiler": "gc",
    "platform": "darwin/arm64"
  }
}
]  subtask=0 task=Deploy
INFO[0000] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0000] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
DEBU[0000] Running command: [kubectl --context docker-desktop create --dry-run=client -oyaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/blog-app-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/comments-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/event-bus-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/ingress-srv.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/moderation-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-nodeport-srv.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/query-depl.yaml]  subtask=0 task=Deploy
DEBU[0002] Command output: [apiVersion: apps/v1
kind: Deployment
metadata:
  name: blog-app-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: blog-app
  template:
    metadata:
      labels:
        app: blog-app
    spec:
      containers:
      - image: surgesoro/msn-blog-app:latest
        name: blog-app
---
apiVersion: v1
kind: Service
metadata:
  name: blog-app-srv
  namespace: default
spec:
  ports:
  - name: blog-app
    port: 3000
    protocol: TCP
    targetPort: 3000
  selector:
    app: blog-app
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: comments-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: comments
  template:
    metadata:
      labels:
        app: comments
    spec:
      containers:
      - image: surgesoro/msn-comments:latest
        name: comments
---
apiVersion: v1
kind: Service
metadata:
  name: comments-srv
  namespace: default
spec:
  ports:
  - name: comments
    port: 8081
    protocol: TCP
    targetPort: 8081
  selector:
    app: comments
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: event-bus-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: event-bus
  template:
    metadata:
      labels:
        app: event-bus
    spec:
      containers:
      - image: surgesoro/msn-event-bus:latest
        name: event-bus
---
apiVersion: v1
kind: Service
metadata:
  name: event-bus-srv
  namespace: default
spec:
  ports:
  - name: event-bus
    port: 8085
    protocol: TCP
    targetPort: 8085
  selector:
    app: event-bus
  type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
  name: ingress-srv
  namespace: default
spec:
  rules:
  - host: posts.com
    http:
      paths:
      - backend:
          service:
            name: posts-srv
            port:
              number: 8080
        path: /posts/create
        pathType: Prefix
      - backend:
          service:
            name: query-srv
            port:
              number: 8082
        path: /posts
        pathType: Prefix
      - backend:
          service:
            name: comments-srv
            port:
              number: 8081
        path: /posts/?(.*)/comments
        pathType: Prefix
      - backend:
          service:
            name: blog-app-srv
            port:
              number: 3000
        path: /?(.*)
        pathType: Prefix
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: moderation-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: moderation
  template:
    metadata:
      labels:
        app: moderation
    spec:
      containers:
      - image: surgesoro/msn-moderation:latest
        name: moderation
---
apiVersion: v1
kind: Service
metadata:
  name: moderation-srv
  namespace: default
spec:
  ports:
  - name: moderation
    port: 8083
    protocol: TCP
    targetPort: 8083
  selector:
    app: moderation
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: posts-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: posts
  template:
    metadata:
      labels:
        app: posts
    spec:
      containers:
      - image: surgesoro/msn-posts:latest
        name: posts
---
apiVersion: v1
kind: Service
metadata:
  name: posts-srv
  namespace: default
spec:
  ports:
  - name: posts
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: posts
  type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
  name: posts-nodeport-srv
  namespace: default
spec:
  ports:
  - name: posts
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: posts
  type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: query-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: query
  template:
    metadata:
      labels:
        app: query
    spec:
      containers:
      - image: surgesoro/msn-query:latest
        name: query
---
apiVersion: v1
kind: Service
metadata:
  name: query-srv
  namespace: default
spec:
  ports:
  - name: query
    port: 8082
    protocol: TCP
    targetPort: 8082
  selector:
    app: query
  type: ClusterIP
]  subtask=0 task=Deploy
DEBU[0002] manifests with tagged images:apiVersion: apps/v1
kind: Deployment
metadata:
  name: blog-app-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: blog-app
  template:
    metadata:
      labels:
        app: blog-app
    spec:
      containers:
      - image: surgesoro/msn-blog-app:eb228e738f695948f9f213b6ceede9e791092ad6a71abcc8827d260a1804751b
        name: blog-app
---
apiVersion: v1
kind: Service
metadata:
  name: blog-app-srv
  namespace: default
spec:
  ports:
  - name: blog-app
    port: 3000
    protocol: TCP
    targetPort: 3000
  selector:
    app: blog-app
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: comments-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: comments
  template:
    metadata:
      labels:
        app: comments
    spec:
      containers:
      - image: surgesoro/msn-comments:69206740d3598000048ffd71e8535786081c2d14e6548102cce26ceb28a209a2
        name: comments
---
apiVersion: v1
kind: Service
metadata:
  name: comments-srv
  namespace: default
spec:
  ports:
  - name: comments
    port: 8081
    protocol: TCP
    targetPort: 8081
  selector:
    app: comments
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: event-bus-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: event-bus
  template:
    metadata:
      labels:
        app: event-bus
    spec:
      containers:
      - image: surgesoro/msn-event-bus:7c9526f189c31ab314f2af0c678a969bc4671892ed91e4fa689ac07225e3e916
        name: event-bus
---
apiVersion: v1
kind: Service
metadata:
  name: event-bus-srv
  namespace: default
spec:
  ports:
  - name: event-bus
    port: 8085
    protocol: TCP
    targetPort: 8085
  selector:
    app: event-bus
  type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
  name: ingress-srv
  namespace: default
spec:
  rules:
  - host: posts.com
    http:
      paths:
      - backend:
          service:
            name: posts-srv
            port:
              number: 8080
        path: /posts/create
        pathType: Prefix
      - backend:
          service:
            name: query-srv
            port:
              number: 8082
        path: /posts
        pathType: Prefix
      - backend:
          service:
            name: comments-srv
            port:
              number: 8081
        path: /posts/?(.*)/comments
        pathType: Prefix
      - backend:
          service:
            name: blog-app-srv
            port:
              number: 3000
        path: /?(.*)
        pathType: Prefix
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: moderation-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: moderation
  template:
    metadata:
      labels:
        app: moderation
    spec:
      containers:
      - image: surgesoro/msn-moderation:a6ce132b5b29be23f94629f8fd260ec51230454074a84e728800a9a352eebdef
        name: moderation
---
apiVersion: v1
kind: Service
metadata:
  name: moderation-srv
  namespace: default
spec:
  ports:
  - name: moderation
    port: 8083
    protocol: TCP
    targetPort: 8083
  selector:
    app: moderation
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: posts-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: posts
  template:
    metadata:
      labels:
        app: posts
    spec:
      containers:
      - image: surgesoro/msn-posts:003beb26edda364e892d354a0537684164caa510966e30bc334320de1f45d0af
        name: posts
---
apiVersion: v1
kind: Service
metadata:
  name: posts-srv
  namespace: default
spec:
  ports:
  - name: posts
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: posts
  type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
  name: posts-nodeport-srv
  namespace: default
spec:
  ports:
  - name: posts
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: posts
  type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: query-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: query
  template:
    metadata:
      labels:
        app: query
    spec:
      containers:
      - image: surgesoro/msn-query:74daa23b0710d1ac2e36fbe21436f35621f76f91f8c7a47eb134d8d975f89df2
        name: query
---
apiVersion: v1
kind: Service
metadata:
  name: query-srv
  namespace: default
spec:
  ports:
  - name: query
    port: 8082
    protocol: TCP
    targetPort: 8082
  selector:
    app: query
  type: ClusterIP  subtask=0 task=Deploy
DEBU[0002] manifests with labels apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: blog-app-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: blog-app
  template:
    metadata:
      labels:
        app: blog-app
        app.kubernetes.io/managed-by: skaffold
        skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
    spec:
      containers:
      - image: surgesoro/msn-blog-app:eb228e738f695948f9f213b6ceede9e791092ad6a71abcc8827d260a1804751b
        name: blog-app
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: blog-app-srv
  namespace: default
spec:
  ports:
  - name: blog-app
    port: 3000
    protocol: TCP
    targetPort: 3000
  selector:
    app: blog-app
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: comments-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: comments
  template:
    metadata:
      labels:
        app: comments
        app.kubernetes.io/managed-by: skaffold
        skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
    spec:
      containers:
      - image: surgesoro/msn-comments:69206740d3598000048ffd71e8535786081c2d14e6548102cce26ceb28a209a2
        name: comments
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: comments-srv
  namespace: default
spec:
  ports:
  - name: comments
    port: 8081
    protocol: TCP
    targetPort: 8081
  selector:
    app: comments
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: event-bus-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: event-bus
  template:
    metadata:
      labels:
        app: event-bus
        app.kubernetes.io/managed-by: skaffold
        skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
    spec:
      containers:
      - image: surgesoro/msn-event-bus:7c9526f189c31ab314f2af0c678a969bc4671892ed91e4fa689ac07225e3e916
        name: event-bus
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: event-bus-srv
  namespace: default
spec:
  ports:
  - name: event-bus
    port: 8085
    protocol: TCP
    targetPort: 8085
  selector:
    app: event-bus
  type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: ingress-srv
  namespace: default
spec:
  rules:
  - host: posts.com
    http:
      paths:
      - backend:
          service:
            name: posts-srv
            port:
              number: 8080
        path: /posts/create
        pathType: Prefix
      - backend:
          service:
            name: query-srv
            port:
              number: 8082
        path: /posts
        pathType: Prefix
      - backend:
          service:
            name: comments-srv
            port:
              number: 8081
        path: /posts/?(.*)/comments
        pathType: Prefix
      - backend:
          service:
            name: blog-app-srv
            port:
              number: 3000
        path: /?(.*)
        pathType: Prefix
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: moderation-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: moderation
  template:
    metadata:
      labels:
        app: moderation
        app.kubernetes.io/managed-by: skaffold
        skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
    spec:
      containers:
      - image: surgesoro/msn-moderation:a6ce132b5b29be23f94629f8fd260ec51230454074a84e728800a9a352eebdef
        name: moderation
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: moderation-srv
  namespace: default
spec:
  ports:
  - name: moderation
    port: 8083
    protocol: TCP
    targetPort: 8083
  selector:
    app: moderation
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: posts-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: posts
  template:
    metadata:
      labels:
        app: posts
        app.kubernetes.io/managed-by: skaffold
        skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
    spec:
      containers:
      - image: surgesoro/msn-posts:003beb26edda364e892d354a0537684164caa510966e30bc334320de1f45d0af
        name: posts
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: posts-srv
  namespace: default
spec:
  ports:
  - name: posts
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: posts
  type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: posts-nodeport-srv
  namespace: default
spec:
  ports:
  - name: posts
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: posts
  type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: query-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: query
  template:
    metadata:
      labels:
        app: query
        app.kubernetes.io/managed-by: skaffold
        skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
    spec:
      containers:
      - image: surgesoro/msn-query:74daa23b0710d1ac2e36fbe21436f35621f76f91f8c7a47eb134d8d975f89df2
        name: query
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/managed-by: skaffold
    skaffold.dev/run-id: dde78a7f-ed60-4f7d-a025-ff0ae5a1a109
  name: query-srv
  namespace: default
spec:
  ports:
  - name: query
    port: 8082
    protocol: TCP
    targetPort: 8082
  selector:
    app: query
  type: ClusterIP  subtask=-1 task=DevLoop
DEBU[0002] Running command: [kubectl --context docker-desktop get -f - --ignore-not-found -ojson]  subtask=0 task=Deploy
DEBU[0002] Command output: [{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "apps/v1",
            "kind": "Deployment",
            "metadata": {
                "annotations": {
                    "deployment.kubernetes.io/revision": "1",
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"blog-app-depl\",\"namespace\":\"default\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"blog-app\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"blog-app\",\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"}},\"spec\":{\"containers\":[{\"image\":\"surgesoro/msn-blog-app:eb228e738f695948f9f213b6ceede9e791092ad6a71abcc8827d260a1804751b\",\"name\":\"blog-app\"}]}}}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:20Z",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "blog-app-depl",
                "namespace": "default",
                "resourceVersion": "66801",
                "uid": "d3c4311a-ea39-4573-b43e-b78ee6a5abf8"
            },
            "spec": {
                "progressDeadlineSeconds": 600,
                "replicas": 1,
                "revisionHistoryLimit": 10,
                "selector": {
                    "matchLabels": {
                        "app": "blog-app"
                    }
                },
                "strategy": {
                    "rollingUpdate": {
                        "maxSurge": "25%",
                        "maxUnavailable": "25%"
                    },
                    "type": "RollingUpdate"
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "blog-app",
                            "app.kubernetes.io/managed-by": "skaffold",
                            "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "image": "surgesoro/msn-blog-app:eb228e738f695948f9f213b6ceede9e791092ad6a71abcc8827d260a1804751b",
                                "imagePullPolicy": "IfNotPresent",
                                "name": "blog-app",
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File"
                            }
                        ],
                        "dnsPolicy": "ClusterFirst",
                        "restartPolicy": "Always",
                        "schedulerName": "default-scheduler",
                        "securityContext": {},
                        "terminationGracePeriodSeconds": 30
                    }
                }
            },
            "status": {
                "availableReplicas": 1,
                "conditions": [
                    {
                        "lastTransitionTime": "2021-09-26T12:32:23Z",
                        "lastUpdateTime": "2021-09-26T12:32:23Z",
                        "message": "Deployment has minimum availability.",
                        "reason": "MinimumReplicasAvailable",
                        "status": "True",
                        "type": "Available"
                    },
                    {
                        "lastTransitionTime": "2021-09-26T12:32:20Z",
                        "lastUpdateTime": "2021-09-26T12:32:23Z",
                        "message": "ReplicaSet \"blog-app-depl-59dbbf8c46\" has successfully progressed.",
                        "reason": "NewReplicaSetAvailable",
                        "status": "True",
                        "type": "Progressing"
                    }
                ],
                "observedGeneration": 1,
                "readyReplicas": 1,
                "replicas": 1,
                "updatedReplicas": 1
            }
        },
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"blog-app-srv\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"name\":\"blog-app\",\"port\":3000,\"protocol\":\"TCP\",\"targetPort\":3000}],\"selector\":{\"app\":\"blog-app\"},\"type\":\"ClusterIP\"}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:20Z",
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "blog-app-srv",
                "namespace": "default",
                "resourceVersion": "66668",
                "uid": "2053fef3-d269-424e-a913-e3626f06cf00"
            },
            "spec": {
                "clusterIP": "10.105.126.5",
                "clusterIPs": [
                    "10.105.126.5"
                ],
                "ipFamilies": [
                    "IPv4"
                ],
                "ipFamilyPolicy": "SingleStack",
                "ports": [
                    {
                        "name": "blog-app",
                        "port": 3000,
                        "protocol": "TCP",
                        "targetPort": 3000
                    }
                ],
                "selector": {
                    "app": "blog-app"
                },
                "sessionAffinity": "None",
                "type": "ClusterIP"
            },
            "status": {
                "loadBalancer": {}
            }
        },
        {
            "apiVersion": "apps/v1",
            "kind": "Deployment",
            "metadata": {
                "annotations": {
                    "deployment.kubernetes.io/revision": "1",
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"comments-depl\",\"namespace\":\"default\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"comments\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"comments\",\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"}},\"spec\":{\"containers\":[{\"image\":\"surgesoro/msn-comments:69206740d3598000048ffd71e8535786081c2d14e6548102cce26ceb28a209a2\",\"name\":\"comments\"}]}}}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:20Z",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "comments-depl",
                "namespace": "default",
                "resourceVersion": "66818",
                "uid": "00021b8f-4d74-4032-ac2e-318b9b4b1cc5"
            },
            "spec": {
                "progressDeadlineSeconds": 600,
                "replicas": 1,
                "revisionHistoryLimit": 10,
                "selector": {
                    "matchLabels": {
                        "app": "comments"
                    }
                },
                "strategy": {
                    "rollingUpdate": {
                        "maxSurge": "25%",
                        "maxUnavailable": "25%"
                    },
                    "type": "RollingUpdate"
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "comments",
                            "app.kubernetes.io/managed-by": "skaffold",
                            "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "image": "surgesoro/msn-comments:69206740d3598000048ffd71e8535786081c2d14e6548102cce26ceb28a209a2",
                                "imagePullPolicy": "IfNotPresent",
                                "name": "comments",
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File"
                            }
                        ],
                        "dnsPolicy": "ClusterFirst",
                        "restartPolicy": "Always",
                        "schedulerName": "default-scheduler",
                        "securityContext": {},
                        "terminationGracePeriodSeconds": 30
                    }
                }
            },
            "status": {
                "availableReplicas": 1,
                "conditions": [
                    {
                        "lastTransitionTime": "2021-09-26T12:32:23Z",
                        "lastUpdateTime": "2021-09-26T12:32:23Z",
                        "message": "Deployment has minimum availability.",
                        "reason": "MinimumReplicasAvailable",
                        "status": "True",
                        "type": "Available"
                    },
                    {
                        "lastTransitionTime": "2021-09-26T12:32:20Z",
                        "lastUpdateTime": "2021-09-26T12:32:23Z",
                        "message": "ReplicaSet \"comments-depl-59cdfc7487\" has successfully progressed.",
                        "reason": "NewReplicaSetAvailable",
                        "status": "True",
                        "type": "Progressing"
                    }
                ],
                "observedGeneration": 1,
                "readyReplicas": 1,
                "replicas": 1,
                "updatedReplicas": 1
            }
        },
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"comments-srv\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"name\":\"comments\",\"port\":8081,\"protocol\":\"TCP\",\"targetPort\":8081}],\"selector\":{\"app\":\"comments\"},\"type\":\"ClusterIP\"}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:20Z",
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "comments-srv",
                "namespace": "default",
                "resourceVersion": "66687",
                "uid": "d29abb6d-e917-4ac6-bc9a-301db944a06c"
            },
            "spec": {
                "clusterIP": "10.109.249.38",
                "clusterIPs": [
                    "10.109.249.38"
                ],
                "ipFamilies": [
                    "IPv4"
                ],
                "ipFamilyPolicy": "SingleStack",
                "ports": [
                    {
                        "name": "comments",
                        "port": 8081,
                        "protocol": "TCP",
                        "targetPort": 8081
                    }
                ],
                "selector": {
                    "app": "comments"
                },
                "sessionAffinity": "None",
                "type": "ClusterIP"
            },
            "status": {
                "loadBalancer": {}
            }
        },
        {
            "apiVersion": "apps/v1",
            "kind": "Deployment",
            "metadata": {
                "annotations": {
                    "deployment.kubernetes.io/revision": "1",
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"event-bus-depl\",\"namespace\":\"default\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"event-bus\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"event-bus\",\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"}},\"spec\":{\"containers\":[{\"image\":\"surgesoro/msn-event-bus:7c9526f189c31ab314f2af0c678a969bc4671892ed91e4fa689ac07225e3e916\",\"name\":\"event-bus\"}]}}}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:20Z",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "event-bus-depl",
                "namespace": "default",
                "resourceVersion": "66810",
                "uid": "c4d87abe-970f-44c7-8b15-77104d18c97c"
            },
            "spec": {
                "progressDeadlineSeconds": 600,
                "replicas": 1,
                "revisionHistoryLimit": 10,
                "selector": {
                    "matchLabels": {
                        "app": "event-bus"
                    }
                },
                "strategy": {
                    "rollingUpdate": {
                        "maxSurge": "25%",
                        "maxUnavailable": "25%"
                    },
                    "type": "RollingUpdate"
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "event-bus",
                            "app.kubernetes.io/managed-by": "skaffold",
                            "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "image": "surgesoro/msn-event-bus:7c9526f189c31ab314f2af0c678a969bc4671892ed91e4fa689ac07225e3e916",
                                "imagePullPolicy": "IfNotPresent",
                                "name": "event-bus",
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File"
                            }
                        ],
                        "dnsPolicy": "ClusterFirst",
                        "restartPolicy": "Always",
                        "schedulerName": "default-scheduler",
                        "securityContext": {},
                        "terminationGracePeriodSeconds": 30
                    }
                }
            },
            "status": {
                "availableReplicas": 1,
                "conditions": [
                    {
                        "lastTransitionTime": "2021-09-26T12:32:23Z",
                        "lastUpdateTime": "2021-09-26T12:32:23Z",
                        "message": "Deployment has minimum availability.",
                        "reason": "MinimumReplicasAvailable",
                        "status": "True",
                        "type": "Available"
                    },
                    {
                        "lastTransitionTime": "2021-09-26T12:32:20Z",
                        "lastUpdateTime": "2021-09-26T12:32:23Z",
                        "message": "ReplicaSet \"event-bus-depl-79fcc6b785\" has successfully progressed.",
                        "reason": "NewReplicaSetAvailable",
                        "status": "True",
                        "type": "Progressing"
                    }
                ],
                "observedGeneration": 1,
                "readyReplicas": 1,
                "replicas": 1,
                "updatedReplicas": 1
            }
        },
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"event-bus-srv\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"name\":\"event-bus\",\"port\":8085,\"protocol\":\"TCP\",\"targetPort\":8085}],\"selector\":{\"app\":\"event-bus\"},\"type\":\"ClusterIP\"}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "event-bus-srv",
                "namespace": "default",
                "resourceVersion": "66710",
                "uid": "5bffa375-6722-48e8-ae4c-fd37d41deee0"
            },
            "spec": {
                "clusterIP": "10.106.18.143",
                "clusterIPs": [
                    "10.106.18.143"
                ],
                "ipFamilies": [
                    "IPv4"
                ],
                "ipFamilyPolicy": "SingleStack",
                "ports": [
                    {
                        "name": "event-bus",
                        "port": 8085,
                        "protocol": "TCP",
                        "targetPort": 8085
                    }
                ],
                "selector": {
                    "app": "event-bus"
                },
                "sessionAffinity": "None",
                "type": "ClusterIP"
            },
            "status": {
                "loadBalancer": {}
            }
        },
        {
            "apiVersion": "networking.k8s.io/v1",
            "kind": "Ingress",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"networking.k8s.io/v1\",\"kind\":\"Ingress\",\"metadata\":{\"annotations\":{\"kubernetes.io/ingress.class\":\"nginx\",\"nginx.ingress.kubernetes.io/use-regex\":\"true\"},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"ingress-srv\",\"namespace\":\"default\"},\"spec\":{\"rules\":[{\"host\":\"posts.com\",\"http\":{\"paths\":[{\"backend\":{\"service\":{\"name\":\"posts-srv\",\"port\":{\"number\":8080}}},\"path\":\"/posts/create\",\"pathType\":\"Prefix\"},{\"backend\":{\"service\":{\"name\":\"query-srv\",\"port\":{\"number\":8082}}},\"path\":\"/posts\",\"pathType\":\"Prefix\"},{\"backend\":{\"service\":{\"name\":\"comments-srv\",\"port\":{\"number\":8081}}},\"path\":\"/posts/?(.*)/comments\",\"pathType\":\"Prefix\"},{\"backend\":{\"service\":{\"name\":\"blog-app-srv\",\"port\":{\"number\":3000}}},\"path\":\"/?(.*)\",\"pathType\":\"Prefix\"}]}}]}}\n",
                    "kubernetes.io/ingress.class": "nginx",
                    "nginx.ingress.kubernetes.io/use-regex": "true"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "ingress-srv",
                "namespace": "default",
                "resourceVersion": "66911",
                "uid": "9ab4f7e7-baea-4d87-b7f8-3c596cf7cee2"
            },
            "spec": {
                "rules": [
                    {
                        "host": "posts.com",
                        "http": {
                            "paths": [
                                {
                                    "backend": {
                                        "service": {
                                            "name": "posts-srv",
                                            "port": {
                                                "number": 8080
                                            }
                                        }
                                    },
                                    "path": "/posts/create",
                                    "pathType": "Prefix"
                                },
                                {
                                    "backend": {
                                        "service": {
                                            "name": "query-srv",
                                            "port": {
                                                "number": 8082
                                            }
                                        }
                                    },
                                    "path": "/posts",
                                    "pathType": "Prefix"
                                },
                                {
                                    "backend": {
                                        "service": {
                                            "name": "comments-srv",
                                            "port": {
                                                "number": 8081
                                            }
                                        }
                                    },
                                    "path": "/posts/?(.*)/comments",
                                    "pathType": "Prefix"
                                },
                                {
                                    "backend": {
                                        "service": {
                                            "name": "blog-app-srv",
                                            "port": {
                                                "number": 3000
                                            }
                                        }
                                    },
                                    "path": "/?(.*)",
                                    "pathType": "Prefix"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "loadBalancer": {
                    "ingress": [
                        {
                            "hostname": "localhost"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "apps/v1",
            "kind": "Deployment",
            "metadata": {
                "annotations": {
                    "deployment.kubernetes.io/revision": "1",
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"moderation-depl\",\"namespace\":\"default\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"moderation\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"moderation\",\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"}},\"spec\":{\"containers\":[{\"image\":\"surgesoro/msn-moderation:a6ce132b5b29be23f94629f8fd260ec51230454074a84e728800a9a352eebdef\",\"name\":\"moderation\"}]}}}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "moderation-depl",
                "namespace": "default",
                "resourceVersion": "66829",
                "uid": "04de69a2-7c68-400e-a9e0-b196eae250a8"
            },
            "spec": {
                "progressDeadlineSeconds": 600,
                "replicas": 1,
                "revisionHistoryLimit": 10,
                "selector": {
                    "matchLabels": {
                        "app": "moderation"
                    }
                },
                "strategy": {
                    "rollingUpdate": {
                        "maxSurge": "25%",
                        "maxUnavailable": "25%"
                    },
                    "type": "RollingUpdate"
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "moderation",
                            "app.kubernetes.io/managed-by": "skaffold",
                            "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "image": "surgesoro/msn-moderation:a6ce132b5b29be23f94629f8fd260ec51230454074a84e728800a9a352eebdef",
                                "imagePullPolicy": "IfNotPresent",
                                "name": "moderation",
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File"
                            }
                        ],
                        "dnsPolicy": "ClusterFirst",
                        "restartPolicy": "Always",
                        "schedulerName": "default-scheduler",
                        "securityContext": {},
                        "terminationGracePeriodSeconds": 30
                    }
                }
            },
            "status": {
                "availableReplicas": 1,
                "conditions": [
                    {
                        "lastTransitionTime": "2021-09-26T12:32:24Z",
                        "lastUpdateTime": "2021-09-26T12:32:24Z",
                        "message": "Deployment has minimum availability.",
                        "reason": "MinimumReplicasAvailable",
                        "status": "True",
                        "type": "Available"
                    },
                    {
                        "lastTransitionTime": "2021-09-26T12:32:21Z",
                        "lastUpdateTime": "2021-09-26T12:32:24Z",
                        "message": "ReplicaSet \"moderation-depl-6964dd75c4\" has successfully progressed.",
                        "reason": "NewReplicaSetAvailable",
                        "status": "True",
                        "type": "Progressing"
                    }
                ],
                "observedGeneration": 1,
                "readyReplicas": 1,
                "replicas": 1,
                "updatedReplicas": 1
            }
        },
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"moderation-srv\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"name\":\"moderation\",\"port\":8083,\"protocol\":\"TCP\",\"targetPort\":8083}],\"selector\":{\"app\":\"moderation\"},\"type\":\"ClusterIP\"}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "moderation-srv",
                "namespace": "default",
                "resourceVersion": "66728",
                "uid": "35ba93e1-acfc-4c04-9278-8612a66d4950"
            },
            "spec": {
                "clusterIP": "10.106.63.136",
                "clusterIPs": [
                    "10.106.63.136"
                ],
                "ipFamilies": [
                    "IPv4"
                ],
                "ipFamilyPolicy": "SingleStack",
                "ports": [
                    {
                        "name": "moderation",
                        "port": 8083,
                        "protocol": "TCP",
                        "targetPort": 8083
                    }
                ],
                "selector": {
                    "app": "moderation"
                },
                "sessionAffinity": "None",
                "type": "ClusterIP"
            },
            "status": {
                "loadBalancer": {}
            }
        },
        {
            "apiVersion": "apps/v1",
            "kind": "Deployment",
            "metadata": {
                "annotations": {
                    "deployment.kubernetes.io/revision": "1",
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"posts-depl\",\"namespace\":\"default\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"posts\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"posts\",\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"}},\"spec\":{\"containers\":[{\"image\":\"surgesoro/msn-posts:003beb26edda364e892d354a0537684164caa510966e30bc334320de1f45d0af\",\"name\":\"posts\"}]}}}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "posts-depl",
                "namespace": "default",
                "resourceVersion": "66836",
                "uid": "01f28240-bc8f-4bed-80a0-9cf272f64d2b"
            },
            "spec": {
                "progressDeadlineSeconds": 600,
                "replicas": 1,
                "revisionHistoryLimit": 10,
                "selector": {
                    "matchLabels": {
                        "app": "posts"
                    }
                },
                "strategy": {
                    "rollingUpdate": {
                        "maxSurge": "25%",
                        "maxUnavailable": "25%"
                    },
                    "type": "RollingUpdate"
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "posts",
                            "app.kubernetes.io/managed-by": "skaffold",
                            "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "image": "surgesoro/msn-posts:003beb26edda364e892d354a0537684164caa510966e30bc334320de1f45d0af",
                                "imagePullPolicy": "IfNotPresent",
                                "name": "posts",
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File"
                            }
                        ],
                        "dnsPolicy": "ClusterFirst",
                        "restartPolicy": "Always",
                        "schedulerName": "default-scheduler",
                        "securityContext": {},
                        "terminationGracePeriodSeconds": 30
                    }
                }
            },
            "status": {
                "availableReplicas": 1,
                "conditions": [
                    {
                        "lastTransitionTime": "2021-09-26T12:32:25Z",
                        "lastUpdateTime": "2021-09-26T12:32:25Z",
                        "message": "Deployment has minimum availability.",
                        "reason": "MinimumReplicasAvailable",
                        "status": "True",
                        "type": "Available"
                    },
                    {
                        "lastTransitionTime": "2021-09-26T12:32:21Z",
                        "lastUpdateTime": "2021-09-26T12:32:25Z",
                        "message": "ReplicaSet \"posts-depl-89bdcbb74\" has successfully progressed.",
                        "reason": "NewReplicaSetAvailable",
                        "status": "True",
                        "type": "Progressing"
                    }
                ],
                "observedGeneration": 1,
                "readyReplicas": 1,
                "replicas": 1,
                "updatedReplicas": 1
            }
        },
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"posts-srv\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"name\":\"posts\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080}],\"selector\":{\"app\":\"posts\"},\"type\":\"ClusterIP\"}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "posts-srv",
                "namespace": "default",
                "resourceVersion": "66743",
                "uid": "7565d1a9-ae03-4d74-9c2c-96dbe0ddc0ad"
            },
            "spec": {
                "clusterIP": "10.107.102.173",
                "clusterIPs": [
                    "10.107.102.173"
                ],
                "ipFamilies": [
                    "IPv4"
                ],
                "ipFamilyPolicy": "SingleStack",
                "ports": [
                    {
                        "name": "posts",
                        "port": 8080,
                        "protocol": "TCP",
                        "targetPort": 8080
                    }
                ],
                "selector": {
                    "app": "posts"
                },
                "sessionAffinity": "None",
                "type": "ClusterIP"
            },
            "status": {
                "loadBalancer": {}
            }
        },
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"posts-nodeport-srv\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"name\":\"posts\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080}],\"selector\":{\"app\":\"posts\"},\"type\":\"NodePort\"}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "posts-nodeport-srv",
                "namespace": "default",
                "resourceVersion": "66763",
                "uid": "810d671c-4d96-4ff6-bd90-6a8d6c58ea84"
            },
            "spec": {
                "clusterIP": "10.102.206.40",
                "clusterIPs": [
                    "10.102.206.40"
                ],
                "externalTrafficPolicy": "Cluster",
                "ipFamilies": [
                    "IPv4"
                ],
                "ipFamilyPolicy": "SingleStack",
                "ports": [
                    {
                        "name": "posts",
                        "nodePort": 31875,
                        "port": 8080,
                        "protocol": "TCP",
                        "targetPort": 8080
                    }
                ],
                "selector": {
                    "app": "posts"
                },
                "sessionAffinity": "None",
                "type": "NodePort"
            },
            "status": {
                "loadBalancer": {
                    "ingress": [
                        {
                            "hostname": "localhost"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "apps/v1",
            "kind": "Deployment",
            "metadata": {
                "annotations": {
                    "deployment.kubernetes.io/revision": "1",
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"query-depl\",\"namespace\":\"default\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"query\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"query\",\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"}},\"spec\":{\"containers\":[{\"image\":\"surgesoro/msn-query:74daa23b0710d1ac2e36fbe21436f35621f76f91f8c7a47eb134d8d975f89df2\",\"name\":\"query\"}]}}}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "query-depl",
                "namespace": "default",
                "resourceVersion": "66824",
                "uid": "9555e531-b9e9-43c9-9864-d6759fe91a10"
            },
            "spec": {
                "progressDeadlineSeconds": 600,
                "replicas": 1,
                "revisionHistoryLimit": 10,
                "selector": {
                    "matchLabels": {
                        "app": "query"
                    }
                },
                "strategy": {
                    "rollingUpdate": {
                        "maxSurge": "25%",
                        "maxUnavailable": "25%"
                    },
                    "type": "RollingUpdate"
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "query",
                            "app.kubernetes.io/managed-by": "skaffold",
                            "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "image": "surgesoro/msn-query:74daa23b0710d1ac2e36fbe21436f35621f76f91f8c7a47eb134d8d975f89df2",
                                "imagePullPolicy": "IfNotPresent",
                                "name": "query",
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File"
                            }
                        ],
                        "dnsPolicy": "ClusterFirst",
                        "restartPolicy": "Always",
                        "schedulerName": "default-scheduler",
                        "securityContext": {},
                        "terminationGracePeriodSeconds": 30
                    }
                }
            },
            "status": {
                "availableReplicas": 1,
                "conditions": [
                    {
                        "lastTransitionTime": "2021-09-26T12:32:24Z",
                        "lastUpdateTime": "2021-09-26T12:32:24Z",
                        "message": "Deployment has minimum availability.",
                        "reason": "MinimumReplicasAvailable",
                        "status": "True",
                        "type": "Available"
                    },
                    {
                        "lastTransitionTime": "2021-09-26T12:32:21Z",
                        "lastUpdateTime": "2021-09-26T12:32:24Z",
                        "message": "ReplicaSet \"query-depl-7747b6f8c6\" has successfully progressed.",
                        "reason": "NewReplicaSetAvailable",
                        "status": "True",
                        "type": "Progressing"
                    }
                ],
                "observedGeneration": 1,
                "readyReplicas": 1,
                "replicas": 1,
                "updatedReplicas": 1
            }
        },
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold\",\"skaffold.dev/run-id\":\"338af373-28a4-4fee-b38e-eb6b581958d2\"},\"name\":\"query-srv\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"name\":\"query\",\"port\":8082,\"protocol\":\"TCP\",\"targetPort\":8082}],\"selector\":{\"app\":\"query\"},\"type\":\"ClusterIP\"}}\n"
                },
                "creationTimestamp": "2021-09-26T12:32:21Z",
                "labels": {
                    "app.kubernetes.io/managed-by": "skaffold",
                    "skaffold.dev/run-id": "338af373-28a4-4fee-b38e-eb6b581958d2"
                },
                "name": "query-srv",
                "namespace": "default",
                "resourceVersion": "66769",
                "uid": "7c72bbce-2523-43f9-9e61-9b9f9503672d"
            },
            "spec": {
                "clusterIP": "10.107.204.176",
                "clusterIPs": [
                    "10.107.204.176"
                ],
                "ipFamilies": [
                    "IPv4"
                ],
                "ipFamilyPolicy": "SingleStack",
                "ports": [
                    {
                        "name": "query",
                        "port": 8082,
                        "protocol": "TCP",
                        "targetPort": 8082
                    }
                ],
                "selector": {
                    "app": "query"
                },
                "sessionAffinity": "None",
                "type": "ClusterIP"
            },
            "status": {
                "loadBalancer": {}
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": "",
        "selfLink": ""
    }
}
]  subtask=0 task=Deploy
DEBU[0002] 14manifests to deploy.14are updated or new    subtask=0 task=Deploy
DEBU[0002] Running command: [kubectl --context docker-desktop apply -f -]  subtask=0 task=Deploy
 - deployment.apps/blog-app-depl configured
 - service/blog-app-srv configured
 - deployment.apps/comments-depl configured
 - service/comments-srv configured
 - deployment.apps/event-bus-depl configured
 - service/event-bus-srv configured
 - ingress.networking.k8s.io/ingress-srv configured
 - deployment.apps/moderation-depl configured
 - service/moderation-srv configured
 - deployment.apps/posts-depl configured
 - service/posts-srv configured
 - service/posts-nodeport-srv configured
 - deployment.apps/query-depl configured
 - service/query-srv configured
INFO[0002] Deploy completed in 2.622 seconds             subtask=-1 task=Deploy
Waiting for deployments to stabilize...
DEBU[0002] getting client config for kubeContext: `docker-desktop`  subtask=-1 task=DevLoop
DEBU[0002] checking status deployment/blog-app-depl      subtask=-1 task=Deploy
DEBU[0002] checking status deployment/posts-depl         subtask=-1 task=Deploy
DEBU[0002] checking status deployment/query-depl         subtask=-1 task=Deploy
DEBU[0002] checking status deployment/event-bus-depl     subtask=-1 task=Deploy
DEBU[0002] checking status deployment/comments-depl      subtask=-1 task=Deploy
DEBU[0002] checking status deployment/moderation-depl    subtask=-1 task=Deploy
DEBU[0003] Running command: [kubectl --context docker-desktop rollout status deployment query-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0003] Running command: [kubectl --context docker-desktop rollout status deployment posts-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0003] Running command: [kubectl --context docker-desktop rollout status deployment comments-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0003] Running command: [kubectl --context docker-desktop rollout status deployment moderation-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0003] Running command: [kubectl --context docker-desktop rollout status deployment event-bus-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0003] Running command: [kubectl --context docker-desktop rollout status deployment blog-app-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0004] Command output: [Waiting for deployment "comments-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0004] Command output: [Waiting for deployment "query-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0004] Command output: [Waiting for deployment "event-bus-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0004] Command output: [Waiting for deployment "posts-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0004] Command output: [Waiting for deployment "blog-app-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0004] Command output: [Waiting for deployment "moderation-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0004] Pod "posts-depl-7ff8c7bd5b-k66zl" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0004] Pod "query-depl-7c96fbbdfd-cm8wb" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0004] Pod "event-bus-depl-6f8bd69b75-blq22" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0004] Pod "comments-depl-69ddbd74c7-trqtz" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0004] Pod "blog-app-depl-56b76c86fb-8d2cw" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0004] Pod "moderation-depl-6b57c884fb-qf5kg" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0004] Running command: [kubectl --context docker-desktop rollout status deployment blog-app-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0004] Running command: [kubectl --context docker-desktop rollout status deployment comments-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0004] Running command: [kubectl --context docker-desktop rollout status deployment query-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0004] Running command: [kubectl --context docker-desktop rollout status deployment posts-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0004] Running command: [kubectl --context docker-desktop rollout status deployment event-bus-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0004] Running command: [kubectl --context docker-desktop rollout status deployment moderation-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0005] Command output: [Waiting for deployment "blog-app-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0005] Command output: [deployment "comments-depl" successfully rolled out
]  subtask=-1 task=Deploy
 - deployment/comments-depl is ready. [5/6 deployment(s) still pending]
DEBU[0005] Command output: [Waiting for deployment "query-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0005] Command output: [Waiting for deployment "event-bus-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0005] Command output: [Waiting for deployment "posts-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0005] Command output: [Waiting for deployment "moderation-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0005] Fetching events for pod "blog-app-depl-56b76c86fb-8d2cw"  subtask=-1 task=DevLoop
DEBU[0005] Pod "event-bus-depl-6f8bd69b75-blq22" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0005] Pod "query-depl-7c96fbbdfd-cm8wb" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0005] Pod "posts-depl-7ff8c7bd5b-k66zl" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0005] Pod "moderation-depl-6b57c884fb-qf5kg" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0005] Running command: [kubectl --context docker-desktop rollout status deployment blog-app-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0005] Running command: [kubectl --context docker-desktop rollout status deployment query-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0005] Running command: [kubectl --context docker-desktop rollout status deployment posts-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0005] Running command: [kubectl --context docker-desktop rollout status deployment event-bus-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0005] Running command: [kubectl --context docker-desktop rollout status deployment moderation-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0006] Command output: [Waiting for deployment "moderation-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0006] Command output: [deployment "blog-app-depl" successfully rolled out
]  subtask=-1 task=Deploy
 - deployment/blog-app-depl is ready. [4/6 deployment(s) still pending]
DEBU[0006] Command output: [Waiting for deployment "posts-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0006] Command output: [deployment "event-bus-depl" successfully rolled out
]  subtask=-1 task=Deploy
 - deployment/event-bus-depl is ready. [3/6 deployment(s) still pending]
DEBU[0006] Command output: [Waiting for deployment "query-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
DEBU[0006] Pod "posts-depl-7ff8c7bd5b-k66zl" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0006] Pod "moderation-depl-6b57c884fb-qf5kg" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0006] Pod "query-depl-7c96fbbdfd-cm8wb" scheduled but not ready: checking container statuses  subtask=-1 task=DevLoop
DEBU[0006] Running command: [kubectl --context docker-desktop rollout status deployment posts-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0006] Running command: [kubectl --context docker-desktop rollout status deployment query-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0006] Running command: [kubectl --context docker-desktop rollout status deployment moderation-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0007] Command output: [deployment "moderation-depl" successfully rolled out
]  subtask=-1 task=Deploy
DEBU[0007] Command output: [Waiting for deployment "query-depl" rollout to finish: 1 old replicas are pending termination...
]  subtask=-1 task=Deploy
 - deployment/moderation-depl is ready. [2/6 deployment(s) still pending]
DEBU[0007] Command output: [deployment "posts-depl" successfully rolled out
]  subtask=-1 task=Deploy
 - deployment/posts-depl is ready. [1/6 deployment(s) still pending]
DEBU[0007] Fetching events for pod "query-depl-7c96fbbdfd-cm8wb"  subtask=-1 task=DevLoop
 - deployment/query-depl: waiting for rollout to finish: 1 old replicas are pending termination...
DEBU[0007] Running command: [kubectl --context docker-desktop rollout status deployment query-depl --namespace default --watch=false]  subtask=-1 task=Deploy
DEBU[0007] Command output: [deployment "query-depl" successfully rolled out
]  subtask=-1 task=Deploy
 - deployment/query-depl is ready.
Deployments stabilized in 5.099 seconds
DEBU[0007] getting client config for kubeContext: `docker-desktop`  subtask=-1 task=DevLoop
Press Ctrl+C to exit
INFO[0007] Streaming logs from pod: blog-app-depl-56b76c86fb-8d2cw container: blog-app  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f blog-app-depl-56b76c86fb-8d2cw -c blog-app --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: blog-app-depl-59dbbf8c46-dwxt2 container: blog-app  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f blog-app-depl-59dbbf8c46-dwxt2 -c blog-app --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: comments-depl-69ddbd74c7-trqtz container: comments  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f comments-depl-69ddbd74c7-trqtz -c comments --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: event-bus-depl-6f8bd69b75-blq22 container: event-bus  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f event-bus-depl-6f8bd69b75-blq22 -c event-bus --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: moderation-depl-6964dd75c4-k8k24 container: moderation  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f moderation-depl-6964dd75c4-k8k24 -c moderation --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: event-bus-depl-79fcc6b785-glr97 container: event-bus  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f event-bus-depl-79fcc6b785-glr97 -c event-bus --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: moderation-depl-6b57c884fb-qf5kg container: moderation  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f moderation-depl-6b57c884fb-qf5kg -c moderation --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: posts-depl-89bdcbb74-rcc6b container: posts  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: query-depl-7747b6f8c6-xbg6w container: query  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f query-depl-7747b6f8c6-xbg6w -c query --namespace default]  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f posts-depl-89bdcbb74-rcc6b -c posts --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: query-depl-7c96fbbdfd-cm8wb container: query  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f query-depl-7c96fbbdfd-cm8wb -c query --namespace default]  subtask=-1 task=DevLoop
INFO[0007] Streaming logs from pod: posts-depl-7ff8c7bd5b-k66zl container: posts  subtask=-1 task=DevLoop
DEBU[0007] Running command: [kubectl --context docker-desktop logs --since=8s -f posts-depl-7ff8c7bd5b-k66zl -c posts --namespace default]  subtask=-1 task=DevLoop
DEBU[0008] Couldn't start notify trigger. Falling back to a polling trigger  subtask=-1 task=DevLoop
WARN[0008] ./infra/k8s/* did not match any file          subtask=-1 task=DevLoop
INFO[0008] files deleted: [/Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/blog-app-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/comments-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/event-bus-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/ingress-srv.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/moderation-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-nodeport-srv.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/query-depl.yaml]  subtask=-1 task=DevLoop
Watching for changes...
[event-bus] 
[event-bus] > [email protected] start
[event-bus] > nodemon index.js
[event-bus] 
[event-bus] [nodemon] 2.0.13
[event-bus] [nodemon] to restart at any time, enter `rs`
[event-bus] [nodemon] watching path(s): *.*
[event-bus] [nodemon] watching extensions: js,mjs,json
[event-bus] [nodemon] starting `node index.js`
[event-bus] k8s wired
[event-bus] Listening on 8085
[posts] Error from server (BadRequest): container "posts" in pod "posts-depl-89bdcbb74-rcc6b" is terminated
WARN[0008] exit status 1                                 subtask=-1 task=DevLoop
[moderation] 
[moderation] > [email protected] start
[moderation] > nodemon index.js
[moderation] 
[moderation] [nodemon] 2.0.13
[moderation] [nodemon] to restart at any time, enter `rs`
[moderation] [nodemon] watching path(s): *.*
[moderation] [nodemon] watching extensions: js,mjs,json
[moderation] [nodemon] starting `node index.js`
[moderation] k8s wired
[moderation] Listening on 8083
[query] 
[query] > [email protected] start
[query] > nodemon index.js
[query] 
[query] [nodemon] 2.0.13
[query] [nodemon] to restart at any time, enter `rs`
[query] [nodemon] watching path(s): *.*
[query] [nodemon] watching extensions: js,mjs,json
[query] [nodemon] starting `node index.js`
[query] k8s wired
[query] Listening on 8082
[query] connect ECONNREFUSED 10.106.18.143:8085
[blog-app] 
[blog-app] > [email protected] start
[blog-app] > react-scripts start
[blog-app] 
[comments] 
[comments] > [email protected] start
[comments] > nodemon index.js
[comments] 
[comments] [nodemon] 2.0.13
[comments] [nodemon] to restart at any time, enter `rs`
[comments] [nodemon] watching path(s): *.*
[comments] [nodemon] watching extensions: js,mjs,json
[comments] [nodemon] starting `node index.js`
[comments] k8s wired
[comments] Listening on port 8081
[posts] 
[posts] > [email protected] start
[posts] > nodemon index.js
[posts] 
[posts] [nodemon] 2.0.13
[posts] [nodemon] to restart at any time, enter `rs`
[posts] [nodemon] watching path(s): *.*
[posts] [nodemon] watching extensions: js,mjs,json
[posts] [nodemon] starting `node index.js`
[posts] k8s wired
[posts] Listening on port 8080
[blog-app] ℹ 「wds」: Project is running at http://10.1.0.69/
[blog-app] ℹ 「wds」: webpack output is served from 
[blog-app] ℹ 「wds」: Content not from webpack is served from /app/public
[blog-app] ℹ 「wds」: 404s will fallback to /
[blog-app] Starting the development server...
[blog-app] 
DEBU[0009] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0009] Skipping excluded path: node_modules         
DEBU[0009] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0009] Skipping excluded path: node_modules         
DEBU[0009] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0009] Skipping excluded path: node_modules         
DEBU[0009] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0009] Skipping excluded path: node_modules         
DEBU[0009] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0009] Skipping excluded path: node_modules         
DEBU[0009] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0009] Skipping excluded path: node_modules         
INFO[0009] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0009] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
INFO[0009] files added: [/Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/blog-app-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/comments-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/event-bus-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/ingress-srv.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/moderation-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-depl.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-nodeport-srv.yaml /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/query-depl.yaml]  subtask=-1 task=DevLoop
DEBU[0009] stopping accessor                             subtask=-1 task=DevLoop
DEBU[0009] stopping debugger                             subtask=-1 task=DevLoop
Tags used in deployment:
 - surgesoro/msn-blog-app -> surgesoro/msn-blog-app:eb228e738f695948f9f213b6ceede9e791092ad6a71abcc8827d260a1804751b
 - surgesoro/msn-comments -> surgesoro/msn-comments:69206740d3598000048ffd71e8535786081c2d14e6548102cce26ceb28a209a2
 - surgesoro/msn-event-bus -> surgesoro/msn-event-bus:7c9526f189c31ab314f2af0c678a969bc4671892ed91e4fa689ac07225e3e916
 - surgesoro/msn-moderation -> surgesoro/msn-moderation:a6ce132b5b29be23f94629f8fd260ec51230454074a84e728800a9a352eebdef
 - surgesoro/msn-posts -> surgesoro/msn-posts:003beb26edda364e892d354a0537684164caa510966e30bc334320de1f45d0af
 - surgesoro/msn-query -> surgesoro/msn-query:74daa23b0710d1ac2e36fbe21436f35621f76f91f8c7a47eb134d8d975f89df2
DEBU[0009] Local images can't be referenced by digest.
They are tagged and referenced by a unique, local only, tag instead.
See https://skaffold.dev/docs/pipeline-stages/taggers/#how-tagging-works  subtask=-1 task=Deploy
Starting deploy...
DEBU[0009] getting client config for kubeContext: `docker-desktop`  subtask=-1 task=DevLoop
INFO[0009] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0009] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
DEBU[0009] Running command: [kubectl --context docker-desktop create --dry-run=client -oyaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/blog-app-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/comments-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/event-bus-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/ingress-srv.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/moderation-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-nodeport-srv.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/query-depl.yaml]  subtask=0 task=Deploy
WARN[0009] Skipping deploy due to error:kubectl create: starting command /usr/local/bin/kubectl --context docker-desktop create --dry-run=client -oyaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/blog-app-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/comments-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/event-bus-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/ingress-srv.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/moderation-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-nodeport-srv.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/query-depl.yaml: fork/exec /usr/local/bin/kubectl: too many open files  subtask=-1 task=DevLoop
Watching for changes...
DEBU[0010] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0010] Skipping excluded path: node_modules         
DEBU[0010] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0010] Skipping excluded path: node_modules         
DEBU[0010] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0010] Skipping excluded path: node_modules         
DEBU[0010] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0010] Skipping excluded path: node_modules         
DEBU[0010] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0010] Skipping excluded path: node_modules         
DEBU[0010] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0010] Skipping excluded path: node_modules         
INFO[0010] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0010] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
DEBU[0011] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0011] Skipping excluded path: node_modules         
DEBU[0011] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0011] Skipping excluded path: node_modules         
DEBU[0011] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0011] Skipping excluded path: node_modules         
DEBU[0011] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0011] Skipping excluded path: node_modules         
DEBU[0011] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0011] Skipping excluded path: node_modules         
DEBU[0011] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0011] Skipping excluded path: node_modules         
INFO[0011] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0011] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
DEBU[0012] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0012] Skipping excluded path: node_modules         
DEBU[0012] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0012] Skipping excluded path: node_modules         
DEBU[0012] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0012] Skipping excluded path: node_modules         
DEBU[0012] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0012] Skipping excluded path: node_modules         
DEBU[0012] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0012] Skipping excluded path: node_modules         
DEBU[0012] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0012] Skipping excluded path: node_modules         
INFO[0012] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0012] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
DEBU[0013] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0013] Skipping excluded path: node_modules         
DEBU[0013] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0013] Skipping excluded path: node_modules         
DEBU[0013] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0013] Skipping excluded path: node_modules         
DEBU[0013] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0013] Skipping excluded path: node_modules         
DEBU[0013] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0013] Skipping excluded path: node_modules         
DEBU[0013] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0013] Skipping excluded path: node_modules         
INFO[0013] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0013] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
DEBU[0014] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0014] Skipping excluded path: node_modules         
DEBU[0014] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0014] Skipping excluded path: node_modules         
DEBU[0014] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0014] Skipping excluded path: node_modules         
DEBU[0014] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0014] Skipping excluded path: node_modules         
DEBU[0014] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0014] Skipping excluded path: node_modules         
DEBU[0014] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]  subtask=-1 task=DevLoop
DEBU[0014] Skipping excluded path: node_modules         
INFO[0014] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0014] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
^CWARN[0014] signal: interrupt                             subtask=-1 task=DevLoop
WARN[0014] signal: interrupt                             subtask=-1 task=DevLoop
Cleaning up...
INFO[0014] refusing to deploy/delete non {json, yaml} file /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/skaffold  subtask=-1 task=DevLoop
INFO[0014] If you still wish to deploy this file, please specify it directly, outside a glob pattern.  subtask=-1 task=DevLoop
DEBU[0014] Running command: [kubectl --context docker-desktop create --dry-run=client -oyaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/blog-app-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/comments-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/event-bus-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/ingress-srv.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/moderation-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-depl.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/posts-nodeport-srv.yaml -f /Users/surge/Documents/projects/learn-microservices/udemy-microservices-nodejs-react/blog/infra/k8s/query-depl.yaml]  subtask=-1 task=DevLoop
DEBU[0014] Command output: [apiVersion: apps/v1
kind: Deployment
metadata:
  name: blog-app-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: blog-app
  template:
    metadata:
      labels:
        app: blog-app
    spec:
      containers:
      - image: surgesoro/msn-blog-app:latest
        name: blog-app
---
apiVersion: v1
kind: Service
metadata:
  name: blog-app-srv
  namespace: default
spec:
  ports:
  - name: blog-app
    port: 3000
    protocol: TCP
    targetPort: 3000
  selector:
    app: blog-app
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: comments-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: comments
  template:
    metadata:
      labels:
        app: comments
    spec:
      containers:
      - image: surgesoro/msn-comments:latest
        name: comments
---
apiVersion: v1
kind: Service
metadata:
  name: comments-srv
  namespace: default
spec:
  ports:
  - name: comments
    port: 8081
    protocol: TCP
    targetPort: 8081
  selector:
    app: comments
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: event-bus-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: event-bus
  template:
    metadata:
      labels:
        app: event-bus
    spec:
      containers:
      - image: surgesoro/msn-event-bus:latest
        name: event-bus
---
apiVersion: v1
kind: Service
metadata:
  name: event-bus-srv
  namespace: default
spec:
  ports:
  - name: event-bus
    port: 8085
    protocol: TCP
    targetPort: 8085
  selector:
    app: event-bus
  type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
  name: ingress-srv
  namespace: default
spec:
  rules:
  - host: posts.com
    http:
      paths:
      - backend:
          service:
            name: posts-srv
            port:
              number: 8080
        path: /posts/create
        pathType: Prefix
      - backend:
          service:
            name: query-srv
            port:
              number: 8082
        path: /posts
        pathType: Prefix
      - backend:
          service:
            name: comments-srv
            port:
              number: 8081
        path: /posts/?(.*)/comments
        pathType: Prefix
      - backend:
          service:
            name: blog-app-srv
            port:
              number: 3000
        path: /?(.*)
        pathType: Prefix
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: moderation-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: moderation
  template:
    metadata:
      labels:
        app: moderation
    spec:
      containers:
      - image: surgesoro/msn-moderation:latest
        name: moderation
---
apiVersion: v1
kind: Service
metadata:
  name: moderation-srv
  namespace: default
spec:
  ports:
  - name: moderation
    port: 8083
    protocol: TCP
    targetPort: 8083
  selector:
    app: moderation
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: posts-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: posts
  template:
    metadata:
      labels:
        app: posts
    spec:
      containers:
      - image: surgesoro/msn-posts:latest
        name: posts
---
apiVersion: v1
kind: Service
metadata:
  name: posts-srv
  namespace: default
spec:
  ports:
  - name: posts
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: posts
  type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
  name: posts-nodeport-srv
  namespace: default
spec:
  ports:
  - name: posts
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: posts
  type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: query-depl
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: query
  template:
    metadata:
      labels:
        app: query
    spec:
      containers:
      - image: surgesoro/msn-query:latest
        name: query
---
apiVersion: v1
kind: Service
metadata:
  name: query-srv
  namespace: default
spec:
  ports:
  - name: query
    port: 8082
    protocol: TCP
    targetPort: 8082
  selector:
    app: query
  type: ClusterIP
]  subtask=-1 task=DevLoop
DEBU[0014] Running command: [kubectl --context docker-desktop delete --ignore-not-found=true --wait=false -f -]  subtask=-1 task=DevLoop
 - deployment.apps "blog-app-depl" deleted
 - service "blog-app-srv" deleted
 - deployment.apps "comments-depl" deleted
 - service "comments-srv" deleted
 - deployment.apps "event-bus-depl" deleted
 - service "event-bus-srv" deleted
 - ingress.networking.k8s.io "ingress-srv" deleted
 - deployment.apps "moderation-depl" deleted
 - service "moderation-srv" deleted
 - deployment.apps "posts-depl" deleted
 - service "posts-srv" deleted
 - service "posts-nodeport-srv" deleted
 - deployment.apps "query-depl" deleted
 - service "query-srv" deleted
INFO[0014] Cleanup completed in 489.465791ms             subtask=-1 task=DevLoop

DEBU[0014] exporting metrics                             subtask=-1 task=DevLoop
DEBU[0015] metrics uploading complete in 671.734375ms    subtask=-1 task=DevLoop
surge in blog -> 

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.