feat: integrate terraform-ls LSP for Terraform development

- Add terraform-ls Dockerfile (Alpine-based, v0.38.4)
- Add terraform-ls service to docker-compose.yml
- Create LSP wrapper script for Crush integration
- Add terraform entry to crush.json under lsp section
- Update STATUS.md with terraform-ls working status

🧡 Generated with Crush

Assisted-by: GLM-5 via Crush <crush@charm.land>
This commit is contained in:
Charles N Wyble
2026-02-17 11:33:05 -05:00
parent 0c20861103
commit e7df499874
5 changed files with 48 additions and 1 deletions

View File

@@ -77,6 +77,7 @@ All the following ahujasid repositories exist but contain no code (empty repos w
- ✓ bash-language-server: Working (v5.6.0) - stdio-based, configured in crush.json
- ✓ docker-language-server: Working (v0.0.0) - stdio-based, configured in crush.json
- ✓ marksman: Working (2025-12-13) - stdio-based, configured in crush.json
- ✓ terraform-ls: Working (v0.38.4) - stdio-based, configured in crush.json
## Detailed Status

View File

@@ -9,6 +9,9 @@
},
"markdown": {
"command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/lsp-marksman-wrapper.sh"
},
"terraform": {
"command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/lsp-terraform-wrapper.sh"
}
},
"mcp": {

View File

@@ -147,7 +147,7 @@ services:
- ops
# ==========================================
# Development Tools (2 servers)
# Development Tools (3 servers)
# ==========================================
# Bash Language Server - LSP for bash
@@ -162,6 +162,18 @@ services:
profiles:
- dev
# Terraform Language Server - LSP for Terraform
# NOTE: This is a stdio-based LSP server, run on-demand by Crush via docker run
terraform-ls:
image: kneldevstack-aimiddleware-terraform-ls
build:
context: .
dockerfile: dockerfiles/terraform-ls/Dockerfile
container_name: kneldevstack-aimiddleware-terraform-ls
restart: "no"
profiles:
- dev
# Context7 MCP - Documentation framework
# NOTE: This is a stdio-based MCP server, run on-demand by Crush via docker run
context7-mcp:

View File

@@ -0,0 +1,27 @@
# Terraform Language Server (terraform-ls)
# Official HashiCorp LSP for Terraform
# https://github.com/hashicorp/terraform-ls
FROM alpine:3.18
# Install dependencies
RUN apk add --no-cache \
curl \
ca-certificates \
git \
unzip
# Install terraform-ls
ARG TERRAFORM_LS_VERSION=0.38.4
RUN curl -fsSL https://releases.hashicorp.com/terraform-ls/${TERRAFORM_LS_VERSION}/terraform-ls_${TERRAFORM_LS_VERSION}_linux_amd64.zip \
-o terraform-ls.zip && \
unzip terraform-ls.zip && \
mv terraform-ls /usr/local/bin/ && \
chmod +x /usr/local/bin/terraform-ls && \
rm terraform-ls.zip
# Set up working directory
WORKDIR /workspace
# Run terraform-ls in stdio mode
ENTRYPOINT ["terraform-ls", "serve"]

4
lsp-terraform-wrapper.sh Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/bash
docker run -i --rm \
-v "$(pwd):/workspace" \
kneldevstack-aimiddleware-terraform-ls