Repository: provectus/kafka-ui
Issue: Implement a workflow to bring up a temp demo external env
Labels: status/accepted
scope/infrastructure
type/feature

Implement a mechanism to bring up a separate public feature testing environment.
Purpose: demostrating that certain feature doesn't work to someone (e.g. an outside collaborator) without creating a VPN account for them.
1) Should be triggered in a PR by the label `status/feature_testing_public`.
2) Should be accessible without VPN but basic auth should be present.

Issue comments:
Done.

Pull request review comments:

Patch that resolved the issue:
diff --git a/.github/workflows/branch-deploy.yml b/.github/workflows/branch-deploy.yml
index f3a51fc4282..b75bd5cfa50 100644
--- a/.github/workflows/branch-deploy.yml
+++ b/.github/workflows/branch-deploy.yml
@@ -1,6 +1,15 @@
 name: DeployFromBranch
 on:
   workflow_dispatch:
+    inputs:
+      public:
+          required: true
+          description: Will this environment be publicly available?
+          default: "no"
+      kafka-ui-password:
+        required: true
+        description: Password that will be used to login to branch env. If the env is not publicly accessible, this password will not be used.
+        default: ""
   pull_request:
     types: ['labeled']
 jobs:
@@ -83,17 +92,24 @@ jobs:
         run: |
           cd kafka-ui-infra/aws-infrastructure4eks/argocd/scripts
           echo "Branch:${{ needs.build.outputs.tag }}"
-          ./kafka-ui-deployment-from-branch.sh ${{ needs.build.outputs.tag }} ${{ secrets.GITHUB_TOKEN }}
+          ./kafka-ui-deployment-from-branch.sh ${{ needs.build.outputs.tag }} ${{ github.event.inputs.public }} ${{ github.event.inputs.kafka-ui-password }}
           git config --global user.email "kafka-ui-infra@provectus.com"
           git config --global user.name "kafka-ui-infra"
           git add ../kafka-ui-from-branch/
           git commit -m "added env:${{ needs.build.outputs.deploy }}" && git push || true
-      - name: make comment with deployment link
+
+      - name: make comment with private deployment link
+        if: ${{ github.event.inputs.public == 'no' }}
         uses: peter-evans/create-or-update-comment@v1.4.5
         with:
           issue-number: ${{ github.event.pull_request.number }}
           body: |
             Custom deployment will be available at http://${{ needs.build.outputs.tag }}.internal.kafka-ui.provectus.io
 
-
-
+      - name: make comment with public deployment link
+        if: ${{ github.event.inputs.public == 'yes' }}
+        uses: peter-evans/create-or-update-comment@v1.4.5
+        with:
+          issue-number: ${{ github.event.pull_request.number }}
+          body: |
+            Custom deployment will be available at http://${{ needs.build.outputs.tag }}.kafka-ui.provectus.io
diff --git a/.github/workflows/master.yaml b/.github/workflows/master.yaml
index 0a5cc8c0466..0417c5203b1 100644
--- a/.github/workflows/master.yaml
+++ b/.github/workflows/master.yaml
@@ -70,7 +70,7 @@ jobs:
           git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git --branch master
           cd kafka-ui-infra/aws-infrastructure4eks/argocd/scripts
           echo "Image digest is:${{ steps.docker_build_and_push.outputs.digest }}"
-          ./kafka-ui-update-master-digest.sh ${{ steps.docker_build_and_push.outputs.digest }} ${{ secrets.GITHUB_TOKEN }}
+          ./kafka-ui-update-master-digest.sh ${{ steps.docker_build_and_push.outputs.digest }}
           git config --global user.email "kafka-ui-infra@provectus.com"
           git config --global user.name "kafka-ui-infra"
           git add ../kafka-ui/*


Test patch: