mirror of
https://github.com/MAKS-IT-COM/maksit-certs-ui.git
synced 2026-05-16 04:48:12 +02:00
(feature): migrate to slnx, helm chart review
This commit is contained in:
parent
0f4c4cbeac
commit
830f3e7d3e
@ -18,14 +18,14 @@ Large or architectural changes are best discussed first (see [Contact](#contact)
|
||||
|
||||
- [.NET SDK](https://dotnet.microsoft.com/download) compatible with the `TargetFramework` values in the `.csproj` files under `src/` (the main solution currently targets **.NET 10**).
|
||||
- Optional but recommended for end-to-end checks: **Docker** or **Podman**, as in the README installation sections.
|
||||
- **Visual Studio 2022** or another editor with C# support works well; the solution file is `src/MaksIT.CertsUI.sln`.
|
||||
- **Visual Studio 2022** (17.14+) or another editor with C# support works well; the solution file is `src/MaksIT.CertsUI.slnx` (SLNX; requires a recent `dotnet` SDK, e.g. 9.0.200+).
|
||||
|
||||
### Build
|
||||
|
||||
From the repository root:
|
||||
|
||||
```bash
|
||||
dotnet build src/MaksIT.CertsUI.sln -c Release
|
||||
dotnet build src/MaksIT.CertsUI.slnx -c Release
|
||||
```
|
||||
|
||||
Use `Debug` while iterating locally if you prefer.
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.6.33815.320
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LetsEncrypt", "LetsEncrypt\LetsEncrypt.csproj", "{7DE431E5-889C-434E-AD02-9F89D7A0ED27}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documentation", "Documentation", "{3374FDB1-C95E-4103-8E14-5BBF0BDC4E9D}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
..\CHANGELOG.md = ..\CHANGELOG.md
|
||||
..\CONTRIBUTING.md = ..\CONTRIBUTING.md
|
||||
..\LICENSE.md = ..\LICENSE.md
|
||||
..\README.md = ..\README.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MaksIT.Webapi", "MaksIT.Webapi\MaksIT.Webapi.csproj", "{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}"
|
||||
EndProject
|
||||
Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{0233E43F-435D-4309-B20C-ECD4BFBD2E63}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MaksIT.Models", "MaksIT.Models\MaksIT.Models.csproj", "{6814169B-D4D0-40B2-9FA9-89997DD44C30}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReverseProxy", "ReverseProxy\ReverseProxy.csproj", "{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LetsEncrypt.Tests", "LetsEncrypt.Tests\LetsEncrypt.Tests.csproj", "{65DEB577-FB14-488C-AEB1-3172F0812950}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaksIT.Webapi.Tests", "MaksIT.Webapi.Tests\MaksIT.Webapi.Tests.csproj", "{EB57DB1C-DEEE-4952-9326-FB09903651F4}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7DE431E5-889C-434E-AD02-9F89D7A0ED27}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{B5F39E04-C2E3-49BF-82C2-9DEBAA949E3D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0233E43F-435D-4309-B20C-ECD4BFBD2E63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0233E43F-435D-4309-B20C-ECD4BFBD2E63}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0233E43F-435D-4309-B20C-ECD4BFBD2E63}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0233E43F-435D-4309-B20C-ECD4BFBD2E63}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{0233E43F-435D-4309-B20C-ECD4BFBD2E63}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0233E43F-435D-4309-B20C-ECD4BFBD2E63}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0233E43F-435D-4309-B20C-ECD4BFBD2E63}.Release|x64.ActiveCfg = Release|x64
|
||||
{0233E43F-435D-4309-B20C-ECD4BFBD2E63}.Release|x86.ActiveCfg = Release|x86
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6814169B-D4D0-40B2-9FA9-89997DD44C30}.Release|x86.Build.0 = Release|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BE051147-7AB7-4358-9C24-5CB40FAFF4FC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Release|x64.Build.0 = Release|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{65DEB577-FB14-488C-AEB1-3172F0812950}.Release|x86.Build.0 = Release|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Release|x64.Build.0 = Release|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EB57DB1C-DEEE-4952-9326-FB09903651F4}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {B78BD325-B2C1-456C-8EA8-42F9B89E0351}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
22
src/MaksIT.CertsUI.slnx
Normal file
22
src/MaksIT.CertsUI.slnx
Normal file
@ -0,0 +1,22 @@
|
||||
<Solution>
|
||||
<Configurations>
|
||||
<Platform Name="Any CPU" />
|
||||
<Platform Name="x64" />
|
||||
<Platform Name="x86" />
|
||||
</Configurations>
|
||||
<Folder Name="/Documentation/">
|
||||
<File Path="../CHANGELOG.md" />
|
||||
<File Path="../CONTRIBUTING.md" />
|
||||
<File Path="../LICENSE.md" />
|
||||
<File Path="../README.md" />
|
||||
</Folder>
|
||||
<Project Path="docker-compose.dcproj">
|
||||
<Build Solution="*|Any CPU" />
|
||||
</Project>
|
||||
<Project Path="LetsEncrypt.Tests/LetsEncrypt.Tests.csproj" />
|
||||
<Project Path="LetsEncrypt/LetsEncrypt.csproj" />
|
||||
<Project Path="MaksIT.Models/MaksIT.Models.csproj" />
|
||||
<Project Path="MaksIT.Webapi.Tests/MaksIT.Webapi.Tests.csproj" />
|
||||
<Project Path="MaksIT.Webapi/MaksIT.Webapi.csproj" />
|
||||
<Project Path="ReverseProxy/ReverseProxy.csproj" />
|
||||
</Solution>
|
||||
@ -1,4 +1,4 @@
|
||||
VITE_APP_TITLE=MaksIT.CertsUI
|
||||
VITE_COMPANY=MaksIT
|
||||
VITE_COMPANY_URL=https://maks-it.com
|
||||
VITE_API_URL=http://172.16.0.5:8080/api
|
||||
VITE_API_URL=http://localhost:8080/api
|
||||
@ -1,3 +1,3 @@
|
||||
window.RUNTIME_CONFIG = {
|
||||
API_URL: "http://172.16.0.5:8080/api"
|
||||
API_URL: "http://localhost:8080/api"
|
||||
};
|
||||
@ -13,7 +13,6 @@ services:
|
||||
container_name: certs-ui-client
|
||||
environment:
|
||||
- ASPNETCORE_ENVIRONMENT=Development
|
||||
- LETSENCRYPT_SERVER=http://localhost:8080
|
||||
volumes:
|
||||
- ./MaksIT.WebUI:/app
|
||||
networks:
|
||||
|
||||
@ -18,9 +18,9 @@ Port-forward API example:
|
||||
------------------------------------------------------------
|
||||
## Images
|
||||
|
||||
Image tag: `components.*.image.tag`, then `global.image.tag`, then Chart `appVersion`.
|
||||
Image tag: **`global.image.tag` when set**, else **`components.*.image.tag`**. There is **no** fallback to Chart `appVersion`; set tags explicitly (chart default is `latest` per component when **`global.image.tag`** is omitted). To force one tag for all images, uncomment **`global.image.tag`** in **`values.yaml`** (see commented examples).
|
||||
|
||||
**imagePullPolicy** resolves as: `components.*.image.pullPolicy` (if set in your values), else `global.image.pullPolicy`, else `IfNotPresent`. Values may use **`always`** / **`Always`** (normalized for the Pod spec).
|
||||
**imagePullPolicy**: **`global.image.pullPolicy` when set**, else **`components.*.image.pullPolicy`**, else **`IfNotPresent`** in the template. Chart **`values.yaml`** sets per-component **`pullPolicy: IfNotPresent`** and omits **`global.image.pullPolicy`** so components win by default. Uncomment the example under **`global.image`** to override all. Values may use **`always`** / **`Always`** (normalized for the Pod spec).
|
||||
|
||||
With **`Always`**, the chart sets pod annotation **`rollme`**: by default **`r<Release.Revision>-<unixEpoch>`** so each **`helm upgrade`** bumps the revision even when the tag is unchanged. For **`helm template`** output committed to git, revision is usually **1** and epoch is frozen until you re-render — then pass **`global.rolloutNonce`** from CI (unique per deploy, e.g. pipeline id) so the applied manifest changes every image push. Pin **`global.rollme`** to a string you bump when you need a stable, deterministic rollout key.
|
||||
|
||||
@ -28,6 +28,8 @@ With **`IfNotPresent`** (default), **`rollme`** is omitted; the node may keep a
|
||||
|
||||
Pod annotation **certs-ui.io/image** is the resolved `registry/repository:tag` for debugging.
|
||||
|
||||
Optional per workload under **`components.<name>`**: **`livenessProbe`**, **`readinessProbe`**, **`resources`** (standard Kubernetes container fields). Omit a key to leave it unset.
|
||||
|
||||
------------------------------------------------------------
|
||||
## Config
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@ app.kubernetes.io/name: {{ include "certs-ui.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
helm.sh/chart: {{ include "certs-ui.chart" . }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Kubernetes imagePullPolicy; accepts common casing (always / IfNotPresent). */ -}}
|
||||
@ -44,12 +45,15 @@ imagePullSecrets:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* image tag: component, global.image.tag, Chart.AppVersion */ -}}
|
||||
{{- /* image tag: global.image.tag when set (non-empty), else components.*.image.tag. No Chart.AppVersion. */ -}}
|
||||
{{- define "certs-ui.component.imageTag" -}}
|
||||
{{- $root := .root }}
|
||||
{{- $comp := .comp }}
|
||||
{{- $g := default dict $root.Values.global.image }}
|
||||
{{- $comp.image.tag | default $g.tag | default $root.Chart.AppVersion }}
|
||||
{{- $gt := $g.tag | default "" | toString | trim -}}
|
||||
{{- $ct := $comp.image.tag | default "" | toString | trim -}}
|
||||
{{- $tag := ternary $gt $ct (ne $gt "") }}
|
||||
{{- required "certs-ui: set global.image.tag and/or each components.*.image.tag" $tag }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "certs-ui.podLabels" -}}
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
{{- $root := . -}}
|
||||
{{- $globalPull := $root.Values.global.image.pullPolicy | default "" }}
|
||||
{{- $gimg := $root.Values.global.image | default dict -}}
|
||||
{{- $globalPull := $gimg.pullPolicy | default "" | toString | trim }}
|
||||
{{- range $compName, $comp := .Values.components }}
|
||||
{{- $imageTag := include "certs-ui.component.imageTag" (dict "root" $root "comp" $comp) }}
|
||||
{{- $pullPolicy := include "certs-ui.normalizePullPolicy" (coalesce $comp.image.pullPolicy $globalPull "IfNotPresent") | trim }}
|
||||
{{- $compPull := $comp.image.pullPolicy | default "" | toString | trim }}
|
||||
{{- $pullRaw := ternary $globalPull $compPull (ne $globalPull "") }}
|
||||
{{- $pullPolicy := include "certs-ui.normalizePullPolicy" (default "IfNotPresent" $pullRaw) | trim }}
|
||||
{{- $alwaysPull := eq $pullPolicy "Always" }}
|
||||
{{- $rollEpoch := now | unixEpoch | toString }}
|
||||
{{- $rollRev := $root.Release.Revision | toString }}
|
||||
@ -16,6 +19,8 @@
|
||||
{{- $secretName := ternary $sf.existingSecret (printf "%s-%s-secrets" (include "certs-ui.fullname" $root) $compName) (ne ($sf.existingSecret | default "") "") }}
|
||||
{{- $hasCm := or (ne ($cf.existingConfigMap | default "") "") (and $cf.key (hasKey $cf "content")) }}
|
||||
{{- $hasSecret := or (ne ($sf.existingSecret | default "") "") (and $sf.key (hasKey $sf "content")) }}
|
||||
{{- $svc := default dict $comp.service }}
|
||||
{{- $tgt := default 8080 $svc.targetPort }}
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
@ -53,8 +58,6 @@ spec:
|
||||
- name: {{ $compName }}
|
||||
image: "{{ $comp.image.registry }}/{{ $comp.image.repository }}:{{ $imageTag }}"
|
||||
imagePullPolicy: {{ $pullPolicy }}
|
||||
{{ $svc := default dict $comp.service }}
|
||||
{{ $tgt := default 8080 $svc.targetPort }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: {{ $tgt }}
|
||||
@ -65,6 +68,18 @@ spec:
|
||||
value: {{ .value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with $comp.livenessProbe }}
|
||||
livenessProbe:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with $comp.readinessProbe }}
|
||||
readinessProbe:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with $comp.resources }}
|
||||
resources:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- $p := default dict $comp.persistence -}}
|
||||
{{- $vols := default (list) $p.volumes -}}
|
||||
{{- $hasVols := gt (len $vols) 0 -}}
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
global:
|
||||
imagePullSecrets: []
|
||||
image:
|
||||
tag: "" # used if component image.tag is empty; else Chart appVersion
|
||||
# pullPolicy: always # optional; default IfNotPresent. Use always (any casing) for same-tag registry updates.
|
||||
# rollme: "" # optional; when Always — fixed rollme; bump manually to roll
|
||||
# rolloutNonce: "" # optional; when Always — set per CI run (e.g. build id) if you apply frozen manifests (git-rendered YAML); changes rollme without re-helm timing
|
||||
# Uncomment to override every component (global wins when set). Otherwise use each components.*.image.
|
||||
# No Chart.appVersion.
|
||||
# tag: "latest"
|
||||
# pullPolicy: IfNotPresent
|
||||
# Optional rollout tuning (see NOTES): pin a fixed pod annotation or add a nonce for frozen/git-rendered manifests.
|
||||
# rollme: ""
|
||||
# rolloutNonce: ""
|
||||
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
@ -47,7 +50,8 @@ components:
|
||||
image:
|
||||
registry: cr.maks-it.com
|
||||
repository: certs-ui/server
|
||||
tag: ""
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
value: Production
|
||||
@ -143,7 +147,8 @@ components:
|
||||
image:
|
||||
registry: cr.maks-it.com
|
||||
repository: certs-ui/client
|
||||
tag: ""
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
enabled: true
|
||||
type: ClusterIP
|
||||
@ -159,12 +164,24 @@ components:
|
||||
window.RUNTIME_CONFIG = {
|
||||
API_URL: {{ .Values.certsClientRuntime.apiUrl | toJson }}
|
||||
};
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: http
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: http
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
resources: {}
|
||||
|
||||
reverseproxy:
|
||||
image:
|
||||
registry: cr.maks-it.com
|
||||
repository: certs-ui/reverseproxy
|
||||
tag: ""
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
value: Production
|
||||
@ -175,3 +192,14 @@ components:
|
||||
type: ClusterIP
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: http
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 10
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: http
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
resources: {}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user