# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: skaffold/v2beta12
kind: Config
metadata:
  name: lms
requires:
  - path: ../../common
    configs: [common]
    activeProfiles:
    - name: custom
      activatedBy: [custom]
    - name: dev
      activatedBy: [dev]
build:
  tagPolicy:
    gitCommit: {}
  local:
    concurrency: 0
  artifacts:
  - image: lms
    requires:
      - image: common
        alias: BASE_IMG
    sync:
      infer:
        - '**/*.py'
        - '**/*.json'
portForward:
- resourceType: service
  resourceName: lms
  port: 80
  localPort: 8888
deploy:
  kustomize:
    paths:
    - ./kustomize/minikube
profiles:
- name: custom
  build:
    googleCloudBuild: {}
    artifacts:
    - image: lms
      requires:
      - image: common
        alias: BASE_IMG
  deploy:
    kustomize:
      paths:
      - ./kustomize/custom
- name: prod_non_cloudbuild
  deploy:
    kustomize:
      paths:
      - ./kustomize/prod
- name: prod
  deploy:
    kustomize:
      paths:
      - ./kustomize/prod
  build:
    googleCloudBuild: {}
    artifacts:
    - image: lms
      docker:
        cacheFrom:
          - lms
          - lms:latest
      requires:
      - image: common
        alias: BASE_IMG
- name: dev
  activation:
  - kubeContext: gke_gcp-classroom-dev_us-central1_gcp-classroom-dev-us-central1
  build:
    googleCloudBuild: {}
    artifacts:
    - image: gcr.io/gcp-classroom-dev/lms
      docker:
        cacheFrom:
          - gcr.io/gcp-classroom-dev/lms
          - gcr.io/gcp-classroom-dev/lms:latest
      requires:
        - image: gcr.io/gcp-classroom-dev/common
          alias: BASE_IMG
      sync:
        infer:
          - '**/*.py'
          - '**/*.json'
  deploy:
    kustomize:
      paths:
      - ./kustomize/dev