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",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ if [[ -z "${SSH_ORIGINAL_COMMAND:-}" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
geurl() {
|
||||
geturl() {
|
||||
echo "$PROTOCOL://$HOST/$REPO/$1/branch/$BRANCH/$2"
|
||||
}
|
||||
|
||||
@ -42,6 +42,19 @@ function update() {
|
||||
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
|
||||
read -r command args <<<"$SSH_ORIGINAL_COMMAND"
|
||||
|
||||
@ -77,9 +90,6 @@ update)
|
||||
gitops_router)
|
||||
update gitops_router.sh .local/bin 500
|
||||
;;
|
||||
clean_dangling_images)
|
||||
update .bin/clean_dangling_images.sh .local/bin 500
|
||||
;;
|
||||
home_tar)
|
||||
update home.tar.gz . 500 media
|
||||
;;
|
||||
@ -89,7 +99,7 @@ update)
|
||||
esac
|
||||
;;
|
||||
clean)
|
||||
"$HOME"/.local/bin/clean_dangling_images.sh
|
||||
clean_images
|
||||
;;
|
||||
status)
|
||||
podman images
|
||||
|
Reference in New Issue
Block a user