Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/helm-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,14 @@ on:

jobs:
release:
# depending on default permission settings for your org (contents being read-only or read-write for workloads), you will have to add permissions
# see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0

Expand All @@ -20,6 +24,6 @@ jobs:
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"

- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.3.0
uses: helm/chart-releaser-action@v1.5.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
18 changes: 12 additions & 6 deletions charts/uffizzi-app/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: uffizzi-app
version: 1.2.1
version: "2.0.0"
kubeVersion: ">= 1.21.0-0" # https://issuetracker.google.com/issues/77503699
description: "Uffizzi is an open-source engine for creating lightweight, ephemeral test environments for APIs and full-stack applications. Uffizzi enables teams to preview new features before merging."
type: application
Expand All @@ -20,15 +20,20 @@ home: https://uffizzi.com/
sources:
- https://github.com/UffizziCloud/uffizzi
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
tags:
- bitnami-common
version: 2.x.x
- name: uffizzi-controller
version: "1.0.0"
version: "2.x.x"
repository: https://uffizzicloud.github.io/uffizzi_controller/
- name: postgresql
version: "12.1.11"
version: "12.x.x"
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
- name: redis
version: "17.6.0"
version: "17.x.x"
repository: https://charts.bitnami.com/bitnami
condition: redis.enabled
maintainers:
Expand All @@ -39,9 +44,10 @@ maintainers:
email: adam.vollrath@uffizzi.com
url: https://github.com/axisofentropy
icon: https://app.uffizzi.com/favicon.png
appVersion: "1.0.0"
appVersion: "1.2.1"
deprecated: false
annotations:
# Use this annotation to indicate that this chart version is a pre-release.
# https://artifacthub.io/docs/topics/annotations/helm/
artifacthub.io/prerelease: "false"
artifacthub.io/category: integration-delivery
artifacthub.io/license: Apache-2.0
2 changes: 1 addition & 1 deletion charts/uffizzi-app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This chart installs Uffizzi.

## Requirements

This chart requires a Kubernetes Cluster. While it will likely function on k8s >= 1.19, we have only tested upon k8s 1.21 - 1.23.
This chart requires a Kubernetes Cluster. While it will likely function on k8s >= 1.19, we have only tested upon k8s 1.21 - 1.26.

The Cluster must be capable of provisioning `Ingress` resources that obtain public IP addresses and/or hostnames.

Expand Down
17 changes: 17 additions & 0 deletions charts/uffizzi-app/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{{/* vim: set filetype=mustache: */}}

{{- define "web.image" -}}
{{ include "common.images.image" (dict "imageRoot" .Values.web.image "global" .Values.global) }}
{{- end -}}

{{- define "web.renderImagePullSecrets" -}}
{{- include "common.images.renderPullSecrets" (dict "images" (list .Values.web.image) "context" $) -}}
{{- end -}}

{{- define "sidekiq.image" -}}
{{ include "common.images.image" (dict "imageRoot" .Values.sidekiq.image "global" .Values.global) }}
{{- end -}}

{{- define "sidekiq.renderImagePullSecrets" -}}
{{- include "common.images.renderPullSecrets" (dict "images" (list .Values.sidekiq.image) "context" $) -}}
{{- end -}}
4 changes: 3 additions & 1 deletion charts/uffizzi-app/templates/configmap-common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: uffizzi-web-common-envs
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}
data:
DATABASE_POOL: "16"
DATABASE_PORT: {{ .Values.global.postgresql.service.ports.postgresql | quote }}
Expand All @@ -11,6 +13,6 @@ data:
CONTROLLER_URL: {{ default (print "http://" .Release.Name "-controller:8080") .Values.controller_url }}
EMAIL_DELIVERY_ENABLED: {{ .Values.feature_email_delivery | quote }}
MANAGED_DNS_ZONE_DNS_NAME: {{ .Values.managed_dns_zone_dns_name | quote }}
UFFIZZI_USER_EMAIL: {{ .Values.global.uffizzi.firstUser.email }}
UFFIZZI_USER_EMAIL: {{ .Values.global.uffizzi.firstUser.email | quote }}
UFFIZZI_USER_PASSWORD: {{ .Values.global.uffizzi.firstUser.password | quote }}
UFFIZZI_PROJECT_NAME: {{ .Values.global.uffizzi.firstUser.projectName | quote }}
2 changes: 2 additions & 0 deletions charts/uffizzi-app/templates/configmap-sidekiq.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: uffizzi-web-sidekiq-envs
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}

