chore(mgmt): WIP capture k8s-mgmt config

This commit is contained in:
David Landry 2025-09-13 11:01:55 -04:00
parent 29297a3541
commit e10550787a
10 changed files with 8467 additions and 0 deletions

View file

@ -0,0 +1,46 @@
apiVersion: batch/v1
kind: Job
metadata:
name: hugo-build-deploy
spec:
template:
spec:
containers:
- name: hugo-builder
image: alpine:latest
command: ["/bin/sh", "-c"]
args:
- |
apk add --no-cache git hugo
git clone $GIT_REPO /src
cd /src
hugo --minify --enableGitInfo
npm install -g @cloudflare/wrangler
wrangler publish --project-name $CFP_PROJECT_NAME --env $CFP_ENVIRONMENT
env:
- name: HUGO_ENVIRONMENT
value: production
- name: GIT_REPO
# value: git.nc.landry.land/davad/portfolio-site.git
value: "ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/portfolio-site.git"
- name: CFP_PROJECT_NAME
- name: CFP_ENVIRONMENT
- name: CF_API_TOKEN
valueFrom:
secretKeyRef:
name: cloudflare-secret
key: api-token
volumeMounts:
- name: ssh-key-volume
mountPath: "/etc/ssh-key"
- name: src-volume
mountPath: /src
restartPolicy: Never
volumes:
- name: src-volume
emptyDir: {}
- name: ssh-key-volume
secret:
secretName: git-ssh-key
defaultMode: 256
backoffLimit: 4

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,93 @@
INSERT INTO "repository" ("id", "owner_id", "owner_name", "lower_name", "name", "description", "website",
"original_service_type", "original_url", "default_branch",
"num_watches", "num_stars", "num_forks", "num_issues", "num_closed_issues", "num_pulls",
"num_closed_pulls", "num_milestones", "num_closed_milestones", "num_projects",
"num_closed_projects", "num_action_runs", "num_closed_action_runs", "is_private", "is_empty",
"is_archived", "is_mirror", "status", "is_fork", "fork_id", "is_template", "template_id",
"size", "git_size", "lfs_size", "is_fsck_enabled", "close_issues_via_commit_in_any_branch",
"topics", "object_format_name", "trust_model", "avatar", "created_unix", "updated_unix",
"archived_unix")
VALUES (56, 1, 'davad', 'coursera-dl', 'coursera-dl',
'A script for downloading course material (video''s, pdfs, quizzes, etc) from coursera.org', '', '1',
'https://davad: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@github.com/davad/coursera-dl.git',
'mechanize', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', true, false, false,
false, '0', false, 0, false, 0, 344149, 344149, 0, true, false, 'null', 'sha1', '0', '', 1684717929, 1684717931,
0);
INSERT INTO "repository" ("id", "owner_id", "owner_name", "lower_name", "name", "description", "website",
"original_service_type", "original_url", "default_branch",
"num_watches", "num_stars", "num_forks", "num_issues", "num_closed_issues", "num_pulls",
"num_closed_pulls", "num_milestones", "num_closed_milestones", "num_projects",
"num_closed_projects", "num_action_runs", "num_closed_action_runs", "is_private", "is_empty",
"is_archived", "is_mirror", "status", "is_fork", "fork_id", "is_template", "template_id",
"size", "git_size", "lfs_size", "is_fsck_enabled", "close_issues_via_commit_in_any_branch",
"topics", "object_format_name", "trust_model", "avatar", "created_unix", "updated_unix",
"archived_unix")
VALUES (49, 1, 'davad', 'caddy-path-proxy', 'caddy-path-proxy',
'Automated caddy proxy for Docker containers using docker-gen', '', '1',
'https://davad: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@github.com/davad/caddy-path-proxy.git',
'restart', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', true, false, false, false,
'2', false, 0, false, 0, 39828, 39828, 0, true, false, 'null', 'sha1', '0', '', 1684717864, 1684717865, 0);
INSERT INTO "repository" ("id", "owner_id", "owner_name", "lower_name", "name", "description", "website",
"original_service_type", "original_url", "default_branch",
"num_watches", "num_stars", "num_forks", "num_issues", "num_closed_issues", "num_pulls",
"num_closed_pulls", "num_milestones", "num_closed_milestones", "num_projects",
"num_closed_projects", "num_action_runs", "num_closed_action_runs", "is_private", "is_empty",
"is_archived", "is_mirror", "status", "is_fork", "fork_id", "is_template", "template_id",
"size", "git_size", "lfs_size", "is_fsck_enabled", "close_issues_via_commit_in_any_branch",
"topics", "object_format_name", "trust_model", "avatar", "created_unix", "updated_unix",
"archived_unix")
VALUES (62, 1, 'davad', 'docker-dontstarvetogether', 'docker-dontstarvetogether',
'Dockerfile for building a Don''t Starve Together dedicated-server image.', '', '1',
'https://davad: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@github.com/davad/docker-dontstarvetogether.git',
'develop', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', true, false, false, false,
'0', false, 0, false, 0, 318011, 318011, 0, true, false, 'null', 'sha1', '0', '', 1684717986, 1684717996, 0);
INSERT INTO "repository" ("id", "owner_id", "owner_name", "lower_name", "name", "description", "website",
"original_service_type", "original_url", "default_branch",
"num_watches", "num_stars", "num_forks", "num_issues", "num_closed_issues", "num_pulls",
"num_closed_pulls", "num_milestones", "num_closed_milestones", "num_projects",
"num_closed_projects", "num_action_runs", "num_closed_action_runs", "is_private", "is_empty",
"is_archived", "is_mirror", "status", "is_fork", "fork_id", "is_template", "template_id",
"size", "git_size", "lfs_size", "is_fsck_enabled", "close_issues_via_commit_in_any_branch",
"topics", "object_format_name", "trust_model", "avatar", "created_unix", "updated_unix",
"archived_unix")
VALUES (74, 1, 'davad', 'formvalidation', 'formvalidation',
'The best @jquery plugin to validate form fields. Designed to use with Bootstrap + Zurb Foundation + Pure + SemanticUI + UIKit + Your own frameworks.',
'', '1',
'https://davad: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@github.com/davad/formvalidation.git',
'info', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', true, false, false, false,
'0', false, 0, false, 0, 11870433, 11870433, 0, true, false, 'null', 'sha1', '0', '', 1684718107, 1684718113,
0);
INSERT INTO "repository" ("id", "owner_id", "owner_name", "lower_name", "name", "description", "website",
"original_service_type", "original_url", "default_branch",
"num_watches", "num_stars", "num_forks", "num_issues", "num_closed_issues", "num_pulls",
"num_closed_pulls", "num_milestones", "num_closed_milestones", "num_projects",
"num_closed_projects", "num_action_runs", "num_closed_action_runs", "is_private", "is_empty",
"is_archived", "is_mirror", "status", "is_fork", "fork_id", "is_template", "template_id",
"size", "git_size", "lfs_size", "is_fsck_enabled", "close_issues_via_commit_in_any_branch",
"topics", "object_format_name", "trust_model", "avatar", "created_unix", "updated_unix",
"archived_unix")
VALUES (109, 1, 'davad', 'keepassxc', 'keepassxc',
'KeePassXC is a cross platform community driven port of the windows application “Keepass Password Safe”.', '',
'1',
'https://davad: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@github.com/davad/keepassxc.git',
'develop', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', true, false, false, false,
'0', false, 0, false, 0, 7732500, 7732500, 0, true, false, 'null', 'sha1', '0', '', 1684719073, 1684719077, 0);
INSERT INTO "repository" ("id", "owner_id", "owner_name", "lower_name", "name", "description", "website",
"original_service_type", "original_url", "default_branch",
"num_watches", "num_stars", "num_forks", "num_issues", "num_closed_issues", "num_pulls",
"num_closed_pulls", "num_milestones", "num_closed_milestones", "num_projects",
"num_closed_projects", "num_action_runs", "num_closed_action_runs", "is_private", "is_empty",
"is_archived", "is_mirror", "status", "is_fork", "fork_id", "is_template", "template_id",
"size", "git_size", "lfs_size", "is_fsck_enabled", "close_issues_via_commit_in_any_branch",
"topics", "object_format_name", "trust_model", "avatar", "created_unix", "updated_unix",
"archived_unix")
VALUES (112, 1, 'davad', 'montferret.github.io', 'montferret.github.io', 'Website for Ferret project', '', '1',
'https://davad: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@github.com/davad/montferret.github.io.git',
'dev', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', true, false, false, false,
'0', false, 0, false, 0, 4468823, 4468823, 0, true, false, 'null', 'sha1', '0', '', 1684719105, 1684719108, 0);
SELECT setval('repository_id_seq', COALESCE((SELECT MAX(id) + 1 FROM "repository"), 1), false);

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,63 @@
USER-SUPPLIED VALUES:
ingress:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-issuer
enabled: true
hosts:
- host: git.nc.landry.land
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- git.nc.landry.land
secretName: gitea-tls
gitea:
admin:
password: r8sdA8CPHD9!bt6d
additionalConfigSources:
- secret:
secretName: gitea-security-related-configuration
- configMap:
name: gitea-app-ini-plaintext
config:
database:
DB_TYPE: postgres
livenessProbe:
initialDelaySeconds: 600
startupProbe:
initialDelaySeconds: 600
global:
postgresql:
auth:
database: null
password: null
username: null
service:
ports:
postgresql: null
primary:
persistence:
size: null
postgresql-ha:
enabled: false
global:
postgresql:
database: null
password: null
username: null
pgpool:
adminPassword: null
postgresql:
password: null
postgresPassword: null
repmgrPassword: null
primary:
persistence:
size: null
service:
ports:
postgresql: null
redis-cluster:
enabled: false

