1Password SCIM Bridge

SCIM bridge for 1Password user provisioning from Google Workspace

The 1Password SCIM Bridge enables automated user provisioning between Google Workspace and 1Password, synchronising user accounts and group memberships.

ArgoCD Resource

PropertyValue
KindApplication
Nameonepassword-scim-bridge
Namespaceargocd
Destination Namespaceonepassword
Projectinfra-services
Source TypeHelm
Chartop-scim-bridge
Chart Version2.11.9
File Pathk8s/infra-services/argocd/overlays/infra-platform-cluster/apps/onepassword-scim-bridge.yaml

Application Definition

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: onepassword-scim-bridge
  namespace: argocd
  labels:
    cluster: 'infra-platform-mgmt'
    environment: 'prod'
  annotations:
    notifications.argoproj.io/subscribe.on-app-synced.slack: platform-infra-notifications
    notifications.argoproj.io/subscribe.on-app-outofsync.slack: platform-infra-notifications
    notifications.argoproj.io/subscribe.on-app-sync-failed.slack: platform-infra-notifications
    notifications.argoproj.io/subscribe.on-app-degraded.slack: platform-infra-notifications
spec:
  syncPolicy:
    automated:
      prune: true
    syncOptions:
      - ServerSideApply=true
  destination:
    namespace: onepassword
    server: https://kubernetes.default.svc
  project: infra-services
  source:
    chart: op-scim-bridge
    repoURL: https://1password.github.io/op-scim-helm
    targetRevision: '2.11.9'
    helm:
      valuesObject:
        # ... (see full values below)

Helm Values

The Application uses inline Helm values in the valuesObject:

Core Settings

SettingValuePurpose
fullnameOverrideonepassword-scim-bridgeResource naming
scim.domaintitanbay.1password.eu1Password domain
service.typeClusterIPInternal service only

SCIM Configuration

SettingValuePurpose
scim.credentials.secrets.enabledtrueUse Kubernetes secrets
scim.credentials.secrets.googleWorkspacetrueGoogle Workspace integration
scim.credentials.secrets.createfalseSecret managed externally
scim.config.redisURLredis://onepassword-scim-bridge-redis-master:6379Redis connection
scim.config.debugtrueDebug logging enabled

Redis Configuration

SettingValuePurpose
redis.enabledtrueDeploy Redis alongside
redis.architecturestandaloneSingle Redis instance
redis.auth.enabledfalseNo authentication

Resource Limits

ComponentCPU RequestMemory RequestCPU LimitMemory Limit
SCIM Bridge125m256M250m512M
Redis125m256M250m512M

How to Update

Upgrading the Chart

  1. Update targetRevision in apps/onepassword-scim-bridge.yaml
  2. Review the 1Password SCIM Bridge changelog
  3. Commit and push to main

Modifying Configuration

  1. Edit the valuesObject in apps/onepassword-scim-bridge.yaml
  2. Commit and push to main

Secrets Management

The SCIM bridge requires credentials stored in a Kubernetes Secret. The secret is managed externally (not created by the Helm chart).

Required secret contents:

KeyPurpose
SCIM bearer tokenAuthentication with 1Password
Google Workspace credentialsService account for user sync

Sync Options

The Application uses ServerSideApply=true to handle complex resource merging from the Helm chart.

Notifications

The Application sends Slack notifications to #platform-infra-notifications for:

  • Sync success
  • Out of sync detection
  • Sync failures
  • Degraded health