installer: migrate apps to cuelang
diff --git a/charts/headscale-controller/templates/crds.yaml b/charts/headscale-controller/templates/crds.yaml
new file mode 100644
index 0000000..4dc4db0
--- /dev/null
+++ b/charts/headscale-controller/templates/crds.yaml
@@ -0,0 +1,57 @@
+{{ if .Values.installCRDs }}
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.9.2
+ creationTimestamp: null
+ name: headscaleusers.headscale.dodo.cloud
+spec:
+ group: headscale.dodo.cloud
+ names:
+ kind: HeadscaleUser
+ listKind: HeadscaleUserList
+ plural: headscaleusers
+ singular: headscaleuser
+ scope: Namespaced
+ versions:
+ - name: v1
+ schema:
+ openAPIV3Schema:
+ description: HeadscaleUser is the Schema for the headscaleusers API
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: HeadscaleUserSpec defines the desired state of HeadscaleUser
+ properties:
+ headscaleAddress:
+ type: string
+ name:
+ type: string
+ preAuthKey:
+ properties:
+ enabled:
+ type: boolean
+ secretName:
+ type: string
+ type: object
+ type: object
+ status:
+ description: HeadscaleUserStatus defines the observed state of HeadscaleUser
+ properties:
+ ready:
+ type: boolean
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+{{ end }}
diff --git a/charts/headscale-controller/templates/install.yaml b/charts/headscale-controller/templates/install.yaml
index e145667..7c2c129 100644
--- a/charts/headscale-controller/templates/install.yaml
+++ b/charts/headscale-controller/templates/install.yaml
@@ -1,59 +1,3 @@
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.9.2
- creationTimestamp: null
- name: headscaleusers.headscale.dodo.cloud
-spec:
- group: headscale.dodo.cloud
- names:
- kind: HeadscaleUser
- listKind: HeadscaleUserList
- plural: headscaleusers
- singular: headscaleuser
- scope: Namespaced
- versions:
- - name: v1
- schema:
- openAPIV3Schema:
- description: HeadscaleUser is the Schema for the headscaleusers API
- properties:
- apiVersion:
- description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
- type: string
- kind:
- description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
- type: string
- metadata:
- type: object
- spec:
- description: HeadscaleUserSpec defines the desired state of HeadscaleUser
- properties:
- headscaleAddress:
- type: string
- name:
- type: string
- preAuthKey:
- properties:
- enabled:
- type: boolean
- secretName:
- type: string
- type: object
- type: object
- status:
- description: HeadscaleUserStatus defines the observed state of HeadscaleUser
- properties:
- ready:
- type: boolean
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
----
apiVersion: v1
kind: ServiceAccount
metadata:
@@ -281,7 +225,7 @@
- --upstream=http://127.0.0.1:8080/
- --logtostderr=true
- --v=0
- image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0
+ image: {{ .Values.kubeRBACProxy.image.repository }}:{{ .Values.kubeRBACProxy.image.tag }}
name: kube-rbac-proxy
ports:
- containerPort: 8443
@@ -305,8 +249,8 @@
- --leader-elect
command:
- /manager
- image: giolekva/headscale-controller:latest
- imagePullPolicy: Always
+ image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
livenessProbe:
httpGet:
path: /healthz
diff --git a/charts/headscale-controller/values.yaml b/charts/headscale-controller/values.yaml
index 13dc30e..2cb2dfc 100644
--- a/charts/headscale-controller/values.yaml
+++ b/charts/headscale-controller/values.yaml
@@ -2,4 +2,9 @@
repository: giolekva/headscale-controller
tag: latest
pullPolicy: Always
+kubeRBACProxy:
+ image:
+ repository: "gcr.io/kubebuilder/kube-rbac-proxy"
+ tag: v0.13.0
+ pullPolicy: IfNotPresent
installCRDs: false