name: "Setup Personal Dev Env Namespace"
description: "Deploy to target namespace and return the namespace name."
author: YochaLyc

inputs:
  namespace-arg:
    required: false
    default: "dev"
    description: "The argument to compose the target namespace name. **Depends on pulumi-cli and aws-cli installed in advance.**"

outputs:
  namespace:
    description: "The namespace name deployed for personal dev."
    value: ${{ steps.string.outputs.lowercase }}

runs:
  using: "composite"
  steps:
    - uses: ASzc/change-string-case-action@v2
      id: string
      with:
        string: personal-${{ inputs.namespace-arg }}

    - name: Render YAML
      uses: nowactions/envsubst@v1
      with:
        input: cicd-core/components/env-dev/dev-personal-ns-setup/personal-ns-template.yaml
        output: cicd-core/components/env-dev/dev-personal-ns-setup/personal-ns.yaml
      env:
        TARGET_NAMESPACE: ${{ steps.string.outputs.lowercase }}

    - name: Deploy Personal Dev Env Namespace
      run: |
        kubectl apply -f cicd-core/components/env-dev/dev-personal-ns-setup/personal-ns.yaml
      # continue-on-error: true
      shell: bash
