CCP2 Composition

Page content

Composition

Files

Chart.yaml

apiVersion: v2
name: helm-osi
description: A Helm chart for the osi application

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.0"

dependencies:
  - name: postgresql
    version: 0.1.0
  - name: apache
    version: 0.1.0
  - name: microservice
    version: 0.1.0
    alias: microservice-order
  - name: microservice
    version: 0.1.0
    alias: microservice-shipping
  - name: microservice
    version: 0.1.0
    alias: microservice-invoicing

postgresql-chart.yaml

apiVersion: v2
name: postgresql
description: Helmchart for postgresql database

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "14.0"

values.yaml

# Default values for the osi-microservice application.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

global:
  host: osi.160.85.253.63.nip.io

postgresql:
  secret:
    user: ccpDBuser
    password: cppDBpassword

microservice-order:
  name: order
  image:
    repository: registry.localhost:5000/ccp2-order

microservice-shipping:
  name: shipping
  image:
    repository: registry.localhost:5000/ccp2-shipping

microservice-invoicing:
  name: invoicing
  image:
    repository: registry.localhost:5000/ccp2-invoicing

deployment.yaml (helm value references)

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: apache
    version: {{ quote .Values.deploymentVersion }}
  name: apache
spec:
  replicas: 1
  selector:
    matchLabels:
      app: apache
  strategy: {}
  template:
    metadata:
      labels:
        app: apache
    spec:
      containers:
      - name: apache
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
        imagePullPolicy: Always
        ports:
        - containerPort: 80
        resources: {}

ingress.yaml (helm value references)

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{ .Release.Name }}-{{ .Values.name }}
  labels:
    name: {{ .Release.Name }}-{{ .Values.name }}
spec:
  rules:
    - host: {{ .Values.host }}
      http:
        paths:
          - pathType: Prefix
            path: /
            backend:
              service:
                name: apache
                port:
                  number: 80