Compare commits
	
		
			2 Commits
		
	
	
		
			e6612245a5
			...
			7b0f3b79b1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7b0f3b79b1 | |||
| b4f5b91a57 | 
							
								
								
									
										226
									
								
								harmony/src/modules/application/features/argo_types.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										226
									
								
								harmony/src/modules/application/features/argo_types.rs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,226 @@
 | 
			
		||||
use std::{backtrace, collections::HashMap};
 | 
			
		||||
 | 
			
		||||
use serde::Serialize;
 | 
			
		||||
use serde_yaml::{Mapping, Value};
 | 
			
		||||
use url::Url;
 | 
			
		||||
 | 
			
		||||
use crate::modules::application::features::CDApplicationConfig;
 | 
			
		||||
 | 
			
		||||
#[derive(Clone, Debug, Serialize)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct Helm {
 | 
			
		||||
    pub pass_credentials: Option<bool>,
 | 
			
		||||
    pub parameters: Vec<Value>,
 | 
			
		||||
    pub file_parameters: Vec<Value>,
 | 
			
		||||
    pub release_name: Option<String>,
 | 
			
		||||
    pub value_files: Vec<String>,
 | 
			
		||||
    pub ignore_missing_value_files: Option<bool>,
 | 
			
		||||
    pub values: Option<String>,
 | 
			
		||||
    pub values_object: Option<Value>,
 | 
			
		||||
    pub skip_crds: Option<bool>,
 | 
			
		||||
    pub skip_schema_validation: Option<bool>,
 | 
			
		||||
    pub version: Option<String>,
 | 
			
		||||
    pub kube_version: Option<String>,
 | 
			
		||||
    pub api_versions: Vec<String>,
 | 
			
		||||
    pub namespace: Option<String>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Clone, Debug, Serialize)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct Source {
 | 
			
		||||
    pub repo_url: Url,
 | 
			
		||||
    pub target_revision: Option<String>,
 | 
			
		||||
    pub chart: String,
 | 
			
		||||
    pub helm: Helm,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Clone, Debug, Serialize)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct Automated {
 | 
			
		||||
    pub prune: bool,
 | 
			
		||||
    pub self_heal: bool,
 | 
			
		||||
    pub allow_empty: bool,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Clone, Debug, Serialize)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct Backoff {
 | 
			
		||||
    pub duration: String,
 | 
			
		||||
    pub factor: u32,
 | 
			
		||||
    pub max_duration: String,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Clone, Debug, Serialize)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct Retry {
 | 
			
		||||
    pub limit: u32,
 | 
			
		||||
    pub backoff: Backoff,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Clone, Debug, Serialize)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct SyncPolicy {
 | 
			
		||||
    pub automated: Automated,
 | 
			
		||||
    pub sync_options: Vec<String>,
 | 
			
		||||
    pub retry: Retry,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Clone, Debug, Serialize)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct ArgoApplication {
 | 
			
		||||
    pub name: String,
 | 
			
		||||
    pub namespace: Option<String>,
 | 
			
		||||
    pub project: String,
 | 
			
		||||
    pub source: Source,
 | 
			
		||||
    pub sync_policy: SyncPolicy,
 | 
			
		||||
    pub revision_history_limit: u32,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl Default for ArgoApplication {
 | 
			
		||||
    fn default() -> Self {
 | 
			
		||||
        Self {
 | 
			
		||||
            name: Default::default(),
 | 
			
		||||
            namespace: Default::default(),
 | 
			
		||||
            project: Default::default(),
 | 
			
		||||
            source: Source {
 | 
			
		||||
                repo_url: Url::parse("http://asdf").expect("Couldn't parse to URL"),
 | 
			
		||||
                target_revision: None,
 | 
			
		||||
                chart: "".to_string(),
 | 
			
		||||
                helm: Helm {
 | 
			
		||||
                    pass_credentials: None,
 | 
			
		||||
                    parameters: vec![],
 | 
			
		||||
                    file_parameters: vec![],
 | 
			
		||||
                    release_name: None,
 | 
			
		||||
                    value_files: vec![],
 | 
			
		||||
                    ignore_missing_value_files: None,
 | 
			
		||||
                    values: None,
 | 
			
		||||
                    values_object: None,
 | 
			
		||||
                    skip_crds: None,
 | 
			
		||||
                    skip_schema_validation: None,
 | 
			
		||||
                    version: None,
 | 
			
		||||
                    kube_version: None,
 | 
			
		||||
                    api_versions: vec![],
 | 
			
		||||
                    namespace: None,
 | 
			
		||||
                },
 | 
			
		||||
            },
 | 
			
		||||
            sync_policy: SyncPolicy {
 | 
			
		||||
                automated: Automated {
 | 
			
		||||
                    prune: false,
 | 
			
		||||
                    self_heal: false,
 | 
			
		||||
                    allow_empty: false,
 | 
			
		||||
                },
 | 
			
		||||
                sync_options: vec![],
 | 
			
		||||
                retry: Retry {
 | 
			
		||||
                    limit: 5,
 | 
			
		||||
                    backoff: Backoff {
 | 
			
		||||
                        duration: "5s".to_string(),
 | 
			
		||||
                        factor: 2,
 | 
			
		||||
                        max_duration: "3m".to_string(),
 | 
			
		||||
                    },
 | 
			
		||||
                },
 | 
			
		||||
            },
 | 
			
		||||
            revision_history_limit: 10,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl From<CDApplicationConfig> for ArgoApplication {
 | 
			
		||||
    fn from(value: CDApplicationConfig) -> Self {
 | 
			
		||||
        Self {
 | 
			
		||||
            name: value.name,
 | 
			
		||||
            namespace: Some(value.namespace),
 | 
			
		||||
            project: "default".to_string(),
 | 
			
		||||
            source: Source {
 | 
			
		||||
                repo_url: Url::parse(value.helm_chart_repo_url.to_string().as_str())
 | 
			
		||||
                    .expect("couldn't convert to URL"),
 | 
			
		||||
                target_revision: None,
 | 
			
		||||
                chart: value.helm_chart_name,
 | 
			
		||||
                helm: Helm {
 | 
			
		||||
                    pass_credentials: None,
 | 
			
		||||
                    parameters: vec![],
 | 
			
		||||
                    file_parameters: vec![],
 | 
			
		||||
                    release_name: None,
 | 
			
		||||
                    value_files: vec![],
 | 
			
		||||
                    ignore_missing_value_files: None,
 | 
			
		||||
                    values: None,
 | 
			
		||||
                    values_object: Some(value.values_overrides),
 | 
			
		||||
                    skip_crds: None,
 | 
			
		||||
                    skip_schema_validation: None,
 | 
			
		||||
                    version: None,
 | 
			
		||||
                    kube_version: None,
 | 
			
		||||
                    api_versions: vec![],
 | 
			
		||||
                    namespace: None,
 | 
			
		||||
                },
 | 
			
		||||
            },
 | 
			
		||||
            sync_policy: SyncPolicy {
 | 
			
		||||
                automated: Automated {
 | 
			
		||||
                    prune: false,
 | 
			
		||||
                    self_heal: false,
 | 
			
		||||
                    allow_empty: true,
 | 
			
		||||
                },
 | 
			
		||||
                sync_options: vec![],
 | 
			
		||||
                retry: Retry {
 | 
			
		||||
                    limit: 5,
 | 
			
		||||
                    backoff: Backoff {
 | 
			
		||||
                        duration: "5s".to_string(),
 | 
			
		||||
                        factor: 2,
 | 
			
		||||
                        max_duration: "3m".to_string(),
 | 
			
		||||
                    },
 | 
			
		||||
                },
 | 
			
		||||
            },
 | 
			
		||||
            ..Self::default()
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl ArgoApplication {
 | 
			
		||||
    fn to_yaml(self) -> serde_yaml::Value {
 | 
			
		||||
        let name = self.name;
 | 
			
		||||
        let namespace = if let Some(ns) = self.namespace {
 | 
			
		||||
            ns
 | 
			
		||||
        } else {
 | 
			
		||||
            "argocd".to_string()
 | 
			
		||||
        };
 | 
			
		||||
        let project = self.project;
 | 
			
		||||
        let source = self.source;
 | 
			
		||||
 | 
			
		||||
        let mut yaml_str = format!(
 | 
			
		||||
            r#"
 | 
			
		||||
apiVersion: argoproj.io/v1alpha1
 | 
			
		||||
kind: Application
 | 
			
		||||
metadata:
 | 
			
		||||
  name: {name}
 | 
			
		||||
  # You'll usually want to add your resources to the argocd namespace.
 | 
			
		||||
  namespace: {namespace}
 | 
			
		||||
spec:
 | 
			
		||||
  # The project the application belongs to.
 | 
			
		||||
  project: {project}
 | 
			
		||||
 | 
			
		||||
  # Destination cluster and namespace to deploy the application
 | 
			
		||||
  destination:
 | 
			
		||||
    # cluster API URL
 | 
			
		||||
    server: https://kubernetes.default.svc
 | 
			
		||||
    # or cluster name
 | 
			
		||||
    # name: in-cluster
 | 
			
		||||
    # The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
 | 
			
		||||
    namespace: {namespace}
 | 
			
		||||
 | 
			
		||||
"#
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        yaml_str.push_str(
 | 
			
		||||
            &serde_yaml::to_string(&source.clone())
 | 
			
		||||
                .expect("couldn't serialize source to yaml string"),
 | 
			
		||||
        );
 | 
			
		||||
        yaml_str.push_str(
 | 
			
		||||
            &serde_yaml::to_string(&self.sync_policy)
 | 
			
		||||
                .expect("couldn't serialize sync policy to yaml string"),
 | 
			
		||||
        );
 | 
			
		||||
        yaml_str.push_str(
 | 
			
		||||
            &serde_yaml::to_string(&self.revision_history_limit)
 | 
			
		||||
                .expect("couldn't serialize revision history to yaml string"),
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        serde_yaml::from_str(&yaml_str).expect("Couldn't parse YAML")
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -2,7 +2,7 @@ use std::{io::Write, process::Command, sync::Arc};
 | 
			
		||||
 | 
			
		||||
use async_trait::async_trait;
 | 
			
		||||
use log::{error, info};
 | 
			
		||||
use serde_json::Value;
 | 
			
		||||
use serde_yaml::Value;
 | 
			
		||||
use tempfile::NamedTempFile;
 | 
			
		||||
 | 
			
		||||
use crate::{
 | 
			
		||||
@ -212,9 +212,12 @@ impl<
 | 
			
		||||
/// For now this is entirely bound to K8s / ArgoCD, will have to be revisited when we support
 | 
			
		||||
/// more CD systems
 | 
			
		||||
pub struct CDApplicationConfig {
 | 
			
		||||
    version: Version,
 | 
			
		||||
    helm_chart_url: Url,
 | 
			
		||||
    values_overrides: Value,
 | 
			
		||||
    pub version: Version,
 | 
			
		||||
    pub helm_chart_repo_url: Url,
 | 
			
		||||
    pub helm_chart_name: String,
 | 
			
		||||
    pub values_overrides: Value,
 | 
			
		||||
    pub name: String,
 | 
			
		||||
    pub namespace: String,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub trait ContinuousDeliveryApplication {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										922
									
								
								harmony/src/modules/application/features/helm_argocd_score.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										922
									
								
								harmony/src/modules/application/features/helm_argocd_score.rs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,922 @@
 | 
			
		||||
use non_blank_string_rs::NonBlankString;
 | 
			
		||||
use std::str::FromStr;
 | 
			
		||||
 | 
			
		||||
use crate::modules::helm::chart::{HelmChartScore, HelmRepository};
 | 
			
		||||
 | 
			
		||||
pub fn argo_helm_chart_score(namespace: String, openshift: bool, domain: String) -> HelmChartScore {
 | 
			
		||||
    let values = format!(
 | 
			
		||||
        r#"
 | 
			
		||||
# -- Create aggregated roles that extend existing cluster roles to interact with argo-cd resources
 | 
			
		||||
## Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles
 | 
			
		||||
createAggregateRoles: false
 | 
			
		||||
# -- Create cluster roles for cluster-wide installation.
 | 
			
		||||
## Used when you manage applications in the same cluster where Argo CD runs
 | 
			
		||||
createClusterRoles: true
 | 
			
		||||
 | 
			
		||||
openshift:
 | 
			
		||||
  # -- enables using arbitrary uid for argo repo server
 | 
			
		||||
  enabled: {openshift}
 | 
			
		||||
 | 
			
		||||
## Custom resource configuration
 | 
			
		||||
crds:
 | 
			
		||||
  # -- Install and upgrade CRDs
 | 
			
		||||
  install: true
 | 
			
		||||
  # -- Keep CRDs on chart uninstall
 | 
			
		||||
  keep: true
 | 
			
		||||
  # -- Annotations to be added to all CRDs
 | 
			
		||||
  annotations: {{}}
 | 
			
		||||
  # -- Addtional labels to be added to all CRDs
 | 
			
		||||
  additionalLabels: {{}}
 | 
			
		||||
 | 
			
		||||
## Globally shared configuration
 | 
			
		||||
global:
 | 
			
		||||
  # -- Default domain used by all components
 | 
			
		||||
  ## Used for ingresses, certificates, SSO, notifications, etc.
 | 
			
		||||
  domain: {domain}
 | 
			
		||||
 | 
			
		||||
  # -- Runtime class name for all components
 | 
			
		||||
  runtimeClassName: ""
 | 
			
		||||
 | 
			
		||||
  # -- Common labels for the all resources
 | 
			
		||||
  additionalLabels: {{}}
 | 
			
		||||
    # app: argo-cd
 | 
			
		||||
 | 
			
		||||
  # -- Number of old deployment ReplicaSets to retain. The rest will be garbage collected.
 | 
			
		||||
  revisionHistoryLimit: 3
 | 
			
		||||
 | 
			
		||||
  # Default image used by all components
 | 
			
		||||
  image:
 | 
			
		||||
    # -- If defined, a repository applied to all Argo CD deployments
 | 
			
		||||
    repository: quay.io/argoproj/argocd
 | 
			
		||||
    # -- Overrides the global Argo CD image tag whose default is the chart appVersion
 | 
			
		||||
    tag: ""
 | 
			
		||||
    # -- If defined, a imagePullPolicy applied to all Argo CD deployments
 | 
			
		||||
    imagePullPolicy: IfNotPresent
 | 
			
		||||
 | 
			
		||||
  # -- Secrets with credentials to pull images from a private registry
 | 
			
		||||
  imagePullSecrets: []
 | 
			
		||||
 | 
			
		||||
  # Default logging options used by all components
 | 
			
		||||
  logging:
 | 
			
		||||
    # -- Set the global logging format. Either: `text` or `json`
 | 
			
		||||
    format: text
 | 
			
		||||
    # -- Set the global logging level. One of: `debug`, `info`, `warn` or `error`
 | 
			
		||||
    level: info
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Argo Configs
 | 
			
		||||
configs:
 | 
			
		||||
  # General Argo CD configuration. Any values you put under `.configs.cm` are passed to argocd-cm ConfigMap.
 | 
			
		||||
  ## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cm.yaml
 | 
			
		||||
  cm:
 | 
			
		||||
    # -- Create the argocd-cm configmap for [declarative setup]
 | 
			
		||||
    create: true
 | 
			
		||||
 | 
			
		||||
    # -- Enable local admin user
 | 
			
		||||
    ## Ref: https://argo-cd.readthedocs.io/en/latest/faq/#how-to-disable-admin-user
 | 
			
		||||
    admin.enabled: true
 | 
			
		||||
 | 
			
		||||
    # -- Timeout to discover if a new manifests version got published to the repository
 | 
			
		||||
    timeout.reconciliation: 180s
 | 
			
		||||
 | 
			
		||||
    # -- Timeout to refresh application data as well as target manifests cache
 | 
			
		||||
    timeout.hard.reconciliation: 0s
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # Argo CD configuration parameters
 | 
			
		||||
  ## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cmd-params-cm.yaml
 | 
			
		||||
  params:
 | 
			
		||||
    # -- Create the argocd-cmd-params-cm configmap
 | 
			
		||||
    # If false, it is expected the configmap will be created by something else.
 | 
			
		||||
    create: true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    # -- Enables [Applications in any namespace]
 | 
			
		||||
    ## List of additional namespaces where applications may be created in and reconciled from.
 | 
			
		||||
    ## The namespace where Argo CD is installed to will always be allowed.
 | 
			
		||||
    ## Set comma-separated list. (e.g. app-team-one, app-team-two)
 | 
			
		||||
    application.namespaces: ""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # Argo CD RBAC policy configuration
 | 
			
		||||
  ## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md
 | 
			
		||||
  rbac:
 | 
			
		||||
    # -- Create the argocd-rbac-cm configmap with ([Argo CD RBAC policy]) definitions.
 | 
			
		||||
    # If false, it is expected the configmap will be created by something else.
 | 
			
		||||
    # Argo CD will not work if there is no configmap created with the name above.
 | 
			
		||||
    create: true
 | 
			
		||||
 | 
			
		||||
    # -- Annotations to be added to argocd-rbac-cm configmap
 | 
			
		||||
    annotations: {{}}
 | 
			
		||||
 | 
			
		||||
    # -- The name of the default role which Argo CD will falls back to, when authorizing API requests (optional).
 | 
			
		||||
    # If omitted or empty, users may be still be able to login, but will see no apps, projects, etc...
 | 
			
		||||
    policy.default: ''
 | 
			
		||||
 | 
			
		||||
    # -- File containing user-defined policies and role definitions.
 | 
			
		||||
    # @default -- `''` (See [values.yaml])
 | 
			
		||||
    policy.csv: ''
 | 
			
		||||
    # Policy rules are in the form:
 | 
			
		||||
    #  p, subject, resource, action, object, effect
 | 
			
		||||
    # Role definitions and bindings are in the form:
 | 
			
		||||
    #  g, subject, inherited-subject
 | 
			
		||||
    # policy.csv: |
 | 
			
		||||
    #   p, role:org-admin, applications, *, */*, allow
 | 
			
		||||
    #   p, role:org-admin, clusters, get, *, allow
 | 
			
		||||
    #   p, role:org-admin, repositories, *, *, allow
 | 
			
		||||
    #   p, role:org-admin, logs, get, *, allow
 | 
			
		||||
    #   p, role:org-admin, exec, create, */*, allow
 | 
			
		||||
    #   g, your-github-org:your-team, role:org-admin
 | 
			
		||||
 | 
			
		||||
    # -- OIDC scopes to examine during rbac enforcement (in addition to `sub` scope).
 | 
			
		||||
    # The scope value can be a string, or a list of strings.
 | 
			
		||||
    scopes: "[groups]"
 | 
			
		||||
 | 
			
		||||
    # -- Matcher function for Casbin, `glob` for glob matcher and `regex` for regex matcher.
 | 
			
		||||
    policy.matchMode: "glob"
 | 
			
		||||
 | 
			
		||||
  # GnuPG public keys for commit verification
 | 
			
		||||
  ## Ref: https://argo-cd.readthedocs.io/en/stable/user-guide/gpg-verification/
 | 
			
		||||
  gpg:
 | 
			
		||||
    # -- Annotations to be added to argocd-gpg-keys-cm configmap
 | 
			
		||||
    annotations: {{}}
 | 
			
		||||
 | 
			
		||||
    # -- [GnuPG] public keys to add to the keyring
 | 
			
		||||
    # @default -- `{{}}` (See [values.yaml])
 | 
			
		||||
    ## Note: Public keys should be exported with `gpg --export --armor <KEY>`
 | 
			
		||||
    keys: {{}}
 | 
			
		||||
      # 4AEE18F83AFDEB23: |
 | 
			
		||||
      #   -----BEGIN PGP PUBLIC KEY BLOCK-----
 | 
			
		||||
      #   ...
 | 
			
		||||
      #   -----END PGP PUBLIC KEY BLOCK-----
 | 
			
		||||
 | 
			
		||||
  # SSH known hosts for Git repositories
 | 
			
		||||
  ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#ssh-known-host-public-keys
 | 
			
		||||
  ssh:
 | 
			
		||||
    # -- Specifies if the argocd-ssh-known-hosts-cm configmap should be created by Helm.
 | 
			
		||||
    create: true
 | 
			
		||||
 | 
			
		||||
    # -- Annotations to be added to argocd-ssh-known-hosts-cm configmap
 | 
			
		||||
    annotations: {{}}
 | 
			
		||||
 | 
			
		||||
    # -- Known hosts to be added to the known host list by default.
 | 
			
		||||
    # @default -- See [values.yaml]
 | 
			
		||||
    knownHosts: |
 | 
			
		||||
      [ssh.github.com]:443 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
 | 
			
		||||
      [ssh.github.com]:443 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
 | 
			
		||||
      [ssh.github.com]:443 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
 | 
			
		||||
      bitbucket.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPIQmuzMBuKdWeF4+a2sjSSpBK0iqitSQ+5BM9KhpexuGt20JpTVM7u5BDZngncgrqDMbWdxMWWOGtZ9UgbqgZE=
 | 
			
		||||
      bitbucket.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO
 | 
			
		||||
      bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQeJzhupRu0u0cdegZIa8e86EG2qOCsIsD1Xw0xSeiPDlCr7kq97NLmMbpKTX6Esc30NuoqEEHCuc7yWtwp8dI76EEEB1VqY9QJq6vk+aySyboD5QF61I/1WeTwu+deCbgKMGbUijeXhtfbxSxm6JwGrXrhBdofTsbKRUsrN1WoNgUa8uqN1Vx6WAJw1JHPhglEGGHea6QICwJOAr/6mrui/oB7pkaWKHj3z7d1IC4KWLtY47elvjbaTlkN04Kc/5LFEirorGYVbt15kAUlqGM65pk6ZBxtaO3+30LVlORZkxOh+LKL/BvbZ/iRNhItLqNyieoQj/uh/7Iv4uyH/cV/0b4WDSd3DptigWq84lJubb9t/DnZlrJazxyDCulTmKdOR7vs9gMTo+uoIrPSb8ScTtvw65+odKAlBj59dhnVp9zd7QUojOpXlL62Aw56U4oO+FALuevvMjiWeavKhJqlR7i5n9srYcrNV7ttmDw7kf/97P5zauIhxcjX+xHv4M=
 | 
			
		||||
      github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
 | 
			
		||||
      github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
 | 
			
		||||
      github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
 | 
			
		||||
      gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
 | 
			
		||||
      gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
 | 
			
		||||
      gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
 | 
			
		||||
      ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
 | 
			
		||||
      vs-ssh.visualstudio.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
 | 
			
		||||
 | 
			
		||||
    # -- Additional known hosts for private repositories
 | 
			
		||||
    extraHosts: ''
 | 
			
		||||
 | 
			
		||||
  # Repository TLS certificates
 | 
			
		||||
  # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories-using-self-signed-tls-certificates-or-are-signed-by-custom-ca
 | 
			
		||||
  tls:
 | 
			
		||||
    # -- Annotations to be added to argocd-tls-certs-cm configmap
 | 
			
		||||
    annotations: {{}}
 | 
			
		||||
 | 
			
		||||
    # -- TLS certificates for Git repositories
 | 
			
		||||
    # @default -- `{{}}` (See [values.yaml])
 | 
			
		||||
    certificates: {{}}
 | 
			
		||||
      # server.example.com: |
 | 
			
		||||
      #   -----BEGIN CERTIFICATE-----
 | 
			
		||||
      #   ...
 | 
			
		||||
      #   -----END CERTIFICATE-----
 | 
			
		||||
 | 
			
		||||
    # -- Specifies if the argocd-tls-certs-cm configmap should be created by Helm.
 | 
			
		||||
    create: true
 | 
			
		||||
 | 
			
		||||
  # -- Repositories list to be used by applications
 | 
			
		||||
  ## Creates a secret for each key/value specified below to create repositories
 | 
			
		||||
  ## Note: the last example in the list would use a repository credential template, configured under "configs.credentialTemplates".
 | 
			
		||||
  repositories: {{}}
 | 
			
		||||
    # istio-helm-repo:
 | 
			
		||||
    #   url: https://storage.googleapis.com/istio-prerelease/daily-build/master-latest-daily/charts
 | 
			
		||||
    #   name: istio.io
 | 
			
		||||
    #   type: helm
 | 
			
		||||
    # private-helm-repo:
 | 
			
		||||
    #   url: https://my-private-chart-repo.internal
 | 
			
		||||
    #   name: private-repo
 | 
			
		||||
    #   type: helm
 | 
			
		||||
    #   password: my-password
 | 
			
		||||
    #   username: my-username
 | 
			
		||||
    # private-repo:
 | 
			
		||||
    #   url: https://github.com/argoproj/private-repo
 | 
			
		||||
 | 
			
		||||
  # -- Annotations to be added to `configs.repositories` Secret
 | 
			
		||||
  repositoriesAnnotations: {{}}
 | 
			
		||||
 | 
			
		||||
  # Argo CD sensitive data
 | 
			
		||||
  # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/#sensitive-data-and-sso-client-secrets
 | 
			
		||||
  secret:
 | 
			
		||||
    # -- Create the argocd-secret
 | 
			
		||||
    createSecret: true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Application controller
 | 
			
		||||
controller:
 | 
			
		||||
  # -- Application controller name string
 | 
			
		||||
  name: application-controller
 | 
			
		||||
 | 
			
		||||
  # -- The number of application controller pods to run.
 | 
			
		||||
  # Additional replicas will cause sharding of managed clusters across number of replicas.
 | 
			
		||||
  ## With dynamic cluster distribution turned on, sharding of the clusters will gracefully
 | 
			
		||||
  ## rebalance if the number of replica's changes or one becomes unhealthy. (alpha)
 | 
			
		||||
  replicas: 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # -- Maximum number of controller revisions that will be maintained in StatefulSet history
 | 
			
		||||
  revisionHistoryLimit: 5
 | 
			
		||||
 | 
			
		||||
  # -- Resource limits and requests for the application controller pods
 | 
			
		||||
  resources: {{}}
 | 
			
		||||
  #  limits:
 | 
			
		||||
  #    cpu: 500m
 | 
			
		||||
  #    memory: 512Mi
 | 
			
		||||
  #  requests:
 | 
			
		||||
  #    cpu: 250m
 | 
			
		||||
  #    memory: 256Mi
 | 
			
		||||
 | 
			
		||||
  # Application controller container ports
 | 
			
		||||
  containerPorts:
 | 
			
		||||
    # -- Metrics container port
 | 
			
		||||
    metrics: 8082
 | 
			
		||||
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    # -- Create a service account for the application controller
 | 
			
		||||
    create: true
 | 
			
		||||
    # -- Service account name
 | 
			
		||||
    name: argocd-application-controller
 | 
			
		||||
    # -- Annotations applied to created service account
 | 
			
		||||
    annotations: {{}}
 | 
			
		||||
    # -- Labels applied to created service account
 | 
			
		||||
    labels: {{}}
 | 
			
		||||
    # -- Automount API credentials for the Service Account
 | 
			
		||||
    automountServiceAccountToken: true
 | 
			
		||||
 | 
			
		||||
  ## Application controller metrics configuration
 | 
			
		||||
  metrics:
 | 
			
		||||
    # -- Deploy metrics service
 | 
			
		||||
    enabled: true
 | 
			
		||||
    # -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used.
 | 
			
		||||
    scrapeTimeout: ""
 | 
			
		||||
    applicationLabels:
 | 
			
		||||
      # -- Enables additional labels in argocd_app_labels metric
 | 
			
		||||
      enabled: false
 | 
			
		||||
      # -- Additional labels
 | 
			
		||||
      labels: []
 | 
			
		||||
    service:
 | 
			
		||||
      # -- Metrics service type
 | 
			
		||||
      type: ClusterIP
 | 
			
		||||
      # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
 | 
			
		||||
      clusterIP: ""
 | 
			
		||||
      # -- Metrics service annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
      # -- Metrics service labels
 | 
			
		||||
      labels: {{}}
 | 
			
		||||
      # -- Metrics service port
 | 
			
		||||
      servicePort: 8082
 | 
			
		||||
      # -- Metrics service port name
 | 
			
		||||
      portName: http-metrics
 | 
			
		||||
    serviceMonitor:
 | 
			
		||||
      # -- Enable a prometheus ServiceMonitor
 | 
			
		||||
      enabled: true
 | 
			
		||||
      # -- Prometheus ServiceMonitor interval
 | 
			
		||||
      interval: 30s
 | 
			
		||||
      # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
 | 
			
		||||
      honorLabels: false
 | 
			
		||||
      # -- Prometheus [RelabelConfigs] to apply to samples before scraping
 | 
			
		||||
      relabelings: []
 | 
			
		||||
      # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
 | 
			
		||||
      metricRelabelings: []
 | 
			
		||||
      # -- Prometheus ServiceMonitor selector
 | 
			
		||||
      selector: {{}}
 | 
			
		||||
        # prometheus: kube-prometheus
 | 
			
		||||
 | 
			
		||||
      # -- Prometheus ServiceMonitor scheme
 | 
			
		||||
      scheme: ""
 | 
			
		||||
      # -- Prometheus ServiceMonitor tlsConfig
 | 
			
		||||
      tlsConfig: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor namespace
 | 
			
		||||
      namespace: "" # "monitoring"
 | 
			
		||||
      # -- Prometheus ServiceMonitor labels
 | 
			
		||||
      additionalLabels: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
    rules:
 | 
			
		||||
      # -- Deploy a PrometheusRule for the application controller
 | 
			
		||||
      enabled: false
 | 
			
		||||
      # -- PrometheusRule namespace
 | 
			
		||||
      namespace: "" # "monitoring"
 | 
			
		||||
      # -- PrometheusRule selector
 | 
			
		||||
      selector: {{}}
 | 
			
		||||
        # prometheus: kube-prometheus
 | 
			
		||||
 | 
			
		||||
      # -- PrometheusRule labels
 | 
			
		||||
      additionalLabels: {{}}
 | 
			
		||||
      # -- PrometheusRule annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
 | 
			
		||||
      # -- PrometheusRule.Spec for the application controller
 | 
			
		||||
      spec: []
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Dex
 | 
			
		||||
dex:
 | 
			
		||||
  # -- Enable dex
 | 
			
		||||
  enabled: false
 | 
			
		||||
 | 
			
		||||
## Redis
 | 
			
		||||
redis:
 | 
			
		||||
  # -- Enable redis
 | 
			
		||||
  enabled: true
 | 
			
		||||
  # -- Redis name
 | 
			
		||||
  name: redis
 | 
			
		||||
 | 
			
		||||
  ## Redis image
 | 
			
		||||
  image:
 | 
			
		||||
    # -- Redis repository
 | 
			
		||||
    repository: ecr-public.aws.com/docker/library/redis
 | 
			
		||||
    # -- Redis tag
 | 
			
		||||
    ## Do not upgrade to >= 7.4.0, otherwise you are no longer using an open source version of Redis
 | 
			
		||||
    tag: 7.2.8-alpine
 | 
			
		||||
    # -- Redis image pull policy
 | 
			
		||||
    # @default -- `""` (defaults to global.image.imagePullPolicy)
 | 
			
		||||
    imagePullPolicy: ""
 | 
			
		||||
 | 
			
		||||
  ## Prometheus redis-exporter sidecar
 | 
			
		||||
  exporter:
 | 
			
		||||
    # -- Enable Prometheus redis-exporter sidecar
 | 
			
		||||
    enabled: true
 | 
			
		||||
    # -- Environment variables to pass to the Redis exporter
 | 
			
		||||
    env: []
 | 
			
		||||
    ## Prometheus redis-exporter image
 | 
			
		||||
    image:
 | 
			
		||||
      # -- Repository to use for the redis-exporter
 | 
			
		||||
      repository: ghcr.io/oliver006/redis_exporter
 | 
			
		||||
      # -- Tag to use for the redis-exporter
 | 
			
		||||
      tag: v1.74.0
 | 
			
		||||
      # -- Image pull policy for the redis-exporter
 | 
			
		||||
      # @default -- `""` (defaults to global.image.imagePullPolicy)
 | 
			
		||||
      imagePullPolicy: ""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    ## Probes for Redis exporter (optional)
 | 
			
		||||
    ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
 | 
			
		||||
    readinessProbe:
 | 
			
		||||
      # -- Enable Kubernetes liveness probe for Redis exporter (optional)
 | 
			
		||||
      enabled: false
 | 
			
		||||
      # -- Number of seconds after the container has started before [probe] is initiated
 | 
			
		||||
      initialDelaySeconds: 30
 | 
			
		||||
      # -- How often (in seconds) to perform the [probe]
 | 
			
		||||
      periodSeconds: 15
 | 
			
		||||
      # -- Number of seconds after which the [probe] times out
 | 
			
		||||
      timeoutSeconds: 15
 | 
			
		||||
      # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
 | 
			
		||||
      successThreshold: 1
 | 
			
		||||
      # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
 | 
			
		||||
      failureThreshold: 5
 | 
			
		||||
    livenessProbe:
 | 
			
		||||
      # -- Enable Kubernetes liveness probe for Redis exporter
 | 
			
		||||
      enabled: false
 | 
			
		||||
      # -- Number of seconds after the container has started before [probe] is initiated
 | 
			
		||||
      initialDelaySeconds: 30
 | 
			
		||||
      # -- How often (in seconds) to perform the [probe]
 | 
			
		||||
      periodSeconds: 15
 | 
			
		||||
      # -- Number of seconds after which the [probe] times out
 | 
			
		||||
      timeoutSeconds: 15
 | 
			
		||||
      # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
 | 
			
		||||
      successThreshold: 1
 | 
			
		||||
      # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
 | 
			
		||||
      failureThreshold: 5
 | 
			
		||||
 | 
			
		||||
    # -- Resource limits and requests for redis-exporter sidecar
 | 
			
		||||
    resources:
 | 
			
		||||
      limits:
 | 
			
		||||
        cpu: 50m
 | 
			
		||||
        memory: 64Mi
 | 
			
		||||
      requests:
 | 
			
		||||
        cpu: 10m
 | 
			
		||||
        memory: 32Mi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  ## Probes for Redis server (optional)
 | 
			
		||||
  ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
 | 
			
		||||
  readinessProbe:
 | 
			
		||||
    # -- Enable Kubernetes liveness probe for Redis server
 | 
			
		||||
    enabled: false
 | 
			
		||||
    # -- Number of seconds after the container has started before [probe] is initiated
 | 
			
		||||
    initialDelaySeconds: 30
 | 
			
		||||
    # -- How often (in seconds) to perform the [probe]
 | 
			
		||||
    periodSeconds: 15
 | 
			
		||||
    # -- Number of seconds after which the [probe] times out
 | 
			
		||||
    timeoutSeconds: 15
 | 
			
		||||
    # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
 | 
			
		||||
    successThreshold: 1
 | 
			
		||||
    # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
 | 
			
		||||
    failureThreshold: 5
 | 
			
		||||
  livenessProbe:
 | 
			
		||||
    # -- Enable Kubernetes liveness probe for Redis server
 | 
			
		||||
    enabled: false
 | 
			
		||||
    # -- Number of seconds after the container has started before [probe] is initiated
 | 
			
		||||
    initialDelaySeconds: 30
 | 
			
		||||
    # -- How often (in seconds) to perform the [probe]
 | 
			
		||||
    periodSeconds: 15
 | 
			
		||||
    # -- Number of seconds after which the [probe] times out
 | 
			
		||||
    timeoutSeconds: 15
 | 
			
		||||
    # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
 | 
			
		||||
    successThreshold: 1
 | 
			
		||||
    # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
 | 
			
		||||
    failureThreshold: 5
 | 
			
		||||
 | 
			
		||||
  # -- Resource limits and requests for redis
 | 
			
		||||
  resources:
 | 
			
		||||
    limits:
 | 
			
		||||
      cpu: 200m
 | 
			
		||||
      memory: 128Mi
 | 
			
		||||
    requests:
 | 
			
		||||
      cpu: 100m
 | 
			
		||||
      memory: 64Mi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  metrics:
 | 
			
		||||
    # -- Deploy metrics service
 | 
			
		||||
    enabled: true
 | 
			
		||||
 | 
			
		||||
    # Redis metrics service configuration
 | 
			
		||||
    service:
 | 
			
		||||
      # -- Metrics service type
 | 
			
		||||
      type: ClusterIP
 | 
			
		||||
      # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
 | 
			
		||||
      clusterIP: None
 | 
			
		||||
      # -- Metrics service annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
      # -- Metrics service labels
 | 
			
		||||
      labels: {{}}
 | 
			
		||||
      # -- Metrics service port
 | 
			
		||||
      servicePort: 9121
 | 
			
		||||
      # -- Metrics service port name
 | 
			
		||||
      portName: http-metrics
 | 
			
		||||
 | 
			
		||||
    serviceMonitor:
 | 
			
		||||
      # -- Enable a prometheus ServiceMonitor
 | 
			
		||||
      enabled: true
 | 
			
		||||
      # -- Interval at which metrics should be scraped
 | 
			
		||||
      interval: 30s
 | 
			
		||||
      # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
 | 
			
		||||
      honorLabels: false
 | 
			
		||||
      # -- Prometheus [RelabelConfigs] to apply to samples before scraping
 | 
			
		||||
      relabelings: []
 | 
			
		||||
      # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
 | 
			
		||||
      metricRelabelings: []
 | 
			
		||||
      # -- Prometheus ServiceMonitor selector
 | 
			
		||||
      selector: {{}}
 | 
			
		||||
        # prometheus: kube-prometheus
 | 
			
		||||
 | 
			
		||||
      # -- Prometheus ServiceMonitor scheme
 | 
			
		||||
      scheme: ""
 | 
			
		||||
      # -- Prometheus ServiceMonitor tlsConfig
 | 
			
		||||
      tlsConfig: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor namespace
 | 
			
		||||
      namespace: "" # "monitoring"
 | 
			
		||||
      # -- Prometheus ServiceMonitor labels
 | 
			
		||||
      additionalLabels: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Server
 | 
			
		||||
server:
 | 
			
		||||
  # -- Argo CD server name
 | 
			
		||||
  name: server
 | 
			
		||||
 | 
			
		||||
  # -- The number of server pods to run
 | 
			
		||||
  replicas: 1
 | 
			
		||||
 | 
			
		||||
  # -- Resource limits and requests for the Argo CD server
 | 
			
		||||
  resources: {{}}
 | 
			
		||||
  #  limits:
 | 
			
		||||
  #    cpu: 100m
 | 
			
		||||
  #    memory: 128Mi
 | 
			
		||||
  #  requests:
 | 
			
		||||
  #    cpu: 50m
 | 
			
		||||
  #    memory: 64Mi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  ## Server metrics service configuration
 | 
			
		||||
  metrics:
 | 
			
		||||
    # -- Deploy metrics service
 | 
			
		||||
    enabled: true
 | 
			
		||||
    service:
 | 
			
		||||
      # -- Metrics service type
 | 
			
		||||
      type: ClusterIP
 | 
			
		||||
      # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
 | 
			
		||||
      clusterIP: ""
 | 
			
		||||
      # -- Metrics service annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
      # -- Metrics service labels
 | 
			
		||||
      labels: {{}}
 | 
			
		||||
      # -- Metrics service port
 | 
			
		||||
      servicePort: 8083
 | 
			
		||||
      # -- Metrics service port name
 | 
			
		||||
      portName: http-metrics
 | 
			
		||||
    serviceMonitor:
 | 
			
		||||
      # -- Enable a prometheus ServiceMonitor
 | 
			
		||||
      enabled: true
 | 
			
		||||
      # -- Prometheus ServiceMonitor interval
 | 
			
		||||
      interval: 30s
 | 
			
		||||
      # -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used.
 | 
			
		||||
      scrapeTimeout: ""
 | 
			
		||||
      # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
 | 
			
		||||
      honorLabels: false
 | 
			
		||||
      # -- Prometheus [RelabelConfigs] to apply to samples before scraping
 | 
			
		||||
      relabelings: []
 | 
			
		||||
      # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
 | 
			
		||||
      metricRelabelings: []
 | 
			
		||||
      # -- Prometheus ServiceMonitor selector
 | 
			
		||||
      selector: {{}}
 | 
			
		||||
        # prometheus: kube-prometheus
 | 
			
		||||
 | 
			
		||||
      # -- Prometheus ServiceMonitor scheme
 | 
			
		||||
      scheme: ""
 | 
			
		||||
      # -- Prometheus ServiceMonitor tlsConfig
 | 
			
		||||
      tlsConfig: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor namespace
 | 
			
		||||
      namespace: ""  # monitoring
 | 
			
		||||
      # -- Prometheus ServiceMonitor labels
 | 
			
		||||
      additionalLabels: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
 | 
			
		||||
  # Argo CD server ingress configuration
 | 
			
		||||
  ingress:
 | 
			
		||||
    # -- Enable an ingress resource for the Argo CD server
 | 
			
		||||
    enabled: false
 | 
			
		||||
    # -- Specific implementation for ingress controller. One of `generic`, `aws` or `gke`
 | 
			
		||||
    ## Additional configuration might be required in related configuration sections
 | 
			
		||||
    controller: generic
 | 
			
		||||
    # -- Additional ingress labels
 | 
			
		||||
    labels: {{}}
 | 
			
		||||
    # -- Additional ingress annotations
 | 
			
		||||
    ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#option-1-ssl-passthrough
 | 
			
		||||
    annotations: {{}}
 | 
			
		||||
      # nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
 | 
			
		||||
      # nginx.ingress.kubernetes.io/ssl-passthrough: "true"
 | 
			
		||||
 | 
			
		||||
    # -- Defines which ingress controller will implement the resource
 | 
			
		||||
    ingressClassName: ""
 | 
			
		||||
 | 
			
		||||
    # -- Argo CD server hostname
 | 
			
		||||
    # @default -- `""` (defaults to global.domain)
 | 
			
		||||
    hostname: ""
 | 
			
		||||
 | 
			
		||||
    # -- The path to Argo CD server
 | 
			
		||||
    path: /
 | 
			
		||||
 | 
			
		||||
    # -- Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
 | 
			
		||||
    pathType: Prefix
 | 
			
		||||
 | 
			
		||||
    # -- Enable TLS configuration for the hostname defined at `server.ingress.hostname`
 | 
			
		||||
    ## TLS certificate will be retrieved from a TLS secret `argocd-server-tls`
 | 
			
		||||
    ## You can create this secret via `certificate` or `certificateSecret` option
 | 
			
		||||
    tls: false
 | 
			
		||||
 | 
			
		||||
    # -- The list of additional hostnames to be covered by ingress record
 | 
			
		||||
    # @default -- `[]` (See [values.yaml])
 | 
			
		||||
    extraHosts: []
 | 
			
		||||
      # - name: argocd.example.com
 | 
			
		||||
      #   path: /
 | 
			
		||||
 | 
			
		||||
    # -- Additional ingress paths
 | 
			
		||||
    # @default -- `[]` (See [values.yaml])
 | 
			
		||||
    ## Note: Supports use of custom Helm templates
 | 
			
		||||
    extraPaths: []
 | 
			
		||||
      # - path: /*
 | 
			
		||||
      #   pathType: Prefix
 | 
			
		||||
      #   backend:
 | 
			
		||||
      #     service:
 | 
			
		||||
      #       name: ssl-redirect
 | 
			
		||||
      #       port:
 | 
			
		||||
      #         name: use-annotation
 | 
			
		||||
 | 
			
		||||
    # -- Additional ingress rules
 | 
			
		||||
    # @default -- `[]` (See [values.yaml])
 | 
			
		||||
    ## Note: Supports use of custom Helm templates
 | 
			
		||||
    extraRules: []
 | 
			
		||||
      # - http:
 | 
			
		||||
      #     paths:
 | 
			
		||||
      #     - path: /
 | 
			
		||||
      #       pathType: Prefix
 | 
			
		||||
      #       backend:
 | 
			
		||||
      #         service:
 | 
			
		||||
      #           name: '{{{{ include "argo-cd.server.fullname" . }}}}'
 | 
			
		||||
      #           port:
 | 
			
		||||
      #             name: '{{{{ .Values.server.service.servicePortHttpsName }}}}'
 | 
			
		||||
 | 
			
		||||
    # -- Additional TLS configuration
 | 
			
		||||
    # @default -- `[]` (See [values.yaml])
 | 
			
		||||
    extraTls: []
 | 
			
		||||
      # - hosts:
 | 
			
		||||
      #   - argocd.example.com
 | 
			
		||||
      #   secretName: your-certificate-name
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # Create a OpenShift Route with SSL passthrough for UI and CLI
 | 
			
		||||
  # Consider setting 'hostname' e.g. https://argocd.apps-crc.testing/ using your Default Ingress Controller Domain
 | 
			
		||||
  # Find your domain with: kubectl describe --namespace=openshift-ingress-operator ingresscontroller/default | grep Domain:
 | 
			
		||||
  # If 'hostname' is an empty string "" OpenShift will create a hostname for you.
 | 
			
		||||
  route:
 | 
			
		||||
    # -- Enable an OpenShift Route for the Argo CD server
 | 
			
		||||
    enabled: {openshift}
 | 
			
		||||
    # -- Openshift Route annotations
 | 
			
		||||
    annotations: {{}}
 | 
			
		||||
    # -- Hostname of OpenShift Route
 | 
			
		||||
    hostname: ""
 | 
			
		||||
    # -- Termination type of Openshift Route
 | 
			
		||||
    termination_type: passthrough
 | 
			
		||||
    # -- Termination policy of Openshift Route
 | 
			
		||||
    termination_policy: None
 | 
			
		||||
 | 
			
		||||
## Repo Server
 | 
			
		||||
repoServer:
 | 
			
		||||
  # -- Repo server name
 | 
			
		||||
  name: repo-server
 | 
			
		||||
 | 
			
		||||
  # -- The number of repo server pods to run
 | 
			
		||||
  replicas: 1
 | 
			
		||||
 | 
			
		||||
  # -- Resource limits and requests for the repo server pods
 | 
			
		||||
  resources: {{}}
 | 
			
		||||
  #  limits:
 | 
			
		||||
  #    cpu: 50m
 | 
			
		||||
  #    memory: 128Mi
 | 
			
		||||
  #  requests:
 | 
			
		||||
  #    cpu: 10m
 | 
			
		||||
  #    memory: 64Mi
 | 
			
		||||
 | 
			
		||||
  ## Repo server metrics service configuration
 | 
			
		||||
  metrics:
 | 
			
		||||
    # -- Deploy metrics service
 | 
			
		||||
    enabled: true
 | 
			
		||||
    service:
 | 
			
		||||
      # -- Metrics service type
 | 
			
		||||
      type: ClusterIP
 | 
			
		||||
      # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
 | 
			
		||||
      clusterIP: ""
 | 
			
		||||
      # -- Metrics service annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
      # -- Metrics service labels
 | 
			
		||||
      labels: {{}}
 | 
			
		||||
      # -- Metrics service port
 | 
			
		||||
      servicePort: 8084
 | 
			
		||||
      # -- Metrics service port name
 | 
			
		||||
      portName: http-metrics
 | 
			
		||||
    serviceMonitor:
 | 
			
		||||
      # -- Enable a prometheus ServiceMonitor
 | 
			
		||||
      enabled: true
 | 
			
		||||
      # -- Prometheus ServiceMonitor interval
 | 
			
		||||
      interval: 30s
 | 
			
		||||
      # -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used.
 | 
			
		||||
      scrapeTimeout: ""
 | 
			
		||||
      # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
 | 
			
		||||
      honorLabels: false
 | 
			
		||||
      # -- Prometheus [RelabelConfigs] to apply to samples before scraping
 | 
			
		||||
      relabelings: []
 | 
			
		||||
      # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
 | 
			
		||||
      metricRelabelings: []
 | 
			
		||||
      # -- Prometheus ServiceMonitor selector
 | 
			
		||||
      selector: {{}}
 | 
			
		||||
        # prometheus: kube-prometheus
 | 
			
		||||
 | 
			
		||||
      # -- Prometheus ServiceMonitor scheme
 | 
			
		||||
      scheme: ""
 | 
			
		||||
      # -- Prometheus ServiceMonitor tlsConfig
 | 
			
		||||
      tlsConfig: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor namespace
 | 
			
		||||
      namespace: "" # "monitoring"
 | 
			
		||||
      # -- Prometheus ServiceMonitor labels
 | 
			
		||||
      additionalLabels: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## ApplicationSet controller
 | 
			
		||||
applicationSet:
 | 
			
		||||
  # -- ApplicationSet controller name string
 | 
			
		||||
  name: applicationset-controller
 | 
			
		||||
 | 
			
		||||
  # -- The number of ApplicationSet controller pods to run
 | 
			
		||||
  replicas: 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  ## Metrics service configuration
 | 
			
		||||
  metrics:
 | 
			
		||||
    # -- Deploy metrics service
 | 
			
		||||
    enabled: true
 | 
			
		||||
    service:
 | 
			
		||||
      # -- Metrics service type
 | 
			
		||||
      type: ClusterIP
 | 
			
		||||
      # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
 | 
			
		||||
      clusterIP: ""
 | 
			
		||||
      # -- Metrics service annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
      # -- Metrics service labels
 | 
			
		||||
      labels: {{}}
 | 
			
		||||
      # -- Metrics service port
 | 
			
		||||
      servicePort: 8080
 | 
			
		||||
      # -- Metrics service port name
 | 
			
		||||
      portName: http-metrics
 | 
			
		||||
    serviceMonitor:
 | 
			
		||||
      # -- Enable a prometheus ServiceMonitor
 | 
			
		||||
      enabled: true
 | 
			
		||||
      # -- Prometheus ServiceMonitor interval
 | 
			
		||||
      interval: 30s
 | 
			
		||||
      # -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used.
 | 
			
		||||
      scrapeTimeout: ""
 | 
			
		||||
      # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
 | 
			
		||||
      honorLabels: false
 | 
			
		||||
      # -- Prometheus [RelabelConfigs] to apply to samples before scraping
 | 
			
		||||
      relabelings: []
 | 
			
		||||
      # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
 | 
			
		||||
      metricRelabelings: []
 | 
			
		||||
      # -- Prometheus ServiceMonitor selector
 | 
			
		||||
      selector: {{}}
 | 
			
		||||
        # prometheus: kube-prometheus
 | 
			
		||||
 | 
			
		||||
      # -- Prometheus ServiceMonitor scheme
 | 
			
		||||
      scheme: ""
 | 
			
		||||
      # -- Prometheus ServiceMonitor tlsConfig
 | 
			
		||||
      tlsConfig: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor namespace
 | 
			
		||||
      namespace: ""  # monitoring
 | 
			
		||||
      # -- Prometheus ServiceMonitor labels
 | 
			
		||||
      additionalLabels: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
 | 
			
		||||
  # -- Resource limits and requests for the ApplicationSet controller pods.
 | 
			
		||||
  resources: {{}}
 | 
			
		||||
    # limits:
 | 
			
		||||
    #   cpu: 100m
 | 
			
		||||
    #   memory: 128Mi
 | 
			
		||||
    # requests:
 | 
			
		||||
    #   cpu: 100m
 | 
			
		||||
    #   memory: 128Mi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # -- Enable ApplicationSet in any namespace feature
 | 
			
		||||
  allowAnyNamespace: false
 | 
			
		||||
## Notifications controller
 | 
			
		||||
notifications:
 | 
			
		||||
  # -- Enable notifications controller
 | 
			
		||||
  enabled: true
 | 
			
		||||
 | 
			
		||||
  # -- Notifications controller name string
 | 
			
		||||
  name: notifications-controller
 | 
			
		||||
 | 
			
		||||
  # -- Argo CD dashboard url; used in place of {{{{.context.argocdUrl}}}} in templates
 | 
			
		||||
  # @default -- `""` (defaults to https://`global.domain`)
 | 
			
		||||
  argocdUrl: ""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  secret:
 | 
			
		||||
    # -- Whether helm chart creates notifications controller secret
 | 
			
		||||
    ## If true, will create a secret with the name below. Otherwise, will assume existence of a secret with that name.
 | 
			
		||||
    create: true
 | 
			
		||||
 | 
			
		||||
    # -- notifications controller Secret name
 | 
			
		||||
    name: "argocd-notifications-secret"
 | 
			
		||||
    # -- Generic key:value pairs to be inserted into the secret
 | 
			
		||||
    ## Can be used for templates, notification services etc. Some examples given below.
 | 
			
		||||
    ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/overview/
 | 
			
		||||
    items: {{}}
 | 
			
		||||
      # slack-token:
 | 
			
		||||
      #   # For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/slack/
 | 
			
		||||
 | 
			
		||||
      # grafana-apiKey:
 | 
			
		||||
      #   # For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/grafana/
 | 
			
		||||
 | 
			
		||||
      # webhooks-github-token:
 | 
			
		||||
 | 
			
		||||
      # email-username:
 | 
			
		||||
      # email-password:
 | 
			
		||||
        # For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/email/
 | 
			
		||||
 | 
			
		||||
  metrics:
 | 
			
		||||
    # -- Enables prometheus metrics server
 | 
			
		||||
    enabled: true
 | 
			
		||||
    # -- Metrics port
 | 
			
		||||
    port: 9001
 | 
			
		||||
    service:
 | 
			
		||||
      # -- Metrics service type
 | 
			
		||||
      type: ClusterIP
 | 
			
		||||
      # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
 | 
			
		||||
      clusterIP: ""
 | 
			
		||||
      # -- Metrics service annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
      # -- Metrics service labels
 | 
			
		||||
      labels: {{}}
 | 
			
		||||
      # -- Metrics service port name
 | 
			
		||||
      portName: http-metrics
 | 
			
		||||
    serviceMonitor:
 | 
			
		||||
      # -- Enable a prometheus ServiceMonitor
 | 
			
		||||
      enabled: true
 | 
			
		||||
      # -- Prometheus ServiceMonitor selector
 | 
			
		||||
      selector: {{}}
 | 
			
		||||
        # prometheus: kube-prometheus
 | 
			
		||||
      # -- Prometheus ServiceMonitor labels
 | 
			
		||||
      additionalLabels: {{}}
 | 
			
		||||
      # -- Prometheus ServiceMonitor annotations
 | 
			
		||||
      annotations: {{}}
 | 
			
		||||
      # namespace: monitoring
 | 
			
		||||
      # interval: 30s
 | 
			
		||||
      # scrapeTimeout: 10s
 | 
			
		||||
      # -- Prometheus ServiceMonitor scheme
 | 
			
		||||
      scheme: ""
 | 
			
		||||
      # -- Prometheus ServiceMonitor tlsConfig
 | 
			
		||||
      tlsConfig: {{}}
 | 
			
		||||
      # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
 | 
			
		||||
      honorLabels: false
 | 
			
		||||
      # -- Prometheus [RelabelConfigs] to apply to samples before scraping
 | 
			
		||||
      relabelings: []
 | 
			
		||||
      # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
 | 
			
		||||
      metricRelabelings: []
 | 
			
		||||
 | 
			
		||||
  # -- Configures notification services such as slack, email or custom webhook
 | 
			
		||||
  # @default -- See [values.yaml]
 | 
			
		||||
  ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/overview/
 | 
			
		||||
  notifiers: {{}}
 | 
			
		||||
    # service.slack: |
 | 
			
		||||
    #   token: $slack-token
 | 
			
		||||
 | 
			
		||||
  # -- Resource limits and requests for the notifications controller
 | 
			
		||||
  resources: {{}}
 | 
			
		||||
    # limits:
 | 
			
		||||
    #   cpu: 100m
 | 
			
		||||
    #   memory: 128Mi
 | 
			
		||||
    # requests:
 | 
			
		||||
    #   cpu: 100m
 | 
			
		||||
    #   memory: 128Mi
 | 
			
		||||
 | 
			
		||||
  cm:
 | 
			
		||||
    # -- Whether helm chart creates notifications controller config map
 | 
			
		||||
    create: true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # -- Contains centrally managed global application subscriptions
 | 
			
		||||
  ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/subscriptions/
 | 
			
		||||
  subscriptions: []
 | 
			
		||||
    # # subscription for on-sync-status-unknown trigger notifications
 | 
			
		||||
    # - recipients:
 | 
			
		||||
    #   - slack:test2
 | 
			
		||||
    #   - email:test@gmail.com
 | 
			
		||||
    #   triggers:
 | 
			
		||||
    #   - on-sync-status-unknown
 | 
			
		||||
    # # subscription restricted to applications with matching labels only
 | 
			
		||||
    # - recipients:
 | 
			
		||||
    #   - slack:test3
 | 
			
		||||
    #   selector: test=true
 | 
			
		||||
    #   triggers:
 | 
			
		||||
    #   - on-sync-status-unknown
 | 
			
		||||
 | 
			
		||||
  # -- The notification template is used to generate the notification content
 | 
			
		||||
  ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/templates/
 | 
			
		||||
  templates: {{}}
 | 
			
		||||
 | 
			
		||||
commitServer:
 | 
			
		||||
  # -- Enable commit server
 | 
			
		||||
  enabled: false
 | 
			
		||||
 | 
			
		||||
"#,
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    HelmChartScore {
 | 
			
		||||
        namespace: Some(NonBlankString::from_str(&namespace).unwrap()),
 | 
			
		||||
        release_name: NonBlankString::from_str("argo-cd").unwrap(),
 | 
			
		||||
        chart_name: NonBlankString::from_str("argo/argo-cd").unwrap(),
 | 
			
		||||
        chart_version: Some(NonBlankString::from_str("8.1.2").unwrap()),
 | 
			
		||||
        values_overrides: None,
 | 
			
		||||
        values_yaml: Some(values.to_string()),
 | 
			
		||||
        create_namespace: true,
 | 
			
		||||
        install_only: false,
 | 
			
		||||
        repository: Some(HelmRepository::new(
 | 
			
		||||
            "argo".to_string(),
 | 
			
		||||
            url::Url::parse("https://argoproj.github.io/argo-helm").unwrap(),
 | 
			
		||||
            true,
 | 
			
		||||
        )),
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -6,3 +6,9 @@ pub use monitoring::*;
 | 
			
		||||
 | 
			
		||||
mod continuous_delivery;
 | 
			
		||||
pub use continuous_delivery::*;
 | 
			
		||||
 | 
			
		||||
mod helm_argocd_score;
 | 
			
		||||
pub use helm_argocd_score::*;
 | 
			
		||||
 | 
			
		||||
mod argo_types;
 | 
			
		||||
pub use argo_types::*;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user