Added Kubernetes resources for TLS setup, updated docs
This commit is contained in:
11
argocd/cluster-resources/cilium-load-balancer-ip-pool.yaml
Normal file
11
argocd/cluster-resources/cilium-load-balancer-ip-pool.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: cilium.io/v2
|
||||
kind: CiliumLoadBalancerIPPool
|
||||
metadata:
|
||||
name: default
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-1000"
|
||||
spec:
|
||||
blocks:
|
||||
# Configure your IP pool here
|
||||
- start: "192.168.10.95"
|
||||
stop: "192.168.10.99"
|
||||
23
argocd/cluster-resources/cluster-issuers.yaml
Normal file
23
argocd/cluster-resources/cluster-issuers.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: ClusterIssuer
|
||||
metadata:
|
||||
name: letsencrypt-http01
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "20"
|
||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
||||
spec:
|
||||
acme:
|
||||
server: https://acme-v02.api.letsencrypt.org/directory
|
||||
# Add your email address here
|
||||
email: you@yourdomain.com
|
||||
privateKeySecretRef:
|
||||
name: letsencrypt-http01-cluster-issuer-account-key
|
||||
solvers:
|
||||
- http01:
|
||||
gatewayHTTPRoute:
|
||||
parentRefs:
|
||||
- name: acme
|
||||
namespace: network
|
||||
sectionName: http
|
||||
kind: Gateway
|
||||
---
|
||||
18
argocd/cluster-resources/storageclasses.yaml
Normal file
18
argocd/cluster-resources/storageclasses.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: csi-nfs
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-700"
|
||||
storageclass.kubernetes.io/is-default-class: "true"
|
||||
provisioner: nfs.csi.k8s.io
|
||||
parameters:
|
||||
# Configure you NFS server here
|
||||
server: "your-nfs-server.com"
|
||||
share: "/mnt/big-storage-pool/nfs"
|
||||
reclaimPolicy: Delete
|
||||
volumeBindingMode: Immediate
|
||||
allowVolumeExpansion: true
|
||||
mountOptions:
|
||||
- nfsvers=4.1
|
||||
---
|
||||
23
argocd/namespaces/argocd/http-routes.yaml
Normal file
23
argocd/namespaces/argocd/http-routes.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: argocd
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "30"
|
||||
spec:
|
||||
parentRefs:
|
||||
- name: public
|
||||
namespace: network
|
||||
sectionName: argocd
|
||||
hostnames:
|
||||
# Configure the FQDN for ArgoCD here
|
||||
- "argocd.yourdomain.com"
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
backendRefs:
|
||||
- name: argo-cd-argocd-server
|
||||
port: 80
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
name: cert-manager
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "100"
|
||||
argocd.argoproj.io/sync-wave: "10"
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: external-secrets-operator
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "10"
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
project: external-secrets
|
||||
ignoreDifferences:
|
||||
- group: apiextensions.k8s.io
|
||||
kind: CustomResourceDefinition
|
||||
jsonPointers:
|
||||
- /metadata/annotations
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- ServerSideApply=true
|
||||
destination:
|
||||
namespace: external-secrets
|
||||
server: https://kubernetes.default.svc
|
||||
source:
|
||||
chart: external-secrets
|
||||
repoURL: https://charts.external-secrets.io
|
||||
targetRevision: 0.19.2
|
||||
9
argocd/namespaces/external-secrets/namespace.yaml
Normal file
9
argocd/namespaces/external-secrets/namespace.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: external-secrets
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-1000"
|
||||
labels:
|
||||
name: external-secrets
|
||||
spec: {}
|
||||
25
argocd/namespaces/external-secrets/project.yaml
Normal file
25
argocd/namespaces/external-secrets/project.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: AppProject
|
||||
metadata:
|
||||
name: external-secrets
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-900"
|
||||
spec:
|
||||
description: External Secrets
|
||||
clusterResourceWhitelist:
|
||||
- group: apiextensions.k8s.io
|
||||
kind: CustomResourceDefinition
|
||||
- group: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
- group: rbac.authorization.k8s.io
|
||||
kind: ClusterRoleBinding
|
||||
- group: admissionregistration.k8s.io
|
||||
kind: ValidatingWebhookConfiguration
|
||||
- group: external-secrets.io
|
||||
kind: ClusterSecretStore
|
||||
sourceRepos:
|
||||
- '*'
|
||||
destinations:
|
||||
- namespace: external-secrets
|
||||
server: '*'
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: csi-driver-nfs
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-800"
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
project: default
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
destination:
|
||||
namespace: kube-system
|
||||
server: https://kubernetes.default.svc
|
||||
source:
|
||||
chart: csi-driver-nfs
|
||||
repoURL: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts
|
||||
targetRevision: 4.12.1
|
||||
helm:
|
||||
valuesObject:
|
||||
externalSnapshotter:
|
||||
enabled: true
|
||||
controller:
|
||||
runOnControlPlane: true
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
apiVersion: cilium.io/v2alpha1
|
||||
kind: CiliumL2AnnouncementPolicy
|
||||
metadata:
|
||||
name: default
|
||||
namespace: kube-system
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-1000"
|
||||
spec:
|
||||
externalIPs: true
|
||||
loadBalancerIPs: true
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
name: cert
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "0"
|
||||
argocd.argoproj.io/sync-wave: "-900"
|
||||
spec:
|
||||
description: Certs
|
||||
clusterResourceWhitelist:
|
||||
|
||||
16
argocd/network/certificates.yaml
Normal file
16
argocd/network/certificates.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: argocd
|
||||
namespace: network
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "25"
|
||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
||||
spec:
|
||||
secretName: argocd-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-http01
|
||||
kind: ClusterIssuer
|
||||
dnsNames:
|
||||
# Configure the FQDN for ArgoCD here
|
||||
- "argocd.yourdomain.com"
|
||||
48
argocd/network/gateways.yaml
Normal file
48
argocd/network/gateways.yaml
Normal file
@@ -0,0 +1,48 @@
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: Gateway
|
||||
metadata:
|
||||
name: acme
|
||||
namespace: network
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "30"
|
||||
spec:
|
||||
gatewayClassName: cilium
|
||||
addresses:
|
||||
- type: IPAddress
|
||||
# Configure your IP address here
|
||||
value: 192.168.10.96
|
||||
listeners:
|
||||
- name: http
|
||||
protocol: HTTP
|
||||
port: 80
|
||||
allowedRoutes:
|
||||
namespaces:
|
||||
from: All
|
||||
---
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: Gateway
|
||||
metadata:
|
||||
name: public
|
||||
namespace: network
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "30"
|
||||
spec:
|
||||
gatewayClassName: cilium
|
||||
addresses:
|
||||
- type: IPAddress
|
||||
# Configure your IP address here
|
||||
value: 192.168.10.97
|
||||
listeners:
|
||||
- name: argocd
|
||||
protocol: HTTPS
|
||||
port: 443
|
||||
# Configure the FQDN for ArgoCD here
|
||||
hostname: "argocd.yourdomain.com"
|
||||
tls:
|
||||
mode: Terminate
|
||||
certificateRefs:
|
||||
- kind: Secret
|
||||
name: argocd-tls
|
||||
allowedRoutes:
|
||||
namespaces:
|
||||
from: All
|
||||
9
argocd/network/namespace.yaml
Normal file
9
argocd/network/namespace.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: network
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-1000"
|
||||
labels:
|
||||
name: network
|
||||
spec: {}
|
||||
Reference in New Issue
Block a user