Compare commits
	
		
			8 Commits
		
	
	
		
			3dd546d281
			...
			75c74ba301
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 75c74ba301 | |||
| 1c3fdde1dd | |||
| 4582b19aaf | |||
| fe46e81fd9 | |||
| 3064d4ec7a | |||
| 3aa05f3e30 | |||
| a2cff0bf55 | |||
| b54b6b0f60 | 
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
				
			|||||||
# Kluster setup and IaaC using argoCD
 | 
					# Kluster setup and IaaC using argoCD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Initial setup
 | 
					### Description
 | 
				
			||||||
#### Requirements:
 | 
					#### Requirements:
 | 
				
			||||||
- A running k3s instance
 | 
					- A running k3s instance
 | 
				
			||||||
- `sealedsecrets` deployed
 | 
					- `sealedsecrets` deployed
 | 
				
			||||||
@@ -27,20 +27,21 @@ The app-of-apps will bootstrap a fully featured cluster with the following compo
 | 
				
			|||||||
    - immich
 | 
					    - immich
 | 
				
			||||||
    - ...
 | 
					    - ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Recap
 | 
					## Setup instructions
 | 
				
			||||||
- install sealedsecrets see [README](./infrastructure/sealedsecrets/README.md)
 | 
					1. install sealedsecrets see [README](./infrastructure/sealedsecrets/README.md)
 | 
				
			||||||
    ```bash
 | 
					    ```bash
 | 
				
			||||||
    kubectl apply -k infrastructure/sealedsecrets
 | 
					    kubectl apply -k infrastructure/sealedsecrets
 | 
				
			||||||
    kubectl apply -f infrastructure/sealedsecrets/main.key
 | 
					    kubectl apply -f infrastructure/sealedsecrets/main.key
 | 
				
			||||||
    kubectl delete pod -n kube-system -l name=sealed-secrets-controller
 | 
					    kubectl delete pod -n kube-system -l name=sealed-secrets-controller
 | 
				
			||||||
    ```
 | 
					    ```
 | 
				
			||||||
- install argocd
 | 
					1. install argocd and the app-of-apps bundled with it
 | 
				
			||||||
    ```bash
 | 
					    ```bash
 | 
				
			||||||
    kubectl apply -k infrastructure/argocd
 | 
					    kubectl apply -k infrastructure/argocd
 | 
				
			||||||
    ```
 | 
					    ```
 | 
				
			||||||
- wait...
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> NOTE: The argocd kustomization already mentions some CRDs available only after the full bootstrapping (traefik). You might have to apply the last step twice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Adding an application
 | 
					### Adding an application
 | 
				
			||||||
todo
 | 
					todo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@ resources:
 | 
				
			|||||||
images:
 | 
					images:
 | 
				
			||||||
  - name: adguard/adguardhome
 | 
					  - name: adguard/adguardhome
 | 
				
			||||||
    newName: adguard/adguardhome
 | 
					    newName: adguard/adguardhome
 | 
				
			||||||
    newTag: v0.107.64
 | 
					    newTag: v0.107.65
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace: adguard
 | 
					namespace: adguard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,7 +21,7 @@ helmCharts:
 | 
				
			|||||||
  - name: redis
 | 
					  - name: redis
 | 
				
			||||||
    releaseName: redis
 | 
					    releaseName: redis
 | 
				
			||||||
    repo: https://charts.bitnami.com/bitnami
 | 
					    repo: https://charts.bitnami.com/bitnami
 | 
				
			||||||
    version: 21.2.13
 | 
					    version: 21.2.14
 | 
				
			||||||
    valuesInline:
 | 
					    valuesInline:
 | 
				
			||||||
      auth:
 | 
					      auth:
 | 
				
			||||||
        enabled: false
 | 
					        enabled: false
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,6 +27,6 @@ images:
 | 
				
			|||||||
helmCharts:
 | 
					helmCharts:
 | 
				
			||||||
  - name: authelia
 | 
					  - name: authelia
 | 
				
			||||||
    releaseName: authelia
 | 
					    releaseName: authelia
 | 
				
			||||||
    version: 0.10.41
 | 
					    version: 0.10.42
 | 
				
			||||||
    repo: https://charts.authelia.com
 | 
					    repo: https://charts.authelia.com
 | 
				
			||||||
    valuesFile: authelia.values.yaml
 | 
					    valuesFile: authelia.values.yaml
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,6 @@ apiVersion: metallb.io/v1beta1
 | 
				
			|||||||