View file

@ -0,0 +1,93 @@
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
annotations:
argocd-autopilot.argoproj-labs.io/default-dest-server: https://kubernetes.default.svc
argocd.argoproj.io/sync-options: PruneLast=true
argocd.argoproj.io/sync-wave: "-2"
creationTimestamp: null
name: media
namespace: argocd
spec:
clusterResourceWhitelist:
- group: "*"
kind: "*"
description: media project
destinations:
- namespace: "*"
server: "*"
namespaceResourceWhitelist:
- group: "*"
kind: "*"
sourceRepos:
- "*"
status: {}
---
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
annotations:
argocd.argoproj.io/sync-wave: "0"
creationTimestamp: null
name: media
namespace: argocd
spec:
generators:
- git:
files:
- path: apps/**/media/config.json
repoURL: ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
- git:
files:
- path: apps/**/media/config_dir.json
repoURL: ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
source:
directory:
exclude: "{{ exclude }}"
include: "{{ include }}"
jsonnet: {}
recurse: true
repoURL: ""
syncPolicy: {}
template:
metadata:
labels:
app.kubernetes.io/managed-by: argocd-autopilot
app.kubernetes.io/name: "{{ appName }}"
name: media-{{ userGivenName }}
namespace: argocd
spec:
destination:
namespace: "{{ destNamespace }}"
server: "{{ destServer }}"
ignoreDifferences:
- group: argoproj.io
jsonPointers:
- /status
kind: Application
project: media
source:
path: "{{ srcPath }}"
repoURL: "{{ srcRepoURL }}"
targetRevision: "{{ srcTargetRevision }}"
syncPolicy:
automated:
allowEmpty: true
prune: true
selfHeal: true
status: {}

