Compare commits
4 Commits
14a96035b6
...
v0.6
Author | SHA1 | Date | |
---|---|---|---|
eba420cc81 | |||
a9adb834e5 | |||
f422da8d9e | |||
079979292d |
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Get list of image IDs with <none> tag (dangling images)
|
|
||||||
dangling_images=$(podman images -f "dangling=true" -q)
|
|
||||||
|
|
||||||
if [ -z "$dangling_images" ]; then
|
|
||||||
echo "✅ No dangling images to remove."
|
|
||||||
else
|
|
||||||
echo "⚠️ Removing dangling images..."
|
|
||||||
echo "$dangling_images" | xargs podman rmi -f
|
|
||||||
echo "🧹 Done!"
|
|
||||||
fi
|
|
9
.bin/gitops
Executable file
9
.bin/gitops
Executable file
@ -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 -- "$@"
|
24
.lazy.lua
Normal file
24
.lazy.lua
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
return {
|
||||||
|
"folke/snacks.nvim",
|
||||||
|
opts = {
|
||||||
|
-- show hidden files in snacks.explorer
|
||||||
|
picker = {
|
||||||
|
sources = {
|
||||||
|
explorer = {
|
||||||
|
-- show hidden files like .env
|
||||||
|
hidden = true,
|
||||||
|
-- show files ignored by git like node_modules
|
||||||
|
ignored = false,
|
||||||
|
exclude = { ".git" },
|
||||||
|
},
|
||||||
|
files = {
|
||||||
|
-- show hidden files like .env
|
||||||
|
hidden = true,
|
||||||
|
-- show files ignored by git like node_modules
|
||||||
|
ignored = false,
|
||||||
|
exclude = { ".npm", ".git" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
91
.vscode/tasks.json
vendored
91
.vscode/tasks.json
vendored
@ -2,70 +2,121 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"tasks": [
|
"tasks": [
|
||||||
{
|
{
|
||||||
"label": "Build workspace image",
|
"label": "GitOps(Build): base image",
|
||||||
"type": "shell",
|
"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",
|
"group": "build",
|
||||||
"problemMatcher": [],
|
"problemMatcher": [],
|
||||||
"detail": "build podman image using buildah"
|
"detail": "build podman image using buildah"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Clean dangling images",
|
"label": "GitOps: Clean dangling images",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "${workspaceFolder}/.bin/clean_dangling_images.sh",
|
"command": ".bin/gitops clean",
|
||||||
"problemMatcher": [],
|
"problemMatcher": [],
|
||||||
"detail": "Clean podman images"
|
"detail": "Clean podman images"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Tag image",
|
"label": "Gitops(Update): build-base.sh",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "podman tag localhost/analytics-backend-workspace:latest localhost:5100/analytics-backend-workspace:latest",
|
"command": ".bin/gitops update base",
|
||||||
|
"group": "build",
|
||||||
"problemMatcher": [],
|
"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",
|
"type": "shell",
|
||||||
"command": "podman push --tls-verify=false localhost:5100/analytics-backend-workspace:latest",
|
"command": ".bin/gitops update workspace",
|
||||||
|
"group": "build",
|
||||||
"problemMatcher": [],
|
"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",
|
"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": [],
|
"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",
|
"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": [],
|
"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",
|
"label": "Create home tarball",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "${workspaceFolder}/.bin/create-home-tarball.sh",
|
"command": "${workspaceFolder}/.bin/create-home-tarball.sh",
|
||||||
|
"group": "build",
|
||||||
"problemMatcher": [],
|
"problemMatcher": [],
|
||||||
"detail": "create home.tar.gz from .config .local .ssh start.sh"
|
"detail": "create home.tar.gz from .config .local .ssh start.sh"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Start a tmux test session",
|
"label": "Test: start tmux session",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"group": "test",
|
|
||||||
"command": "${workspaceFolder}/.bin/test-tmux.sh",
|
"command": "${workspaceFolder}/.bin/test-tmux.sh",
|
||||||
|
"group": "test",
|
||||||
"problemMatcher": [],
|
"problemMatcher": [],
|
||||||
"detail": "run tmux with project room as home"
|
"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",
|
"type": "shell",
|
||||||
"command": "git clean -Xfd",
|
"command": "git clean -Xfd",
|
||||||
"problemMatcher": [],
|
"problemMatcher": [],
|
||||||
"detail": "delete all untracked files listed in .gitignore"
|
"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"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ if [[ -z "${SSH_ORIGINAL_COMMAND:-}" ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
geurl() {
|
geturl() {
|
||||||
echo "$PROTOCOL://$HOST/$REPO/$1/branch/$BRANCH/$2"
|
echo "$PROTOCOL://$HOST/$REPO/$1/branch/$BRANCH/$2"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,6 +42,19 @@ function update() {
|
|||||||
chmod "$3" "$output_path"
|
chmod "$3" "$output_path"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clean_images() {
|
||||||
|
# Get list of image IDs with <none> tag (dangling images)
|
||||||
|
dangling_images=$(podman images -f "dangling=true" -q)
|
||||||
|
|
||||||
|
if [ -z "$dangling_images" ]; then
|
||||||
|
echo "✅ No dangling images to remove."
|
||||||
|
else
|
||||||
|
echo "⚠️ Removing dangling images..."
|
||||||
|
echo "$dangling_images" | xargs podman rmi
|
||||||
|
echo "🧹 Done!"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Strip arguments and parse command
|
# Strip arguments and parse command
|
||||||
read -r command args <<<"$SSH_ORIGINAL_COMMAND"
|
read -r command args <<<"$SSH_ORIGINAL_COMMAND"
|
||||||
|
|
||||||
@ -77,9 +90,6 @@ update)
|
|||||||
gitops_router)
|
gitops_router)
|
||||||
update gitops_router.sh .local/bin 500
|
update gitops_router.sh .local/bin 500
|
||||||
;;
|
;;
|
||||||
clean_dangling_images)
|
|
||||||
update .bin/clean_dangling_images.sh .local/bin 500
|
|
||||||
;;
|
|
||||||
home_tar)
|
home_tar)
|
||||||
update home.tar.gz . 500 media
|
update home.tar.gz . 500 media
|
||||||
;;
|
;;
|
||||||
@ -89,7 +99,7 @@ update)
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
clean)
|
clean)
|
||||||
"$HOME"/.local/bin/clean_dangling_images.sh
|
clean_images
|
||||||
;;
|
;;
|
||||||
status)
|
status)
|
||||||
podman images
|
podman images
|
||||||
|
Reference in New Issue
Block a user