Skip to content

Yaml for DECAPOD (Declarative Application Orchestration & Delivery )

License

Notifications You must be signed in to change notification settings

openinfradev/decapod-base-yaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0c4e04a · May 17, 2024
Aug 16, 2023
Aug 16, 2023
Aug 16, 2023
Aug 16, 2023
Mar 7, 2023
May 13, 2021
May 2, 2024
May 6, 2024
Aug 16, 2023
Nov 3, 2023
Nov 2, 2023
Dec 5, 2023
Feb 10, 2023
Jun 4, 2020
May 13, 2021
Jan 14, 2021

Repository files navigation

decapod-base-yaml

This project provides an easy way to create/maintain complex YAML files using kustomize and kustomize plugin.
It works with decapod-site which contain differences between each environment (e.g. development, staging and production environment).

Features

  • base-yaml and site-yaml structure
  • Qualified product
    • LMA(Logging, Monitoring, Alert)
    • OpenStack
    • Cloud Console

Documents

Layout

An example of decapod-base-yaml:

 openstack
 ├── base
 │   ├── kustomization.yaml
 │   ├── resources.yaml
 │   └── site-values.yaml
 ├── image
 │   └── image-values.yaml 
 └── storage
     ├── ceph.yaml
     └── local-path.yaml

An example of decapod-site:

 dev // site name
 ├── openstack
     ├── kustomization.yaml
     ├── ceph.yaml
     └── site-values.yaml

Example

base(1) + site(2) => variant(3)

  1. decapod-base-yaml/lma/base/resources.yaml:

    apiVersion: helm.fluxcd.io/v1
    kind: HelmRelease
    metadata:
    name: elasticsearch-operator
    spec:
    chart:
       repository: https://openinfradev.github.io/helm-repo
       name: elasticsearch-operator
       version: 1.0.3
    releaseName: elasticsearch-operator
    targetNamespace: elastic-system
    values:
       elasticsearchOperator:
          nodeSelector: {} # TO_BE_FIXED
  2. decapod-site/dev/lma/site-values.yaml:

    apiVersion: openinfradev.github.com/v1
    kind: HelmValuesTransformer
    metadata:
    name: site
    
    global:
    nodeSelector:
       taco-lma: enabled
    
    charts:
    - name: elasticsearch-operator
    override:
       elasticsearchOperator.nodeSelector: $(nodeSelector)
  3. decapod-site/dev/lma/lma-manifest.yaml:

    apiVersion: helm.fluxcd.io/v1
    kind: HelmRelease
    metadata:
    name: elasticsearch-operator
    spec:
    chart:
       repository: https://openinfradev.github.io/helm-repo
       name: elasticsearch-operator
       version: 1.0.3
    releaseName: elasticsearch-operator
    targetNamespace: elastic-system
    values:
       elasticsearchOperator:
          nodeSelector:
          taco-lma: enabled