3 Commits
Author SHA1 Message Date
ivanch 5c129570da configuring api user for argocd 2026-08-30 20:02:13 -03:00
ivanch d9016105ed improving setup 2026-08-30 19:32:37 -03:00
ivanch 04ab8f9407 adding new helms 2026-08-30 19:32:25 -03:00
5 changed files with 78 additions and 7 deletions
+32 -6
View File
@@ -1,12 +1,22 @@
# Initial setup
```sh
# Create namespace
# Setup Instructions
## Pre-installation
1. Create namespaces with
```bash
kubectl apply -f bootstrap/namespaces.yaml
```
# Install ArgoCD
2. Apply Vaultwarden deployment app
```bash
kubectl apply -f apps/default/vaultwarden.yaml
```
3. Configure required secrets in `secrets/` directory, each mapping to an entity in Vaultwarden.
## ArgoCD Installation
```sh
kubectl apply -k bootstrap/argocd-install
# Apply root app
kubectl apply -f bootstrap/root-app.yaml
```
@@ -17,3 +27,19 @@ kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.pas
```
2. Access ArgoCD and login with `admin` / password from above.
## External Secrets Operator preparation
Create this Secret manually. `BW_HOST` must have no trailing slash.
```bash
kubectl -n infra create secret generic bitwarden-cli \
--from-literal=BW_HOST='[VAULTWARDEN_URL]' \
--from-literal=BW_USERNAME='[VAULTWARDEN_EMAIL]' \
--from-literal=BW_PASSWORD='[VAULTWARDEN_PASSWORD]'
```
## Apply order
1. `kubectl apply -f secrets/`
2. `kubectl apply -f apps/metalldb-system/`
3. `kubectl apply -f apps/infra/`
+11
View File
@@ -0,0 +1,11 @@
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: external-secrets
namespace: kube-system
spec:
repo: https://charts.external-secrets.io
chart: external-secrets
version: 2.7.0
targetNamespace: external-secrets
createNamespace: true
+10
View File
@@ -0,0 +1,10 @@
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: metallb
namespace: kube-system
spec:
repo: https://metallb.github.io/metallb
chart: metallb
version: 0.15.2
targetNamespace: metallb-system
@@ -0,0 +1,23 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-cm
app.kubernetes.io/part-of: argocd
data:
accounts.api: apiKey
accounts.api.enabled: "true"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-rbac-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-rbac-cm
app.kubernetes.io/part-of: argocd
data:
policy.csv: |
g, api, role:readonly
@@ -9,3 +9,4 @@ resources:
patches:
- path: server-insecure-patch.yaml
- path: argocd-api-user.yaml