This commit is contained in:
2024-01-26 10:19:34 +01:00
parent e8ad81c3db
commit 94e78fa7e9
187 changed files with 3355 additions and 2857 deletions

View File

@@ -9,7 +9,7 @@ resource "kubectl_manifest" "deploy" {
spec:
replicas: 1
hostname: "${var.component}-${var.instance}"
subdomain: "${var.domain_name}"
subdomain: "${var.domain-name}"
selector:
matchLabels: ${jsonencode(local.common-labels)}
template:
@@ -46,7 +46,7 @@ resource "kubectl_manifest" "deploy" {
- name: DOCKER_USER
value: coder
- name: IS_CONSOLE
value: "${var.no_editor?"shellinabox":"code-server"}"
value: "${var.no-editor?"shellinabox":"code-server"}"
- name: TZ
value: "${var.timezone}"
- name: ENTRYPOINTD

View File

@@ -6,11 +6,83 @@ metadata:
name: code-server
description: null
options:
app_group:
sub-domain:
default: code
examples:
- code
type: string
domain:
default: your-company
examples:
- your-company
type: string
timezone:
default: Europe/Paris
examples:
- Europe/Paris
type: string
admin:
default:
cluster: false
namespace: false
examples:
- cluster: false
namespace: false
properties:
cluster:
default: false
type: boolean
namespace:
default: false
type: boolean
type: object
storage:
default:
volume:
accessMode: ReadWriteOnce
size: 20Gi
type: Filesystem
description: Configure this app storage
examples:
- volume:
accessMode: ReadWriteOnce
size: 20Gi
type: Filesystem
properties:
volume:
default:
accessMode: ReadWriteOnce
size: 20Gi
type: Filesystem
properties:
accessMode:
default: ReadWriteOnce
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
size:
default: 20Gi
type: string
type:
default: Filesystem
enum:
- Filesystem
- Block
type: string
type: object
type: object
app-group:
default: dev
examples:
- dev
type: string
no-editor:
default: false
examples:
- false
type: boolean
images:
default:
codeserver:
@@ -50,93 +122,21 @@ options:
type: number
type: object
type: object
domain:
default: your-company
examples:
- your-company
type: string
domain_name:
default: your-company.com
examples:
- your-company.com
type: string
ingress_class:
ingress-class:
default: traefik
examples:
- traefik
type: string
storage:
default:
volume:
accessMode: ReadWriteOnce
size: 20Gi
type: Filesystem
description: Configure this app storage
domain-name:
default: your-company.com
examples:
- volume:
accessMode: ReadWriteOnce
size: 20Gi
type: Filesystem
properties:
volume:
default:
accessMode: ReadWriteOnce
size: 20Gi
type: Filesystem
properties:
accessMode:
default: ReadWriteOnce
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
size:
default: 20Gi
type: string
type:
default: Filesystem
enum:
- Filesystem
- Block
type: string
type: object
type: object
- your-company.com
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
sub_domain:
default: code
examples:
- code
type: string
timezone:
default: Europe/Paris
examples:
- Europe/Paris
type: string
admin:
default:
cluster: false
namespace: false
examples:
- cluster: false
namespace: false
properties:
cluster:
default: false
type: boolean
namespace:
default: false
type: boolean
type: object
no_editor:
default: false
examples:
- false
type: boolean
dependencies:
- dist: null
category: share

View File

@@ -1,5 +1,5 @@
locals {
dns_name = "${var.instance}.${var.sub_domain}.${var.domain_name}"
dns_name = "${var.instance}.${var.sub-domain}.${var.domain-name}"
dns_names = [local.dns_name]
app_name = var.component == var.instance ? var.instance : format("%s-%s", var.component, var.instance)
icon = "_static/src/browser/media/favicon-dark-support.svg"
@@ -34,7 +34,7 @@ module "ingress" {
instance = var.instance
namespace = var.namespace
issuer = var.issuer
ingress_class = var.ingress_class
ingress-class = var.ingress-class
labels = local.common-labels
dns_names = local.dns_names
middlewares = ["forward-${local.app_name}"]
@@ -48,7 +48,7 @@ module "application" {
source = "/dist/modules/application"
component = var.component
instance = var.instance
app_group = var.app_group
app-group = var.app-group
dns_name = local.dns_name
icon = local.icon
protocol_provider = module.forward.provider-id
@@ -73,7 +73,7 @@ module "forward" {
instance = var.instance
domain = var.domain
namespace = var.namespace
ingress_class = var.ingress_class
ingress-class = var.ingress-class
labels = local.common-labels
dns_names = local.dns_names
service = local.service