Skip to content
Open
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
5 changes: 3 additions & 2 deletions HelmfileHomework/HelmfileHomework.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.5"/>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0"/>
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.5" />
<PackageReference Include="prometheus-net.AspNetCore" Version="8.2.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
</ItemGroup>

</Project>
3 changes: 3 additions & 0 deletions HelmfileHomework/Program.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using HelmfileHomework;
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Prometheus;

var builder = WebApplication.CreateBuilder(args);

Expand Down Expand Up @@ -34,4 +35,6 @@

app.UseHttpsRedirection();

app.UseMetricServer();

app.Run();
7 changes: 5 additions & 2 deletions helmfile-homework/templates/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@ kind: Service
metadata:
name: {{ .Values.app.service }}
namespace: {{ .Release.Namespace }}
labels:
app: {{ .Release.Name }}
spec:
selector:
app: {{ .Release.Namespace }}
app: {{ .Release.Name }}
ports:
- port: 8080
- name: alias8080
port: 8080
targetPort: 8080
17 changes: 17 additions & 0 deletions helmfile-homework/templates/servicemonitor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ .Release.Name }}-servicemonitor
labels:
release: monitoring
spec:
selector:
matchLabels:
app: {{ .Release.Name }}
namespaceSelector:
matchNames:
endpoints:
- port: alias8080
interval: 30s
path: /metrics
scheme: http
12 changes: 12 additions & 0 deletions helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
repositories:
- name: prometheus
url: https://prometheus-community.github.io/helm-charts

releases:
- name: monitoring
namespace: monitoring
chart: prometheus/kube-prometheus-stack
disableValidationOnInstall: true

- name: homework
namespace: homework
chart: ./helmfile-homework
values:
- ./helmfile-homework/values.yaml
needs:
- monitoring/monitoring
disableValidationOnInstall: true