kind: pipeline
type: docker
name: build
steps:
  - name: production-offline
    image: plugins/docker
    settings:
      registry: registry.eigen.co.id
      repo: registry.eigen.co.id/eigen/${DRONE_REPO_NAME}-production-offline
      tags: ${DRONE_TAG}
      build_args:
        - env_target=env.production-offline
        - release_version=${DRONE_TAG}
  - name: production-online
    image: plugins/docker
    settings:
      registry: registry.eigen.co.id
      repo: registry.eigen.co.id/eigen/${DRONE_REPO_NAME}-production-online
      tags: ${DRONE_TAG}
      build_args:
        - env_target=env.production-online
        - release_version=${DRONE_TAG}
  - name: kustomize-production
    image: registry.k8s.io/kustomize/kustomize:v5.0.0
    environment:
      DEVOPS_SSH_PRIVATE:
        from_secret: DEVOPS_SSH_PRIVATE
      DEVOPS_SSH_PUBLIC:
        from_secret: DEVOPS_SSH_PUBLIC
    commands:
      - mkdir -p ~/.ssh &&
      - echo $DEVOPS_SSH_PRIVATE | base64 -d > ~/.ssh/id_rsa &&
      - echo $DEVOPS_SSH_PUBLIC | base64 -d > ~/.ssh/id_rsa.pub &&
      - ssh-keyscan -H -p 2222 git.eigen.co.id >> ~/.ssh/known_hosts &&
      - chmod 700 ~/.ssh/ &&
      - chmod 600 ~/.ssh/id_rsa &&
      - git clone ssh://git@git.eigen.co.id:2222/eigen/k8s-kustomize-external.git &&
      - cd k8s-kustomize-external/weplay-pos-production
      - kustomize edit set image registry.eigen.co.id/eigen/$DRONE_REPO_NAME-production-online=registry.eigen.co.id/eigen/$DRONE_REPO_NAME-production-online:$DRONE_TAG &&
      - kustomize edit set image registry.eigen.co.id/eigen/$DRONE_REPO_NAME-production-offline=registry.eigen.co.id/eigen/$DRONE_REPO_NAME-production-offline:$DRONE_TAG &&
      - git add . &&
      - |-
                git commit -m "feat: update $DRONE_REPO_NAME production to $DRONE_TAG" &&                                
      - git push origin master
  - name: send-message
    image: plugins/webhook
    settings:
      urls: https://mattermost.eigen.co.id/api/v4/posts
      content_type: application/json
      headers:
        - Authorization=Bearer 5zubexudb38uuradfa36qy98ca
      template: |
        {
          "channel_id": "s1ekqde1c3du5p35g6budnuotc",
          "message": "Build {{repo.name}} sudah selesai"
        }   
trigger:
  ref:
    - refs/tags/*-production.*