Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions charts/argo-cd/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
dependencies:
- name: common
repository: https://sourcemation.github.io/charts/
version: 0.1.1
- name: argo-cd
repository: https://argoproj.github.io/argo-helm
version: 7.6.8
digest: sha256:2714abb2c768d0b7c3bd65ed0f1903b0cfdb27f004a679bf9f4b75a73b935e85
generated: "2024-10-29T12:00:13.610549094+01:00"
27 changes: 27 additions & 0 deletions charts/argo-cd/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: v2
appVersion: 2.8.3
version: 1.0.0
name: argo-cd
description: "Argo CD is a declarative, GitOps-based continuous delivery tool for Kubernetes, allowing users to manage application deployments."
type: application
annotations:
catalog.cattle.io/display-name: Argo CD
catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux
catalog.cattle.io/release-name: argo-cd
home: https://linuxpolska.com
icon: https://linuxpolska.com/logo/LinuxPolska-icon.png
keywords:
- gitops
- ci/cd
- kubernetes
sources:
- https://github.com/argoproj/argo-helm
dependencies:
- name: common
repository: https://sourcemation.github.io/charts/
version: 0.1.1
- name: argo-cd
repository: https://argoproj.github.io/argo-helm
version: 7.6.8
kubeVersion: '>=1.26.0-0 <1.31.0-0'
79 changes: 79 additions & 0 deletions charts/argo-cd/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
## General

### Are you looking for more information?

1. Documentation: https://argo-cd.readthedocs.io
2. Chart Source: https://github.com/argoproj/argo-helm

## Before Installation

The installation of cert-manager is required according to the instructions
provided in the README file of the latest version:
https://github.com/SourceMation/charts/tree/main/charts/cert-manager

## After Installation

> **Note:**
> no action required

## Before Upgrade

> **Note:**
> no action required

## After Upgrade

> **Note:**
> no action required

## Tips and Tricks

> **Note:**
> no tips and tricks

## Known Issues

> **Note:**
> Notify us: https://github.com/SourceMation/charts/issues

## CLI installation

### Preparation

```bash

export CHART_NAMESPACE=argo-cd-namespace
export CHART_URL=argo-cd.apps.example.com

kubectl create ns ${CHART_NAMESPACE}
kubectl config set-context --current --namespace ${CHART_NAMESPACE}

```

### Go go helm

``` bash


cd charts/charts/argo-cd/
helm upgrade --install argo-cd -n ${CHART_NAMESPACE} --set argo-cd.global.domain=${CHART_URL} .

```

### Validation and Testing

```bash

kubectl -n ${CHART_NAMESPACE} get po

```

## CLI removing

```bash

helm -n ${CHART_NAMESPACE} uninstall argo-cd


```

4 changes: 4 additions & 0 deletions charts/argo-cd/app-readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Overview

Argo CD automates the synchronization and monitoring of applications, ensuring they are always in the desired state defined in version control.

Binary file added charts/argo-cd/charts/argo-cd-7.6.8.tgz
Binary file not shown.
Binary file added charts/argo-cd/charts/common-0.1.1.tgz
Binary file not shown.
178 changes: 178 additions & 0 deletions charts/argo-cd/questions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
categories:
- cicd
namespace: argo-cd-namespace

