Using Crossplane in GitOps: What to Check in Git

Store Manifests in Git Repository

---
apiVersion: kubernetes.crossplane.io/v1alpha1
kind: Object
metadata:
name: elasticsearch-my-logging-stack
spec:
references:
- fromObject:
apiVersion: kubernetes.crossplane.io/v1alpha1
kind: Object
name: csv-my-logging-stack
fieldPath: status.atProvider.manifest.status.phase
forProvider:
manifest:
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: my-logging-stack
namespace: default
spec:
version: 7.13.3
nodeSets:
- name: default
count: 1
config:
node.store.allow_mmap: false
providerConfigRef:
name: provider-config-dev
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: capabilities-logging-app
namespace: argocd
spec:
destination:
namespace: dev
server: 'https://kubernetes.default.svc'
source:
path: config/capabilities/crossplane-helm/logging
repoURL: 'https://github.com/morningspace/capabilities-shim-gitops'
targetRevision: HEAD
helm:
parameters:
- name: metadata.name
value: dev-env-logging-stack
project: default
apiVersion: capabilities.morningspace.io/v1alpha1
kind: LoggingClaim
metadata:
name: my-logging-stack
spec:
parameters:
esVersion: 7.13.3
kibanaVersion: 7.13.3
compositionSelector:
matchLabels:
capability: logging
provider: olm
└── environments
├── base
│ ├── logging-claim.yaml
│ └── kustomization.yaml
└── overlays
└── dev
├── logging-claim.yaml
└── kustomization.yaml
apiVersion: capabilities.morningspace.io/v1alpha1
kind: LoggingClaim
metadata:
annotations:
capabilities.morningspace.io/provider-config: provider-config-dev
name: my-logging-stack
spec:
parameters:
esVersion: 7.15.0
kibanaVersion: 7.15.0

Crossplane vs. Helm

metadata:
name: my-logging-stack
namespace: default
spec:
parameters:
esVersion: 7.13.3
kibanaVersion: 7.13.3

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store