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:
@@ -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
|
- ✓ 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
|
- ✓ docker-language-server: Working (v0.0.0) - stdio-based, configured in crush.json
|
||||||
- ✓ marksman: Working (2025-12-13) - 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
|
## Detailed Status
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,9 @@
|
|||||||
},
|
},
|
||||||
"markdown": {
|
"markdown": {
|
||||||
"command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/lsp-marksman-wrapper.sh"
|
"command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/lsp-marksman-wrapper.sh"
|
||||||
|
},
|
||||||
|
"terraform": {
|
||||||
|
"command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/lsp-terraform-wrapper.sh"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mcp": {
|
"mcp": {
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ services:
|
|||||||
- ops
|
- ops
|
||||||
|
|
||||||
# ==========================================
|
# ==========================================
|
||||||
# Development Tools (2 servers)
|
# Development Tools (3 servers)
|
||||||
# ==========================================
|
# ==========================================
|
||||||
|
|
||||||
# Bash Language Server - LSP for bash
|
# Bash Language Server - LSP for bash
|
||||||
@@ -162,6 +162,18 @@ services:
|
|||||||
profiles:
|
profiles:
|
||||||
- dev
|
- 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
|
# Context7 MCP - Documentation framework
|
||||||
# NOTE: This is a stdio-based MCP server, run on-demand by Crush via docker run
|
# NOTE: This is a stdio-based MCP server, run on-demand by Crush via docker run
|
||||||
context7-mcp:
|
context7-mcp:
|
||||||
|
|||||||
27
dockerfiles/terraform-ls/Dockerfile
Normal file
27
dockerfiles/terraform-ls/Dockerfile
Normal 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
4
lsp-terraform-wrapper.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
docker run -i --rm \
|
||||||
|
-v "$(pwd):/workspace" \
|
||||||
|
kneldevstack-aimiddleware-terraform-ls
|
||||||
Reference in New Issue
Block a user