initial import

This commit is contained in:
James Andariese 2023-04-23 11:19:35 -05:00
parent 86e5f73886
commit 21f6d2d05a
22 changed files with 369 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
\#*#
*~

9
argo1/Chart.lock Normal file
View File

@ -0,0 +1,9 @@
dependencies:
- name: argo-cd
repository: https://argoproj.github.io/argo-helm
version: 5.29.1
- name: argocd-apps
repository: https://argoproj.github.io/argo-helm
version: 0.0.9
digest: sha256:61b3270da67eb8bc6986a8cda0b41b3319dbb07df1295d0ca8cfb5cd31ccc837
generated: "2023-04-22T13:16:58.406086-05:00"

20
argo1/Chart.yaml Normal file
View File

@ -0,0 +1,20 @@
apiVersion: v2
name: argo1
description: A Helm chart for your management ArgoCD of your management ArgoCD
type: application
version: 0.1.0
appVersion: &argoVersion 5.29.1
argoRepo: &argoRepo "https://argoproj.github.io/argo-helm"
argoChart: &argoChart argo-cd
dependencies:
- name: *argoChart
version: *argoVersion
repository: *argoRepo
#- name: argo-cd
# version: "5.29.1"
# repository: "https://argoproj.github.io/argo-helm"
#- name: argocd-apps
# version: 0.0.9
# repository: "https://argoproj.github.io/argo-helm"

0
argo1/README.md Normal file
View File

1
argo1/argo1 Submodule

@ -0,0 +1 @@
Subproject commit b6fe7dcf5c3104cec26db52bde711a4537d58bb8

26
argo1/argo1-bad.yaml Normal file
View File

@ -0,0 +1,26 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argo1
namespace: argocd
spec:
destination:
name: in-cluster
namespace: argocd
server: https://kubernetes.default.svc
project: default
source:
path: .
repoURL: https://git.strudelline.net/infra/repo1
targetRevision: HEAD
syncPolicy:
automated:
selfHeal: true
retry:
backoff:
duration: 5s
factor: 2
maxDuration: 3m0s
limit: 10
syncOptions:
- CreateNamespace=true

25
argo1/argo2-good.yaml Normal file
View File

@ -0,0 +1,25 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argo2
namespace: argocd
spec:
destination:
namespace: argocd
server: https://kubernetes.default.svc
project: default
source:
path: .
repoURL: https://git.strudelline.net/infra/argo1
targetRevision: main
syncPolicy:
automated:
selfHeal: true
retry:
backoff:
duration: 5s
factor: 2
maxDuration: 3m0s
limit: 10
syncOptions:
- CreateNamespace=true

19
argo1/blah.yaml Normal file
View File

@ -0,0 +1,19 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: concourse
namespace: argocd
spec:
project: default
source:
repoURL: 'https://concourse-charts.storage.googleapis.com/'
targetRevision: 17.1.1
helm:
values: |-
clusterName: Concourse
secrets:
create: true
chart: concourse
destination:
namespace: concourse
name: in-cluster

Binary file not shown.

Binary file not shown.

20
argo1/deploy.sh Normal file
View File

@ -0,0 +1,20 @@
#!/bin/bash
cd "$(dirname "$0")"
TARGETNS="argocd"
ORIGNS="$(kubectl config view --minify -o jsonpath='{..namespace}')"
(
set -e
jq -n --args '{"apiVersion":"v1","kind":"Namespace","metadata":{"name": $ARGS.positional[0]}}' "$TARGETNS" | kubectl apply -f -
[ x"$TARGETNS" != x"$ORIGNS" ] && kubectl config set-context --current --namespace $TARGETNS
helm upgrade -i --create-namespace -n $TARGETNS argo1 argo/argo-cd -f values.yaml
kubectl wait -n $TARGETNS deploy/argocd-server --for=condition=available
#kubectl apply -f application.yaml
#
argocd --core app sync argocd
)
[ x"$TARGETNS" != x"$ORIGNS" ] && kubectl config set-context --current --namespace "$ORIGNS"

21
argo1/infra.yaml Normal file
View File

@ -0,0 +1,21 @@
---
apiVersion: v1
kind: Secret
metadata:
name: local-git-argo1
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repository
stringData:
type: git
url: git@github.com/jamesandariese/argo1
project: default
sshPrivateKey: |
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACCzR5/gYPwL+YJw+N6Tip03tLH3257Ysc3TJqfymV7PpwAAALAezw3sHs8N
7AAAAAtzc2gtZWQyNTUxOQAAACCzR5/gYPwL+YJw+N6Tip03tLH3257Ysc3TJqfymV7Ppw
AAAEBohw71h5SaZ6zd3c7MSUUNlWoI40LK+D8wxk1BcCeUybNHn+Bg/Av5gnD43pOKnTe0
sffbntixzdMmp/KZXs+nAAAAKGphbWVzQEphbWVzcy1NQlAuY2FzY2FkZS5zdHJ1ZGVsbG
luZS5uZXQBAgMEBQ==
-----END OPENSSH PRIVATE KEY-----

