This commit is contained in:
2023-10-29 09:07:40 +01:00
parent 47a6fc61fa
commit ff690d420a
5 changed files with 67 additions and 35 deletions

View File

@@ -138,6 +138,8 @@ data "kustomization_overlay" "data" {
image: "${var.images.server.registry}/${var.images.server.repository}:${var.images.server.tag}" image: "${var.images.server.registry}/${var.images.server.repository}:${var.images.server.tag}"
imagePullPolicy: "${var.images.server.pullPolicy}" imagePullPolicy: "${var.images.server.pullPolicy}"
env: env:
- name: WOODPECKER_ADMIN
value: "${var.admin-users}"
- name: WOODPECKER_HOST - name: WOODPECKER_HOST
value: "https://${var.sub-domain}.${var.domain-name}" value: "https://${var.sub-domain}.${var.domain-name}"
- name: WOODPECKER_HOST - name: WOODPECKER_HOST

View File

@@ -6,15 +6,15 @@ metadata:
name: woodpecker name: woodpecker
description: null description: null
options: options:
domain-name: issuer:
default: your_company.com default: letsencrypt-prod
examples: examples:
- your_company.com - letsencrypt-prod
type: string type: string
domain: sub-domain:
default: your-company default: ci
examples: examples:
- your-company - ci
type: string type: string
storage-agent: storage-agent:
default: default:
@@ -36,6 +36,31 @@ options:
default: 'false' default: 'false'
type: string type: string
type: object type: object
app-group:
default: dev
examples:
- dev
type: string
admin-users:
default: woodpecker,admin
examples:
- woodpecker,admin
type: string
domain:
default: your-company
examples:
- your-company
type: string
ingress-class:
default: traefik
examples:
- traefik
type: string
domain-name:
default: your_company.com
examples:
- your_company.com
type: string
storage-server: storage-server:
default: default:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
@@ -55,11 +80,21 @@ options:
default: 10Gi default: 10Gi
type: string type: string
type: object type: object
issuer: timeouts:
default: letsencrypt-prod default:
default: '60'
max: '120'
examples: examples:
- letsencrypt-prod - default: '60'
max: '120'
properties:
default:
default: '60'
type: string type: string
max:
default: '120'
type: string
type: object
images: images:
default: default:
agent: agent:
@@ -157,31 +192,6 @@ options:
type: string type: string
type: object type: object
type: object type: object
sub-domain:
default: ci
examples:
- ci
type: string
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
dependencies: dependencies:
- dist: null - dist: null
category: apps category: apps

View File

@@ -1,6 +1,7 @@
locals { locals {
dns-name = "${var.sub-domain}.${var.domain-name}" dns-name = "${var.sub-domain}.${var.domain-name}"
dns-names = [local.dns-name] dns-names = [local.dns-name]
icon = "/favicons/favicon-light-default.svg"
service = { service = {
"name" = "${var.component}-server" "name" = "${var.component}-server"
"port" = { "port" = {
@@ -24,3 +25,15 @@ module "ingress" {
kubectl = kubectl kubectl = kubectl
} }
} }
module "application" {
source = "/dist/modules/application"
component = var.component
instance = var.instance
app-group = var.app-group
dns-name = local.dns-name
icon = local.icon
providers = {
authentik = authentik
}
}

View File

@@ -21,6 +21,7 @@ resource "authentik_application" "prj_app" {
slug = "${var.component}-${var.instance}" slug = "${var.component}-${var.instance}"
group = var.app-group group = var.app-group
protocol_provider = var.protocol_provider protocol_provider = var.protocol_provider
backchannel_providers = var.backchannel_providers
meta_launch_url = format("https://%s", var.dns-name) meta_launch_url = format("https://%s", var.dns-name)
meta_icon = format("https://%s/%s", var.dns-name, var.icon) meta_icon = format("https://%s/%s", var.dns-name, var.icon)
} }

View File

@@ -12,6 +12,7 @@ variable "app-group" {
} }
variable "protocol_provider" { variable "protocol_provider" {
type = number type = number
default = null
} }
variable "dns-name" { variable "dns-name" {
type = string type = string
@@ -20,3 +21,8 @@ variable "sub-groups" {
type = list(string) type = list(string)
default = [] default = []
} }
variable "backchannel_providers" {
type = list(number)
default = null
}