data:
SIDEKIQ_CONCURRENCY: "10"
2 changes: 2 additions & 0 deletions charts/uffizzi-app/templates/configmap-web.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: uffizzi-web-service-envs
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}

data:
ALLOWED_HOSTS: {{ .Values.allowed_hosts | quote }}
Expand Down
2 changes: 2 additions & 0 deletions charts/uffizzi-app/templates/secret-web.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ apiVersion: v1
kind: Secret
metadata:
name: uffizzi-web-secret-envs
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}
type: Opaque
data:
DATABASE_USER: {{ .Values.global.postgresql.auth.username | b64enc }}
Expand Down
15 changes: 9 additions & 6 deletions charts/uffizzi-app/templates/sidekiq-deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
apiVersion: apps/v1
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ .Release.Name }}-sidekiq
labels:
name: {{ include "common.names.fullname" . }}-sidekiq
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}
app: uffizzi-sidekiq

spec:
replicas: {{ .Values.sidekiq_replicas }}
replicas: {{ .Values.sidekiq.replicas }}
selector:
matchLabels:
app: uffizzi-sidekiq

template:
metadata:
labels:
labels: {{ include "common.labels.standard" . | nindent 8 }}
app: uffizzi-sidekiq
spec:
automountServiceAccountToken: false
{{- include "sidekiq.renderImagePullSecrets" . | nindent 6 }}
containers:
- name: uffizzi-sidekiq
image: {{ .Values.image }}
image: {{ include "sidekiq.image" . }}
imagePullPolicy: {{ .Values.sidekiq.image.pullPolicy }}
command:
- /bin/bash
- -c
Expand Down
15 changes: 9 additions & 6 deletions charts/uffizzi-app/templates/web-deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
apiVersion: apps/v1
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ .Release.Name }}-web
labels:
name: {{ include "common.names.fullname" . }}-web
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}
app: uffizzi-web

spec:
replicas: {{ .Values.web_replicas }}
replicas: {{ .Values.web.replicas }}
selector:
matchLabels:
app: uffizzi-web

template:
metadata:
labels:
labels: {{ include "common.labels.standard" . | nindent 8 }}
app: uffizzi-web
spec:
automountServiceAccountToken: false
{{- include "web.renderImagePullSecrets" . | nindent 6 }}
containers:
- name: uffizzi-web
image: {{ .Values.image }}
image: {{ include "web.image" . }}
imagePullPolicy: {{ .Values.web.image.pullPolicy }}
command:
- /bin/bash
- -c
Expand Down
4 changes: 3 additions & 1 deletion charts/uffizzi-app/templates/web-ingress.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
apiVersion: networking.k8s.io/v1
apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress
metadata:
name: {{ .Release.Name }}-web-ingress
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}
annotations:
cert-manager.io/cluster-issuer: {{ print .Release.Name "-" (index (.Values) "uffizzi-controller" "clusterIssuer") }}
kubernetes.io/ingress.class: nginx
Expand Down
2 changes: 2 additions & 0 deletions charts/uffizzi-app/templates/web-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-web-service
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}

spec:
type: NodePort
Expand Down
28 changes: 25 additions & 3 deletions charts/uffizzi-app/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,34 @@ global:
username: username
password: ChangeMeNow

# Please note that this will override the image parameters, including dependencies, configured to use the global value.
# Global Docker image registry
imageRegistry: ""
# Global Docker registry secret names as an array
# example: `imagePullSecrets: [myRegistryKeySecretName]`
imagePullSecrets: []

web:
replicas: 3
image:
registry: ""
repository: uffizzi/app
tag: latest
pullPolicy: Always
pullSecrets: []

sidekiq:
replicas: 1
image:
registry: ""
repository: uffizzi/app
tag: latest
pullPolicy: Always
pullSecrets: []

env: production
app_url: https://uffizzi.example.com
webHostname: uffizzi.example.com
image: uffizzi/app
web-replicas: 3
sidekiq-replicas: 1
hostname: localhost
controller_url: ""
allowed_hosts: ""
Expand Down