15
argo1/install-crds.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
cd "$(dirname "$0")"
(
set -e
eval "$(yq -o json . Chart.yaml | jq -r '.dependencies[0] | @sh "CHART=\(.name)\nVERSION=\(.version)\nREPO=\(.repository)"')"
helm template argocd-crds "$CHART" --repo "$REPO" --version "$VERSION" | yq 'select(.kind == "CustomResourceDefinition")' | kubectl apply -f -
)
RC=$?
if [ $RC -ne 0 ];then
1>&2 echo "exiting due to error"
exit $RC
fi

62
argo1/poop/_helpers.tpl Normal file
View File

@ -0,0 +1,62 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "argo1.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "argo1.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "argo1.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "argo1.labels" -}}
helm.sh/chart: {{ include "argo1.chart" . }}
{{ include "argo1.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "argo1.selectorLabels" -}}
app.kubernetes.io/name: {{ include "argo1.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "argo1.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "argo1.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

18
argo1/poop/argocd.yaml Normal file
View File

@ -0,0 +1,18 @@
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: "{{ .Release.Name }}"
namespace: "{{ .Release.Namespace }}"
spec:
project: default
source:
repoURL: "{{ .Chart.dependencies[0].repository }}"
targetRevision: "{{ .Chart.dependencies[0].version }}"
chart: "{{ .Chart.dependencies[0].name }}"
helm:
values: |
{{ .Values.argocd.values | nindent 12 }}
destination:
namespace: "{{ .Values.argocd.namespace }}"
name: in-cluster

8
argo1/poop/sshkey Normal file
View File

@ -0,0 +1,8 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACCzR5/gYPwL+YJw+N6Tip03tLH3257Ysc3TJqfymV7PpwAAALAezw3sHs8N
7AAAAAtzc2gtZWQyNTUxOQAAACCzR5/gYPwL+YJw+N6Tip03tLH3257Ysc3TJqfymV7Ppw
AAAEBohw71h5SaZ6zd3c7MSUUNlWoI40LK+D8wxk1BcCeUybNHn+Bg/Av5gnD43pOKnTe0
sffbntixzdMmp/KZXs+nAAAAKGphbWVzQEphbWVzcy1NQlAuY2FzY2FkZS5zdHJ1ZGVsbG
luZS5uZXQBAgMEBQ==
-----END OPENSSH PRIVATE KEY-----

1
argo1/poop/sshkey.pub Normal file
View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILNHn+Bg/Av5gnD43pOKnTe0sffbntixzdMmp/KZXs+n james@Jamess-MBP.cascade.strudelline.net

15
argo1/secrets.yaml Normal file
View File

@ -0,0 +1,15 @@
---
apiVersion: v1
kind: Secret
metadata:
name: local-git-creds
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repo-creds
stringData:
type: git
url: https://git.strudelline.net/
password: JwCJznZZMJU4se
username: svc-argocd
project: default

View File

@ -0,0 +1,18 @@
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: "{{ .Release.Name }}"
namespace: "{{ .Release.Namespace }}"
spec:
project: default
source:
repoURL: "{{ (index .Chart.Dependencies 0).Repository }}"
targetRevision: "{{ (index .Chart.Dependencies 0).Version }}"
chart: "{{ (index .Chart.Dependencies 0).Name }}"
helm:
values: |
{{ (index .Values "argo-cd") | toYaml | nindent 12 }}
destination:
namespace: "{{ .Release.Namespace }}"
name: in-cluster

13
argo1/templates/self.yaml Normal file
View File

@ -0,0 +1,13 @@
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: "{{ .Release.Name }}"
namespace: "{{ .Release.Namespace }}"
spec:
project: default
source:
{{ .Values.bootstrap.source | toYaml | nindent 4 }}
destination:
namespace: "{{ .Release.Namespace }}"
name: in-cluster

57
argo1/values.yaml Normal file
View File

@ -0,0 +1,57 @@
bootstrap:
source:
repoURL: "git@github.com/jamesandariese/argo1"
targetRevision: "main"
path: .
argo-cd:
crds:
install: false
configs:
params:
"server.insecure": "true"
controller:
replicas: 2
server:
ingress:
enabled: true
hosts: &hhosts
- argocd.strudelline.net
tls:
- hosts: *hhosts
secretName: wildcard-tls
ingressGrpc:
enabled: true
hosts: &ghosts
- grpc-argocd.strudelline.net
tls:
- hosts: *ghosts
secretName: wildcard-tls
#argocd-apps:
# applications:
# - name: argo1
# destination:
# name: in-cluster
# namespace: argocd
# source:
# path: .
# repoURL: 'https://git.strudelline.net/infra/argo1'
# targetRevision: main
# sources: []
# project: default
# syncPolicy:
# automated:
# prune: false
# selfHeal: true
# syncOptions:
# - CreateNamespace=true
# retry:
# limit: 10
# backoff:
# duration: 5s
# maxDuration: 3m0s
# factor: 2

19
argo1/x.yaml Normal file
View File

@ -0,0 +1,19 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
annotations:
meta.helm.sh/release-name: argo1
meta.helm.sh/release-namespace: argocd
labels:
app.kubernetes.io/managed-by: Helm
name: argo1
namespace: argocd
spec:
destination:
namespace: argocd
server: https://kubernetes.default.svc
project: default
source:
path: .
repoURL: https://git.strudelline.net/infra/repo1
targetRevision: HEAD