Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions .devcontainer/configs/vscode/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"recommendations": [
"KoichiSasada.vscode-rdbg",
"Fooo.ruby-spec-runner",
"castwide.solargraph",
"eamodio.gitlens"
],
"unwantedRecommendations": [
"Shopify.ruby-lsp"
]
}
94 changes: 49 additions & 45 deletions .devcontainer/configs/vscode/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
// Run/Debug configurations for Cloud Controller
//
// These configs work in both local and devcontainer environments:
// - Local: Uses POSTGRES_CONNECTION_PREFIX from .envrc (localhost)
// - Devcontainer: Uses POSTGRES_CONNECTION_PREFIX from devcontainer.json (postgres container)
//
// Run 'cc-generate-config' first to create tmp/.dev-generated/cloud_controller.*.yml
"version": "0.2.0",
"configurations": [
{
Expand All @@ -11,36 +15,23 @@
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/cloud_controller",
"script": "-c tmp/cloud_controller.yml",
"script": "-c tmp/.dev-generated/cloud_controller.${env:CC_CONFIG}.yml",
"env": {
"DB": "postgres",
"DB_CONNECTION_STRING": "postgres://postgres:supersecret@localhost:5432/ccdb"
"DB_CONNECTION_STRING": "${env:POSTGRES_CONNECTION_PREFIX}/ccdb"
}
},
{
"name": "[Mariadb] CloudController",
"name": "[Mysql] CloudController",
"type": "rdbg",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/cloud_controller",
"script": "-c tmp/cloud_controller.yml",
"script": "-c tmp/.dev-generated/cloud_controller.${env:CC_CONFIG}.yml",
"env": {
"DB": "mysql",
"DB_CONNECTION_STRING": "mysql2://root:supersecret@localhost:3306/ccdb"
}
},
{
"name": "[Mariadb] Unittests",
"type": "rdbg",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/rake",
"script": "spec:all",
"env": {
"DB": "mysql",
"MYSQL_CONNECTION_PREFIX": "mysql2://root:supersecret@localhost:3306"
"DB_CONNECTION_STRING": "${env:MYSQL_CONNECTION_PREFIX}/ccdb"
}
},
{
Expand All @@ -50,42 +41,41 @@
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/rake",
"script": "spec:all",
"script": "spec",
"env": {
"DB": "postgres",
"POSTGRES_CONNECTION_PREFIX": "postgres://postgres:supersecret@localhost:5432"
"POSTGRES_CONNECTION_PREFIX": "${env:POSTGRES_CONNECTION_PREFIX}"
}
},
{
"name": "[Mariadb] CC Worker",
"name": "[Mysql] Unittests",
"type": "rdbg",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/rake",
"script": "jobs:generic",
"script": "spec",
"env": {
"DB": "mysql",
"DB_CONNECTION_STRING": "mysql2://root:supersecret@localhost:3306/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/cloud_controller.yml"
"MYSQL_CONNECTION_PREFIX": "${env:MYSQL_CONNECTION_PREFIX}"
}
},
{
"name": "[Postgres] CC Worker",
"name": "[Postgres] CC Local Worker",
"type": "rdbg",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/rake",
"script": "jobs:generic",
"script": "jobs:local",
"env": {
"DB": "postgres",
"DB_CONNECTION_STRING": "postgres://postgres:supersecret@localhost:5432/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/cloud_controller.yml"
"DB_CONNECTION_STRING": "${env:POSTGRES_CONNECTION_PREFIX}/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/.dev-generated/cloud_controller.${env:CC_CONFIG}.yml"
}
},
{
"name": "[Mariadb] CC Local Worker",
"name": "[Mysql] CC Local Worker",
"type": "rdbg",
"request": "launch",
"useBundler": true,
Expand All @@ -94,36 +84,36 @@
"script": "jobs:local",
"env": {
"DB": "mysql",
"DB_CONNECTION_STRING": "mysql2://root:supersecret@localhost:3306/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/cloud_controller.yml"
"DB_CONNECTION_STRING": "${env:MYSQL_CONNECTION_PREFIX}/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/.dev-generated/cloud_controller.${env:CC_CONFIG}.yml"
}
},
{
"name": "[Postgres] CC Local Worker",
"name": "[Postgres] CC Generic Worker",
"type": "rdbg",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/rake",
"script": "jobs:local",
"script": "jobs:generic",
"env": {
"DB": "postgres",
"DB_CONNECTION_STRING": "postgres://postgres:supersecret@localhost:5432/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/cloud_controller.yml"
"DB_CONNECTION_STRING": "${env:POSTGRES_CONNECTION_PREFIX}/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/.dev-generated/cloud_controller.${env:CC_CONFIG}.yml"
}
},
{
"name": "[Mariadb] CC Scheduler",
"name": "[Mysql] CC Generic Worker",
"type": "rdbg",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/rake",
"script": "clock:start",
"script": "jobs:generic",
"env": {
"DB": "mysql",
"DB_CONNECTION_STRING": "mysql2://root:supersecret@localhost:3306/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/cloud_controller.yml"
"DB_CONNECTION_STRING": "${env:MYSQL_CONNECTION_PREFIX}/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/.dev-generated/cloud_controller.${env:CC_CONFIG}.yml"
}
},
{
Expand All @@ -136,9 +126,23 @@
"script": "clock:start",
"env": {
"DB": "postgres",
"DB_CONNECTION_STRING": "postgres://postgres:supersecret@localhost:5432/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/cloud_controller.yml"
"DB_CONNECTION_STRING": "${env:POSTGRES_CONNECTION_PREFIX}/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/.dev-generated/cloud_controller.${env:CC_CONFIG}.yml"
}
},
{
"name": "[Mysql] CC Scheduler",
"type": "rdbg",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}",
"command": "bin/rake",
"script": "clock:start",
"env": {
"DB": "mysql",
"DB_CONNECTION_STRING": "${env:MYSQL_CONNECTION_PREFIX}/ccdb",
"CLOUD_CONTROLLER_NG_CONFIG": "tmp/.dev-generated/cloud_controller.${env:CC_CONFIG}.yml"
}
}
]
}
}
32 changes: 28 additions & 4 deletions .devcontainer/configs/vscode/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,40 @@
{
// ==========================================================================
// TEST RUNNING: Use ruby-spec-runner (status bar buttons: "Run spec" / "Debug spec")
// Note: VS Code test explorer disabled - Ruby LSP hangs on large codebases
// ==========================================================================
"ruby-spec-runner.rspecEnv": {
"DB": "postgres",
"POSTGRES_CONNECTION_PREFIX": "postgres://postgres:supersecret@localhost:5432",
"MYSQL_CONNECTION_PREFIX": "mysql2://root:supersecret@localhost:3306"
"POSTGRES_CONNECTION_PREFIX": "postgres://postgres:supersecret@postgres:5432"
},
"ruby-spec-runner.rspecCommand": "bundle exec rspec",
"ruby-spec-runner.changeDirectoryToWorkspaceRoot": true,

// Ruby LSP - use rvm Ruby
"rubyLsp.rubyVersionManager": {
"identifier": "rvm"
},
"rubyLsp.testFramework": "rspec",

// RuboCop
"ruby.rubocop.autocorrectOnSave": true,
"ruby.rubocop.configFilePath": ".rubocop.yml",
"ruby.rubocop.hideDisableSuggestions": true,
"ruby.rubocop.useBundler": true,
"ruby.rubocop.useServer": true,
"ruby.rubocop.onSave": true,
"solargraph.useBundler": false,

// Solargraph - code intelligence
"solargraph.useBundler": true,
"solargraph.diagnostics": false,
"solargraph.formatting": false,
"solargraph.completion": true,
"solargraph.hover": true,
"solargraph.definitions": true,
"solargraph.references": true,
"solargraph.symbols": true,

// Editor
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": true
}
}
Loading
Loading