Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
136 lines
4.6 KiB
YAML
136 lines
4.6 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: appliance-control-plane-config
|
|
namespace: alga-appliance-control-plane
|
|
labels:
|
|
app.kubernetes.io/name: appliance-control-plane
|
|
app.kubernetes.io/part-of: alga-appliance
|
|
data:
|
|
ALGA_APPLIANCE_PORT: "8080"
|
|
ALGA_APPLIANCE_MODE: "kubernetes-control-plane"
|
|
ALGA_APPLIANCE_STATE_FILE: "/var/lib/alga-appliance/install-state.json"
|
|
# Token is read directly from the shared host volume (written 0644 by
|
|
# init-token.mjs), not from a Kubernetes Secret. This lets the host-side reset
|
|
# CLI re-arm the token with no kubectl/secret-sync round trip.
|
|
ALGA_APPLIANCE_TOKEN_FILE: "/var/lib/alga-appliance/setup-token"
|
|
ALGA_APPLIANCE_ADMIN_CREDENTIAL_FILE: "/var/lib/alga-appliance/admin-ui-credential.json"
|
|
ALGA_APPLIANCE_SESSION_SECRET_FILE: "/var/lib/alga-appliance/session-secret"
|
|
ALGA_APPLIANCE_KUBECONFIG: "/tmp/alga-appliance/kubeconfig"
|
|
ALGA_APPLIANCE_HOST_AGENT_SOCKET: "/run/alga-appliance/host-agent.sock"
|
|
ALGA_APPLIANCE_SETUP_INPUTS_FILE: "/var/lib/alga-appliance/setup-inputs.json"
|
|
ALGA_APPLIANCE_RELEASE_SELECTION_FILE: "/var/lib/alga-appliance/release-selection.json"
|
|
ALGA_APPLIANCE_BUNDLE_ORIGIN: "baked-iso"
|
|
# Public license control-plane endpoint the appliance redeems install codes
|
|
# against at setup (POST /register) and checks in with. Path-scoped public
|
|
# ingress; see nm-kube-config/alga-license/istio-gateway.yaml.
|
|
ALGA_LICENSE_SERVICE_URL: "https://license.nineminds.com"
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: appliance-control-plane
|
|
namespace: alga-appliance-control-plane
|
|
labels:
|
|
app.kubernetes.io/name: appliance-control-plane
|
|
app.kubernetes.io/part-of: alga-appliance
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: Recreate
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: appliance-control-plane
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: appliance-control-plane
|
|
app.kubernetes.io/part-of: alga-appliance
|
|
spec:
|
|
serviceAccountName: appliance-control-plane
|
|
hostNetwork: true
|
|
dnsPolicy: ClusterFirstWithHostNet
|
|
initContainers:
|
|
- name: init-state-permissions
|
|
image: localhost/alga-appliance-control-plane:baked
|
|
imagePullPolicy: IfNotPresent
|
|
command: ["sh", "-c", "mkdir -p /var/lib/alga-appliance && chown 10001:10001 /var/lib/alga-appliance"]
|
|
volumeMounts:
|
|
- name: state
|
|
mountPath: /var/lib/alga-appliance
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: false
|
|
runAsUser: 0
|
|
runAsGroup: 0
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
add: ["CHOWN"]
|
|
containers:
|
|
- name: setup-api
|
|
image: localhost/alga-appliance-control-plane:baked
|
|
imagePullPolicy: IfNotPresent
|
|
ports:
|
|
- name: setup-http
|
|
containerPort: 8080
|
|
hostPort: 8080
|
|
protocol: TCP
|
|
envFrom:
|
|
- configMapRef:
|
|
name: appliance-control-plane-config
|
|
volumeMounts:
|
|
- name: state
|
|
mountPath: /var/lib/alga-appliance
|
|
- name: host-agent-socket
|
|
mountPath: /run/alga-appliance
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: setup-http
|
|
initialDelaySeconds: 3
|
|
periodSeconds: 5
|
|
timeoutSeconds: 2
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: setup-http
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 2
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
runAsUser: 10001
|
|
runAsGroup: 10001
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
volumes:
|
|
- name: state
|
|
hostPath:
|
|
path: /var/lib/alga-appliance
|
|
type: DirectoryOrCreate
|
|
- name: host-agent-socket
|
|
hostPath:
|
|
path: /run/alga-appliance
|
|
type: DirectoryOrCreate
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: appliance-control-plane
|
|
namespace: alga-appliance-control-plane
|
|
labels:
|
|
app.kubernetes.io/name: appliance-control-plane
|
|
app.kubernetes.io/part-of: alga-appliance
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app.kubernetes.io/name: appliance-control-plane
|
|
ports:
|
|
- name: setup-http
|
|
port: 8080
|
|
targetPort: setup-http
|
|
protocol: TCP
|