Various changes
- Updated logger API. - Fixed file sourcing. - Fixed argocd ingress and ACME cert.
This commit is contained in:
parent
b62464fa42
commit
5e7d850520
|
@ -0,0 +1,12 @@
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: argocd-app
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
dnsNames:
|
||||||
|
- argocd.DOMAIN
|
||||||
|
secretName: argocd-app-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-cluster-issuer
|
||||||
|
kind: ClusterIssuer
|
|
@ -0,0 +1,27 @@
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: argocd-server-ingress
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
|
||||||
|
kubernetes.io/ingress.class: nginx
|
||||||
|
kubernetes.io/tls-acme: "true"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: argocd.DOMAIN
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: argocd-server
|
||||||
|
port:
|
||||||
|
name: https
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- argocd.DOMAIN
|
||||||
|
secretName: argocd-app-tls
|
|
@ -1,13 +1,13 @@
|
||||||
apiVersion: cert-manager.io/v1
|
apiVersion: cert-manager.io/v1
|
||||||
kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
metadata:
|
metadata:
|
||||||
name: letsencrypt-prod
|
name: letsencrypt-cluster-issuer
|
||||||
spec:
|
spec:
|
||||||
acme:
|
acme:
|
||||||
email: EMAIL_ADDRESS
|
email: EMAIL_ADDRESS
|
||||||
server: https://acme-v02.api.letsencrypt.org/directory
|
server: https://acme-staging-v02.api.letsencrypt.org/directory
|
||||||
privateKeySecretRef:
|
privateKeySecretRef:
|
||||||
name: letsencrypt-prod-private-key
|
name: letsencrypt-cluster-issuer-key
|
||||||
solvers:
|
solvers:
|
||||||
- http01:
|
- http01:
|
||||||
ingress:
|
ingress:
|
9
env
9
env
|
@ -1,14 +1,19 @@
|
||||||
PATH=${PWD}/bin/:$PATH
|
DOMAIN="${DOMAIN:-example.org}"
|
||||||
EMAIL_ADDRESS="${EMAIL_ADDRESS:-kubernetesadmin@example.org}"
|
EMAIL_ADDRESS="${EMAIL_ADDRESS:-kubernetesadmin@example.org}"
|
||||||
|
|
||||||
|
PATH=${PWD}/bin/:$PATH
|
||||||
KUBECTL_BIN="${KUBECTL_BIN:-kubectl}"
|
KUBECTL_BIN="${KUBECTL_BIN:-kubectl}"
|
||||||
INSTALL_DIR="${INSTALL_DIR:-$(pwd)/bin}"
|
INSTALL_DIR="${INSTALL_DIR:-$(pwd)/bin}"
|
||||||
HELM_BIN="${INSTALL_DIR}/helm"
|
HELM_BIN="${INSTALL_DIR}/helm"
|
||||||
ARGOCD_BIN="${INSTALL_DIR}/argocd"
|
ARGOCD_BIN="${INSTALL_DIR}/argocd"
|
||||||
|
|
||||||
|
CERT_MANAGER_VERSION="1.6.1"
|
||||||
|
|
||||||
export PATH \
|
export PATH \
|
||||||
EMAIL_ADDRESS \
|
EMAIL_ADDRESS \
|
||||||
|
DOMAIN \
|
||||||
KUBECTL_BIN \
|
KUBECTL_BIN \
|
||||||
INSTALL_DIR \
|
INSTALL_DIR \
|
||||||
HELM_BIN \
|
HELM_BIN \
|
||||||
ARGOCD_BIN
|
ARGOCD_BIN \
|
||||||
|
CERT_MANAGER_VERSION
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
source env
|
source ./env
|
||||||
source logger.sh
|
source ./logger.sh
|
||||||
|
|
||||||
function install_cert_manager {
|
function install_cert_manager {
|
||||||
${KUBECTL_BIN} create namespace cert-manager
|
${KUBECTL_BIN} create namespace cert-manager
|
||||||
|
@ -9,16 +9,28 @@ function install_cert_manager {
|
||||||
${HELM_BIN} repo update
|
${HELM_BIN} repo update
|
||||||
${HELM_BIN} install cert-manager jetstack/cert-manager \
|
${HELM_BIN} install cert-manager jetstack/cert-manager \
|
||||||
--namespace cert-manager \
|
--namespace cert-manager \
|
||||||
--version v1.6.1 \
|
--version "v${CERT_MANAGER_VERSION}" \
|
||||||
--set installCRDs=true
|
--set installCRDs=true
|
||||||
|
${KUBECTL_BIN} apply \
|
||||||
|
-f "https://github.com/jetstack/cert-manager/releases/download/v${CERT_MANAGER_VERSION}/cert-manager.crds.yaml"
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_cluster_issuer {
|
function create_cluster_issuer {
|
||||||
sed "s/EMAIL_ADDRESS/${EMAIL_ADDRESS}/" cluster_issuer.yaml | ${KUBECTL_BIN} apply -f -
|
sed "s/EMAIL_ADDRESS/${EMAIL_ADDRESS}/g" ./cert-manager/cluster_issuer.yaml | ${KUBECTL_BIN} apply -f -
|
||||||
|
}
|
||||||
|
|
||||||
|
function create_certificates {
|
||||||
|
sed "s/DOMAIN/${DOMAIN}/g" ./cert-manager/argocd_cert.yaml | ${KUBECTL_BIN} apply -f -
|
||||||
|
}
|
||||||
|
|
||||||
|
function create_argocd_ingress {
|
||||||
|
sed "s/DOMAIN/${DOMAIN}/g" ./cert-manager/argocd_ingress.yaml | ${KUBECTL_BIN} apply -f -
|
||||||
}
|
}
|
||||||
|
|
||||||
log_info "Installing cert manager..."
|
log_info "Installing cert manager..."
|
||||||
install_cert_manager
|
install_cert_manager
|
||||||
create_cluster_issuer
|
create_cluster_issuer
|
||||||
|
create_certificates
|
||||||
|
create_argocd_ingress
|
||||||
|
|
||||||
log_info "Installation completed successfuly!"
|
log_info "Cert-manager installation completed successfuly!"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
source env
|
source ./env
|
||||||
source logger.sh
|
source ./logger.sh
|
||||||
|
|
||||||
function install_helm {
|
function install_helm {
|
||||||
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 \
|
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 \
|
||||||
|
|
Loading…
Reference in New Issue