Browse Source

add app manifest

Grega Bremec 7 months ago
parent
commit
eb99adbc4a

+ 39 - 0
manifest/base/buildconfig.yml

@@ -0,0 +1,39 @@
+apiVersion: build.openshift.io/v1
+kind: BuildConfig
+metadata:
+  annotations:
+    openshift.io/generated-by: OpenShiftNewApp
+  labels:
+    app: api-client-jobs
+    app.kubernetes.io/component: api-client-jobs
+    app.kubernetes.io/instance: api-client-jobs
+  name: api-client-jobs
+spec:
+  failedBuildsHistoryLimit: 5
+  nodeSelector: null
+  output:
+    to:
+      kind: ImageStreamTag
+      name: api-client-jobs:latest
+  runPolicy: Serial
+  source:
+    git:
+      ref: main
+      uri: https://git.p0f.net/openshift/api-client-jobs.git
+    type: Git
+  strategy:
+    sourceStrategy:
+      from:
+        kind: ImageStreamTag
+        name: openjdk-21:redhat
+        namespace: foo
+      incremental: true
+    type: Source
+  successfulBuildsHistoryLimit: 5
+  triggers:
+  - github: {}
+    type: GitHub
+  - generic: {}
+    type: Generic
+  - type: ConfigChange
+  - type: ImageChange

+ 36 - 0
manifest/base/deployment.yml

@@ -0,0 +1,36 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  annotations:
+    image.openshift.io/triggers: '[{"from":{"kind":"ImageStreamTag","name":"api-client-jobs:latest"},"fieldPath":"spec.template.spec.containers[?(@.name==\"api-client-jobs\")].image"}]'
+  labels:
+    app: api-client-jobs
+    app.kubernetes.io/component: api-client-jobs
+    app.kubernetes.io/instance: api-client-jobs
+  name: api-client-jobs
+spec:
+  progressDeadlineSeconds: 600
+  replicas: 1
+  revisionHistoryLimit: 10
+  selector:
+    matchLabels:
+      deployment: api-client-jobs
+  strategy:
+    type: RollingUpdate
+  template:
+    metadata:
+      labels:
+        deployment: api-client-jobs
+    spec:
+      containers:
+      - env:
+        - name: QUARKUS_TLS_TRUST_STORE_PEM_CERTS
+          value: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        image: ' '
+        imagePullPolicy: IfNotPresent
+        name: api-client-jobs
+        ports:
+        - containerPort: 8080
+          protocol: TCP
+      restartPolicy: Always
+      serviceAccountName: api-client

+ 18 - 0
manifest/base/imagestream.yml

@@ -0,0 +1,18 @@
+apiVersion: image.openshift.io/v1
+kind: ImageStream
+metadata:
+  name: openjdk-21
+spec:
+  lookupPolicy:
+    local: false
+  tags:
+  - annotations: null
+    from:
+      kind: DockerImage
+      name: registry.access.redhat.com/ubi9/openjdk-21:latest
+    importPolicy:
+      importMode: Legacy
+      scheduled: true
+    name: redhat
+    referencePolicy:
+      type: Source

+ 9 - 0
manifest/base/kustomization.yaml

@@ -0,0 +1,9 @@
+resources:
+  - buildconfig.yml
+  - deployment.yml
+  - route.yml
+  - service.yml
+  - serviceaccount.yml
+  - role.yml
+  - rolebinding.yml
+  - imagestream.yml

+ 15 - 0
manifest/base/role.yml

@@ -0,0 +1,15 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+  name: api-client-role
+rules:
+- apiGroups:
+  - batch
+  resources:
+  - jobs
+  verbs:
+  - get
+  - list
+  - create
+  - update
+  - patch

+ 11 - 0
manifest/base/rolebinding.yml

@@ -0,0 +1,11 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  name: api-client-rb
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: api-client-role
+subjects:
+- kind: ServiceAccount
+  name: api-client

+ 16 - 0
manifest/base/route.yml

@@ -0,0 +1,16 @@
+apiVersion: route.openshift.io/v1
+kind: Route
+metadata:
+  labels:
+    app: api-client-jobs
+    app.kubernetes.io/component: api-client-jobs
+    app.kubernetes.io/instance: api-client-jobs
+  name: api-client-jobs
+spec:
+  port:
+    targetPort: 8080-tcp
+  to:
+    kind: Service
+    name: api-client-jobs
+    weight: 100
+  wildcardPolicy: None

+ 16 - 0
manifest/base/service.yml

@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: api-client-jobs
+    app.kubernetes.io/component: api-client-jobs
+    app.kubernetes.io/instance: api-client-jobs
+  name: api-client-jobs
+spec:
+  ports:
+  - name: 8080-tcp
+    port: 8080
+  - name: 8443-tcp
+    port: 8443
+  selector:
+    deployment: api-client-jobs

+ 4 - 0
manifest/base/serviceaccount.yml

@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: api-client