questions:
- variable: argo-cd.configs.secret.argocdServerAdminPassword
label: Argo CD admin (bcrypt) password - check ./scripts directory
description: "Default password is 'P@ssword1'. Change it!"
group: "Workloads"
type: password
required: true
- variable: questionsSpec.argocdApp.customImage
default: false
label: Change Argo CD image
group: "Workloads"
type: boolean
show_subquestion_if: true
subquestions:
- variable: argo-cd.image.repository
default: "argo-cd/argo-cd"
label: Argo CD image repository
description: "Argo CD image repository"
group: "Workloads"
type: string
- variable: argo-cd.image.tag
default: ""
label: Argo CD image tag
description: "Argo CD image tag"
group: "Workloads"
type: string
required: false
- variable: argo-cd.image.imagePullPolicy
default: "IfNotPresent"
label: Argo CD image pullPolicy
description: "Argo CD image pullPolicy"
group: "Workloads"
type: enum
options:
- "Always"
- "IfNotPresent"
- "Never"
- variable: questionsSpec.argocdApp.customResources
default: false
label: Modify Argo CD resource consumption
group: "Workloads"
type: boolean
show_subquestion_if: true
subquestions:
- variable: argo-cd.controller.resources.limits.cpu
label: Milicore limit for a Argo CD instance
description: "1000m(milicores) = 1vCPU"
group: "Workloads"
type: string
required: false
- variable: argo-cd.controller.resources.requests.cpu
label: Milicore requests for a Argo CD instance
description: "1000m(milicores) = 1vCPU, value must be <= milicore limit"
group: "Workloads"
type: string
required: false
- variable: argo-cd.controller.resources.limits.memory
label: Memory limit for a Argo CD instance
description: "Memory limit for a Argo CD instance"
group: "Workloads"
type: string
required: false
- variable: argo-cd.controller.resources.requests.memory
label: Memory requests for a Argo CD instance
description: "Memory request, value must be <= memory limit"
group: "Workloads"
type: string
required: false
- variable: argo-cd.global.deploymentStrategy.type
default: "RollingUpdate"
label: Argo CD deployment strategy
description: "Argo CD deployment strategy"
group: "Workloads"
type: enum
options:
- "RollingUpdate"
- "Recreate"
required: false
- variable: questionsSpec.dexApp.customImage
default: false
label: Change Dex image
group: "Workloads"
type: boolean
show_subquestion_if: true
subquestions:
- variable: argo-cd.dex.image.repository
default: "dex/dex"
label: Dex image repository
description: "Dex image repository"
group: "Workloads"
type: string
- variable: argo-cd.dex.image.tag
default: ""
label: Dex image tag
description: "Dex image tag"
group: "Workloads"
type: string
required: false
- variable: argo-cd.dex.image.imagePullPolicy
default: "IfNotPresent"
label: Dex image pullPolicy
description: "Dex image pullPolicy"
group: "Workloads"
type: enum
options:
- "Always"
- "IfNotPresent"
- "Never"
- variable: questionsSpec.redisApp.customImage
default: false
label: Change Redis image
group: "Workloads"
type: boolean
show_subquestion_if: true
subquestions:
- variable: argo-cd.redis.image.repository
default: "redis/redis"
label: Redis image repository
description: "Redis image repository"
group: "Workloads"
type: string
- variable: argo-cd.redis.image.tag
default: ""
label: Redis image tag
description: "Redis image tag"
group: "Workloads"
type: string
required: false
- variable: argo-cd.redis.image.imagePullPolicy
default: "IfNotPresent"
label: Redis image pullPolicy
description: "Redis image pullPolicy"
group: "Workloads"
type: enum
options:
- "Always"
- "IfNotPresent"
- "Never"

- variable: argo-cd.server.ingress.enabled
label: Enable Argo CD ingress
group: "Service Discovery"
type: boolean
show_subquestion_if: true
subquestions:
- variable: argo-cd.global.domain
default: "argo-cd.apps.example.com"
label: URL
description: "Argo CD Ingress URL"
group: "Service Discovery"
type: hostname
required: false

- variable: argo-cd.dex.enabled
label: Enable Dex server
group: "Integrations"
type: boolean
- variable: argo-cd.redis.enabled
label: Enable Redis server
group: "Integrations"
type: boolean
- variable: argo-cd.controller.metrics.enabled
label: "Integrate Argo CD with Prometheus"
description: "Argo CD metrics"
group: "Integrations"
type: boolean
show_subquestion_if: true
subquestions:
- variable: argo-cd.controller.metrics.serviceMonitor.enabled
label: Enable a Prometheus ServiceMonitor
description: "Enable a Prometheus ServiceMonitor"
group: "Integrations"
type: boolean

14 changes: 14 additions & 0 deletions charts/argo-cd/scripts/passgen.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/python3
password = b"P@ssword1"

import subprocess
import sys
try:
__import__("bcrypt")
except ImportError:
subprocess.check_call([sys.executable, "-m", "pip", "install", "bcrypt"])
finally:
globals()["bcrypt"] = __import__("bcrypt")
from bcrypt import hashpw, gensalt
hashed = hashpw(password, gensalt())
print(hashed.decode())
5 changes: 5 additions & 0 deletions charts/argo-cd/scripts/passgen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh

password='P@ssword1'

htpasswd -bnBC 10 "" ${password} | tr -d ':\n'; echo
9 changes: 9 additions & 0 deletions charts/argo-cd/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

█████╗ ██████╗ ██████╗ ██████╗ ██████╗██████╗
██╔══██╗██╔══██╗██╔════╝ ██╔═══██╗ ██╔════╝██╔══██╗
███████║██████╔╝██║ ███╗██║ ██║ ██║ ██║ ██║
██╔══██║██╔══██╗██║ ██║██║ ██║ ██║ ██║ ██║
██║ ██║██║ ██║╚██████╔╝╚██████╔╝ ╚██████╗██████╔╝
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝╚═════╝
by Linux Polska

Loading