diff --git a/charts/fission-all/templates/_helpers.tpl b/charts/fission-all/templates/_helpers.tpl index cc024fd7..91d4951f 100644 --- a/charts/fission-all/templates/_helpers.tpl +++ b/charts/fission-all/templates/_helpers.tpl @@ -38,8 +38,16 @@ This template generates the image name for the deployment depending on the value */}} {{- define "fission-bundleImage" -}} {{- if .Values.repository -}} + {{- if eq .Values.imageTag "" -}} + {{ .Values.repository }}/{{ .Values.image }} + {{- else -}} {{ .Values.repository }}/{{ .Values.image }}:{{ .Values.imageTag }} + {{- end }} {{- else -}} - {{ .Values.image }}:{{ .Values.imageTag }} + {{- if eq .Values.imageTag "" -}} + {{ .Values.image }} + {{- else -}} + {{ .Values.image }}:{{ .Values.imageTag }} + {{- end }} {{- end }} {{- end -}} diff --git a/charts/fission-all/templates/deployment.yaml b/charts/fission-all/templates/deployment.yaml index 44ff7409..36e634f2 100644 --- a/charts/fission-all/templates/deployment.yaml +++ b/charts/fission-all/templates/deployment.yaml @@ -210,7 +210,11 @@ spec: args: ["--executorPort", "8888", "--namespace", "{{ .Values.functionNamespace }}"] env: - name: FETCHER_IMAGE + {{- if eq .Values.fetcher.imageTag "" }} + value: "{{ .Values.fetcher.image }}" + {{- else }} value: "{{ .Values.fetcher.image }}:{{ .Values.fetcher.imageTag }}" + {{- end }} - name: FETCHER_IMAGE_PULL_POLICY value: "{{ .Values.pullPolicy }}" - name: RUNTIME_IMAGE_PULL_POLICY @@ -282,7 +286,11 @@ spec: args: ["--builderMgr", "--storageSvcUrl", "http://storagesvc.{{ .Release.Namespace }}", "--envbuilder-namespace", "{{ .Values.builderNamespace }}"] env: - name: FETCHER_IMAGE + {{- if eq .Values.fetcher.imageTag "" }} + value: "{{ .Values.fetcher.image }}" + {{- else }} value: "{{ .Values.fetcher.image }}:{{ .Values.fetcher.imageTag }}" + {{- end }} - name: FETCHER_IMAGE_PULL_POLICY value: "{{ .Values.pullPolicy }}" - name: BUILDER_IMAGE_PULL_POLICY @@ -642,7 +650,11 @@ spec: spec: containers: - name: mqtrigger + {{- if eq .Values.imageTag "" }} + image: "{{ .Values.image }}" + {{- else }} image: "{{ .Values.image }}:{{ .Values.imageTag }}" + {{- end }} imagePullPolicy: {{ .Values.pullPolicy }} command: ["/fission-bundle"] args: ["--mqt", "--routerUrl", "http://router.{{ .Release.Namespace }}"] @@ -732,7 +744,11 @@ spec: spec: containers: - name: mqtrigger + {{- if eq .Values.imageTag "" }} + image: "{{ .Values.image }}" + {{- else }} image: "{{ .Values.image }}:{{ .Values.imageTag }}" + {{- end }} imagePullPolicy: {{ .Values.pullPolicy }} command: ["/fission-bundle"] args: ["--mqt", "--routerUrl", "http://router.{{ .Release.Namespace }}"] diff --git a/charts/fission-all/templates/fluentbit.yaml b/charts/fission-all/templates/fluentbit.yaml index e1bbdfce..e73191a1 100644 --- a/charts/fission-all/templates/fluentbit.yaml +++ b/charts/fission-all/templates/fluentbit.yaml @@ -109,11 +109,7 @@ spec: {{- end }} containers: - name: logger -{{ if .Values.repository }} - image: "{{ .Values.repository }}/{{ .Values.image }}:{{ .Values.imageTag }}" -{{ else }} - image: "{{ .Values.image }}:{{ .Values.imageTag }}" -{{ end }} + image: {{ include "fission-bundleImage" . | quote }} imagePullPolicy: {{ .Values.pullPolicy }} env: - name: NODE_NAME diff --git a/charts/fission-all/templates/pre-upgrade-job.yaml b/charts/fission-all/templates/pre-upgrade-job.yaml index b8ad16cd..af446f9a 100644 --- a/charts/fission-all/templates/pre-upgrade-job.yaml +++ b/charts/fission-all/templates/pre-upgrade-job.yaml @@ -26,7 +26,11 @@ spec: restartPolicy: Never containers: - name: pre-upgrade-job + {{- if .Values.imageTag }} image: {{ .Values.preUpgradeChecksImage }}:{{ .Values.imageTag }} + {{- else }} + image: {{ .Values.preUpgradeChecksImage }} + {{- end }} imagePullPolicy: {{ .Values.pullPolicy }} command: [ "/pre-upgrade-checks" ] args: ["--fn-pod-namespace", "{{ .Values.functionNamespace }}", "--envbuilder-namespace", "{{ .Values.builderNamespace }}"] diff --git a/skaffold.yaml b/skaffold.yaml index ab3ad917..4f195cc4 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -1,53 +1,66 @@ #################################### # This file can be used with Skaffold (https://github.com/GoogleContainerTools/skaffold) to # build and deploy Fission to Kubernetes cluster. +# Skaffold version v1.10.1 is used for this configuration. ############## Usage ############## # Skaffold CLI should be installed on your machine. -# Replace with your registry repo/org name -# Run `TAG=1313 skaffold run` to build and deploy with helm - where replace value of tag to what you want to use as tag for image -# Run`skaffold build` to only build and push images -############## Future Improvement/Limitations ############## -# 1) [LOW] Add profiles to suit various deployment needs +# For building & deploying to Cloud Provider +# $ `skaffold run` +# For building & deploying to Kind cluster use Kind profile +# $ `skaffold run -p kind` #################################### -apiVersion: skaffold/v2beta1 +apiVersion: skaffold/v2beta4 kind: Config build: artifacts: - - image: /fission + - image: fission context: . docker: dockerfile: cmd/fission-bundle/Dockerfile.fission-bundle - - image: /fetcher + - image: fetcher docker: dockerfile: cmd/fetcher/Dockerfile.fission-fetcher - - image: /preupgradechecks + - image: preupgradechecks docker: dockerfile: cmd/preupgradechecks/Dockerfile.fission-preupgradechecks - tagPolicy: - envTemplate: - template: "{{.IMAGE_NAME}}:{{.TAG}}" deploy: helm: + flags: + upgrade: + ["--timeout=3m", "--install", "--force", "--debug"] + install: + ["--timeout=3m","--debug"] releases: - name: fission chartPath: ./charts/fission-all valuesFiles: - ./charts/fission-all/values.yaml namespace: "fission" + artifactOverrides: + image: "fission" + preUpgradeChecksImage: "preupgradechecks" + fetcher.image: "fetcher" setValues: namespace: fission - repository: index.docker.io - # The env template values only should go in setValueTemplates, all other overrides in setValues - setValueTemplates: - image: /fission - preUpgradeChecksImage: /preupgradechecks - fetcher.image: /fetcher - fetcher.imageTag: "{{.TAG}}" - imageTag: "{{.TAG}}" + repository: "index.docker.io" + routerServiceType: LoadBalancer + fetcher.imageTag: "" + imageTag: "" + prometheus.enable: false wait: true recreatePods: false packaged: null imageStrategy: fqn: null - helm: null \ No newline at end of file + helm: null + +profiles: + - name: kind + patches: + - op: replace + path: /deploy/helm/releases/0/setValues/repository + value: "" + - op: replace + path: /deploy/helm/releases/0/setValues/routerServiceType + value: "NodePort"