diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..3e72b6e9 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,35 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: trailing-whitespace + - id: check-added-large-files + - id: end-of-file-fixer +- repo: https://github.com/hhatto/autopep8 + rev: 'v2.3.2' + hooks: + - id: autopep8 +- repo: https://github.com/gitleaks/gitleaks.git + rev: 'v8.24.0' + hooks: + - id: gitleaks +- repo: https://github.com/koalaman/shellcheck-precommit + rev: v0.10.0 + hooks: + - id: shellcheck + exclude: .*jenkins-slave$ +- repo: https://github.com/hadolint/hadolint + rev: v2.13.1-beta + hooks: + - id: hadolint-docker + args: + - --ignore=DL3015 # Ignore not using --no-install-recommends with apt + - --ignore=DL3008 # Ignore not pinning all software package versions (apt-get) + - --ignore=DL3018 # Ignore not pinning all software package versions (apk) + - --ignore=SC1091 # Ignore missing shellcheck mock files +- repo: https://github.com/gruntwork-io/pre-commit + rev: 'v0.1.26' + hooks: + - id: terraform-validate diff --git a/init.lua b/init.lua index 276cf439..d8d44a1c 100644 --- a/init.lua +++ b/init.lua @@ -107,6 +107,15 @@ map('n', 'tn', 'FloatermNew', { desc = '[T]erminal [New]' }) map('n', 'tN', 'FloatermNext', { desc = 'Cycle Next Terminal' }) vim.g.floaterm_title = 'Terminal ($1/$2)' +-- Kubernetes keymaps +map('n', 'kkK', 'OpenK9s', { desc = 'Open [K]9s' }) +map('n', 'kkk', 'OpenK9sSplit', { desc = 'Open [k]9s in Split Pane' }) +map('n', 'klv', 'ViewPodLogs', { desc = '[V]iew Pod Logs' }) +map('n', 'klf', 'JsonFormatLogs', { desc = 'JSON Log [F]ormat' }) +map('n', 'kkt', 'ToggleYamlHelm', { desc = '[T]oggle YAML/Helm' }) +map('n', 'kht', 'HelmTemplateFromBuffer', { desc = '[H]elm [T]emplate' }) +map('n', 'khu', 'HelmDependencyUpdateFromBuffer', { desc = '[H]elm Dependency [U]pdate' }) + -- Diagnostic keymaps vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) @@ -322,6 +331,10 @@ require('lazy').setup({ -- Document existing key chains spec = { + { 'k', group = '[K]ubernetes' }, + { 'kk', group = '[K]ubectl' }, + { 'kl', group = '[L]ogs' }, + { 'kh', group = '[H]elm' }, { 'c', group = '[C]ode', mode = { 'n', 'x' } }, { 'd', group = '[D]ocument' }, { 'r', group = '[R]ename' }, @@ -330,6 +343,7 @@ require('lazy').setup({ { 'w', group = '[W]orkspace' }, { 't', group = '[T]oggle' }, { 'b', group = '[B]uffer' }, + { 'l', group = '[L]azy Git' }, { 'h', group = 'Git [H]unk', mode = { 'n', 'v' } }, }, }, diff --git a/lua/custom/plugins/kube-utils.lua b/lua/custom/plugins/kube-utils.lua new file mode 100644 index 00000000..fd5a5d44 --- /dev/null +++ b/lua/custom/plugins/kube-utils.lua @@ -0,0 +1,11 @@ +return { + { + 'h4ckm1n-dev/kube-utils-nvim', + dependencies = { 'nvim-telescope/telescope.nvim' }, + lazy = true, + event = 'VeryLazy', + config = function() + require('kube-utils-nvim').setup() + end, + }, +}