浏览代码

added full app manifest

Grega Bremec 1 年之前
父节点
当前提交
5843d61e70

+ 35 - 0
manifest/base/bc-app.yml

@@ -0,0 +1,35 @@
+apiVersion: build.openshift.io/v1
+kind: BuildConfig
+metadata:
+  labels:
+    app: sample
+    app.kubernetes.io/component: sample
+    app.kubernetes.io/instance: sample
+    sample: metrics
+  name: sample
+  namespace: metrics
+spec:
+  output:
+    to:
+      kind: ImageStreamTag
+      name: sample:latest
+  source:
+    git:
+      ref: main
+      uri: https://git.p0f.net/openshift/metrics-sample-rest.git
+    type: Git
+  strategy:
+    sourceStrategy:
+      env:
+      - name: MAVEN_ARGS_APPEND
+        value: -Dquarkus.package.type=uber-jar
+      from:
+        kind: ImageStreamTag
+        name: openjdk:17
+        namespace: metrics
+      incremental: true
+    type: Source
+  triggers:
+  - imageChange: {}
+    type: ImageChange
+

+ 29 - 0
manifest/base/dpl-app.yml

@@ -0,0 +1,29 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  annotations:
+    image.openshift.io/triggers: '[{"from":{"kind":"ImageStreamTag","name":"sample:latest"},"fieldPath":"spec.template.spec.containers[?(@.name==\"sample\")].image"}]'
+  labels:
+    app: sample
+    app.kubernetes.io/component: sample
+    app.kubernetes.io/instance: sample
+    sample: metrics
+  name: sample
+  namespace: metrics
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      deployment: sample
+  template:
+    metadata:
+      labels:
+        deployment: sample
+    spec:
+      containers:
+      - image: ' '
+        imagePullPolicy: IfNotPresent
+        name: sample
+        ports:
+        - containerPort: 8080
+          protocol: TCP

+ 14 - 0
manifest/base/is-app.yml

@@ -0,0 +1,14 @@
+apiVersion: image.openshift.io/v1
+kind: ImageStream
+metadata:
+  labels:
+    app: sample
+    app.kubernetes.io/component: sample
+    app.kubernetes.io/instance: sample
+    sample: metrics
+  name: sample
+  namespace: metrics
+spec:
+  lookupPolicy:
+    local: false
+

+ 18 - 0
manifest/base/is-ojdk.yml

@@ -0,0 +1,18 @@
+apiVersion: image.openshift.io/v1
+kind: ImageStream
+metadata:
+  labels:
+    sample: metrics
+  name: openjdk
+  namespace: metrics
+spec:
+  lookupPolicy:
+    local: false
+  tags:
+  - from:
+      kind: DockerImage
+      name: registry.access.redhat.com/ubi9/openjdk-17:latest
+    name: "17"
+    referencePolicy:
+      type: Source
+

+ 9 - 0
manifest/base/kustomization.yml

@@ -0,0 +1,9 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+resources:
+  - is-app.yml
+  - is-ojdk.yml
+  - bc-app.yml
+  - svc-app.yml
+  - rt-app.yml
+  - dpl-app.yml

+ 22 - 0
manifest/base/rt-app.yml

@@ -0,0 +1,22 @@
+apiVersion: route.openshift.io/v1
+kind: Route
+metadata:
+  annotations:
+    openshift.io/host.generated: "true"
+  labels:
+    app: sample
+    app.kubernetes.io/component: sample
+    app.kubernetes.io/instance: sample
+    sample: metrics
+  name: sample
+  namespace: metrics
+spec:
+  host: sample-metrics.apps.ocp4.example.com
+  port:
+    targetPort: 8080-tcp
+  to:
+    kind: Service
+    name: sample
+    weight: 100
+  wildcardPolicy: None
+

+ 19 - 0
manifest/base/svc-app.yml

@@ -0,0 +1,19 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: sample
+    app.kubernetes.io/component: sample
+    app.kubernetes.io/instance: sample
+    sample: metrics
+  name: sample
+  namespace: metrics
+spec:
+  ports:
+  - name: 8080-tcp
+    port: 8080
+  - name: 8443-tcp
+    port: 8443
+  selector:
+    deployment: sample
+

+ 0 - 0
src/main/resources/alert-rule.yml → manifest/monitoring/alert-rule.yml


+ 8 - 0
manifest/monitoring/cluster-monitoring-stack.yml

@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: cluster-monitoring-config
+  namespace: openshift-monitoring
+data:
+  config.yaml: |
+    enableUserWorkload: true

+ 6 - 0
manifest/monitoring/kustomization.yml

@@ -0,0 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+resources:
+  - cluster-monitoring-stack.yml
+  - service-monitor.yml
+  - alert-rule.yml

+ 0 - 0
src/main/resources/svcmon.yml → manifest/monitoring/service-monitor.yml