Skip to content

Policies applied but Tenant is shown as blocked with Live RustFS policy changed since the operator last applied it #145

Description

@mskitroot

New Tenant applied. Bucket, Policies and Users are created.

Operator shows "Live RustFS policy changed since the operator last applied it"

Tenant Configuration:

apiVersion: rustfs.com/v1alpha1
kind: Tenant
metadata:
  name: rfsd01
  labels:
    app: rfsd01
  annotations:
    argocd.argoproj.io/sync-wave: "1"
spec:
  image: rustfs/rustfs:latest
  podManagementPolicy: Parallel
  tls:
    mode: certManager
    mountPath: /var/run/rustfs/tls
    rotationStrategy: Rollout
    enableInternodeHttps: true
    requireSanMatch: true
    certManager:
      manageCertificate: true
      certificateName: rfsd01-server-cert
      secretName: rfsd01-server-tls
      issuerRef:
        group: cert-manager.io
        kind: ClusterIssuer
        name: cluster-issuer
      includeGeneratedDnsNames: true
      dnsNames:
        - rfsd01-io.rfsd01.svc
        - rfsd01-io.rfsd01.svc.cluster.local
        - rfsd01-console.rfsd01.svc
        - rfsd01-console.rfsd01.svc.cluster.local
        - rfsd01-hl.rfsd01.svc
        - rfsd01-hl.rfsd01.svc.cluster.local
      duration: 4380h
      renewBefore: 730h
      usages:
        - server auth
      caTrust:
        source: CertificateSecretCa
        trustSystemCa: false
        trustLeafCertificateAsCa: false
  credsSecret:
    name: rfsd01-admin-creds
  env:
    - name: RUST_LOG
      value: info
  pools:
    - name: pool-0
      servers: 1
      persistence:
        volumesPerServer: 4
        volumeClaimTemplate:
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 12Gi
      resources:
        requests:
          cpu: 500m
          memory: 1Gi
        limits:
          memory: 4Gi
  policies:
    - name: rfsd01-rw
      document:
        configMapKeyRef:
          name: rfsd01-readwrite-policy
          key: policy.json
    - name: rfsd01-ro
      document:
        configMapKeyRef:
          name: rfsd01-readonly-policy
          key: policy.json
  users:
    - name: rfsd01-rw-user
      policies:
        - rfsd01-rw
    - name: rfsd01-ro-user
      policies:
        - rfsd01-ro
  buckets:
    - name: rfsd01-data

Policy Example:

apiVersion: v1
kind: ConfigMap
metadata:
  name: rfsd01-readwrite-policy
  labels:
    rustfs.tenant: rfsd01
  annotations:
    argocd.argoproj.io/sync-wave: "0"
data:
  policy.json: |
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:ListBucket",
            "s3:GetObject",
            "s3:DeleteObject",
            "s3:PutObject"
          ],
          "Resource": [
            "arn:aws:s3:::rfsd01-data",
            "arn:aws:s3:::rfsd01-data/*"
          ]
        }
      ]
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions