## Summary - Renders manifests from `connect-helm-charts v2.4.1` as plain kustomize (deployment + service) - Bumps 1Password Connect from 1.8.1 → 1.8.2 - Completes the no-helm-policy migration — all services now use kustomize - Retains all production hardening from the Helm chart (securityContext, runAsNonRoot, drop ALL, seccomp, resource limits) ## Changes - **New:** `deployment.yaml`, `service.yaml`, `kustomization.yaml` in `argocd/manifests/1password-connect/` - **Rewritten:** Both ArgoCD app definitions (indri + ringtail) — single source kustomize instead of multi-source Helm - **Deleted:** `values.yaml` (Helm values no longer needed) - **Updated:** `no-helm-policy.md`, `service-versions.yaml`, `README.md` ## Deployment plan 1. Sync `apps` app to pick up the new app definitions 2. `argocd app set 1password-connect --revision 1password-connect-kustomize` 3. `argocd app sync 1password-connect` — verify on indri 4. Repeat for ringtail 5. After merge: reset revision to main, re-sync both ## Test plan - [ ] `kubectl kustomize` renders cleanly (verified locally) - [ ] ArgoCD diff shows expected changes (Helm labels removed, images bumped) - [ ] Pods come up healthy on indri - [ ] External Secrets still resolves 1Password items - [ ] Repeat on ringtail Reviewed-on: #326
131 lines
3.8 KiB
YAML
131 lines
3.8 KiB
YAML
# Rendered from connect-helm-charts v2.4.1 with blumeops values, then de-Helmed.
|
|
# Image tags managed by kustomization.yaml images[] — do not edit here.
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: onepassword-connect
|
|
namespace: 1password
|
|
labels:
|
|
app.kubernetes.io/component: connect
|
|
app.kubernetes.io/name: connect
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: onepassword-connect
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: onepassword-connect
|
|
app.kubernetes.io/component: connect
|
|
spec:
|
|
securityContext:
|
|
fsGroup: 999
|
|
runAsGroup: 999
|
|
runAsNonRoot: true
|
|
runAsUser: 999
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
volumes:
|
|
- name: shared-data
|
|
emptyDir: {}
|
|
- name: credentials
|
|
secret:
|
|
secretName: op-credentials
|
|
items:
|
|
- key: 1password-credentials.json
|
|
path: 1password-credentials.json
|
|
containers:
|
|
- name: connect-api
|
|
image: 1password/connect-api:kustomized
|
|
imagePullPolicy: IfNotPresent
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
resources:
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
env:
|
|
- name: OP_SESSION
|
|
value: /home/opuser/.op/1password-credentials.json
|
|
- name: OP_BUS_PORT
|
|
value: "11220"
|
|
- name: OP_BUS_PEERS
|
|
value: localhost:11221
|
|
- name: OP_HTTP_PORT
|
|
value: "8080"
|
|
- name: OP_LOG_LEVEL
|
|
value: "info"
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
scheme: HTTP
|
|
port: 8080
|
|
initialDelaySeconds: 15
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /heartbeat
|
|
scheme: HTTP
|
|
port: 8080
|
|
failureThreshold: 3
|
|
periodSeconds: 30
|
|
initialDelaySeconds: 15
|
|
volumeMounts:
|
|
- mountPath: /home/opuser/.op/data
|
|
name: shared-data
|
|
- name: credentials
|
|
mountPath: /home/opuser/.op/1password-credentials.json
|
|
subPath: 1password-credentials.json
|
|
- name: connect-sync
|
|
image: 1password/connect-sync:kustomized
|
|
imagePullPolicy: IfNotPresent
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
resources:
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
env:
|
|
- name: OP_HTTP_PORT
|
|
value: "8081"
|
|
- name: OP_SESSION
|
|
value: /home/opuser/.op/1password-credentials.json
|
|
- name: OP_BUS_PORT
|
|
value: "11221"
|
|
- name: OP_BUS_PEERS
|
|
value: localhost:11220
|
|
- name: OP_LOG_LEVEL
|
|
value: "info"
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8081
|
|
initialDelaySeconds: 15
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /heartbeat
|
|
port: 8081
|
|
scheme: HTTP
|
|
failureThreshold: 3
|
|
periodSeconds: 30
|
|
initialDelaySeconds: 15
|
|
volumeMounts:
|
|
- mountPath: /home/opuser/.op/data
|
|
name: shared-data
|
|
- name: credentials
|
|
mountPath: /home/opuser/.op/1password-credentials.json
|
|
subPath: 1password-credentials.json
|