Skip to content

Commit

Permalink
Added datatunes resources (#106)
Browse files Browse the repository at this point in the history
  • Loading branch information
spietras authored Jul 6, 2024
1 parent 0984fcb commit 655a973
Show file tree
Hide file tree
Showing 28 changed files with 346 additions and 0 deletions.
27 changes: 27 additions & 0 deletions src/clusters/main/databases/datatunes/datatunes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Create datatunes Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: datatunes
spec:
# Path inside repository to a directory containing Kustomization files
path: src/clusters/main/databases/datatunes/kustomize
dependsOn:
# Deploy Longhorn first
- name: longhorn
# Deploy Traefik first
- name: traefik
# Apply patches for common configurations
# This key always needs to be here for patching to work
patches:
# Set target namespace
- target:
group: kustomize.toolkit.fluxcd.io
kind: Kustomization
name: .*
patch: |
kind: .
metadata:
name: .
spec:
targetNamespace: datatunes
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Create datatunes-helm Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: datatunes-helm
spec:
# Path inside repository to a directory containing Kustomization files
path: src/clusters/main/databases/datatunes/kustomize/datatunes-helm/kustomize
dependsOn:
# Deploy namespace first
- name: datatunes-namespace
# This key always needs to be here for patching to work
patches: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Configure names transformer
nameReference:
- kind: Secret
fieldSpecs:
# Replace secret names in HelmReleases
- group: helm.toolkit.fluxcd.io
kind: HelmRelease
path: spec/valuesFrom/name
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Create datatunes-helm Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Include the following configuration files
configurations:
- configurations/names.yaml
# Include the following resources
resources:
- resources/release.yaml
- resources/repository.yaml
# Generate secrets
secretGenerator:
- files:
# It's important to include extension in the key
# SOPS will use it to determine the format of the content
- values.yaml=secrets/values.yaml
name: datatunes-helm-secrets-values
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Create datatunes Helm release
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: datatunes
spec:
chart:
spec:
# Use this chart from the repository
chart: datatunes
# Pin version to major
version: "0.x"
# Use this Helm repository
sourceRef:
kind: HelmRepository
name: radio-aktywne
# This key always needs to be here for patching to work
postRenderers: []
values:
database:
urls:
web: https://web.datatunes.k8s.spietras.dev
volume:
# Use ReadWriteOnce access mode
access: ReadWriteOnce
# Use Longhorn storage class
class: longhorn
# Use 1 Gigabyte volume size
size: 1Gi
valuesFrom:
- kind: Secret
name: datatunes-helm-secrets-values
valuesKey: values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Create datatunes Helm repository
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: radio-aktywne
spec:
type: oci
url: oci://ghcr.io/radio-aktywne/charts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
database:
credentials:
admin:
user: ENC[AES256_GCM,data:E/dAtH0=,iv:9Z+KShbzJBdaS3FaT/Fp8sNAgDi3b354fECC7NW7xs4=,tag:pj4Ub33Aq198sDmwld5gaQ==,type:str]
password: ENC[AES256_GCM,data:MUvsu13XQNo=,iv:BBcUyneschFd/Wb/Xb4t/JBlSDOyjiLVm3HCWQhOn18=,tag:d/pBbgTOirQrMbtFBP93fA==,type:str]
readonly:
user: ENC[AES256_GCM,data:Ka6wK/d1sjc=,iv:ZckVQovrU3GQOmxGxLZMwlHvhmyvQoEW6vI/PYzcd3Y=,tag:QBEeve+GQPB9t+FmejejjQ==,type:str]
password: ENC[AES256_GCM,data:mNHduhqdTGk=,iv:IwZ7WJcSLPWUTivIoneumVlaVYJ3Z+kSbKZ52hDE6l0=,tag:VBmCEOlmHqGUkYSpTUfEnA==,type:str]
readwrite:
user: ENC[AES256_GCM,data:HZgjbpbFrtot,iv:ZpMUiy4tLKGS/qDn5z8GwR8V+pk1c/dqJwi4cyeQGqg=,tag:pkFLYPwMUs8kFRIBn/S8mg==,type:str]
password: ENC[AES256_GCM,data:GiejfC4EB9o=,iv:8AFE50EPbdR6poBYJ530bbgEbZSnCx3ouWDeX5owsr4=,tag:Qa/ptdzjHqpvMPzz3m4v2Q==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age14uepygtepskwehywergh9fe9j2a3ytqd80y9r2ekfmett6rq3peqjtgxns
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGY1ZoYlZvWG04Zk9ZdXh2
T0VWUk1oY0R0eEtpQnJRcWIzUXozQUlGOVRNCitxY0h5b3l6QnN2ejNZQ3Z1aXJX
aWhuNjZtYVNlTi9vV2pJOXJ3dkpZQjQKLS0tIGtJdFNOaDVtWXQ5aTd5L1diTzhw
c2RmaXczVnY0azVqWEtZTHQ5YUZFYkEK57cPtu0CelzVM9LFR/i3qUbAPt6HRAUZ
jAlPDHIQqQWeJE7x8E3CwCT3Z7LyA3fgSlt8eZ/n1OE6hNc1uWRz4Q==
-----END AGE ENCRYPTED FILE-----
- recipient: age1y5lqafxarcnlrduh8k3tycnaq63v2alagmtkf0k9gd59pg263axqtt928v
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOalFvczJlL2xpUlVEblRD
TGlid0dzRWhxYTBUZENVQzNESGtyTmkvcVFJCmxtWDQyb2VJNUNPaEVJVzVja0RK
aEVOZ2ZsMmZTckduVGRzcHFWSUFJdjAKLS0tIFRHZ3M0dUlob0p6R0JPQlpSWG0x
cm1sN3U1VnZNNTU1NFQ2UlRmSUJiVUkKcDxNEToerq/aAa+m8Bmyg9R+UsuMXwx/
1guqoWy3m4ucGQBi7eCswg5m+rGee+FgzlQsan9EQwL8Zhh8sTwlaQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-07-06T19:21:29Z"
mac: ENC[AES256_GCM,data:lY436bz0d5pLEydhpLqUcgZscPhEQCs36ely7E99HT7+yAI4JsDJ8pGQMaRq5E82KTceFubgKEHPdsxUtmnTBI2ToIVnWzjxA00/3dyS0b+xbmTNbwlL32sCRi+UjHv4Jq5imP7NfY8JQ99cYG37/wlBLeBTHLLkzExSqtCAruk=,iv:djAOpAszE9I10SKhNd2Vu9YVyk5O0ccOIKyWpUBX2k8=,tag:FHUezMpwi6QZjc+9kS6NrQ==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Create datatunes-namespace Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: datatunes-namespace
spec:
# Path inside repository to a directory containing Kustomization files
path: src/clusters/main/databases/datatunes/kustomize/datatunes-namespace/kustomize
# This key always needs to be here for patching to work
patches: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Create datatunes-namespace Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Include the following resources
resources:
- resources/namespace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Create datatunes namespace
apiVersion: v1
kind: Namespace
metadata:
name: datatunes
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Create datatunes-traefik Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: datatunes-traefik
spec:
# Path inside repository to a directory containing Kustomization files
path: src/clusters/main/databases/datatunes/kustomize/datatunes-traefik/kustomize
dependsOn:
# Deploy Helm release first
- name: datatunes-helm
# This key always needs to be here for patching to work
patches: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Create datatunes-traefik Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Include the following resources
resources:
- resources/routes/s3.yaml
- resources/routes/web.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Create S3 ingress route for datatunes
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: datatunes-s3
spec:
entryPoints:
# Use entrypoint for HTTPS traffic
- https
routes:
# Match traffic with the Host header
- match: HostRegexp(`datatunes\..*`)
kind: Rule
services:
# Route traffic to the datatunes service
- name: datatunes
# This is the name of the port in the service
port: s3
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Create web ingress route for datatunes
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: datatunes-web
spec:
entryPoints:
# Use entrypoint for HTTPS traffic
- https
routes:
# Match traffic with the Host header
- match: HostRegexp(`web\.datatunes\..*`)
kind: Rule
services:
# Route traffic to the datatunes service
- name: datatunes
# This is the name of the port in the service
port: web
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Create datatunes Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Include the following resources
resources:
- datatunes-helm/datatunes-helm.yaml
- datatunes-namespace/datatunes-namespace.yaml
- datatunes-traefik/datatunes-traefik.yaml
1 change: 1 addition & 0 deletions src/clusters/main/databases/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ resources:
- datarecords/datarecords.yaml
- datashows/datashows.yaml
- datatimes/datatimes.yaml
- datatunes/datatunes.yaml
# Apply patches for common configurations
patches:
# Set patch to add labels to all resources in nested Kustomizations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ spec:
dnsNames:
- "*.k8s.spietras.dev"
- "*.datarecords.k8s.spietras.dev"
- "*.datatunes.k8s.spietras.dev"
- "*.emipass.k8s.spietras.dev"
# Use Let's Encrypt to issue the certificate
issuerRef:
Expand Down
25 changes: 25 additions & 0 deletions tests/clusters/ci/main/databases/datatunes/datatunes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Create datatunes Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: datatunes
spec:
# Path inside repository to a directory containing Kustomization files
path: tests/clusters/ci/main/databases/datatunes/kustomize
dependsOn:
# Deploy Traefik first
- name: traefik
# Apply patches for common configurations
# This key always needs to be here for patching to work
patches:
# Set target namespace
- target:
group: kustomize.toolkit.fluxcd.io
kind: Kustomization
name: .*
patch: |
kind: .
metadata:
name: .
spec:
targetNamespace: datatunes
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Create datatunes-helm Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: datatunes-helm
spec:
# Path inside repository to a directory containing Kustomization files
path: tests/clusters/ci/main/databases/datatunes/kustomize/datatunes-helm/kustomize
dependsOn:
# Deploy namespace first
- name: datatunes-namespace
# This key always needs to be here for patching to work
patches: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Create datatunes-helm Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Include the following resources
resources:
- resources/release.yaml
- resources/repository.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Create datatunes Helm release
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: datatunes
spec:
chart:
spec:
# Use this chart from the repository
chart: datatunes
# Pin version to major
version: "0.x"
# Use this Helm repository
sourceRef:
kind: HelmRepository
name: radio-aktywne
# This key always needs to be here for patching to work
postRenderers: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Create datatunes Helm repository
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: radio-aktywne
spec:
type: oci
url: oci://ghcr.io/radio-aktywne/charts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Create datatunes-namespace Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: datatunes-namespace
spec:
# Path inside repository to a directory containing Kustomization files
path: tests/clusters/ci/main/databases/datatunes/kustomize/datatunes-namespace/kustomize
# This key always needs to be here for patching to work
patches: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Overlay datatunes-namespace Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../../../../../../../../src/clusters/main/databases/datatunes/kustomize/datatunes-namespace/kustomize
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Create datatunes-traefik Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: datatunes-traefik
spec:
# Path inside repository to a directory containing Kustomization files
path: tests/clusters/ci/main/databases/datatunes/kustomize/datatunes-traefik/kustomize
dependsOn:
# Deploy Helm release first
- name: datatunes-helm
# This key always needs to be here for patching to work
patches: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Overlay datatunes-traefik Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../../../../../../../../src/clusters/main/databases/datatunes/kustomize/datatunes-traefik/kustomize
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Create datatunes Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Include the following resources
resources:
- datatunes-helm/datatunes-helm.yaml
- datatunes-namespace/datatunes-namespace.yaml
- datatunes-traefik/datatunes-traefik.yaml
1 change: 1 addition & 0 deletions tests/clusters/ci/main/databases/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ resources:
- datarecords/datarecords.yaml
- datashows/datashows.yaml
- datatimes/datatimes.yaml
- datatunes/datatunes.yaml
# Apply patches for common configurations
patches:
# Set patch to add labels to all resources in nested Kustomizations
Expand Down

0 comments on commit 655a973

Please sign in to comment.