kind: IPAddressPool
 | 
					kind: IPAddressPool
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: default
 | 
					  name: default
 | 
				
			||||||
  namespace: metallb-system
 | 
					 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
  addresses:
 | 
					  addresses:
 | 
				
			||||||
    - 192.168.3.0/24
 | 
					    - 192.168.3.0/24
 | 
				
			||||||
@@ -10,5 +9,8 @@ spec:
 | 
				
			|||||||
apiVersion: metallb.io/v1beta1
 | 
					apiVersion: metallb.io/v1beta1
 | 
				
			||||||
kind: L2Advertisement
 | 
					kind: L2Advertisement
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: empty
 | 
					  name: default
 | 
				
			||||||
  namespace: metallb-system
 | 
					# selector is left empty on purpose to match all IPAddressPools
 | 
				
			||||||
 | 
					# spec:
 | 
				
			||||||
 | 
					#   ipAddressPools:
 | 
				
			||||||
 | 
					#   - default
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,15 +1,12 @@
 | 
				
			|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					apiVersion: kustomize.config.k8s.io/v1beta1
 | 
				
			||||||
kind: Kustomization
 | 
					kind: Kustomization
 | 
				
			||||||
resources: 
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - ipaddresspool.yaml
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace: metallb-system
 | 
					namespace: metallb-system
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resources:
 | 
				
			||||||
 | 
					  # - namespace.yaml
 | 
				
			||||||
 | 
					  # namespace is already included in the remote kustomization
 | 
				
			||||||
 | 
					  # - github.com/metallb/metallb/config/native?ref=v0.15.2
 | 
				
			||||||
 | 
					  - github.com/metallb/metallb/config/frr?ref=v0.15.2
 | 
				
			||||||
 | 
					  - ipaddresspool.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
helmCharts:
 | 
					 | 
				
			||||||
  - name: metallb
 | 
					 | 
				
			||||||
    repo: https://metallb.github.io/metallb
 | 
					 | 
				
			||||||
    version: 0.15.2
 | 
					 | 
				
			||||||
    releaseName: metallb
 | 
					 | 
				
			||||||
    valuesFile: values.yaml
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
apiVersion: v1
 | 
					apiVersion: v1
 | 
				
			||||||
kind: Namespace
 | 
					kind: Namespace
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: placeholder
 | 
					  name: metallb-system
 | 
				
			||||||
  labels:
 | 
					  # labels:
 | 
				
			||||||
    pod-security.kubernetes.io/enforce: privileged 
 | 
					    # pod-security.kubernetes.io/enforce: privileged
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,7 +71,7 @@ data:
 | 
				
			|||||||
        address = ":9100"
 | 
					        address = ":9100"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      [entryPoints.traefik]
 | 
					      [entryPoints.traefik]
 | 
				
			||||||
        address = ":9000"
 | 
					        address = ":8080"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      [entryPoints.dnsovertls]
 | 
					      [entryPoints.dnsovertls]
 | 
				
			||||||
        address = ":8853"
 | 
					        address = ":8853"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,8 +23,7 @@ ingressClass:
 | 
				
			|||||||
  # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12
 | 
					  # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12
 | 
				
			||||||
  enabled: true
 | 
					  enabled: true
 | 
				
			||||||
  isDefaultClass: true
 | 
					  isDefaultClass: true
 | 
				
			||||||
  # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1"
 | 
					
 | 
				
			||||||
  fallbackApiVersion: ""
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Activate Pilot integration
 | 
					# Activate Pilot integration
 | 
				
			||||||
pilot:
 | 
					pilot:
 | 
				
			||||||
@@ -67,7 +66,8 @@ providers:
 | 
				
			|||||||
  kubernetesIngress:
 | 
					  kubernetesIngress:
 | 
				
			||||||
    enabled: true
 | 
					    enabled: true
 | 
				
			||||||
    allowExternalNameServices: true
 | 
					    allowExternalNameServices: true
 | 
				
			||||||
    ingressClass: traefik
 | 
					    # Ingresses missing the annotation, having an empty value, or the value traefik are processed by default.
 | 
				
			||||||
 | 
					    # ingressClass: traefik
 | 
				
			||||||
    # labelSelector: environment=production,method=traefik
 | 
					    # labelSelector: environment=production,method=traefik
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user