feat: vertical slice application -> provider -> binding (#4)
CD / Create tag (push) Successful in 11s
CD / Build and push (amd64) (push) Successful in 1m32s
CD / Create manifest (push) Successful in 7s

Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
This commit was merged in pull request #4.
This commit is contained in:
2026-05-25 17:14:35 +02:00
committed by t.behrendt
parent 2a091df8b9
commit 26bd576690
65 changed files with 4912 additions and 121 deletions
+56
View File
@@ -0,0 +1,56 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: applications.application.t000-n.de
spec:
group: application.t000-n.de
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: PK
type: string
jsonPath: .status.pk
- name: Name
type: string
jsonPath: .spec.name
- name: Slug
type: string
jsonPath: .spec.slug
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
name:
type: string
description: Application's display name
slug:
type: string
description: Internal application name, used in URLs.
pattern: ^[-a-zA-Z0-9_]+$
provider:
type: integer
format: int32
required:
- name
- slug
status:
type: object
properties:
pk:
type: string
format: uuid
required:
- pk
names:
kind: Application
plural: applications
shortNames:
- app
scope: Namespaced
+53
View File
@@ -0,0 +1,53 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: policybindings.policybinding.t000-n.de
spec:
group: policybinding.t000-n.de
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: PK
type: string
jsonPath: .status.pk
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
policy:
type: string
format: uuid
group:
type: string
format: uuid
user:
type: integer
format: int32
target:
type: string
format: uuid
order:
type: integer
required:
- target
- order
status:
type: object
properties:
pk:
type: string
required:
- pk
names:
kind: PolicyBinding
plural: policybindings
shortNames:
- pb
scope: Namespaced
+7
View File
@@ -16,6 +16,9 @@ spec:
- name: PK
type: string
jsonPath: .status.pk
- name: Outpost
type: string
jsonPath: .spec.outpost
schema:
openAPIV3Schema:
type: object
@@ -31,11 +34,15 @@ spec:
type: string
external_host:
type: string
outpost:
type: string
format: uuid
required:
- name
- authorization_flow
- invalidation_flow
- external_host
- outpost
status:
type: object
properties:
+8
View File
@@ -0,0 +1,8 @@
apiVersion: application.t000-n.de/v1alpha1
kind: Application
metadata:
name: application-example
spec:
name: Application Example
slug: application-example
provider: 105
+8
View File
@@ -0,0 +1,8 @@
apiVersion: policybinding.t000-n.de/v1alpha1
kind: PolicyBinding
metadata:
name: policy-binding-example
spec:
group: 14ab813f-a7f9-481b-9b08-781953ae9ebf
target: 8dd85627-9c48-49c2-8afc-d73dd122ffc2
order: 1
+1
View File
@@ -9,3 +9,4 @@ spec:
authorization_flow: 16896c6d-b326-42d1-8d3f-93f32921962e
invalidation_flow: 7acac1ef-19e3-4a6f-8d8d-14ca7031d184
external_host: https://example.t00n.de
outpost: ce8f74c0-88cd-47fe-96f5-d6507b739ceb