gx10-gitops: capture live manifests for 32 product namespaces (ArgoCD adoption source)

This commit is contained in:
Andrew Stoltz
2026-06-16 22:24:23 -05:00
parent 0218b1f8b6
commit 6c0be8563d
156 changed files with 9955 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
{
"apiVersion": "v1",
"data": {
"index.html": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <title>FlowerCore</title>\n <style>\n * { margin: 0; padding: 0; box-sizing: border-box; }\n body {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n background: linear-gradient(135deg, #0a1628 0%, #1a2744 50%, #0d1f3c 100%);\n color: #e0e8f0;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .hero {\n text-align: center;\n padding: 3rem;\n max-width: 800px;\n }\n .logo {\n font-size: 5rem;\n margin-bottom: 1.5rem;\n filter: drop-shadow(0 0 20px rgba(74, 158, 255, 0.3));\n }\n h1 {\n font-size: 3rem;\n background: linear-gradient(135deg, #4a9eff, #7ab3ff);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n margin-bottom: 0.5rem;\n }\n .subtitle {\n font-size: 1.3rem;\n color: #7ab3ff;\n font-weight: 300;\n margin-bottom: 1rem;\n }\n .description {\n font-size: 1rem;\n color: #8aa8c4;\n line-height: 1.6;\n margin-bottom: 3rem;\n max-width: 600px;\n }\n .services {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 1rem;\n width: 100%;\n max-width: 700px;\n padding: 0 1rem;\n }\n .service {\n background: rgba(74, 158, 255, 0.08);\n border: 1px solid rgba(74, 158, 255, 0.2);\n border-radius: 8px;\n padding: 1.2rem;\n text-decoration: none;\n color: inherit;\n transition: all 0.2s;\n }\n .service:hover {\n background: rgba(74, 158, 255, 0.15);\n border-color: rgba(74, 158, 255, 0.5);\n transform: translateY(-2px);\n }\n .service h3 { color: #4a9eff; font-size: 0.95rem; margin-bottom: 0.3rem; }\n .service p { color: #8aa8c4; font-size: 0.8rem; }\n .status-bar {\n display: flex;\n gap: 2rem;\n margin-top: 2rem;\n padding: 1rem 2rem;\n background: rgba(74, 158, 255, 0.05);\n border-radius: 8px;\n border: 1px solid rgba(74, 158, 255, 0.1);\n }\n .status-item { text-align: center; }\n .status-item .value { color: #4a9eff; font-size: 1.5rem; font-weight: 700; }\n .status-item .label { color: #6a8ca4; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; }\n .footer {\n margin-top: 3rem;\n color: #4a6580;\n font-size: 0.8rem;\n }\n .footer a { color: #4a6580; text-decoration: none; }\n .footer a:hover { color: #7ab3ff; }\n </style>\n</head>\n<body>\n <div class=\"hero\">\n <div class=\"logo\">&#x1F33B;</div>\n <h1>FlowerCore</h1>\n <p class=\"subtitle\">Blue Jay Lab</p>\n <p class=\"description\">\n Multi-tenant service management platform built on .NET 10,\n Kubernetes, and GitOps. Digital signage, telephony IVR,\n MySQL/PHP hosting, and infrastructure automation.\n </p>\n </div>\n <div class=\"services\">\n <a class=\"service\" href=\"https://gitea.flowercore.io\">\n <h3>Source</h3>\n <p>Gitea repositories</p>\n </a>\n <a class=\"service\" href=\"https://webmail.flowercore.io\">\n <h3>Mail</h3>\n <p>Webmail access</p>\n </a>\n <a class=\"service\" href=\"https://element.flowercore.io\">\n <h3>Chat</h3>\n <p>Matrix messaging</p>\n </a>\n <a class=\"service\" href=\"https://github.com/FlowerCoreIO\">\n <h3>GitHub</h3>\n <p>Open source</p>\n </a>\n </div>\n <div class=\"status-bar\">\n <div class=\"status-item\">\n <div class=\"value\">17</div>\n <div class=\"label\">Services</div>\n </div>\n <div class=\"status-item\">\n <div class=\"value\">13</div>\n <div class=\"label\">VLANs</div>\n </div>\n <div class=\"status-item\">\n <div class=\"value\">12k+</div>\n <div class=\"label\">Tests</div>\n </div>\n </div>\n <p class=\"footer\">\n FlowerCore &middot; Bare-metal RKE2 &middot; ArgoCD managed\n &middot; <a href=\"mailto:admin@flowercore.io\">Contact</a>\n </p>\n</body>\n</html>\n"
},
"kind": "ConfigMap",
"metadata": {
"name": "fc-landing-html",
"namespace": "fc-system"
}
}

View File

@@ -0,0 +1,11 @@
{
"apiVersion": "v1",
"data": {
"default.conf": "server {\n listen 80;\n server_name _;\n root /usr/share/nginx/html;\n index index.html;\n\n location / {\n try_files $uri $uri/ =404;\n }\n\n location /healthz {\n access_log off;\n return 200 \"ok\";\n add_header Content-Type text/plain;\n }\n}\n"
},
"kind": "ConfigMap",
"metadata": {
"name": "fc-landing-nginx-conf",
"namespace": "fc-system"
}
}

View File

@@ -0,0 +1,11 @@
{
"apiVersion": "v1",
"data": {
"appsettings.Production.json": "{\n \"FlowerCore\": {\n \"Database\": {\n \"Provider\": \"Sqlite\",\n \"ConnectionStrings\": {\n \"Sqlite\": \"Data Source=/app/data/kiosk.db\"\n }\n },\n \"Kiosk\": {\n \"Profiles\": {\n \"Backend\": \"K8s\",\n \"LonghornRoot\": \"/var/lib/flowercore/kiosk/profiles/data\"\n }\n },\n \"PrintWeb\": {\n \"Url\": \"http://10.0.57.16:5200\"\n }\n },\n \"Serilog\": {\n \"MinimumLevel\": {\n \"Default\": \"Information\",\n \"Override\": {\n \"Microsoft\": \"Warning\",\n \"Microsoft.EntityFrameworkCore\": \"Warning\"\n }\n },\n \"WriteTo\": [\n {\n \"Name\": \"Console\",\n \"Args\": {\n \"formatter\": \"Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact\"\n }\n }\n ],\n \"Enrich\": [\n \"FromLogContext\",\n \"WithProperty\"\n ],\n \"Properties\": {\n \"Service\": \"Kiosk.Web\",\n \"Environment\": \"Production\"\n }\n },\n \"LibraryWeb\": {\n \"Url\": \"http://library.iamworkin.lan:5100\"\n },\n \"Security\": {\n \"Mode\": \"apikey\",\n \"ApiKeys\": [],\n \"AdminApiKeys\": [],\n \"AgentApiKeys\": [],\n \"ExemptPaths\": [ \"/health\", \"/metrics\", \"/_blazor\", \"/_framework\", \"/css\", \"/hubs\" ]\n },\n \"Logging\": {\n \"LogLevel\": {\n \"Default\": \"Information\",\n \"Microsoft\": \"Warning\"\n }\n },\n \"AllowedHosts\": \"*\"\n}\n"
},
"kind": "ConfigMap",
"metadata": {
"name": "kiosk-web-config",
"namespace": "fc-system"
}
}

View File

@@ -0,0 +1,119 @@
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"labels": {
"app": "fc-landing"
},
"name": "fc-landing",
"namespace": "fc-system"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 1,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"app": "fc-landing"
}
},
"strategy": {
"rollingUpdate": {
"maxSurge": "25%",
"maxUnavailable": "25%"
},
"type": "RollingUpdate"
},
"template": {
"metadata": {
"labels": {
"app": "fc-landing"
}
},
"spec": {
"containers": [
{
"image": "nginx:alpine",
"imagePullPolicy": "IfNotPresent",
"livenessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/healthz",
"port": 80,
"scheme": "HTTP"
},
"initialDelaySeconds": 5,
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 1
},
"name": "nginx",
"ports": [
{
"containerPort": 80,
"name": "http",
"protocol": "TCP"
}
],
"readinessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/healthz",
"port": 80,
"scheme": "HTTP"
},
"initialDelaySeconds": 3,
"periodSeconds": 5,
"successThreshold": 1,
"timeoutSeconds": 1
},
"resources": {
"limits": {
"cpu": "50m",
"memory": "64Mi"
},
"requests": {
"cpu": "5m",
"memory": "16Mi"
}
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/etc/nginx/conf.d/default.conf",
"name": "nginx-conf",
"subPath": "default.conf"
},
{
"mountPath": "/usr/share/nginx/html",
"name": "html"
}
]
}
],
"dnsPolicy": "ClusterFirst",
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {},
"terminationGracePeriodSeconds": 30,
"volumes": [
{
"configMap": {
"defaultMode": 420,
"name": "fc-landing-nginx-conf"
},
"name": "nginx-conf"
},
{
"configMap": {
"defaultMode": 420,
"name": "fc-landing-html"
},
"name": "html"
}
]
}
}
}
}

View File

@@ -0,0 +1,275 @@
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"labels": {
"app": "kiosk-web",
"app.kubernetes.io/component": "web",
"app.kubernetes.io/instance": "kiosk-web",
"app.kubernetes.io/managed-by": "flowercore-kiosk",
"app.kubernetes.io/name": "kiosk-web",
"component": "web",
"flowercore.io/created-by": "kiosk-fleshing-out-phase-2",
"flowercore.io/tenant-id": "default",
"project": "flowercore-kiosk"
},
"name": "kiosk-web",
"namespace": "fc-system"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 1,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"app": "kiosk-web"
}
},
"strategy": {
"type": "Recreate"
},
"template": {
"metadata": {
"annotations": {
"kubectl.kubernetes.io/restartedAt": "2026-05-06T21:21:19-05:00"
},
"labels": {
"app": "kiosk-web",
"app.kubernetes.io/component": "web",
"app.kubernetes.io/instance": "kiosk-web",
"app.kubernetes.io/managed-by": "flowercore-kiosk",
"app.kubernetes.io/name": "kiosk-web",
"component": "web",
"flowercore.io/created-by": "kiosk-fleshing-out-phase-2",
"flowercore.io/tenant-id": "default",
"project": "flowercore-kiosk"
}
},
"spec": {
"containers": [
{
"env": [
{
"name": "ASPNETCORE_URLS",
"value": "http://+:8080"
},
{
"name": "ASPNETCORE_ENVIRONMENT",
"value": "Production"
},
{
"name": "Security__ApiKeys__0",
"valueFrom": {
"secretKeyRef": {
"key": "BrowserBypassApiKey",
"name": "kiosk-web-api-keys"
}
}
},
{
"name": "Security__AdminApiKeys__0",
"valueFrom": {
"secretKeyRef": {
"key": "AdminApiKey",
"name": "kiosk-web-api-keys"
}
}
},
{
"name": "Security__AgentApiKeys__0",
"valueFrom": {
"secretKeyRef": {
"key": "AgentApiKey",
"name": "kiosk-web-api-keys"
}
}
},
{
"name": "FlowerCore__Kiosk__Profiles__Backend",
"value": "K8s"
},
{
"name": "FlowerCore__Kiosk__Profiles__LonghornRoot",
"value": "/var/lib/flowercore/kiosk/profiles/data"
},
{
"name": "FlowerCore__PrintWeb__Url",
"value": "http://10.0.57.16:5200"
},
{
"name": "FlowerCore__PrintWeb__ApiKey",
"valueFrom": {
"secretKeyRef": {
"key": "PrintWebApiKey",
"name": "kiosk-web-api-keys"
}
}
}
],
"image": "localhost/fc-kiosk-web:gx10-v1",
"imagePullPolicy": "Never",
"livenessProbe": {
"failureThreshold": 6,
"httpGet": {
"path": "/health",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 120,
"periodSeconds": 20,
"successThreshold": 1,
"timeoutSeconds": 5
},
"name": "kiosk-web",
"ports": [
{
"containerPort": 8080,
"name": "http",
"protocol": "TCP"
}
],
"readinessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/health",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 45,
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 5
},
"resources": {
"limits": {
"cpu": "1",
"memory": "512Mi"
},
"requests": {
"cpu": "250m",
"memory": "256Mi"
}
},
"securityContext": {
"allowPrivilegeEscalation": false,
"capabilities": {
"drop": [
"ALL"
]
},
"readOnlyRootFilesystem": true
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/app/data",
"name": "data"
},
{
"mountPath": "/tmp",
"name": "tmp"
},
{
"mountPath": "/app/logs",
"name": "logs"
},
{
"mountPath": "/var/lib/flowercore/kiosk/profiles",
"name": "user-profiles"
},
{
"mountPath": "/app/appsettings.Production.json",
"name": "appsettings-production",
"readOnly": true,
"subPath": "appsettings.Production.json"
}
]
}
],
"dnsPolicy": "ClusterFirst",
"initContainers": [
{
"command": [
"sh",
"-c",
"mkdir -p /profiles/data && chown -R 1654:1654 /profiles/data && chmod -R u+rwX,g+rwX /profiles/data"
],
"image": "localhost/fc-kiosk-web:gx10-v1",
"imagePullPolicy": "Never",
"name": "fix-profile-perms",
"resources": {},
"securityContext": {
"allowPrivilegeEscalation": false,
"capabilities": {
"add": [
"CHOWN",
"FOWNER"
],
"drop": [
"ALL"
]
},
"runAsGroup": 0,
"runAsNonRoot": false,
"runAsUser": 0
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/profiles",
"name": "user-profiles"
}
]
}
],
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {
"fsGroup": 1654,
"fsGroupChangePolicy": "OnRootMismatch",
"runAsGroup": 1654,
"runAsNonRoot": true,
"runAsUser": 1654
},
"terminationGracePeriodSeconds": 30,
"volumes": [
{
"name": "data",
"persistentVolumeClaim": {
"claimName": "kiosk-web-data"
}
},
{
"emptyDir": {},
"name": "tmp"
},
{
"emptyDir": {},
"name": "logs"
},
{
"name": "user-profiles",
"persistentVolumeClaim": {
"claimName": "kiosk-user-profiles"
}
},
{
"configMap": {
"defaultMode": 420,
"items": [
{
"key": "appsettings.Production.json",
"path": "appsettings.Production.json"
}
],
"name": "kiosk-web-config"
},
"name": "appsettings-production"
}
]
}
}
}
}

View File

@@ -0,0 +1,117 @@
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"labels": {
"app.kubernetes.io/component": "operator",
"app.kubernetes.io/instance": "mysql-operator",
"app.kubernetes.io/managed-by": "flowercore",
"app.kubernetes.io/name": "mysql-operator",
"app.kubernetes.io/part-of": "flowercore-mysql"
},
"name": "mysql-operator",
"namespace": "fc-system"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 1,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"app.kubernetes.io/instance": "mysql-operator",
"app.kubernetes.io/name": "mysql-operator"
}
},
"strategy": {
"rollingUpdate": {
"maxSurge": "25%",
"maxUnavailable": "25%"
},
"type": "RollingUpdate"
},
"template": {
"metadata": {
"annotations": {
"kubectl.kubernetes.io/restartedAt": "2026-04-17T09:34:39-05:00"
},
"labels": {
"app.kubernetes.io/component": "operator",
"app.kubernetes.io/instance": "mysql-operator",
"app.kubernetes.io/managed-by": "flowercore",
"app.kubernetes.io/name": "mysql-operator",
"app.kubernetes.io/part-of": "flowercore-mysql"
}
},
"spec": {
"automountServiceAccountToken": true,
"containers": [
{
"env": [
{
"name": "ASPNETCORE_ENVIRONMENT",
"value": "Production"
},
{
"name": "ASPNETCORE_URLS",
"value": "http://+:8080"
}
],
"image": "localhost/fc-mysql-operator:gx10-v1",
"imagePullPolicy": "IfNotPresent",
"livenessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/healthz",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 15,
"periodSeconds": 20,
"successThreshold": 1,
"timeoutSeconds": 3
},
"name": "mysql-operator",
"ports": [
{
"containerPort": 8080,
"name": "http",
"protocol": "TCP"
}
],
"readinessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/healthz",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 5,
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 3
},
"resources": {
"limits": {
"cpu": "500m",
"memory": "512Mi"
},
"requests": {
"cpu": "250m",
"memory": "256Mi"
}
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File"
}
],
"dnsPolicy": "ClusterFirst",
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {},
"serviceAccount": "mysql-operator",
"serviceAccountName": "mysql-operator",
"terminationGracePeriodSeconds": 30
}
}
}
}

View File

@@ -0,0 +1,134 @@
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"labels": {
"app.kubernetes.io/component": "operator",
"app.kubernetes.io/instance": "php-operator",
"app.kubernetes.io/managed-by": "flowercore",
"app.kubernetes.io/name": "php-operator",
"app.kubernetes.io/part-of": "flowercore-php"
},
"name": "php-operator",
"namespace": "fc-system"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 1,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"app.kubernetes.io/instance": "php-operator",
"app.kubernetes.io/name": "php-operator",
"app.kubernetes.io/part-of": "flowercore-php"
}
},
"strategy": {
"rollingUpdate": {
"maxSurge": "25%",
"maxUnavailable": "25%"
},
"type": "RollingUpdate"
},
"template": {
"metadata": {
"annotations": {
"kubectl.kubernetes.io/restartedAt": "2026-04-17T10:09:10-05:00"
},
"labels": {
"app.kubernetes.io/component": "operator",
"app.kubernetes.io/instance": "php-operator",
"app.kubernetes.io/managed-by": "flowercore",
"app.kubernetes.io/name": "php-operator",
"app.kubernetes.io/part-of": "flowercore-php"
}
},
"spec": {
"automountServiceAccountToken": true,
"containers": [
{
"env": [
{
"name": "ASPNETCORE_ENVIRONMENT",
"value": "Production"
},
{
"name": "ASPNETCORE_URLS",
"value": "http://+:8080"
},
{
"name": "MySqlManager__BaseUrl",
"value": "https://mysql.iamworkin.lan/"
},
{
"name": "MySqlManager__BypassTls",
"value": "true"
},
{
"name": "PhpManager__BaseUrl",
"value": "https://php.iamworkin.lan/"
},
{
"name": "PhpManager__BypassTls",
"value": "true"
}
],
"image": "localhost/fc-php-operator:gx10-v1",
"imagePullPolicy": "IfNotPresent",
"livenessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/healthz",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 15,
"periodSeconds": 20,
"successThreshold": 1,
"timeoutSeconds": 3
},
"name": "php-operator",
"ports": [
{
"containerPort": 8080,
"name": "http",
"protocol": "TCP"
}
],
"readinessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/healthz",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 5,
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 3
},
"resources": {
"limits": {
"cpu": "500m",
"memory": "512Mi"
},
"requests": {
"cpu": "250m",
"memory": "256Mi"
}
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File"
}
],
"dnsPolicy": "ClusterFirst",
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {},
"serviceAccount": "php-operator",
"serviceAccountName": "php-operator",
"terminationGracePeriodSeconds": 30
}
}
}
}

