feat: Add helmfile for linkerd
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
bases:
|
||||||
|
- ../envs/environments.yaml.gotmpl
|
||||||
|
|
||||||
|
repositories:
|
||||||
|
- name: linkerd
|
||||||
|
url: 'https://helm.linkerd.io/stable'
|
||||||
|
|
||||||
|
commonLabels:
|
||||||
|
tier: system
|
||||||
|
|
||||||
|
apiVersions:
|
||||||
|
- monitoring.coreos.com/v1
|
||||||
|
|
||||||
|
releases:
|
||||||
|
- name: linkerd
|
||||||
|
namespace: linkerd
|
||||||
|
chart: linkerd/linkerd-control-plane
|
||||||
|
version: 1.9.3
|
||||||
|
condition: linkerd.enabled
|
||||||
|
values:
|
||||||
|
- ../values/linkerd/values/linkerd.yaml.gotmpl
|
||||||
|
- ../values/linkerd/values/linkerd-{{ .Environment.Name }}.yaml.gotmpl
|
||||||
|
postRenderer: ../bin/kustomizer
|
||||||
|
postRendererArgs:
|
||||||
|
- ../values/linkerd/kustomize/{{ .Environment.Name }}
|
||||||
|
missingFileHandler: Info
|
||||||
|
- name: manifests
|
||||||
|
namespace: linkerd
|
||||||
|
chart: manifests
|
||||||
|
condition: linkerd.enabled
|
||||||
|
missingFileHandler: Info
|
||||||
|
values:
|
||||||
|
- ../values/env.yaml
|
||||||
|
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
||||||
|
- ../values/linkerd/env.yaml.gotmpl
|
||||||
|
- ../values/linkerd/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
|
||||||
|
hooks:
|
||||||
|
- events: [ prepare, cleanup ]
|
||||||
|
showlogs: true
|
||||||
|
command: ../bin/helmify
|
||||||
|
args:
|
||||||
|
- '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}'
|
||||||
|
- '{{`{{ .Release.Chart }}`}}'
|
||||||
|
- '{{`{{ .Environment.Name }}`}}'
|
||||||
|
- ../values/linkerd/manifests
|
||||||
|
- manifests
|
||||||
|
|
||||||
@@ -13,6 +13,11 @@ controller:
|
|||||||
cpu: {{ .Values.nginx.resources.controller.cpu }}
|
cpu: {{ .Values.nginx.resources.controller.cpu }}
|
||||||
memory: {{ .Values.nginx.resources.controller.memory }}
|
memory: {{ .Values.nginx.resources.controller.memory }}
|
||||||
|
|
||||||
|
{{if eq .Values.clusterConfig.cluster "ekman"}}
|
||||||
|
config:
|
||||||
|
worker-prcesses: 32
|
||||||
|
{{end }}
|
||||||
|
|
||||||
ingressClassResource:
|
ingressClassResource:
|
||||||
default: true
|
default: true
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
linkerd:
|
||||||
|
enabled: true
|
||||||
|
autosync: true
|
||||||
|
trustAnchorPEM: |
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBtDCCAVqgAwIBAgIQRlhbOLj9zw+QTGHqbOBaozAKBggqhkjOPQQDAjAlMSMw
|
||||||
|
IQYDVQQDExpyb290LmxpbmtlcmQuY2x1c3Rlci5sb2NhbDAeFw0yMTA0MDkxNDAy
|
||||||
|
NTFaFw0zMTA0MDcxNDAyNTFaMCUxIzAhBgNVBAMTGnJvb3QubGlua2VyZC5jbHVz
|
||||||
|
dGVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEljOLtSPSi6XIEdFP
|
||||||
|
VCGa4BKoQ0X5dBSZvHRLt/IzHRzAbIVIjgjvyRQc7EQlRKvZ8P9um/WG1ypyyA2l
|
||||||
|
C9MWz6NsMGowDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYD
|
||||||
|
VR0OBBYEFHz4UuVKCNX8/hsZCcdTlmWnSCGXMCUGA1UdEQQeMByCGnJvb3QubGlu
|
||||||
|
a2VyZC5jbHVzdGVyLmxvY2FsMAoGCCqGSM49BAMCA0gAMEUCIGAiz3yNhboVdze1
|
||||||
|
sNFcFL2GF5WwW9z53u03UkPkiuBTAiEA4ZHWZJVGV5VAQArL5v32HeH/IjC1ssGl
|
||||||
|
7Y8D0rQqkis=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
webhookPEM: |
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBlDCCATqgAwIBAgIRAP9aY0pRwkDnXqi3FwKmfZowCgYIKoZIzj0EAwIwKDEm
|
||||||
|
MCQGA1UEAxMdd2ViaG9vay5saW5rZXJkLmNsdXN0ZXIubG9jYWwwHhcNMjIxMDI3
|
||||||
|
MDUxNTE0WhcNMjQxMDI1MDkxNTE0WjAoMSYwJAYDVQQDEx13ZWJob29rLmxpbmtl
|
||||||
|
cmQuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIGSt6Th
|
||||||
|
62wgjM5dRbZLa9YwPQAm/T2QnTzzrAUm+GeqvKfBhpPMGX6+91/x20X0uV26LvKz
|
||||||
|
YV1wVMs7tuPZioijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/
|
||||||
|
AgEBMB0GA1UdDgQWBBQWV6+eqRWOPyLWz9s0HT96MOr01zAKBggqhkjOPQQDAgNI
|
||||||
|
ADBFAiBTBFuIJUBEI5T2unrnFhM+Bj0rZFfuxQqEwD6+z2YRzwIhAOINkH5u7Z8M
|
||||||
|
zIVl06Biq2N+MO4TJ+CSS1C1w/22CDru
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
identityIssuerPEM: ""
|
||||||
|
secretScheme: kubernetes.io/tls
|
||||||
|
crds:
|
||||||
|
version: 1.4.0
|
||||||
|
multicluster:
|
||||||
|
version: 30.2.0
|
||||||
|
enabled: false
|
||||||
|
viz:
|
||||||
|
enabled: false
|
||||||
|
jaeger:
|
||||||
|
enabled: false
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
{{- if .Values.clusterConfig.argo.enabled }}
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: linkerd
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "5"
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: linkerd
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
sources:
|
||||||
|
- repoURL: {{ .Values.clusterConfig.manifests }}
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: helmfile.d
|
||||||
|
plugin:
|
||||||
|
name: helmfile-cmp
|
||||||
|
env:
|
||||||
|
- name: CLUSTER_NAME
|
||||||
|
value: {{ .Values.clusterConfig.cluster }}
|
||||||
|
- name: HELMFILE_ENVIRONMENT
|
||||||
|
value: default
|
||||||
|
- name: HELMFILE_FILE_PATH
|
||||||
|
value: linkerd.yaml.gotmpl
|
||||||
|
project: sys
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
component: sys
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
{{- if .Values.linkerd.autosync }}
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
# selfHeal: false
|
||||||
|
{{- end }}
|
||||||
|
ignoreDifferences:
|
||||||
|
- group: batch
|
||||||
|
kind: CronJob
|
||||||
|
jsonPointers:
|
||||||
|
- /spec/schedule
|
||||||
|
- kind: Secret
|
||||||
|
name: linkerd-proxy-injector-k8s-tls
|
||||||
|
jsonPointers:
|
||||||
|
- /data/tls.crt
|
||||||
|
- /data/tls.key
|
||||||
|
- kind: Secret
|
||||||
|
name: linkerd-sp-validator-k8s-tls
|
||||||
|
jsonPointers:
|
||||||
|
- /data/tls.crt
|
||||||
|
- /data/tls.key
|
||||||
|
- kind: Secret
|
||||||
|
name: linkerd-tap-k8s-tls
|
||||||
|
jsonPointers:
|
||||||
|
- /data/tls.crt
|
||||||
|
- /data/tls.key
|
||||||
|
- kind: Secret
|
||||||
|
name: linkerd-policy-validator-k8s-tls
|
||||||
|
jsonPointers:
|
||||||
|
- /data/tls.crt
|
||||||
|
- /data/tls.key
|
||||||
|
- group: admissionregistration.k8s.io
|
||||||
|
kind: MutatingWebhookConfiguration
|
||||||
|
name: linkerd-proxy-injector-webhook-config
|
||||||
|
jqPathExpressions:
|
||||||
|
- '.webhooks[0].clientConfig.caBundle'
|
||||||
|
- group: admissionregistration.k8s.io
|
||||||
|
kind: ValidatingWebhookConfiguration
|
||||||
|
name: linkerd-sp-validator-webhook-config
|
||||||
|
jqPathExpressions:
|
||||||
|
- '.webhooks[0].clientConfig.caBundle'
|
||||||
|
- group: admissionregistration.k8s.io
|
||||||
|
kind: ValidatingWebhookConfiguration
|
||||||
|
name: linkerd-policy-validator-webhook-config
|
||||||
|
jqPathExpressions:
|
||||||
|
- '.webhooks[0].clientConfig.caBundle'
|
||||||
|
- group: apiregistration.k8s.io/v1
|
||||||
|
kind: APIService
|
||||||
|
name: v1alpha1.tap.linkerd.io
|
||||||
|
jsonPointers:
|
||||||
|
- /spec/caBundle
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
identityTrustAnchorsPEM: {{- .Values.linkerd.trustAnchorPEM | toYaml | indent 7 }}
|
||||||
|
identity:
|
||||||
|
issuer:
|
||||||
|
scheme: {{ .Values.linkerd.secretScheme }}
|
||||||
|
{{- if .Values.linkerd.identityIssuerPEM }}
|
||||||
|
tls:
|
||||||
|
crtPEM: {{- .Values.linkerd.identityIssuerPEM | toYaml | indent 14 }}
|
||||||
|
{{- end }}
|
||||||
|
policyValidator:
|
||||||
|
externalSecret: true
|
||||||
|
caBundle: {{- .Values.linkerd.webhookPEM | toYaml | indent 9 }}
|
||||||
|
proxyInjector:
|
||||||
|
externalSecret: true
|
||||||
|
caBundle: {{- .Values.linkerd.webhookPEM | toYaml | indent 9 }}
|
||||||
|
profileValidator:
|
||||||
|
externalSecret: true
|
||||||
|
caBundle: {{- .Values.linkerd.webhookPEM | toYaml | indent 9 }}
|
||||||
Reference in New Issue
Block a user