-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Shashank Ram <[email protected]>
- Loading branch information
1 parent
d53ac92
commit 525a59d
Showing
9 changed files
with
361 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
changelog: | ||
- type: NEW_FEATURE | ||
description: | | ||
Render feature flag environment variables for containers. | ||
skipCI: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Code generated by skv2. DO NOT EDIT. | ||
|
||
apiVersion: v1 | ||
home: https://docs.solo.io/skv2/latest | ||
name: Painting Operator | ||
sources: | ||
- https://github.com/solo-io/skv2 | ||
version: v0.0.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# Code generated by skv2. DO NOT EDIT. | ||
|
||
|
||
|
||
{{/* Below are library functions provided by skv2 */}} | ||
|
||
{{- /* | ||
"skv2.utils.merge" takes an array of three values: | ||
- the top context | ||
- the yaml block that will be merged in (override) | ||
- the name of the base template (source) | ||
note: the source must be a named template (helm partial). This is necessary for the merging logic. | ||
The behaviour is as follows, to align with already existing helm behaviour: | ||
- If no source is found (template is empty), the merged output will be empty | ||
- If no overrides are specified, the source is rendered as is | ||
- If overrides are specified and source is not empty, overrides will be merged in to the source. | ||
Overrides can replace / add to deeply nested dictionaries, but will completely replace lists. | ||
Examples: | ||
┌─────────────────────┬───────────────────────┬────────────────────────┐ | ||
│ Source (template) │ Overrides │ Result │ | ||
├─────────────────────┼───────────────────────┼────────────────────────┤ | ||
│ metadata: │ metadata: │ metadata: │ | ||
│ labels: │ labels: │ labels: │ | ||
│ app: gloo │ app: gloo1 │ app: gloo1 │ | ||
│ cluster: useast │ author: infra-team │ author: infra-team │ | ||
│ │ │ cluster: useast │ | ||
├─────────────────────┼───────────────────────┼────────────────────────┤ | ||
│ lists: │ lists: │ lists: │ | ||
│ groceries: │ groceries: │ groceries: │ | ||
│ - apple │ - grapes │ - grapes │ | ||
│ - banana │ │ │ | ||
└─────────────────────┴───────────────────────┴────────────────────────┘ | ||
skv2.utils.merge is a fork of a helm library chart function (https://github.com/helm/charts/blob/master/incubator/common/templates/_util.tpl). | ||
This includes some optimizations to speed up chart rendering time, and merges in a value (overrides) with a named template, unlike the upstream | ||
version, which merges two named templates. | ||
*/ -}} | ||
{{- define "skv2.utils.merge" -}} | ||
{{- $top := first . -}} | ||
{{- $overrides := (index . 1) -}} | ||
{{- $tpl := fromYaml (include (index . 2) $top) -}} | ||
{{- if or (empty $overrides) (empty $tpl) -}} | ||
{{ include (index . 2) $top }} {{/* render source as is */}} | ||
{{- else -}} | ||
{{- $merged := merge $overrides $tpl -}} | ||
{{- toYaml $merged -}} {{/* render source with overrides as YAML */}} | ||
{{- end -}} | ||
{{- end -}} |
129 changes: 129 additions & 0 deletions
129
codegen/test/chart-featureenv/templates/deployment.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,129 @@ | ||
# Code generated by skv2. DO NOT EDIT. | ||
|
||
|
||
|
||
{{- $painter := $.Values.painter }} | ||
--- | ||
|
||
{{- define "painter.deploymentSpec" }} | ||
# Deployment manifest for painter | ||
|
||
apiVersion: apps/v1 | ||
kind: Deployment | ||
metadata: | ||
labels: | ||
app: painter | ||
annotations: | ||
app.kubernetes.io/name: painter | ||
name: painter | ||
namespace: {{ default .Release.Namespace $.Values.painter.namespace }} | ||
spec: | ||
selector: | ||
matchLabels: | ||
app: painter | ||
template: | ||
metadata: | ||
labels: | ||
app: painter | ||
annotations: | ||
app.kubernetes.io/name: painter | ||
spec: | ||
serviceAccountName: painter | ||
containers: | ||
{{- $painter := $.Values.painter }} | ||
{{- $painterImage := $painter.image }} | ||
- name: painter | ||
image: {{ $painterImage.registry }}/{{ $painterImage.repository }}:{{ $painterImage.tag }} | ||
imagePullPolicy: {{ $painterImage.pullPolicy }} | ||
{{- if $painter.env }} | ||
env: | ||
{{ toYaml $painter.env | indent 10 }} | ||
- name: FEATURE_ENABLE_FOO | ||
value: {{ $.Values.featureGates.Foo | quote }} | ||
{{- else if $painter.extraEnvs }} | ||
env: | ||
{{- end }} | ||
{{- range $name, $item := $painter.extraEnvs }} | ||
- name: {{ $name }} | ||
{{- $item | toYaml | nindent 12 }} | ||
{{- end }} | ||
resources: | ||
{{- if $painter.resources }} | ||
{{ toYaml $painter.resources | indent 10}} | ||
{{- else}} | ||
requests: | ||
cpu: 500m | ||
memory: 256Mi | ||
{{- end }} | ||
{{- /* | ||
Render securityContext configs if it is set. | ||
If securityContext is not set, render the default securityContext. | ||
If securityContext is set to 'false', render an empty map. | ||
*/}} | ||
securityContext: | ||
{{- if or ($painter.securityContext) (eq "map[]" (printf "%v" $painter.securityContext)) }} | ||
{{ toYaml $painter.securityContext | indent 10}} | ||
{{/* Because securityContext is nil by default we can only perform following conversion if it is a boolean. Skip conditional otherwise. */}} | ||
{{- else if eq (ternary $painter.securityContext true (eq "bool" (printf "%T" $painter.securityContext))) false }} | ||
{} | ||
{{- else}} | ||
runAsNonRoot: true | ||
{{- if not $painter.floatingUserId }} | ||
runAsUser: {{ printf "%.0f" (float64 $painter.runAsUser) }} | ||
{{- end }} | ||
readOnlyRootFilesystem: true | ||
allowPrivilegeEscalation: false | ||
capabilities: | ||
drop: | ||
- ALL | ||
{{- end }} | ||
{{- if $painterImage.pullSecret }} | ||
imagePullSecrets: | ||
- name: {{ $painterImage.pullSecret }} | ||
{{- end}} | ||
{{- end }} {{/* define "painter.deploymentSpec" */}} | ||
|
||
{{/* Render painter deployment template with overrides from values*/}} | ||
{{ if $painter.enabled }} | ||
{{- $painterDeploymentOverrides := dict }} | ||
{{- if $painter.deploymentOverrides }} | ||
{{- $painterDeploymentOverrides = $painter.deploymentOverrides }} | ||
{{- end }} | ||
--- | ||
{{ include "skv2.utils.merge" (list . $painterDeploymentOverrides "painter.deploymentSpec") }} | ||
{{- end }} | ||
--- | ||
{{ if $painter.enabled }} | ||
apiVersion: v1 | ||
kind: ServiceAccount | ||
metadata: | ||
labels: | ||
app: painter | ||
{{- if $painter.serviceAccount}} | ||
{{- if $painter.serviceAccount.extraAnnotations }} | ||
annotations: | ||
{{- range $key, $value := $painter.serviceAccount.extraAnnotations }} | ||
{{ $key }}: {{ $value }} | ||
{{- end }} | ||
{{- end }} | ||
{{- end}} | ||
name: painter | ||
namespace: {{ default .Release.Namespace $.Values.painter.namespace }} | ||
{{- end }} | ||
|
||
|
||
{{- define "painter.serviceSpec"}} | ||
|
||
{{- end }} {{/* define "painter.serviceSpec" */}} | ||
{{ if $painter.enabled }} | ||
{{/* Render painter service template with overrides from values*/}} | ||
{{- $painterServiceOverrides := dict }} | ||
{{- if $painter.serviceOverrides }} | ||
{{- $painterServiceOverrides = $painter.serviceOverrides }} | ||
{{- end }} | ||
|
||
--- | ||
|
||
{{ include "skv2.utils.merge" (list . $painterServiceOverrides "painter.serviceSpec") }} | ||
{{- end }} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Code generated by skv2. DO NOT EDIT. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Code generated by skv2. DO NOT EDIT. | ||
|
||
painter: | ||
deploymentOverrides: null | ||
enabled: true | ||
env: | ||
- name: FOO | ||
value: bar | ||
extraEnvs: {} | ||
floatingUserId: false | ||
image: | ||
pullPolicy: IfNotPresent | ||
registry: quay.io/solo-io | ||
repository: painter | ||
tag: v0.0.0 | ||
ports: {} | ||
runAsUser: 10101 | ||
serviceOverrides: null | ||
serviceType: "" | ||
sidecars: {} | ||
|