View file

@ -0,0 +1,98 @@
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
annotations:
argocd-autopilot.argoproj-labs.io/default-dest-server: https://kubernetes.default.svc
argocd.argoproj.io/sync-options: PruneLast=true
argocd.argoproj.io/sync-wave: "-2"
creationTimestamp: null
name: prod-sites
namespace: argocd
spec:
clusterResourceWhitelist:
- group: "*"
kind: "*"
description: prod version of static sites
destinations:
- namespace: "prod-sites"
server: "*"
namespaceResourceWhitelist:
- group: "*"
kind: "*"
sourceRepos:
- "*"
status: {}
---
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
annotations:
argocd.argoproj.io/sync-wave: "0"
creationTimestamp: null
name: prod-sites
namespace: argocd
spec:
generators:
- git:
files:
- path: apps/**/prod-sites/config.json
repoURL: ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
- git:
files:
- path: apps/**/prod-sites/config_dir.json
repoURL: ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
source:
directory:
exclude: "{{ exclude }}"
include: "{{ include }}"
jsonnet: {}
recurse: true
repoURL: ""
syncPolicy: {}
template:
metadata:
labels:
app.kubernetes.io/managed-by: argocd-autopilot
app.kubernetes.io/name: "{{ appName }}"
name: prod-sites-{{ userGivenName }}
namespace: argocd
spec:
destination:
namespace: "{{ destNamespace }}"
server: "{{ destServer }}"
ignoreDifferences:
- group: argoproj.io
jsonPointers:
- /status
kind: Application
project: prod-sites
source:
path: "{{ srcPath }}"
repoURL: "{{ srcRepoURL }}"
targetRevision: "{{ srcTargetRevision }}"
syncPolicy:
automated:
allowEmpty: true
prune: true
selfHeal: true
status: {}
---
apiVersion: v1
kind: Namespace
metadata:
name: prod-sites

