feat(helm)!: Update chart argo-cd ( 9.5.2 → 10.3.0 ) - #3388
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
|
Path: --- /tmp/tmp.VtWaiug2KK 2026-08-05 12:42:22.932949700 +0000
+++ /tmp/tmp.CYkwvBe23e 2026-08-05 12:42:25.111840430 +0000
@@ -1,4 +1,101 @@
---
+# Source: argocd/charts/argo-cd/templates/argocd-application-controller/networkpolicy.yaml
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: release-name-argocd-application-controller
+ namespace: default
+spec:
+ ingress:
+ - from:
+ - namespaceSelector: {}
+ ports:
+ - port: metrics
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/name: argocd-application-controller
+ app.kubernetes.io/instance: release-name
+ policyTypes:
+ - Ingress
+
+---
+# Source: argocd/charts/argo-cd/templates/argocd-notifications/networkpolicy.yaml
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: release-name-argocd-notifications-controller
+ namespace: default
+spec:
+ ingress:
+ - from:
+ - namespaceSelector: {}
+ ports:
+ - port: metrics
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/name: argocd-notifications-controller
+ app.kubernetes.io/instance: release-name
+ policyTypes:
+ - Ingress
+
+---
+# Source: argocd/charts/argo-cd/templates/argocd-repo-server/networkpolicy.yaml
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: release-name-argocd-repo-server
+ namespace: default
+spec:
+ ingress:
+ - from:
+ - podSelector:
+ matchLabels:
+ app.kubernetes.io/name: argocd-server
+ app.kubernetes.io/instance: release-name
+ - podSelector:
+ matchLabels:
+ app.kubernetes.io/name: argocd-application-controller
+ app.kubernetes.io/instance: release-name
+ - podSelector:
+ matchLabels:
+ app.kubernetes.io/name: argocd-notifications-controller
+ app.kubernetes.io/instance: release-name
+ - podSelector:
+ matchLabels:
+ app.kubernetes.io/name: argocd-applicationset-controller
+ app.kubernetes.io/instance: release-name
+ ports:
+ - port: repo-server
+ protocol: TCP
+ - from:
+ - namespaceSelector: {}
+ ports:
+ - port: metrics
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/name: argocd-repo-server
+ app.kubernetes.io/instance: release-name
+ policyTypes:
+ - Ingress
+
+---
+# Source: argocd/charts/argo-cd/templates/argocd-server/networkpolicy.yaml
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: release-name-argocd-server
+ namespace: default
+spec:
+ ingress:
+ - {}
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/name: argocd-server
+ app.kubernetes.io/instance: release-name
+ policyTypes:
+ - Ingress
+
+---
# Source: argocd/charts/argo-cd/charts/redis-ha/templates/redis-ha-serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
@@ -97,15 +194,15 @@
sentinel.conf: |
dir "/data"
port 26379
- sentinel down-after-milliseconds argocd 10000
- sentinel failover-timeout argocd 180000
- maxclients 10000
- sentinel parallel-syncs argocd 5
+ sentinel down-after-milliseconds argocd 10000
+ sentinel failover-timeout argocd 180000
+ maxclients 10000
+ sentinel parallel-syncs argocd 5
sentinel auth-pass argocd replace-default-auth
init.sh: |
echo "$(date) Start..."
- HOSTNAME="$(hostname)"
+ HOSTNAME="$(cat /proc/sys/kernel/hostname)"
INDEX="${HOSTNAME##*-}"
SENTINEL_PORT=26379
ANNOUNCE_IP=''
@@ -118,18 +215,31 @@
SENTINEL_CONF=/data/conf/sentinel.conf
SENTINEL_TLS_PORT=
SERVICE=release-name-redis-ha
+ NAMESPACE="default"
SENTINEL_TLS_REPLICATION_ENABLED=false
REDIS_TLS_REPLICATION_ENABLED=false
+ RESOLVE_HOSTNAMES=false
+ ANNOUNCE_HOSTNAMES=false
set -eu
sentinel_get_master() {
set +e
if [ "$SENTINEL_PORT" -eq 0 ]; then
- redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" --tls --cacert /tls-certs/ca.crt --cert /tls-certs/redis.crt --key /tls-certs/redis.key sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
- grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))'
+ if [ "$RESOLVE_HOSTNAMES" = true ]; then
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" --tls --cacert /tls-certs/ca.crt --cert /tls-certs/redis.crt --key /tls-certs/redis.key sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
+ head -n 1 | grep -E '^\s*[a-zA-Z0-9.-]+\s*$'
+ else
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" --tls --cacert /tls-certs/ca.crt --cert /tls-certs/redis.crt --key /tls-certs/redis.key sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
+ head -n 1 | grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))'
+ fi
else
- redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
- grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))'
+ if [ "$RESOLVE_HOSTNAMES" = true ]; then
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
+ head -n 1 | grep -E '^\s*[a-zA-Z0-9.-]+\s*$'
+ else
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
+ head -n 1 | grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))'
+ fi
fi
set -e
}
@@ -216,16 +326,23 @@
echo " make sure ${ANNOUNCE_IP} is not a slave (slaveof no one)"
sed -i "s/^.*slaveof.*//" "${REDIS_CONF}"
else
- echo "Getting redis master ip.."
- echo " blindly assuming (${SERVICE}-announce-0) or (${SERVICE}-server-0) are master"
- DEFAULT_MASTER="$(getent_hosts 0 | awk '{ print $1 }')"
- if [ -z "${DEFAULT_MASTER}" ]; then
- echo "Error: Unable to resolve redis master (getent hosts)."
- exit 1
+ if [ "$RESOLVE_HOSTNAMES" = true ]; then
+ echo "Getting redis master hostname.."
+ echo " blindly assuming (${SERVICE}-announce-0.${NAMESPACE}.svc) is master"
+ DEFAULT_MASTER="${SERVICE}-announce-0.${NAMESPACE}.svc"
+ echo " identified redis (may be redis master) hostname (${DEFAULT_MASTER})"
+ else
+ echo "Getting redis master ip.."
+ echo " blindly assuming (${SERVICE}-announce-0) or (${SERVICE}-server-0) are master"
+ DEFAULT_MASTER="$(getent_hosts 0 | awk '{ print $1 }')"
+ if [ -z "${DEFAULT_MASTER}" ]; then
+ echo "Error: Unable to resolve redis master (getent hosts)."
+ exit 1
+ fi
+ echo " identified redis (may be redis master) ip (${DEFAULT_MASTER})"
fi
- echo " identified redis (may be redis master) ip (${DEFAULT_MASTER})"
echo "Setting default slave config for redis and sentinel.."
- echo " using master ip (${DEFAULT_MASTER})"
+ echo " using master address (${DEFAULT_MASTER})"
redis_update "${DEFAULT_MASTER}"
sentinel_update "${DEFAULT_MASTER}"
fi
@@ -320,14 +437,24 @@
getent_hosts() {
index=${1:-${INDEX}}
service="${SERVICE}-announce-${index}"
- host=$(getent hosts "${service}")
- echo "${host}"
+ if [ "$RESOLVE_HOSTNAMES" = true ]; then
+ echo "${service}.${NAMESPACE}.svc"
+ else
+ host=$(getent hosts "${service}")
+ echo "${host}"
+ fi
}
identify_announce_ip() {
- echo "Identify announce ip for this pod.."
- echo " using (${SERVICE}-announce-${INDEX}) or (${SERVICE}-server-${INDEX})"
- ANNOUNCE_IP=$(getent_hosts | awk '{ print $1 }')
+ if [ "$ANNOUNCE_HOSTNAMES" = true ]; then
+ echo "Identify announce hostname for this pod.."
+ echo " using (${SERVICE}-announce-${INDEX}.${NAMESPACE}.svc)"
+ ANNOUNCE_IP="${SERVICE}-announce-${INDEX}.${NAMESPACE}.svc"
+ else
+ echo "Identify announce ip for this pod.."
+ echo " using (${SERVICE}-announce-${INDEX}) or (${SERVICE}-server-${INDEX})"
+ ANNOUNCE_IP=$(getent_hosts | awk '{ print $1 }')
+ fi
echo " identified announce (${ANNOUNCE_IP})"
}
@@ -342,7 +469,7 @@
identify_announce_ip
if [ -z "${ANNOUNCE_IP}" ]; then
- "Error: Could not resolve the announce ip for this pod"
+ echo "Error: Could not resolve the announce address for this pod"
exit 1
elif [ "${MASTER}" ]; then
find_master
@@ -365,7 +492,7 @@
echo "$(date) Ready..."
fix-split-brain.sh: |
- HOSTNAME="$(hostname)"
+ HOSTNAME="$(cat /proc/sys/kernel/hostname)"
INDEX="${HOSTNAME##*-}"
SENTINEL_PORT=26379
ANNOUNCE_IP=''
@@ -378,8 +505,11 @@
SENTINEL_CONF=/data/conf/sentinel.conf
SENTINEL_TLS_PORT=
SERVICE=release-name-redis-ha
+ NAMESPACE="default"
SENTINEL_TLS_REPLICATION_ENABLED=false
REDIS_TLS_REPLICATION_ENABLED=false
+ RESOLVE_HOSTNAMES=false
+ ANNOUNCE_HOSTNAMES=false
ROLE=''
REDIS_MASTER=''
@@ -388,11 +518,21 @@
sentinel_get_master() {
set +e
if [ "$SENTINEL_PORT" -eq 0 ]; then
- redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" --tls --cacert /tls-certs/ca.crt --cert /tls-certs/redis.crt --key /tls-certs/redis.key sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
- grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))'
+ if [ "$RESOLVE_HOSTNAMES" = true ]; then
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" --tls --cacert /tls-certs/ca.crt --cert /tls-certs/redis.crt --key /tls-certs/redis.key sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
+ head -n 1 | grep -E '^\s*[a-zA-Z0-9.-]+\s*$'
+ else
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" --tls --cacert /tls-certs/ca.crt --cert /tls-certs/redis.crt --key /tls-certs/redis.key sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
+ head -n 1 | grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))'
+ fi
else
- redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
- grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))'
+ if [ "$RESOLVE_HOSTNAMES" = true ]; then
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
+ head -n 1 | grep -E '^\s*[a-zA-Z0-9.-]+\s*$'
+ else
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" sentinel get-master-addr-by-name "${MASTER_GROUP}" |\
+ head -n 1 | grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))'
+ fi
fi
set -e
}
@@ -479,16 +619,23 @@
echo " make sure ${ANNOUNCE_IP} is not a slave (slaveof no one)"
sed -i "s/^.*slaveof.*//" "${REDIS_CONF}"
else
- echo "Getting redis master ip.."
- echo " blindly assuming (${SERVICE}-announce-0) or (${SERVICE}-server-0) are master"
- DEFAULT_MASTER="$(getent_hosts 0 | awk '{ print $1 }')"
- if [ -z "${DEFAULT_MASTER}" ]; then
- echo "Error: Unable to resolve redis master (getent hosts)."
- exit 1
+ if [ "$RESOLVE_HOSTNAMES" = true ]; then
+ echo "Getting redis master hostname.."
+ echo " blindly assuming (${SERVICE}-announce-0.${NAMESPACE}.svc) is master"
+ DEFAULT_MASTER="${SERVICE}-announce-0.${NAMESPACE}.svc"
+ echo " identified redis (may be redis master) hostname (${DEFAULT_MASTER})"
+ else
+ echo "Getting redis master ip.."
+ echo " blindly assuming (${SERVICE}-announce-0) or (${SERVICE}-server-0) are master"
+ DEFAULT_MASTER="$(getent_hosts 0 | awk '{ print $1 }')"
+ if [ -z "${DEFAULT_MASTER}" ]; then
+ echo "Error: Unable to resolve redis master (getent hosts)."
+ exit 1
+ fi
+ echo " identified redis (may be redis master) ip (${DEFAULT_MASTER})"
fi
- echo " identified redis (may be redis master) ip (${DEFAULT_MASTER})"
echo "Setting default slave config for redis and sentinel.."
- echo " using master ip (${DEFAULT_MASTER})"
+ echo " using master address (${DEFAULT_MASTER})"
redis_update "${DEFAULT_MASTER}"
sentinel_update "${DEFAULT_MASTER}"
fi
@@ -583,14 +730,24 @@
getent_hosts() {
index=${1:-${INDEX}}
service="${SERVICE}-announce-${index}"
- host=$(getent hosts "${service}")
- echo "${host}"
+ if [ "$RESOLVE_HOSTNAMES" = true ]; then
+ echo "${service}.${NAMESPACE}.svc"
+ else
+ host=$(getent hosts "${service}")
+ echo "${host}"
+ fi
}
identify_announce_ip() {
- echo "Identify announce ip for this pod.."
- echo " using (${SERVICE}-announce-${INDEX}) or (${SERVICE}-server-${INDEX})"
- ANNOUNCE_IP=$(getent_hosts | awk '{ print $1 }')
+ if [ "$ANNOUNCE_HOSTNAMES" = true ]; then
+ echo "Identify announce hostname for this pod.."
+ echo " using (${SERVICE}-announce-${INDEX}.${NAMESPACE}.svc)"
+ ANNOUNCE_IP="${SERVICE}-announce-${INDEX}.${NAMESPACE}.svc"
+ else
+ echo "Identify announce ip for this pod.."
+ echo " using (${SERVICE}-announce-${INDEX}) or (${SERVICE}-server-${INDEX})"
+ ANNOUNCE_IP=$(getent_hosts | awk '{ print $1 }')
+ fi
echo " identified announce (${ANNOUNCE_IP})"
}
@@ -629,11 +786,14 @@
identify_announce_ip
while [ -z "${ANNOUNCE_IP}" ]; do
- echo "Error: Could not resolve the announce ip for this pod."
+ echo "Error: Could not resolve the announce address for this pod."
sleep 30
identify_announce_ip
done
+ QUORUM_FAIL_COUNT=0
+ MAX_QUORUM_FAILURES=${MAX_QUORUM_FAILURES:-5}
+
trap "exit 0" TERM
while true; do
sleep 60
@@ -642,6 +802,7 @@
identify_master
if [ "$MASTER" = "$ANNOUNCE_IP" ]; then
+ QUORUM_FAIL_COUNT=0
redis_role
if [ "$ROLE" != "master" ]; then
echo "waiting for redis to become master"
@@ -655,18 +816,35 @@
fi
fi
elif [ "${MASTER}" ]; then
+ QUORUM_FAIL_COUNT=0
identify_redis_master
if [ "$REDIS_MASTER" != "$MASTER" ]; then
echo "Redis master and local master are not the same. waiting."
sleep 10
identify_master
- identify_redis_master
- echo "Redis master is ${MASTER}, expected master is ${REDIS_MASTER}. No need to reinitialize."
- if [ "${REDIS_MASTER}" != "${MASTER}" ]; then
- echo "Redis master is ${MASTER}, expected master is ${REDIS_MASTER}, reinitializing"
- reinit
+ if [ "$MASTER" = "$ANNOUNCE_IP" ]; then
+ echo "This pod became master during wait, skipping reinit"
+ else
+ identify_redis_master
+ echo "Redis master is ${MASTER}, expected master is ${REDIS_MASTER}. No need to reinitialize."
+ if [ "${REDIS_MASTER}" != "${MASTER}" ]; then
+ echo "Redis master is ${MASTER}, expected master is ${REDIS_MASTER}, reinitializing"
+ reinit
+ fi
fi
fi
+ else
+ QUORUM_FAIL_COUNT=$((QUORUM_FAIL_COUNT + 1))
+ echo "WARNING: Sentinel returned no master (quorum may be broken). Failure count: $QUORUM_FAIL_COUNT/$MAX_QUORUM_FAILURES"
+ if [ "$QUORUM_FAIL_COUNT" -ge "$MAX_QUORUM_FAILURES" ]; then
+ echo "ERROR: Quorum broken for $MAX_QUORUM_FAILURES consecutive checks. Attempting sentinel reset..."
+ if [ "$SENTINEL_PORT" -eq 0 ]; then
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" --tls --cacert /tls-certs/ca.crt --cert /tls-certs/redis.crt --key /tls-certs/redis.key sentinel reset "${MASTER_GROUP}" || true
+ else
+ redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" sentinel reset "${MASTER_GROUP}" || true
+ fi
+ QUORUM_FAIL_COUNT=0
+ fi
fi
done
@@ -677,6 +855,7 @@
timeout server 330s
timeout client 330s
timeout check 2s
+ timeout tunnel 1h
listen health_check_http_url
bind [::]:8888 v4v6
@@ -756,7 +935,7 @@
done
ANNOUNCE_IP0=$(getent hosts "release-name-redis-ha-announce-0" | awk '{ print $1 }')
if [ -z "$ANNOUNCE_IP0" ]; then
- echo "Could not resolve the announce ip for release-name-redis-ha-announce-0"
+ echo "Could not resolve the announce address for release-name-redis-ha-announce-0"
exit 1
fi
sed -i "s/REPLACE_ANNOUNCE0/$ANNOUNCE_IP0/" "$HAPROXY_CONF"
@@ -766,7 +945,7 @@
done
ANNOUNCE_IP1=$(getent hosts "release-name-redis-ha-announce-1" | awk '{ print $1 }')
if [ -z "$ANNOUNCE_IP1" ]; then
- echo "Could not resolve the announce ip for release-name-redis-ha-announce-1"
+ echo "Could not resolve the announce address for release-name-redis-ha-announce-1"
exit 1
fi
sed -i "s/REPLACE_ANNOUNCE1/$ANNOUNCE_IP1/" "$HAPROXY_CONF"
@@ -776,7 +955,7 @@
done
ANNOUNCE_IP2=$(getent hosts "release-name-redis-ha-announce-2" | awk '{ print $1 }')
if [ -z "$ANNOUNCE_IP2" ]; then
- echo "Could not resolve the announce ip for release-name-redis-ha-announce-2"
+ echo "Could not resolve the announce address for release-name-redis-ha-announce-2"
exit 1
fi
sed -i "s/REPLACE_ANNOUNCE2/$ANNOUNCE_IP2/" "$HAPROXY_CONF"
@@ -2069,10 +2248,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -2190,6 +2371,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -2439,10 +2627,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -2560,6 +2750,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -2920,10 +3117,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -3041,6 +3240,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -3285,10 +3491,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -3429,6 +3637,11 @@
minLength: 1
pattern: ^.{2,}|[^./]$
type: string
+ repoURL:
+ description: |-
+ RepoURL is the URL to the git repository that contains the hydrated manifests. If not set, defaults to
+ the DrySource.RepoURL.
+ type: string
targetBranch:
description: |-
TargetBranch is the branch from which hydrated manifests will be synced.
@@ -3678,10 +3891,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -3799,6 +4014,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -4206,10 +4428,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -4327,6 +4551,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -4576,10 +4807,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -4697,6 +4930,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -4715,6 +4955,7 @@
observedAt:
description: |-
ObservedAt indicates when the application state was updated without querying latest git state
+
Deprecated: controller no longer updates ObservedAt field
format: date-time
type: string
@@ -5079,10 +5320,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -5201,6 +5444,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -5454,10 +5704,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -5576,6 +5828,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -5948,10 +6207,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -6069,6 +6330,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -6320,10 +6588,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -6441,6 +6711,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -6806,10 +7083,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -6950,6 +7229,11 @@
minLength: 1
pattern: ^.{2,}|[^./]$
type: string
+ repoURL:
+ description: |-
+ RepoURL is the URL to the git repository that contains the hydrated manifests. If not set, defaults to
+ the DrySource.RepoURL.
+ type: string
targetBranch:
description: |-
TargetBranch is the branch from which hydrated manifests will be synced.
@@ -6971,6 +7255,11 @@
- message
- phase
type: object
+ lastComparedDryRevision:
+ description: |-
+ LastComparedDryRevision holds the resolved revision from the most recent dry source comparison.
+ This is updated on every evaluation, even when hydration is skipped due to no changes.
+ type: string
lastSuccessfulOperation:
description: LastSuccessfulOperation holds info about the most recent successful
hydration
@@ -7222,10 +7511,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -7366,6 +7657,11 @@
minLength: 1
pattern: ^.{2,}|[^./]$
type: string
+ repoURL:
+ description: |-
+ RepoURL is the URL to the git repository that contains the hydrated manifests. If not set, defaults to
+ the DrySource.RepoURL.
+ type: string
targetBranch:
description: |-
TargetBranch is the branch from which hydrated manifests will be synced.
@@ -7407,6 +7703,10 @@
items:
type: string
type: array
+ isAppOfApps:
+ description: IsAppOfApps holds true if the application has any application for
+ child resource.
+ type: boolean
type: object
sync:
description: Sync contains information about the application's current sync
@@ -7706,10 +8006,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -7827,6 +8129,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -8078,10 +8387,12 @@
resource selectors or not
type: boolean
namePrefix:
- description: NamePrefix is a prefix appended to resources for Kustomize apps
+ description: NamePrefix overrides the namePrefix in the kustomization.yaml for
+ Kustomize apps
type: string
nameSuffix:
- description: NameSuffix is a suffix appended to resources for Kustomize apps
+ description: NameSuffix overrides the nameSuffix in the kustomization.yaml for
+ Kustomize apps
type: string
namespace:
description: Namespace sets the namespace that Kustomize adds to all resources
@@ -8199,6 +8510,13 @@
description: RepoURL is the URL to the repository (Git or Helm) that contains
the application manifests
type: string
+ tagPrefix:
+ description: |-
+ TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
+ The prefix is stripped from tag names before comparison and re-added to the resolved version.
+ For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
+ "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
+ type: string
targetRevision:
description: |-
TargetRevision defines the revision of the source to sync the application to.
@@ -8620,6 +8938,8 @@
type: string
repoURL:
type: string
+ tagPrefix:
+ type: string
targetRevision:
type: string
required:
@@ -8875,6 +9195,8 @@
minLength: 1
pattern: ^.{2,}|[^./]$
type: string
+ repoURL:
+ type: string
targetBranch:
type: string
required:
@@ -9120,6 +9442,8 @@
type: string
repoURL:
type: string
+ tagPrefix:
+ type: string
targetRevision:
type: string
required:
@@ -9528,6 +9852,8 @@
type: string
repoURL:
type: string
+ tagPrefix:
+ type: string
targetRevision:
type: string
required:
@@ -9783,6 +10109,8 @@
minLength: 1
pattern: ^.{2,}|[^./]$
type: string
+ repoURL:
+ type: string
targetBranch:
type: string
required:
@@ -10028,6 +10356,8 @@
type: string
repoURL:
type: string
+ tagPrefix:
+ type: string
targetRevision:
type: string
required:
@@ -10437,6 +10767,8 @@
type: string
repoURL:
type: string
+ tagPrefix:
+ type: string
targetRevision:
type: string
required:
@@ -10692,6 +11024,8 @@
minLength: 1
pattern: ^.{2,}|[^./]$
type: string
+ repoURL:
+ type: string
targetBranch:
type: string
required:
@@ -10937,6 +11271,8 @@
type: string
repoURL:
type: string
+ tagPrefix:
+ type: string
targetRevision:
type: string
required:
@@ -11324,6 +11660,8 @@
type: string
repoURL:
type: string
+ tagPrefix:
+ type: string
targetRevision:
type: string
required:
@@ -11579,6 +11917,8 @@
minLength: 1
pattern: ^.{2,}|[^./]$
type: string
+ repoURL:
+ type: string
targetBranch:
type: string
required:
@@ -11824,6 +12164,8 @@
type: string
repoURL:
type: string
+ tagPrefix:
+ type: string
targetRevision:
...*[Comment body truncated]* |
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
from
June 29, 2026 18:03
069ed52 to
1e43e42
Compare
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
from
July 1, 2026 21:56
1e43e42 to
d2bea0a
Compare
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
from
July 2, 2026 20:58
d2bea0a to
b080821
Compare
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
from
July 4, 2026 17:04
b080821 to
976b45b
Compare
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
2 times, most recently
from
July 16, 2026 08:54
8c700c5 to
17ab380
Compare
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
2 times, most recently
from
July 23, 2026 14:49
a48c7e1 to
03c991c
Compare
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
2 times, most recently
from
July 30, 2026 16:07
c46ff27 to
8d0b24d
Compare
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
2 times, most recently
from
August 4, 2026 21:15
b9fc358 to
5d76976
Compare
| datasource | package | from | to | | ---------- | ------- | ----- | ------ | | helm | argo-cd | 9.5.2 | 10.3.0 | Signed-off-by: Roger Rumao <rogerrum@users.noreply.github.com>
renovate
Bot
force-pushed
the
renovate/argo-cd-10.x
branch
from
August 5, 2026 12:41
5d76976 to
7989629
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
9.5.2→10.3.0Release Notes
argoproj/argo-helm (argo-cd)
v10.3.0Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-10.2.3...argo-cd-10.3.0
v10.2.3Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-events-2.4.24...argo-cd-10.2.3
v10.2.2Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-workflows-1.0.23...argo-cd-10.2.2
v10.2.1Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-10.2.0...argo-cd-10.2.1
v10.2.0Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-workflows-1.0.22...argo-cd-10.2.0
v10.1.4Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-workflows-1.0.20...argo-cd-10.1.4
v10.1.3Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-workflows-1.0.19...argo-cd-10.1.3
v10.1.2Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-10.1.1...argo-cd-10.1.2
v10.1.1Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-cd-10.1.0...argo-cd-10.1.1
v10.1.0Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-10.0.1...argo-cd-10.1.0
v10.0.1Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-cd-10.0.0...argo-cd-10.0.1
v10.0.0Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
Full Changelog: argoproj/argo-helm@argocd-image-updater-1.2.4...argo-cd-10.0.0
v9.7.1Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-workflows-1.0.18...argo-cd-9.7.1
v9.7.0Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-cd-9.6.0...argo-cd-9.7.0
v9.6.0Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.22...argo-cd-9.6.0
v9.5.22Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-events-2.4.22...argo-cd-9.5.22
v9.5.21Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-workflows-1.0.15...argo-cd-9.5.21
v9.5.20Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-rollouts-2.41.0...argo-cd-9.5.20
v9.5.19Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.18...argo-cd-9.5.19
v9.5.18Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-cd-9.5.17...argo-cd-9.5.18
v9.5.17Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-rollouts-2.40.10...argo-cd-9.5.17
v9.5.16Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argocd-image-updater-1.2.2...argo-cd-9.5.16
v9.5.15Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argocd-image-updater-1.2.1...argo-cd-9.5.15
v9.5.14Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.13...argo-cd-9.5.14
v9.5.13Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.12...argo-cd-9.5.13
v9.5.12Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.11...argo-cd-9.5.12
v9.5.11Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.10...argo-cd-9.5.11
v9.5.10Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.9...argo-cd-9.5.10
v9.5.9Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.8...argo-cd-9.5.9
v9.5.8Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.7...argo-cd-9.5.8
v9.5.7Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-cd-9.5.6...argo-cd-9.5.7
v9.5.6Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-cd-9.5.5...argo-cd-9.5.6
v9.5.5Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-workflows-1.0.13...argo-cd-9.5.5
v9.5.4Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
New Contributors
Full Changelog: argoproj/argo-helm@argo-cd-9.5.3...argo-cd-9.5.4
v9.5.3Compare Source
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
What's Changed
Full Changelog: argoproj/argo-helm@argo-cd-9.5.2...argo-cd-9.5.3
Configuration
📅 Schedule: (in timezone America/Chicago)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.