From 910ce9f960019e84381fa79ac99565c1e851d330 Mon Sep 17 00:00:00 2001 From: USER_NAME Date: Mon, 13 Jul 2026 00:50:00 +0200 Subject: [PATCH] agentification for repo --- .github/workflows/validate.yml | 14 + .gitignore | 4 +- .shellcheckrc | 10 + AGENTS.md | 137 + README.md | 70 +- core/shells/bash/.aliases-core | 2 + core/shells/bash/.bashrc | 9 +- core/shells/bash/AGENTS.md | 67 + core/shells/bash/aliases/.aliases | 32 +- core/shells/bash/functions/crlf_to_lf.bash | 1 - core/shells/bash/functions/hadolint.bash | 1 - core/shells/bash/functions/myshell.bash | 483 ++- core/shells/bash/functions/shellcheck.bash | 1 - core/shells/bash/functions/shfmt.bash | 1 - core/shells/bash/functions/yamlfmt.bash | 1 - core/shells/bash/services/.hyprland-wallpaper | 50 - core/shells/bash/services/.nvidia-fan | 43 - modules/AGENTS.md | 68 + modules/bw/bws-install.bash | 12 + modules/docker/alpine/Docker/Dockerfile | 18 + modules/docker/apache/Dockerfile | 32 + modules/docker/apache/apache.bash | 16 +- modules/docker/apache/docker-compose.yaml | 12 + .../cockroach-insecure/Docker/Dockerfile | 14 + modules/docker/httpd/Dockerfile | 29 + modules/docker/httpd/httpd.ps1 | 20 - .../docker/jira-software/Docker/Dockerfile | 19 + modules/docker/k6/docker-compose.yaml | 10 + modules/docker/k6/k6.bash | 20 + modules/docker/k6/k6.ps1 | 19 - .../liferay-7.2.1-ga2/Docker/Dockerfile | 16 + .../liferay-7.3.5-ga6/Docker/Dockerfile | 27 + modules/docker/maven/Docker/Dockerfile | 11 + modules/docker/mongodb/Docker/Dockerfile | 40 + modules/docker/mysql5/Docker/Dockerfile | 18 + modules/docker/mysql8/Docker/Dockerfile | 18 + modules/docker/nexus/docker-compose.yaml | 1 - modules/docker/nginx/Docker/Dockerfile | 13 + modules/docker/nodejs/Docker/Dockerfile | 24 + modules/docker/rainloop/Docker/Dockerfile | 14 + modules/docker/syslog/Docker/Dockerfile | 11 + modules/docker/tomcat9/Docker/Dockerfile | 13 + modules/docker/vtiger/Dockerfile | 48 + modules/docker/vtiger/vtiger.ps1 | 20 - .../gitlab/gitlab-gitlab-runner-secret.yaml | 14 - .../env/k3s/gitlab/gitlab-rails-secret.yaml | 13 - modules/k8s/env/k3s/gitlab/intra-cert.yaml | 9 - .../env/k3s/gitlab/storage-s3-task-cfg.yaml | 8 - modules/k8s/env/k3s/gitlab/storage-s3.yaml | 8 - modules/k8s/env/k3s/gitlab/values.yml | 734 ---- modules/k8s/env/k3s/gogs/01-gogs-service.yaml | 15 - modules/k8s/env/k3s/gogs/02-frontal.yaml | 66 - .../k8s/env/k3s/gogs/03-gogs-service-db.yaml | 15 - modules/k8s/env/k3s/gogs/04-gogs-db.yaml | 72 - modules/k8s/env/k3s/gogs/05-ingress.yaml | 22 - modules/k8s/env/k3s/gogs/readme.md | 7 - modules/k8s/env/k3s/httpd/01-pvc.yaml | 17 - modules/k8s/env/k3s/httpd/02-service.yaml | 20 - modules/k8s/env/k3s/httpd/03-ingress.yaml | 22 - modules/k8s/env/k3s/httpd/04-deployment.yaml | 46 - modules/k8s/env/k3s/jenkins/02-service.yaml | 21 - modules/k8s/env/k3s/jenkins/03-ingress.yaml | 22 - .../env/k3s/jenkins/04-service-account.yaml | 40 - .../k8s/env/k3s/jenkins/05-deployment.yaml | 71 - modules/k8s/env/k3s/jenkins/add-envar-to-node | 17 - modules/k8s/env/k3s/jenkins/install/01-ns.yml | 4 - .../k3s/jenkins/install/101-pvc-frontal.yml | 49 - .../k8s/env/k3s/jenkins/pipeline-node-action | 13 - modules/k8s/env/k3s/jenkins/pipline-get-env | 74 - modules/k8s/env/k3s/jenkins/readme.md | 24 - .../env/k3s/longhorn/environment_check.bash | 334 -- modules/k8s/env/k3s/longhorn/longhorn.yaml | 3801 ----------------- modules/k8s/env/k3s/longhorn/readme.md | 35 - modules/k8s/env/k3s/minio/01-pvc.yaml | 15 - modules/k8s/env/k3s/minio/02-service-api.yaml | 18 - .../k8s/env/k3s/minio/02-service-console.yaml | 18 - .../k8s/env/k3s/minio/03-ingress-minio.yaml | 22 - modules/k8s/env/k3s/minio/03-ingress-s3.yaml | 22 - modules/k8s/env/k3s/minio/04-deployment.yaml | 59 - modules/k8s/env/k3s/nextcloud/01-frontal.yml | 57 - .../env/k3s/nextcloud/02-servei-frontal.yml | 21 - modules/k8s/env/k3s/nextcloud/03-ingress.yml | 31 - modules/k8s/env/k3s/prestashop/01-frontal.yml | 84 - .../env/k3s/prestashop/02-servei-frontal.yml | 21 - .../env/k3s/prestashop/03-base-de-dades.yml | 66 - .../k8s/env/k3s/prestashop/04-servei-bd.yml | 17 - modules/k8s/env/k3s/prestashop/05-ingress.yml | 31 - .../env/k3s/rundeck/crontab-git-secret.yaml | 8 - modules/k8s/env/k3s/rundeck/crontab-git.yaml | 56 - modules/k8s/env/k3s/upgrade/plans.yaml | 44 - modules/k8s/env/k3s/upgrade/readme.md | 14 - modules/k8s/env/k3s/vtiger/01-frontal.yml | 68 - .../k8s/env/k3s/vtiger/02-servei-frontal.yml | 21 - .../k8s/env/k3s/vtiger/03-base-de-dades.yml | 66 - modules/k8s/env/k3s/vtiger/04-servei-bd.yml | 17 - modules/k8s/env/k3s/vtiger/05-ingress.yml | 31 - modules/k8s/env/k3s/wordpress/01-frontal.yml | 59 - .../env/k3s/wordpress/02-servei-frontal.yml | 24 - .../env/k3s/wordpress/03-base-de-dades.yml | 59 - .../k8s/env/k3s/wordpress/04-servei-bd.yml | 17 - modules/k8s/env/k3s/wordpress/05-ingress.yml | 28 - modules/k8s/env/k3s/wp-cli/00-frontal-pvc.yml | 17 - modules/k8s/env/k3s/wp-cli/01-frontal.yml | 83 - .../k8s/env/k3s/wp-cli/02-servei-frontal.yml | 21 - .../k8s/env/k3s/wp-cli/03-base-de-dades.yml | 59 - modules/k8s/env/k3s/wp-cli/04-servei-bd.yml | 17 - modules/k8s/env/k3s/wp-cli/05-ingress.yml | 27 - .../env/k3s/wp-cli/06-frontal-deployment.yml | 77 - .../menus/_debug/db2u/cronjob-desarollo.yaml | 53 - .../_debug/db2u/cronjob-integracion.yaml | 53 - modules/k8s/menus/_debug/debug-configmap.yaml | 116 - modules/k8s/menus/_debug/debug-pod.yaml | 43 - .../menus/_debug/debug-serviceaccount.yaml | 54 - .../_debug/report-health-check/README.md | 40 - .../aks-roles/aks-roles.yaml | 30 - .../_debug/report-health-check/configmap.yaml | 268 -- .../_debug/report-health-check/cronjob.yaml | 51 - .../oc-roles/oc-roles.yaml | 33 - .../_debug/report-health-check/oneliner.sh | 532 --- .../menus/_debug/report-health-check/pod.yaml | 42 - .../_debug/upgrade-oc-roles/oc-roles.yml | 30 - modules/k8s/menus/api/api.bash | 10 - modules/k8s/menus/api/functions.bash | 21 - modules/k8s/menus/checks_k8s/checks_k8s.bash | 10 - modules/k8s/menus/checks_k8s/functions.bash | 23 - modules/k8s/menus/pod_actions/copy_from.bash | 10 - modules/k8s/menus/pod_actions/describe.bash | 10 - modules/k8s/menus/pod_actions/exec.bash | 10 - modules/k8s/menus/pod_actions/functions.bash | 43 - modules/k8s/menus/pod_actions/labels.bash | 6 - modules/k8s/menus/pod_actions/logs.bash | 10 - modules/k8s/menus/pod_state/functions.bash | 53 - modules/k8s/menus/pod_state/ymls.bash | 32 - modules/k8s/menus/rbac-oldapi/crea_claus.bash | 89 - .../k8s/menus/rbac-oldapi/elimina_claus.bash | 17 - modules/k8s/menus/rbac-oldapi/users.txt | 1 - modules/k8s/menus/rbac/crea_claus.bash | 89 - modules/k8s/menus/rbac/elimina_claus.bash | 17 - modules/k8s/menus/secrets/secrets.bash | 6 - modules/k8s/menus/storage/functions_pv.bash | 34 - modules/k8s/menus/storage/functions_pvc.bash | 32 - modules/k8s/menus/storage/pv_elimina.bash | 10 - modules/k8s/menus/storage/pv_released.bash | 10 - modules/k8s/menus/storage/pvc.bash | 10 - modules/k8s/menus/storage/pvc_elimina.bash | 10 - modules/k8s/menus/utils/delete-namespace.sh | 70 - modules/minikube/apps/minio/minio.yaml | 40 - modules/minikube/apps/minio/pvc.yaml | 11 - modules/minikube/menu.bash | 15 - modules/minikube/profiles/dev.bash | 11 - modules/ssh/crea/crea_users.bash | 19 - modules/ssh/crea/users_ssh.txt | 0 modules/ssh/ssh_create/keys.bash | 8 - modules/ssh/ssh_create/readme.md | 9 - tests/validate.bash | 85 + 155 files changed, 1252 insertions(+), 9301 deletions(-) create mode 100644 .github/workflows/validate.yml create mode 100644 .shellcheckrc create mode 100644 AGENTS.md create mode 100644 core/shells/bash/.aliases-core create mode 100644 core/shells/bash/AGENTS.md delete mode 100644 core/shells/bash/services/.hyprland-wallpaper delete mode 100644 core/shells/bash/services/.nvidia-fan create mode 100644 modules/AGENTS.md create mode 100755 modules/bw/bws-install.bash create mode 100644 modules/docker/alpine/Docker/Dockerfile create mode 100644 modules/docker/apache/Dockerfile create mode 100644 modules/docker/apache/docker-compose.yaml create mode 100644 modules/docker/cockroach-insecure/Docker/Dockerfile create mode 100644 modules/docker/httpd/Dockerfile delete mode 100644 modules/docker/httpd/httpd.ps1 create mode 100644 modules/docker/jira-software/Docker/Dockerfile create mode 100644 modules/docker/k6/docker-compose.yaml create mode 100644 modules/docker/k6/k6.bash delete mode 100644 modules/docker/k6/k6.ps1 create mode 100644 modules/docker/liferay-7.2.1-ga2/Docker/Dockerfile create mode 100644 modules/docker/liferay-7.3.5-ga6/Docker/Dockerfile create mode 100644 modules/docker/maven/Docker/Dockerfile create mode 100644 modules/docker/mongodb/Docker/Dockerfile create mode 100644 modules/docker/mysql5/Docker/Dockerfile create mode 100644 modules/docker/mysql8/Docker/Dockerfile create mode 100644 modules/docker/nginx/Docker/Dockerfile create mode 100644 modules/docker/nodejs/Docker/Dockerfile create mode 100644 modules/docker/rainloop/Docker/Dockerfile create mode 100644 modules/docker/syslog/Docker/Dockerfile create mode 100644 modules/docker/tomcat9/Docker/Dockerfile create mode 100644 modules/docker/vtiger/Dockerfile delete mode 100644 modules/docker/vtiger/vtiger.ps1 delete mode 100644 modules/k8s/env/k3s/gitlab/gitlab-gitlab-runner-secret.yaml delete mode 100644 modules/k8s/env/k3s/gitlab/gitlab-rails-secret.yaml delete mode 100644 modules/k8s/env/k3s/gitlab/intra-cert.yaml delete mode 100644 modules/k8s/env/k3s/gitlab/storage-s3-task-cfg.yaml delete mode 100644 modules/k8s/env/k3s/gitlab/storage-s3.yaml delete mode 100644 modules/k8s/env/k3s/gitlab/values.yml delete mode 100644 modules/k8s/env/k3s/gogs/01-gogs-service.yaml delete mode 100644 modules/k8s/env/k3s/gogs/02-frontal.yaml delete mode 100644 modules/k8s/env/k3s/gogs/03-gogs-service-db.yaml delete mode 100644 modules/k8s/env/k3s/gogs/04-gogs-db.yaml delete mode 100644 modules/k8s/env/k3s/gogs/05-ingress.yaml delete mode 100644 modules/k8s/env/k3s/gogs/readme.md delete mode 100644 modules/k8s/env/k3s/httpd/01-pvc.yaml delete mode 100644 modules/k8s/env/k3s/httpd/02-service.yaml delete mode 100644 modules/k8s/env/k3s/httpd/03-ingress.yaml delete mode 100644 modules/k8s/env/k3s/httpd/04-deployment.yaml delete mode 100644 modules/k8s/env/k3s/jenkins/02-service.yaml delete mode 100644 modules/k8s/env/k3s/jenkins/03-ingress.yaml delete mode 100644 modules/k8s/env/k3s/jenkins/04-service-account.yaml delete mode 100644 modules/k8s/env/k3s/jenkins/05-deployment.yaml delete mode 100644 modules/k8s/env/k3s/jenkins/add-envar-to-node delete mode 100644 modules/k8s/env/k3s/jenkins/install/01-ns.yml delete mode 100644 modules/k8s/env/k3s/jenkins/install/101-pvc-frontal.yml delete mode 100644 modules/k8s/env/k3s/jenkins/pipeline-node-action delete mode 100644 modules/k8s/env/k3s/jenkins/pipline-get-env delete mode 100644 modules/k8s/env/k3s/jenkins/readme.md delete mode 100644 modules/k8s/env/k3s/longhorn/environment_check.bash delete mode 100644 modules/k8s/env/k3s/longhorn/longhorn.yaml delete mode 100644 modules/k8s/env/k3s/longhorn/readme.md delete mode 100644 modules/k8s/env/k3s/minio/01-pvc.yaml delete mode 100644 modules/k8s/env/k3s/minio/02-service-api.yaml delete mode 100644 modules/k8s/env/k3s/minio/02-service-console.yaml delete mode 100644 modules/k8s/env/k3s/minio/03-ingress-minio.yaml delete mode 100644 modules/k8s/env/k3s/minio/03-ingress-s3.yaml delete mode 100644 modules/k8s/env/k3s/minio/04-deployment.yaml delete mode 100644 modules/k8s/env/k3s/nextcloud/01-frontal.yml delete mode 100644 modules/k8s/env/k3s/nextcloud/02-servei-frontal.yml delete mode 100644 modules/k8s/env/k3s/nextcloud/03-ingress.yml delete mode 100644 modules/k8s/env/k3s/prestashop/01-frontal.yml delete mode 100644 modules/k8s/env/k3s/prestashop/02-servei-frontal.yml delete mode 100644 modules/k8s/env/k3s/prestashop/03-base-de-dades.yml delete mode 100644 modules/k8s/env/k3s/prestashop/04-servei-bd.yml delete mode 100644 modules/k8s/env/k3s/prestashop/05-ingress.yml delete mode 100644 modules/k8s/env/k3s/rundeck/crontab-git-secret.yaml delete mode 100644 modules/k8s/env/k3s/rundeck/crontab-git.yaml delete mode 100644 modules/k8s/env/k3s/upgrade/plans.yaml delete mode 100644 modules/k8s/env/k3s/upgrade/readme.md delete mode 100644 modules/k8s/env/k3s/vtiger/01-frontal.yml delete mode 100644 modules/k8s/env/k3s/vtiger/02-servei-frontal.yml delete mode 100644 modules/k8s/env/k3s/vtiger/03-base-de-dades.yml delete mode 100644 modules/k8s/env/k3s/vtiger/04-servei-bd.yml delete mode 100644 modules/k8s/env/k3s/vtiger/05-ingress.yml delete mode 100644 modules/k8s/env/k3s/wordpress/01-frontal.yml delete mode 100644 modules/k8s/env/k3s/wordpress/02-servei-frontal.yml delete mode 100644 modules/k8s/env/k3s/wordpress/03-base-de-dades.yml delete mode 100644 modules/k8s/env/k3s/wordpress/04-servei-bd.yml delete mode 100644 modules/k8s/env/k3s/wordpress/05-ingress.yml delete mode 100644 modules/k8s/env/k3s/wp-cli/00-frontal-pvc.yml delete mode 100644 modules/k8s/env/k3s/wp-cli/01-frontal.yml delete mode 100644 modules/k8s/env/k3s/wp-cli/02-servei-frontal.yml delete mode 100644 modules/k8s/env/k3s/wp-cli/03-base-de-dades.yml delete mode 100644 modules/k8s/env/k3s/wp-cli/04-servei-bd.yml delete mode 100644 modules/k8s/env/k3s/wp-cli/05-ingress.yml delete mode 100644 modules/k8s/env/k3s/wp-cli/06-frontal-deployment.yml delete mode 100644 modules/k8s/menus/_debug/db2u/cronjob-desarollo.yaml delete mode 100644 modules/k8s/menus/_debug/db2u/cronjob-integracion.yaml delete mode 100644 modules/k8s/menus/_debug/debug-configmap.yaml delete mode 100644 modules/k8s/menus/_debug/debug-pod.yaml delete mode 100644 modules/k8s/menus/_debug/debug-serviceaccount.yaml delete mode 100644 modules/k8s/menus/_debug/report-health-check/README.md delete mode 100644 modules/k8s/menus/_debug/report-health-check/aks-roles/aks-roles.yaml delete mode 100644 modules/k8s/menus/_debug/report-health-check/configmap.yaml delete mode 100644 modules/k8s/menus/_debug/report-health-check/cronjob.yaml delete mode 100644 modules/k8s/menus/_debug/report-health-check/oc-roles/oc-roles.yaml delete mode 100644 modules/k8s/menus/_debug/report-health-check/oneliner.sh delete mode 100644 modules/k8s/menus/_debug/report-health-check/pod.yaml delete mode 100644 modules/k8s/menus/_debug/upgrade-oc-roles/oc-roles.yml delete mode 100644 modules/k8s/menus/api/api.bash delete mode 100644 modules/k8s/menus/api/functions.bash delete mode 100644 modules/k8s/menus/checks_k8s/checks_k8s.bash delete mode 100644 modules/k8s/menus/checks_k8s/functions.bash delete mode 100644 modules/k8s/menus/pod_actions/copy_from.bash delete mode 100644 modules/k8s/menus/pod_actions/describe.bash delete mode 100644 modules/k8s/menus/pod_actions/exec.bash delete mode 100644 modules/k8s/menus/pod_actions/functions.bash delete mode 100644 modules/k8s/menus/pod_actions/labels.bash delete mode 100644 modules/k8s/menus/pod_actions/logs.bash delete mode 100644 modules/k8s/menus/pod_state/functions.bash delete mode 100644 modules/k8s/menus/pod_state/ymls.bash delete mode 100644 modules/k8s/menus/rbac-oldapi/crea_claus.bash delete mode 100644 modules/k8s/menus/rbac-oldapi/elimina_claus.bash delete mode 100644 modules/k8s/menus/rbac-oldapi/users.txt delete mode 100644 modules/k8s/menus/rbac/crea_claus.bash delete mode 100644 modules/k8s/menus/rbac/elimina_claus.bash delete mode 100644 modules/k8s/menus/secrets/secrets.bash delete mode 100644 modules/k8s/menus/storage/functions_pv.bash delete mode 100644 modules/k8s/menus/storage/functions_pvc.bash delete mode 100644 modules/k8s/menus/storage/pv_elimina.bash delete mode 100644 modules/k8s/menus/storage/pv_released.bash delete mode 100644 modules/k8s/menus/storage/pvc.bash delete mode 100644 modules/k8s/menus/storage/pvc_elimina.bash delete mode 100755 modules/k8s/menus/utils/delete-namespace.sh delete mode 100644 modules/minikube/apps/minio/minio.yaml delete mode 100644 modules/minikube/apps/minio/pvc.yaml delete mode 100644 modules/minikube/menu.bash delete mode 100644 modules/minikube/profiles/dev.bash delete mode 100644 modules/ssh/crea/crea_users.bash delete mode 100644 modules/ssh/crea/users_ssh.txt delete mode 100644 modules/ssh/ssh_create/keys.bash delete mode 100644 modules/ssh/ssh_create/readme.md create mode 100755 tests/validate.bash diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..f9601b4 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,14 @@ +name: Validate framework + +on: + push: + branches: [master] + pull_request: + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Run validation gate + run: bash tests/validate.bash diff --git a/.gitignore b/.gitignore index d27b3fa..909800c 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,6 @@ modules/docker/apache/images/*.png # Ignore everything in aliases/ core/shells/bash/aliases/* ## But not this file -!core/shells/bash/aliases/.aliases \ No newline at end of file +!core/shells/bash/aliases/.aliases +# myshell machine-local state (menu enable/disable bookkeeping) +.module_state/ diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 0000000..dfae473 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1,10 @@ +# shellcheck configuration - directive syntax only (https://www.shellcheck.net/wiki/Directive) +# Note: shellcheck cannot exclude files from an rc file; to skip a file, +# add "# shellcheck disable=all" below its shebang or omit it from the CLI invocation. + +# Extension-less profile/dot-files (.appearance, .aliases, ...) have no shebang; +# treat everything as bash. +shell=bash + +# Allow following source statements to files outside the checked file's directory +external-sources=true diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..6ec5f41 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,137 @@ +# myshell — agent guide (repo root) + +myshell is a personal bash framework: a `.bashrc` loader that sources functions, aliases +and profiles from this repo, plus self-contained "modules" (mostly docker compose stacks) +launched through aliases. Everything is bash; there is no build step. + +**Before editing under `core/shells/bash/`, read `core/shells/bash/AGENTS.md`. +Before editing under `modules/`, read `modules/AGENTS.md`.** + +## How the framework loads (the one chain that explains everything) + +``` +~/.bash_profile (machine file, NOT in repo) + └─ exports project_path=$HOME/Documents/myshell + └─ sources core/shells/bash/.bashrc, which: + 1. runs core/shells/bash/jobs/public_ip.bash in background + 2. sources core/shells/bash/functions/*.bash (explicit if-blocks, one per file) + 3. sources EVERY file in core/shells/bash/aliases/ (glob loop) + 4. sources core/shells/bash/profiles/.* (explicit if-blocks, one per file) +``` + +Module scripts are executed as `bash