View file

@ -0,0 +1,98 @@
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
annotations:
argocd-autopilot.argoproj-labs.io/default-dest-server: https://kubernetes.default.svc
argocd.argoproj.io/sync-options: PruneLast=true
argocd.argoproj.io/sync-wave: "-2"
creationTimestamp: null
name: staging-sites
namespace: argocd
spec:
clusterResourceWhitelist:
- group: "*"
kind: "*"
description: staging version of static sites
destinations:
- namespace: "staging-sites"
server: "*"
namespaceResourceWhitelist:
- group: "*"
kind: "*"
sourceRepos:
- "*"
status: {}
---
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
annotations:
argocd.argoproj.io/sync-wave: "0"
creationTimestamp: null
name: staging-sites
namespace: argocd
spec:
generators:
- git:
files:
- path: apps/**/staging-sites/config.json
repoURL: ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
- git:
files:
- path: apps/**/staging-sites/config_dir.json
repoURL: ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
source:
directory:
exclude: "{{ exclude }}"
include: "{{ include }}"
jsonnet: {}
recurse: true
repoURL: ""
syncPolicy: {}
template:
metadata:
labels:
app.kubernetes.io/managed-by: argocd-autopilot
app.kubernetes.io/name: "{{ appName }}"
name: staging-sites-{{ userGivenName }}
namespace: argocd
spec:
destination:
namespace: "{{ destNamespace }}"
server: "{{ destServer }}"
ignoreDifferences:
- group: argoproj.io
jsonPointers:
- /status
kind: Application
project: staging-sites
source:
path: "{{ srcPath }}"
repoURL: "{{ srcRepoURL }}"
targetRevision: "{{ srcTargetRevision }}"
syncPolicy:
automated:
allowEmpty: true
prune: true
selfHeal: true
status: {}
---
apiVersion: v1
kind: Namespace
metadata:
name: staging-sites

View file

@ -0,0 +1,98 @@
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
annotations:
argocd-autopilot.argoproj-labs.io/default-dest-server: https://kubernetes.default.svc
argocd.argoproj.io/sync-options: PruneLast=true
argocd.argoproj.io/sync-wave: "-2"
creationTimestamp: null
name: work
namespace: argocd
spec:
clusterResourceWhitelist:
- group: "*"
kind: "*"
description: playground for work projects
destinations:
- namespace: "work-*" # Change back to 'work-*' after I finish testing the rabbitmq operators
server: "*"
namespaceResourceWhitelist:
- group: "*"
kind: "*"
sourceRepos:
- "*"
status: {}
---
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
annotations:
argocd.argoproj.io/sync-wave: "0"
creationTimestamp: null
name: work
namespace: argocd
spec:
generators:
- git:
files:
- path: apps/**/work/config.json
repoURL: ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
- git:
files:
- path: apps/**/work/config_dir.json
repoURL: ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
source:
directory:
exclude: "{{ exclude }}"
include: "{{ include }}"
jsonnet: {}
recurse: true
repoURL: ""
syncPolicy: {}
template:
metadata:
labels:
app.kubernetes.io/managed-by: argocd-autopilot
app.kubernetes.io/name: "{{ appName }}"
name: work-{{ userGivenName }}
namespace: argocd
spec:
destination:
namespace: "{{ destNamespace }}"
server: "{{ destServer }}"
ignoreDifferences:
- group: argoproj.io
jsonPointers:
- /status
kind: Application
project: work
source:
path: "{{ srcPath }}"
repoURL: "{{ srcRepoURL }}"
targetRevision: "{{ srcTargetRevision }}"
syncPolicy:
# automated:
# allowEmpty: true
# prune: true
# selfHeal: true
status: {}
---
apiVersion: v1
kind: Namespace
metadata:
name: work