noice push mate
This commit is contained in:
1 parent
c54379172f
commit
391e90071e
3 files changed
+146
No files matched your search
@@ -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
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
Reference in new issue
Block a user