noice push mate

This commit is contained in:
anthorob committed 2025-07-12 12:16:22 -04:00
1 parent c54379172f
commit 391e90071e
3 files changed
+146

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
# 🖥️ Coder Base Module
This module provides the shared logic and workspace provisioning foundation for my Coder templates using Docker containers.
It is designed to be imported and reused by language-specific templates to standardize configuration and reduce duplication
## 📦 Features
- 🐳 **Containerized Workspaces**
- Provisions Docker containers using a specified image
- 💻 **Remote IDE Support**
- **VS Code Server** with configurable extensions and settings
- **JetBrains Gateway** support with selectable IDEs (IntelliJ, PhpStorm, etc.)
- 🧰 **Custom Tooling Support**
- Startup scripts to initialize language environments
- 🔃 **Optional Git Repo Clone**
- Clones a user-specified repository into `~/repo` during provisioning
## 📁 File Structure
```
coder-base/
├── main.tf # Main logic for provisioning the workspace
├── variables.tf # Input variables for customization
├── outputs.tf # Variables available to use in templates
```
## 🔧 Inputs
| Name | Type | Description | Default | Required |
|------------------------|------------------------------|----------------------------------------------------------|-------------|----------|
| `docker_image` | `string` | Docker image to use for the workspace | n/a | ✅ Yes |
| `vscode_extensions` | `list(string)` | List of VS Code extensions to install | `[]` | ❌ No |
| `vscode_settings` | `map(string)` | Key-value VS Code settings | `{}` | ❌ No |
| `jetbrains_ides` | `list(string)` | JetBrains IDEs to enable (e.g., `["IU", "PS"]`) | `["IU"]` | ✅ Yes |
| `jetbrains_default` | `string` | Default JetBrains IDE to launch | `"IU"` | ✅ Yes |
| `docker_socket` | `string` | Optional Docker socket override | `""` | ❌ No |
| `repo_url` | `string` | Git repository to clone into `~/repo` | `""` | ❌ No |
| `language_startup_script` | `string` | Startup shell script executed on container boot | `""` | ❌ No |
| `language_metadata` | `list(object)` | Custom metadata blocks shown in Coder UI (e.g. versions) | `[]` | ❌ No |
Each `language_metadata` object includes:
```hcl
{
display_name = string
key = string
script = string
interval = number
timeout = number
}
```
+40
View File
@@ -0,0 +1,40 @@
# Java Development Environment
This template provisions a ready-to-use Java development environment with Maven preinstalled.
## 🚀 Features
- 🧰 **Pre-installed Java Tooling**
- Multiple JDK versions: Java 8, 17, and 21
- Maven and common utilities
- 🐳 **Containerized Development**
- 💻 **Remote IDE Support**
- VS Code Server with extensions for Java
- JetBrains Gateway with IntelliJ IDEA
## 📦 Image
Images are hosted at:
registry.bobert.me/anthorob/coder-images:java\<version\>
For example:
- `java8`
- `java17`
- `java21`
👉 Check the repository at [coder-images](https://git.bobert.me/anthorob/coder-images) to see how these images are built.
## 🧪 IDE
- **Code Server preinstalled extensions**
- `vscjava.vscode-java-pack`
- `redhat.java`
- `vscjava.vscode-java-debug`
- `vscjava.vscode-java-dependency`
- `vscjava.vscode-maven`
- **JetBrains Gateway**
- IntelliJ IDEA (Ultimate) is enabled by default
+51
View File
@@ -0,0 +1,51 @@
# PHP Development Environment
This template provisions a ready-to-use PHP development environment with Composer and Node preinstalled.
## 🚀 Features
- 🧰 **Preinstalled PHP Tooling**
- Supports PHP 7.4, 8.0, and 8.2 versions (configurable)
- Composer and common CLI tools included
- Integrated with [NVM](https://github.com/nvm-sh/nvm) for managing Node.js versions.
- 🐳 **Containerized Development**
- 💻 **Remote IDE Support**
- VS Code Server with PHP extensions
- JetBrains Gateway with PhpStorm enabled
## 📦 Images
Images are hosted at:
registry.bobert.me/anthorob/coder-images:java\<version\>
For example:
- `php74`
- `php80`
- `php82`
👉 Check the repository at [coder-images](https://git.bobert.me/anthorob/coder-images) to see how these images are built.
## 🧪 IDE Integrations
### VS Code Server
Preinstalled extensions:
- **PHP Development**
- `bmewburn.vscode-intelephense-client`
- `felixfbecker.php-debug`
- `mehedidracula.php-namespace-resolver`
- **JavaScript / Node.js**
- `dbaeumer.vscode-eslint`
- `ms-vscode.vscode-typescript-tslint-plugin`
- **Utilities**
- `mikestead.dotenv`
- `christian-kohler.path-intellisense`
### JetBrains Gateway
- PhpStorm enabled by default