diff --git a/.bin/gitops b/.bin/gitops new file mode 100755 index 0000000..998fbac --- /dev/null +++ b/.bin/gitops @@ -0,0 +1,9 @@ +#!/bin/bash + +ssh -F /dev/null \ + -o HostName=10.88.0.1 \ + -o Port=22 \ + -o User=infilytics \ + -o IdentityFile=~/.ssh/id_ed25519 \ + -o ProxyCommand=none \ + gitops -- "$@" diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8bd163e..a3d5b0e 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -2,70 +2,121 @@ "version": "2.0.0", "tasks": [ { - "label": "Build workspace image", + "label": "GitOps(Build): base image", "type": "shell", - "command": "${workspaceFolder}/build-workspace.sh", + "command": ".bin/gitops build base", + "group": "build", + "problemMatcher": [], + "detail": "build base image using buildah" + }, + { + "label": "GitOps(Build): workspace image", + "type": "shell", + "command": ".bin/gitops build workspace", "group": "build", "problemMatcher": [], "detail": "build podman image using buildah" }, { - "label": "Clean dangling images", + "label": "GitOps: Clean dangling images", "type": "shell", - "command": "${workspaceFolder}/.bin/clean_dangling_images.sh", + "command": ".bin/gitops clean", "problemMatcher": [], "detail": "Clean podman images" }, { - "label": "Tag image", + "label": "Gitops(Update): build-base.sh", "type": "shell", - "command": "podman tag localhost/analytics-backend-workspace:latest localhost:5100/analytics-backend-workspace:latest", + "command": ".bin/gitops update base", + "group": "build", "problemMatcher": [], - "detail": "Tag podman image to localhost 5100" + "detail": "Copy build-base.sh to /home/infilytics/.local/bin/" }, { - "label": "Push image", + "label": "GitOps(Update): build-workspace.sh", "type": "shell", - "command": "podman push --tls-verify=false localhost:5100/analytics-backend-workspace:latest", + "command": ".bin/gitops update workspace", + "group": "build", "problemMatcher": [], - "detail": "Push podman image to localhost 5100" + "detail": "Copy build-workspace.sh to /home/infilytics/.local/bin/" }, { - "label": "Copy ssh_router.sh", + "label": "GitOps(Update): ssh_router.sh", "type": "shell", - "command": "sudo cp ssh_router.sh /home/infilytics/ && sudo chown -R infilytics:infilytics /home/infilytics/ssh_router.sh", + "command": ".bin/gitops update ssh_router", + "group": "build", "problemMatcher": [], - "detail": "Copy ssh_router.sh to /home/infilytics" + "detail": "Copy ssh_router.sh to /home/infilytics/.local/bin/" }, { - "label": "Copy access.yml", + "label": "GitOps(Update): access.yml", "type": "shell", - "command": "sudo cp access.yml /home/infilytics/ && sudo chown -R infilytics:infilytics /home/infilytics/access.yml", + "command": ".bin/gitops update access", + "group": "build", "problemMatcher": [], - "detail": "Copy access.yml to /home/infilytics" + "detail": "Copy access.yml to /home/infilytics/" + }, + { + "label": "GitOps(Update): gitops_router.sh", + "type": "shell", + "command": ".bin/gitops update gitops_router", + "group": "build", + "problemMatcher": [], + "detail": "Copy gitops_router.sh to /home/infilytics/.local/bin" + }, + { + "label": "GitOps(Update): home.tar.gz", + "type": "shell", + "command": ".bin/gitops update home_tar", + "group": "build", + "problemMatcher": [], + "detail": "Copy home.tar.gz to /home/infilytics/" }, { "label": "Create home tarball", "type": "shell", "command": "${workspaceFolder}/.bin/create-home-tarball.sh", + "group": "build", "problemMatcher": [], "detail": "create home.tar.gz from .config .local .ssh start.sh" }, { - "label": "Start a tmux test session", + "label": "Test: start tmux session", "type": "shell", - "group": "test", "command": "${workspaceFolder}/.bin/test-tmux.sh", + "group": "test", "problemMatcher": [], "detail": "run tmux with project room as home" }, { - "label": "Delete .gitignore files", + "label": "GitOps: Show image status", + "type": "shell", + "command": ".bin/gitops status", + "problemMatcher": [], + "detail": "run podman images on remote" + }, + { + "label": "GitOps: Remove workspace container", + "type": "shell", + "command": ".bin/gitops remove ${input:container} -f", + "problemMatcher": [], + "detail": "run podman rm $args on remote" + }, + { + "label": "Cleanup worktree", "type": "shell", "command": "git clean -Xfd", "problemMatcher": [], "detail": "delete all untracked files listed in .gitignore" } ], - "inputs": [] + "inputs": [ + { + "id": "container", + "type": "pickString", + "description": "Pick a container", + "options": ["pallav", "palak", "param", "darshan"], + "default": "pallav" + } + ] }