This commit is contained in:
2024-01-26 20:00:54 +01:00
parent 6a83465591
commit 86051b28b0
4 changed files with 252 additions and 178 deletions

View File

@@ -10,6 +10,17 @@ locals {
"app.kubernetes.io/name" = var.component
"app.kubernetes.io/instance" = var.instance
}
pvc_spec = merge({
"accessModes" = [var.storage.volume.accessMode]
"volumeMode" = var.storage.volume.type
"resources" = {
"requests" = {
"storage" = "${var.storage.volume.size}"
}
}
}, var.storage.volume.class != "" ?{
"storageClassName" = var.storage.volume.class
}:{})
}
data "kubernetes_secret_v1" "authentik" {
@@ -54,11 +65,11 @@ data "kustomization_overlay" "data" {
- name: WOODPECKER_BACKEND_K8S_NAMESPACE
value: "${var.namespace}"
- name: WOODPECKER_BACKEND_K8S_STORAGE_CLASS
value: "${var.storage-agent.storageClass}"
value: "${var.storage.volume.class}"
- name: WOODPECKER_BACKEND_K8S_STORAGE_RWX
value: "${var.storage-agent.writeMany}"
value: "${var.storage.volume.accessMode=="ReadOnlyMany"?"true":"false"}"
- name: WOODPECKER_BACKEND_K8S_VOLUME_SIZE
value: "${var.storage-agent.size}"
value: "${var.storage.agent.size}"
- name: WOODPECKER_SERVER
value: "woodpecker-server.${var.namespace}.svc:9000"
EOF
@@ -163,11 +174,7 @@ data "kustomization_overlay" "data" {
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ "${var.storage-server.accessMode}" ]
resources:
requests:
storage: ${var.storage-server.size}
spec: ${jsonencode(local.pvc_spec)}
EOF
}
}

View File

@@ -6,95 +6,31 @@ metadata:
name: woodpecker
description: null
options:
admin-users:
default: woodpecker,admin
domain_name:
default: your_company.com
examples:
- woodpecker,admin
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
- your_company.com
type: string
sub_domain:
default: ci
examples:
- ci
type: string
storage-server:
default:
accessMode: ReadWriteOnce
size: 10Gi
issuer:
default: letsencrypt-prod
examples:
- accessMode: ReadWriteOnce
size: 10Gi
properties:
accessMode:
default: ReadWriteOnce
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
size:
default: 10Gi
type: string
type: object
timeouts:
default:
default: '60'
max: '120'
examples:
- default: '60'
max: '120'
properties:
default:
default: '60'
type: string
max:
default: '120'
type: string
type: object
storage-agent:
default:
size: 10Gi
storageClass: ''
writeMany: 'false'
examples:
- size: 10Gi
storageClass: ''
writeMany: 'false'
properties:
size:
default: 10Gi
type: string
storageClass:
default: ''
type: string
writeMany:
default: 'false'
type: string
type: object
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
app_group:
default: dev
examples:
- dev
- letsencrypt-prod
type: string
domain:
default: your-company
examples:
- your-company
type: string
app_group:
default: dev
examples:
- dev
type: string
images:
default:
agent:
@@ -192,6 +128,86 @@ options:
type: string
type: object
type: object
storage:
default:
agent:
size: 10Gi
volume:
accessMode: ReadWriteOnce
class: ''
size: 10Gi
type: Filesystem
description: Configure this app storage
examples:
- agent:
size: 10Gi
volume:
accessMode: ReadWriteOnce
class: ''
size: 10Gi
type: Filesystem
properties:
agent:
default:
size: 10Gi
properties:
size:
default: 10Gi
type: string
type: object
volume:
default:
accessMode: ReadWriteOnce
class: ''
size: 10Gi
type: Filesystem
properties:
accessMode:
default: ReadWriteOnce
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
class:
default: ''
type: string
size:
default: 10Gi
type: string
type:
default: Filesystem
enum:
- Filesystem
- Block
type: string
type: object
type: object
timeouts:
default:
default: '60'
max: '120'
examples:
- default: '60'
max: '120'
properties:
default:
default: '60'
type: string
max:
default: '120'
type: string
type: object
ingress_class:
default: traefik
examples:
- traefik
type: string
admin-users:
default: woodpecker,admin
examples:
- woodpecker,admin
type: string
dependencies:
- dist: null
category: apps