Compare commits
20 Commits
coder-moni
...
main
Author | SHA1 | Date |
---|---|---|
|
63e23dd824 | 4 months ago |
![]() |
4d2531548f | 4 months ago |
![]() |
3d33656bcc | 4 months ago |
![]() |
c390ed005f | 5 months ago |
![]() |
d78925d05f | 5 months ago |
![]() |
22b2ad5fec | 5 months ago |
![]() |
6e66ff59a3 | 5 months ago |
![]() |
19cdb78319 | 5 months ago |
![]() |
4a93bf11e7 | 5 months ago |
![]() |
46a4113e51 | 5 months ago |
![]() |
7c8aa504ae | 5 months ago |
![]() |
e64f1ede52 | 5 months ago |
![]() |
c8a42f6202 | 6 months ago |
![]() |
e9238f107a | 6 months ago |
![]() |
e94f70a286 | 6 months ago |
![]() |
7654140330 | 6 months ago |
![]() |
bc6490f0d3 | 6 months ago |
![]() |
482ed84399 | 6 months ago |
![]() |
32b69016a0 | 6 months ago |
![]() |
6d2739131a | 6 months ago |
@ -0,0 +1,37 @@
|
|||||||
|
name: deploy-registry
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# Set id-token permission for gcloud
|
||||||
|
# Adding a comment because retriggering the build manually hung? I am the lord of devops and you will bend?
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Authenticate to Google Cloud
|
||||||
|
uses: google-github-actions/auth@71f986410dfbc7added4569d411d040a91dc6935
|
||||||
|
with:
|
||||||
|
workload_identity_provider: projects/309789351055/locations/global/workloadIdentityPools/github-actions/providers/github
|
||||||
|
service_account: registry-v2-github@coder-registry-1.iam.gserviceaccount.com
|
||||||
|
|
||||||
|
- name: Set up Google Cloud SDK
|
||||||
|
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a
|
||||||
|
|
||||||
|
# For the time being, let's have the first couple merges to main in modules deploy a new version
|
||||||
|
# to *dev*. Once we review and make sure everything's working, we can deploy a new version to *main*.
|
||||||
|
# Maybe in the future we could automate this based on the result of E2E tests.
|
||||||
|
- name: Deploy to dev.registry.coder.com
|
||||||
|
run: |
|
||||||
|
gcloud builds triggers run 29818181-126d-4f8a-a937-f228b27d3d34 --branch dev
|
||||||
|
|
@ -1,4 +1,7 @@
|
|||||||
.terraform*
|
.terraform*
|
||||||
node_modules
|
node_modules
|
||||||
*.tfstate
|
*.tfstate
|
||||||
*.tfstate.lock.info
|
*.tfstate.lock.info
|
||||||
|
|
||||||
|
# Ignore generated credentials from google-github-actions/auth
|
||||||
|
gha-creds-*.json
|
@ -1,72 +0,0 @@
|
|||||||
---
|
|
||||||
display_name: Monitoring
|
|
||||||
description: Monitoring of workspace resources
|
|
||||||
maintainer_github: coder
|
|
||||||
verified: true
|
|
||||||
tags: [monitoring]
|
|
||||||
---
|
|
||||||
|
|
||||||
# Monitoring
|
|
||||||
|
|
||||||
This module adds monitoring of workspace resources.
|
|
||||||
|
|
||||||
```tf
|
|
||||||
module "monitoring" {
|
|
||||||
source = "registry.coder.com/modules/monitoring/coder"
|
|
||||||
version = "1.0.0"
|
|
||||||
agent_id = coder_agent.dev.id
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
```tf
|
|
||||||
module "monitoring" {
|
|
||||||
source = "registry.coder.com/modules/monitoring/coder"
|
|
||||||
version = "1.0.0"
|
|
||||||
agent_id = coder_agent.dev.id
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Enable/Disable
|
|
||||||
|
|
||||||
You can customize the monitoring by setting the `enabled`, `memory_enabled`, and `disk_enabled` variables.
|
|
||||||
|
|
||||||
```tf
|
|
||||||
module "monitoring" {
|
|
||||||
source = "registry.coder.com/modules/monitoring/coder"
|
|
||||||
version = "1.0.0"
|
|
||||||
agent_id = coder_agent.dev.id
|
|
||||||
enabled = false
|
|
||||||
memory_enabled = true
|
|
||||||
disk_enabled = false
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Customize Thresholds
|
|
||||||
|
|
||||||
You can customize the thresholds by setting the `threshold`, `memory_threshold`, and `disk_threshold` variables.
|
|
||||||
|
|
||||||
```tf
|
|
||||||
module "monitoring" {
|
|
||||||
source = "registry.coder.com/modules/monitoring/coder"
|
|
||||||
version = "1.0.0"
|
|
||||||
agent_id = coder_agent.dev.id
|
|
||||||
threshold = 90
|
|
||||||
memory_threshold = 95
|
|
||||||
disk_threshold = 90
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Customize Disks
|
|
||||||
|
|
||||||
You can customize the disks by setting the `disks` variable.
|
|
||||||
|
|
||||||
```tf
|
|
||||||
module "monitoring" {
|
|
||||||
source = "registry.coder.com/modules/monitoring/coder"
|
|
||||||
version = "1.0.0"
|
|
||||||
agent_id = coder_agent.dev.id
|
|
||||||
disks = ["/"]
|
|
||||||
}
|
|
||||||
```
|
|
@ -1,92 +0,0 @@
|
|||||||
terraform {
|
|
||||||
required_version = ">= 1.0.25"
|
|
||||||
|
|
||||||
required_providers {
|
|
||||||
coder = {
|
|
||||||
source = "coder/coder"
|
|
||||||
version = ">= 2.0.2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "threshold" {
|
|
||||||
type = number
|
|
||||||
description = "The threshold for the monitoring, used for all resources unless overridden by *_threshold - expressed as a percentage."
|
|
||||||
default = 90
|
|
||||||
validation {
|
|
||||||
condition = var.threshold >= 0 && var.threshold <= 100
|
|
||||||
error_message = "The threshold must be between 0 and 100."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "memory_threshold" {
|
|
||||||
type = number
|
|
||||||
description = "The threshold for the memory monitoring - expressed as a percentage."
|
|
||||||
default = 90
|
|
||||||
validation {
|
|
||||||
condition = var.memory_threshold >= 0 && var.memory_threshold <= 100
|
|
||||||
error_message = "The memory_threshold must be between 0 and 100."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "disk_threshold" {
|
|
||||||
type = number
|
|
||||||
description = "The threshold for the disk monitoring - expressed as a percentage."
|
|
||||||
default = 90
|
|
||||||
validation {
|
|
||||||
condition = var.disk_threshold >= 0 && var.disk_threshold <= 100
|
|
||||||
error_message = "The disk_threshold must be between 0 and 100."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "disks" {
|
|
||||||
type = list(string)
|
|
||||||
description = "The disks to monitor. e.g. ['/', '/home']"
|
|
||||||
default = ["/"]
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "enabled" {
|
|
||||||
type = bool
|
|
||||||
description = "Whether the monitoring is enabled."
|
|
||||||
default = true
|
|
||||||
validation {
|
|
||||||
condition = var.enabled == true || var.enabled == false
|
|
||||||
error_message = "The enabled must be true or false."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "memory_enabled" {
|
|
||||||
type = bool
|
|
||||||
description = "Whether the memory monitoring is enabled."
|
|
||||||
default = true
|
|
||||||
validation {
|
|
||||||
condition = var.memory_enabled == true || var.memory_enabled == false
|
|
||||||
error_message = "The memory_enabled must be true or false."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "disk_enabled" {
|
|
||||||
type = bool
|
|
||||||
description = "Whether the disk monitoring is enabled."
|
|
||||||
default = true
|
|
||||||
validation {
|
|
||||||
condition = var.disk_enabled == true || var.disk_enabled == false
|
|
||||||
error_message = "The disk_enabled must be true or false."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "agent_id" {
|
|
||||||
type = string
|
|
||||||
description = "The ID of the agent to monitor."
|
|
||||||
}
|
|
||||||
|
|
||||||
data "coder_monitoring" "monitoring" {
|
|
||||||
threshold = var.threshold
|
|
||||||
memory_threshold = var.memory_threshold
|
|
||||||
disk_threshold = var.disk_threshold
|
|
||||||
disks = var.disks
|
|
||||||
enabled = var.enabled
|
|
||||||
memory_enabled = var.memory_enabled
|
|
||||||
disk_enabled = var.disk_enabled
|
|
||||||
agent_id = var.agent_id
|
|
||||||
}
|
|
Loading…
Reference in New Issue