View File

@@ -0,0 +1,29 @@
{
"apiVersion": "traefik.io/v1alpha1",
"kind": "IngressRoute",
"metadata": {
"name": "fc-landing-public",
"namespace": "fc-system"
},
"spec": {
"entryPoints": [
"websecure"
],
"routes": [
{
"kind": "Rule",
"match": "Host(`flowercore.io`) || Host(`www.flowercore.io`)",
"priority": 100,
"services": [
{
"name": "fc-landing",
"port": 80
}
]
}
],
"tls": {
"secretName": "cf-origin-flowercore-io"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"apiVersion": "traefik.io/v1alpha1",
"kind": "IngressRoute",
"metadata": {
"name": "kiosk-web",
"namespace": "fc-system"
},
"spec": {
"entryPoints": [
"websecure"
],
"routes": [
{
"kind": "Rule",
"match": "Host(`kiosk.iamworkin.lan`)",
"priority": 100,
"services": [
{
"name": "kiosk-web",
"port": 8080
}
]
}
],
"tls": {
"secretName": "kiosk-web-tls"
}
}
}

View File

@@ -0,0 +1,27 @@
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"labels": {
"app": "fc-landing"
},
"name": "fc-landing",
"namespace": "fc-system"
},
"spec": {
"internalTrafficPolicy": "Cluster",
"ports": [
{
"name": "http",
"port": 80,
"protocol": "TCP",
"targetPort": 80
}
],
"selector": {
"app": "fc-landing"
},
"sessionAffinity": "None",
"type": "ClusterIP"
}
}

View File

@@ -0,0 +1,34 @@
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"labels": {
"app": "kiosk-web",
"app.kubernetes.io/component": "web",
"app.kubernetes.io/instance": "kiosk-web",
"app.kubernetes.io/managed-by": "flowercore-kiosk",
"app.kubernetes.io/name": "kiosk-web",
"flowercore.io/created-by": "kiosk-fleshing-out-phase-2",
"flowercore.io/tenant-id": "default",
"project": "flowercore-kiosk"
},
"name": "kiosk-web",
"namespace": "fc-system"
},
"spec": {
"internalTrafficPolicy": "Cluster",
"ports": [
{
"name": "http",
"port": 8080,
"protocol": "TCP",
"targetPort": 8080
}
],
"selector": {
"app": "kiosk-web"
},
"sessionAffinity": "None",
"type": "ClusterIP"
}
}

View File

@@ -0,0 +1,15 @@
{
"apiVersion": "v1",
"kind": "ServiceAccount",
"metadata": {
"labels": {
"app.kubernetes.io/component": "operator",
"app.kubernetes.io/instance": "mysql-operator",
"app.kubernetes.io/managed-by": "flowercore",
"app.kubernetes.io/name": "mysql-operator",
"app.kubernetes.io/part-of": "flowercore-mysql"
},
"name": "mysql-operator",
"namespace": "fc-system"
}
}

View File

@@ -0,0 +1,15 @@
{
"apiVersion": "v1",
"kind": "ServiceAccount",
"metadata": {
"labels": {
"app.kubernetes.io/component": "operator",
"app.kubernetes.io/instance": "php-operator",
"app.kubernetes.io/managed-by": "flowercore",
"app.kubernetes.io/name": "php-operator",
"app.kubernetes.io/part-of": "flowercore-php"
},
"name": "php-operator",
"namespace": "fc-system"
}
}