gx10-gitops: capture live manifests for 32 product namespaces (ArgoCD adoption source)
This commit is contained in:
11
apps-gx10/fc-media/configmap-fc-media-config.json
Normal file
11
apps-gx10/fc-media/configmap-fc-media-config.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"data": {
|
||||
"appsettings.Production.json": "{\n \"DatabaseProvider\": \"Sqlite\",\n \"ConnectionStrings\": {\n \"Sqlite\": \"Data Source=/data/media.db\"\n },\n \"FlowerCore\": {\n \"Auth\": {\n \"Enabled\": true,\n \"Oidc\": {\n \"Authority\": \"https://id.iamworkin.lan/application/o/media/\",\n \"ClientId\": \"media\",\n \"ClientSecret\": \"\",\n \"Audience\": \"media\",\n \"RequireHttpsMetadata\": true\n }\n },\n \"Tenant\": {\n \"JwtClaimsEnabled\": false,\n \"DefaultTenantHosts\": [ \"media.iamworkin.lan\" ]\n }\n },\n \"Media\": {\n \"LibraryRoot\": \"/media/library\",\n \"Sources\": [\n {\n \"Name\": \"BlueJayNAS Video\",\n \"Driver\": \"Nfs\",\n \"MountedPath\": \"/media/library\",\n \"RemotePath\": \"nfs://10.0.58.3/volume1/video\",\n \"IsEnabled\": true,\n \"IsDefault\": true,\n \"Notes\": \"Synology NFS media share mounted read-only inside the cluster.\"\n }\n ],\n \"GeneratedRoot\": \"/data/generated\",\n \"TranscodeRoot\": \"/data/transcodes\",\n \"InboxPath\": \"/media/inbox\",\n \"InboxScanIntervalMinutes\": 5,\n \"ScanOnStartup\": false,\n \"ComputeChecksums\": false,\n \"FfmpegCommand\": \"ffmpeg\",\n \"FfprobeCommand\": \"ffprobe\",\n \"Hls\": {\n \"MaxConcurrentJobs\": 1\n },\n \"DefaultViewerName\": \"BlueJay\",\n \"Dlna\": {\n \"IsEnabled\": true,\n \"MulticastAddress\": \"239.255.255.250\",\n \"Port\": 1900,\n \"DiscoveryTimeoutSeconds\": 2,\n \"DescriptionFetchTimeoutSeconds\": 2,\n \"MaxResponsesPerSearchTarget\": 32,\n \"SearchTargets\": [\n \"urn:schemas-upnp-org:device:MediaRenderer:1\",\n \"urn:schemas-upnp-org:device:MediaServer:1\"\n ]\n }\n }\n}\n"
|
||||
},
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "fc-media-config",
|
||||
"namespace": "fc-media"
|
||||
}
|
||||
}
|
||||
242
apps-gx10/fc-media/deployment-fc-media-web.json
Normal file
242
apps-gx10/fc-media/deployment-fc-media-web.json
Normal file
@@ -0,0 +1,242 @@
|
||||
{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"labels": {
|
||||
"app": "fc-media-web",
|
||||
"app.kubernetes.io/name": "fc-media-web",
|
||||
"app.kubernetes.io/part-of": "flowercore"
|
||||
},
|
||||
"name": "fc-media-web",
|
||||
"namespace": "fc-media"
|
||||
},
|
||||
"spec": {
|
||||
"progressDeadlineSeconds": 600,
|
||||
"replicas": 1,
|
||||
"revisionHistoryLimit": 10,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app": "fc-media-web"
|
||||
}
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"flowercore.io/healthz-auth-policy": "allow-anonymous",
|
||||
"kubectl.kubernetes.io/restartedAt": "2026-04-05T14:14:28-05:00",
|
||||
"prometheus.io/path": "/metrics",
|
||||
"prometheus.io/port": "5200",
|
||||
"prometheus.io/scrape": "true"
|
||||
},
|
||||
"labels": {
|
||||
"app": "fc-media-web",
|
||||
"app.kubernetes.io/name": "fc-media-web",
|
||||
"app.kubernetes.io/part-of": "flowercore"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"env": [
|
||||
{
|
||||
"name": "ASPNETCORE_ENVIRONMENT",
|
||||
"value": "Production"
|
||||
},
|
||||
{
|
||||
"name": "ASPNETCORE_URLS",
|
||||
"value": "http://+:5200"
|
||||
},
|
||||
{
|
||||
"name": "FlowerCore__Auth__Enabled",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"name": "FlowerCore__Auth__Oidc__Enabled",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"name": "FlowerCore__Auth__Oidc__Audience",
|
||||
"value": "media"
|
||||
},
|
||||
{
|
||||
"name": "FlowerCore__Auth__Oidc__ClientId",
|
||||
"valueFrom": {
|
||||
"secretKeyRef": {
|
||||
"key": "client_id",
|
||||
"name": "media-oidc-client",
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FlowerCore__Auth__Oidc__ClientSecret",
|
||||
"valueFrom": {
|
||||
"secretKeyRef": {
|
||||
"key": "client_secret",
|
||||
"name": "media-oidc-client",
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FlowerCore__Auth__Oidc__Authority",
|
||||
"valueFrom": {
|
||||
"secretKeyRef": {
|
||||
"key": "issuer_url",
|
||||
"name": "media-oidc-client",
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"image": "localhost/fc-media-web:gx10-v1",
|
||||
"imagePullPolicy": "Never",
|
||||
"livenessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"httpHeaders": [
|
||||
{
|
||||
"name": "X-Forwarded-Proto",
|
||||
"value": "https"
|
||||
}
|
||||
],
|
||||
"path": "/healthz",
|
||||
"port": 5200,
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"initialDelaySeconds": 30,
|
||||
"periodSeconds": 30,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 1
|
||||
},
|
||||
"name": "fc-media-web",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 5200,
|
||||
"name": "http",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"readinessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"httpHeaders": [
|
||||
{
|
||||
"name": "X-Forwarded-Proto",
|
||||
"value": "https"
|
||||
}
|
||||
],
|
||||
"path": "/healthz",
|
||||
"port": 5200,
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"initialDelaySeconds": 5,
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 1
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"cpu": "4",
|
||||
"memory": "4Gi"
|
||||
},
|
||||
"requests": {
|
||||
"cpu": "500m",
|
||||
"memory": "1Gi"
|
||||
}
|
||||
},
|
||||
"startupProbe": {
|
||||
"failureThreshold": 18,
|
||||
"httpGet": {
|
||||
"httpHeaders": [
|
||||
{
|
||||
"name": "X-Forwarded-Proto",
|
||||
"value": "https"
|
||||
}
|
||||
],
|
||||
"path": "/healthz",
|
||||
"port": 5200,
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 1
|
||||
},
|
||||
"terminationMessagePath": "/dev/termination-log",
|
||||
"terminationMessagePolicy": "File",
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/app/appsettings.Production.json",
|
||||
"name": "config",
|
||||
"readOnly": true,
|
||||
"subPath": "appsettings.Production.json"
|
||||
},
|
||||
{
|
||||
"mountPath": "/data",
|
||||
"name": "data"
|
||||
},
|
||||
{
|
||||
"mountPath": "/data/transcodes",
|
||||
"name": "transcodes"
|
||||
},
|
||||
{
|
||||
"mountPath": "/media/library",
|
||||
"name": "media-library",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/media/inbox",
|
||||
"name": "media-inbox"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"dnsPolicy": "ClusterFirst",
|
||||
"restartPolicy": "Always",
|
||||
"schedulerName": "default-scheduler",
|
||||
"securityContext": {},
|
||||
"terminationGracePeriodSeconds": 30,
|
||||
"volumes": [
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 420,
|
||||
"name": "fc-media-config"
|
||||
},
|
||||
"name": "config"
|
||||
},
|
||||
{
|
||||
"name": "data",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "fc-media-data"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "transcodes",
|
||||
"nfs": {
|
||||
"path": "/volume1/kubernetes/fc-media-transcodes",
|
||||
"server": "10.0.58.3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "media-inbox",
|
||||
"nfs": {
|
||||
"path": "/volume1/kubernetes/fc-media-inbox",
|
||||
"server": "10.0.58.3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "media-library",
|
||||
"nfs": {
|
||||
"path": "/volume1/video",
|
||||
"readOnly": true,
|
||||
"server": "10.0.58.3"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
29
apps-gx10/fc-media/ingressroute-fc-media-web.json
Normal file
29
apps-gx10/fc-media/ingressroute-fc-media-web.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"apiVersion": "traefik.io/v1alpha1",
|
||||
"kind": "IngressRoute",
|
||||
"metadata": {
|
||||
"name": "fc-media-web",
|
||||
"namespace": "fc-media"
|
||||
},
|
||||
"spec": {
|
||||
"entryPoints": [
|
||||
"websecure"
|
||||
],
|
||||
"routes": [
|
||||
{
|
||||
"kind": "Rule",
|
||||
"match": "Host(`media.iamworkin.lan`)",
|
||||
"priority": 100,
|
||||
"services": [
|
||||
{
|
||||
"name": "fc-media-web",
|
||||
"port": 5200
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tls": {
|
||||
"secretName": "fc-media-tls"
|
||||
}
|
||||
}
|
||||
}
|
||||
29
apps-gx10/fc-media/service-fc-media-web.json
Normal file
29
apps-gx10/fc-media/service-fc-media-web.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"labels": {
|
||||
"app": "fc-media-web",
|
||||
"app.kubernetes.io/name": "fc-media-web",
|
||||
"app.kubernetes.io/part-of": "flowercore"
|
||||
},
|
||||
"name": "fc-media-web",
|
||||
"namespace": "fc-media"
|
||||
},
|
||||
"spec": {
|
||||
"internalTrafficPolicy": "Cluster",
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 5200,
|
||||
"protocol": "TCP",
|
||||
"targetPort": 5200
|
||||
}
|
||||
],
|
||||
"selector": {
|
||||
"app": "fc-media-web"
|
||||
},
|
||||
"sessionAffinity": "None",
|
||||
"type": "ClusterIP"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user