components/tools_service/skaffold.yaml (71 lines of code) (raw):
apiVersion: skaffold/v4beta1
kind: Config
metadata:
name: tools_service
# Requires the common image for shared data models or utils.
requires:
- configs:
- common
path: ../common
build:
artifacts:
- image: tools-service
sync:
infer:
- '**/*.py'
- '**/*.json'
docker:
cacheFrom:
- tools-service
- tools-service:latest
requires:
- image: common
alias: COMMON_IMAGE
googleCloudBuild: {}
# Portforwarding when running `skaffold dev` locally.
portForward:
- resourceType: service
resourceName: tools-service
port: 80
localPort: 9004 # Change this when adding other microservice.
profiles:
# Profile for building images locally.
- name: local_build
build:
artifacts:
- image: tools-service
requires:
- image: common
alias: COMMON_IMAGE
sync:
infer:
- '**/*.py'
- '**/*.json'
tagPolicy:
gitCommit: {}
local:
concurrency: 0
# Profile for GKE deployment, building images via CloudBuild
- &gke-profile # YAML anchor used by "default" profile.
name: gke
manifests:
# Loading kustomize base file for deployment.
kustomize:
paths:
- ./kustomize/base
# Substitute system's environment vars to properties.rendered.env
hooks:
before:
- host:
dir: ./kustomize/base
command: ["sh", "-c",
"envsubst < properties.env > properties.rendered.env"]
after:
- host:
dir: ./kustomize/base
command: ["sh", "-c", "rm *.rendered.env"]
# Simple deployment using kubectl.
deploy:
kubectl: {}
# Profile for GKE Horizontal Pod Autoscaler.
# This profile only works with `gke` profile together.
# E.g. skaffold run -p gke,hpa
- name: gke-hpa
manifests:
kustomize:
paths:
- ./kustomize/hpa
# Simple deployment using kubectl.
deploy:
kubectl: {}
# The default-deploy profile refer to gke profile above.
- <<: *gke-profile
name: default-deploy